X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/164a797204e4738fceac9ad0d3ef2b0ffffae8cb..09b895cb4a954494063eb17d3dc302a654fd99e5:/include/wx/listbase.h diff --git a/include/wx/listbase.h b/include/wx/listbase.h index 84bb31b99f..f0f2ffc6b6 100644 --- a/include/wx/listbase.h +++ b/include/wx/listbase.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: wx/listctrl.h +// Name: wx/listbase.h // Purpose: wxListCtrl class // Author: Vadim Zeitlin // Modified by: @@ -12,14 +12,9 @@ #ifndef _WX_LISTBASE_H_BASE_ #define _WX_LISTBASE_H_BASE_ -#include "wx/defs.h" - -#if wxUSE_LISTCTRL - #include "wx/colour.h" #include "wx/font.h" #include "wx/gdicmn.h" - #include "wx/event.h" // ---------------------------------------------------------------------------- @@ -166,7 +161,7 @@ enum // TODO: this should be renamed to wxItemAttr or something general like this // and used as base class for wxTextAttr which duplicates this class // entirely currently -class WXDLLEXPORT wxListItemAttr +class WXDLLIMPEXP_CORE wxListItemAttr { public: // ctors @@ -218,7 +213,7 @@ private: // wxListItem: the item or column info, used to exchange data with wxListCtrl // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxListItem : public wxObject +class WXDLLIMPEXP_CORE wxListItem : public wxObject { public: wxListItem() { Init(); m_attr = NULL; } @@ -240,6 +235,24 @@ public: if ( item.HasAttributes() ) m_attr = new wxListItemAttr(*item.GetAttributes()); } + + wxListItem& operator=(const wxListItem& item) + { + m_mask = item.m_mask; + m_itemId = item.m_itemId; + m_col = item.m_col; + m_state = item.m_state; + m_stateMask = item.m_stateMask; + m_text = item.m_text; + m_image = item.m_image; + m_data = item.m_data; + m_format = item.m_format; + m_width = item.m_width; + m_attr = item.m_attr ? new wxListItemAttr(*item.m_attr) : NULL; + + return *this; + } + virtual ~wxListItem() { delete m_attr; } // resetting @@ -341,7 +354,7 @@ protected: m_col = 0; m_state = 0; m_stateMask = 0; - m_image = 0; + m_image = -1; m_data = 0; m_format = wxLIST_FORMAT_CENTRE; @@ -351,9 +364,6 @@ protected: wxListItemAttr *m_attr; // optional pointer to the items style private: - // VZ: this is strange, we have a copy ctor but not operator=(), why? - wxListItem& operator=(const wxListItem& item); - DECLARE_DYNAMIC_CLASS(wxListItem) }; @@ -361,7 +371,7 @@ private: // wxListEvent - the event class for the wxListCtrl notifications // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxListEvent : public wxNotifyEvent +class WXDLLIMPEXP_CORE wxListEvent : public wxNotifyEvent { public: wxListEvent(wxEventType commandType = wxEVT_NULL, int winid = 0) @@ -427,32 +437,27 @@ private: // wxListCtrl event macros // ---------------------------------------------------------------------------- -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_BEGIN_DRAG, 700) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_BEGIN_RDRAG, 701) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, 702) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_END_LABEL_EDIT, 703) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_DELETE_ITEM, 704) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, 705) -#if WXWIN_COMPATIBILITY_2_4 - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_GET_INFO, 706) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_SET_INFO, 707) -#endif - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_SELECTED, 708) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_DESELECTED, 709) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_KEY_DOWN, 710) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_INSERT_ITEM, 711) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_CLICK, 712) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, 713) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, 714) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, 715) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_CACHE_HINT, 716) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_RIGHT_CLICK, 717) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, 718) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_DRAGGING, 719) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_END_DRAG, 720) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_FOCUSED, 721) -END_DECLARE_EVENT_TYPES() +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_BEGIN_DRAG; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_BEGIN_RDRAG; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_END_LABEL_EDIT; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_DELETE_ITEM; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS; + +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_ITEM_SELECTED; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_ITEM_DESELECTED; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_KEY_DOWN; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_INSERT_ITEM; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_COL_CLICK; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_ITEM_ACTIVATED; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_CACHE_HINT; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_COL_RIGHT_CLICK; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_COL_BEGIN_DRAG; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_COL_DRAGGING; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_COL_END_DRAG; +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LIST_ITEM_FOCUSED; typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&); @@ -487,12 +492,5 @@ typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&); #define EVT_LIST_CACHE_HINT(id, fn) wx__DECLARE_LISTEVT(CACHE_HINT, id, fn) -#if WXWIN_COMPATIBILITY_2_4 -#define EVT_LIST_GET_INFO(id, fn) wx__DECLARE_LISTEVT(GET_INFO, id, fn) -#define EVT_LIST_SET_INFO(id, fn) wx__DECLARE_LISTEVT(SET_INFO, id, fn) -#endif - -#endif // wxUSE_LISTCTRL - #endif // _WX_LISTCTRL_H_BASE_