X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/35c2acd4a81a3b41ced9253f744a00e64de2a423..cfa87e8121c94814302ad0a94c7c043c8bb277f6:/include/wx/msw/listctrl.h diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index eb08f739c0..97f61eb113 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -2,7 +2,7 @@ // Name: wx/msw/listctrl.h // Purpose: wxListCtrl class // Author: Julian Smart -// Modified by: +// Modified by: Agron Selimaj // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart @@ -12,18 +12,8 @@ #ifndef _WX_LISTCTRL_H_ #define _WX_LISTCTRL_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "listctrl.h" -#endif - -#if wxUSE_LISTCTRL - -#include "wx/control.h" -#include "wx/event.h" -#include "wx/hash.h" #include "wx/textctrl.h" - class WXDLLEXPORT wxImageList; /* @@ -124,7 +114,7 @@ public: bool GetColumn(int col, wxListItem& item) const; // Sets information about this column - bool SetColumn(int col, wxListItem& item) ; + bool SetColumn(int col, const wxListItem& item) ; // Gets the column width int GetColumnWidth(int col) const; @@ -161,6 +151,7 @@ public: // Sets the item image bool SetItemImage(long item, int image, int selImage = -1) ; + bool SetItemColumnImage(long item, long column, int image); // Gets the item text wxString GetItemText(long item) const ; @@ -177,6 +168,9 @@ public: // Gets the item rectangle bool GetItemRect(long item, wxRect& rect, int code = wxLIST_RECT_BOUNDS) const ; + // Gets the subitem rectangle in report mode + bool GetSubItemRect(long item, long subItem, wxRect& rect, int code = wxLIST_RECT_BOUNDS) const ; + // Gets the item position bool GetItemPosition(long item, wxPoint& pos) const ; @@ -200,11 +194,9 @@ public: void SetItemBackgroundColour( long item, const wxColour &col); wxColour GetItemBackgroundColour( long item ) const; -#if wxABI_VERSION >= 20602 // Font of an item. void SetItemFont( long item, const wxFont &f); wxFont GetItemFont( long item ) const; -#endif // Gets the number of selected items in the list control int GetSelectedItemCount() const; @@ -298,11 +290,12 @@ public: // Determines which item (if any) is at the specified point, // giving details in 'flags' (see wxLIST_HITTEST_... flags above) - long HitTest(const wxPoint& point, int& flags); + // Request the subitem number as well at the given coordinate. + long HitTest(const wxPoint& point, int& flags, long* ptrSubItem = NULL) const; // Inserts an item, returning the index of the new item if successful, // -1 otherwise. - long InsertItem(wxListItem& info); + long InsertItem(const wxListItem& info); // Insert a string item long InsertItem(long index, const wxString& label); @@ -314,7 +307,7 @@ public: long InsertItem(long index, const wxString& label, int imageIndex); // For list view mode (only), inserts a column. - long InsertColumn(long col, wxListItem& info); + long InsertColumn(long col, const wxListItem& info); long InsertColumn(long col, const wxString& heading, @@ -347,6 +340,7 @@ public: // IMPLEMENTATION virtual bool MSWCommand(WXUINT param, WXWORD id); virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); + virtual bool MSWShouldPreProcessMessage(WXMSG* msg); // bring the control in sync with current m_windowStyle value void UpdateStyle(); @@ -368,15 +362,10 @@ public: GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); +#if WXWIN_COMPATIBILITY_2_6 // obsolete stuff, for compatibility only -- don't use wxDEPRECATED( int GetItemSpacing(bool isSmall) const); - -protected: - // common part of all ctors - void Init(); - - // free memory taken by all internal data - void FreeAllInternalData(); +#endif // WXWIN_COMPATIBILITY_2_6 // convert our styles to Windows virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; @@ -386,6 +375,17 @@ protected: WXWPARAM wParam, WXLPARAM lParam); +protected: + // common part of all ctors + void Init(); + + // free memory taken by all internal data + void FreeAllInternalData(); + + // get the item attribute, either by quering it for virtual control, or by + // returning the one previously set using setter methods for a normal one + wxListItemAttr *DoGetItemAttr(long item) const; + wxTextCtrl* m_textCtrl; // The control used for editing a label wxImageList * m_imageListNormal; // The image list for normal icons @@ -413,9 +413,14 @@ protected: // return the text for the given column of the given item virtual wxString OnGetItemText(long item, long column) const; - // return the icon for the given item + // return the icon for the given item. In report view, OnGetItemImage will + // only be called for the first column. See OnGetItemColumnImage for + // details. virtual int OnGetItemImage(long item) const; + // return the icon for the given item and column. + virtual int OnGetItemColumnImage(long item, long column) const; + // return the attribute for the item (may return NULL if none) virtual wxListItemAttr *OnGetItemAttr(long item) const; @@ -428,7 +433,4 @@ private: DECLARE_NO_COPY_CLASS(wxListCtrl) }; -#endif // wxUSE_LISTCTRL - #endif // _WX_LISTCTRL_H_ -