#include "wx/control.h"
#include "wx/event.h"
#include "wx/hash.h"
+#include "wx/textctrl.h"
+
-class WXDLLEXPORT wxTextCtrl;
class WXDLLEXPORT wxImageList;
/*
// view, otherwise the large icon view.
int GetItemSpacing(bool isSmall) const;
+ // Foreground colour of an item.
+ void SetItemTextColour( long item, const wxColour& col);
+ wxColour GetItemTextColour( long item ) const;
+
+ // Background colour of an item.
+ void SetItemBackgroundColour( long item, const wxColour &col);
+ wxColour GetItemBackgroundColour( long item ) const;
+
// Gets the number of selected items in the list control
int GetSelectedItemCount() const;
// returns true if it is a virtual list control
bool IsVirtual() const { return (GetWindowStyle() & wxLC_VIRTUAL) != 0; }
+ // refresh items selectively (only useful for virtual list controls)
+ void RefreshItem(long item);
+ void RefreshItems(long itemFrom, long itemTo);
+
// Operations
////////////////////////////////////////////////////////////////////////////
// common part of all ctors
void Init();
- // free memory taken by all attributes and recreate the hash table
- void FreeAllAttrs(bool dontRecreate = FALSE);
+ // free memory taken by all internal data
+ void FreeAllInternalData();
wxTextCtrl* m_textCtrl; // The control used for editing a label
wxImageList * m_imageListNormal; // The image list for normal icons
int m_colCount; // Windows doesn't have GetColumnCount so must
// keep track of inserted/deleted columns
- // the hash table we use for storing pointers to the items attributes
- wxHashTable m_attrs;
+ // TRUE if we have any internal data (user data & attributes)
+ bool m_AnyInternalData;
// TRUE if we have any items with custom attributes
bool m_hasAnyAttr;
// return the icon for the given item
virtual int OnGetItemImage(long item) const;
+ // return the attribute for the item (may return NULL if none)
+ virtual wxListItemAttr *OnGetItemAttr(long item) const;
+
private:
bool DoCreateControl(int x, int y, int w, int h);
+ // process NM_CUSTOMDRAW notification message
+ WXLPARAM OnCustomDraw(WXLPARAM lParam);
+
DECLARE_DYNAMIC_CLASS(wxListCtrl)
DECLARE_EVENT_TABLE()
};
#endif // wxUSE_LISTCTRL
-#endif
- // _WX_LISTCTRL_H_
+#endif // _WX_LISTCTRL_H_
+