class MyListCtrl: public wxListCtrl
{
public:
- MyListCtrl(wxWindow *parent, const wxWindowID id, const wxPoint& pos,
- const wxSize& size, long style):
- wxListCtrl(parent, id, pos, size, style)
+ MyListCtrl(wxWindow *parent,
+ const wxWindowID id,
+ const wxPoint& pos,
+ const wxSize& size,
+ long style)
+ : wxListCtrl(parent, id, pos, size, style),
+ m_attr(*wxCYAN, *wxLIGHT_GREY, wxNullFont)
{
}
+ // add one item to the listctrl in report mode
+ void InsertItemInReportView(int i);
+
void OnColClick(wxListEvent& event);
+ void OnColRightClick(wxListEvent& event);
+ void OnColBeginDrag(wxListEvent& event);
+ void OnColDragging(wxListEvent& event);
+ void OnColEndDrag(wxListEvent& event);
void OnBeginDrag(wxListEvent& event);
void OnBeginRDrag(wxListEvent& event);
void OnBeginLabelEdit(wxListEvent& event);
void OnDeselected(wxListEvent& event);
void OnListKeyDown(wxListEvent& event);
void OnActivated(wxListEvent& event);
+ void OnFocused(wxListEvent& event);
+ void OnCacheHint(wxListEvent& event);
void OnChar(wxKeyEvent& event);
private:
+ void SetColumnImage(int col, int image);
+
void LogEvent(const wxListEvent& event, const wxChar *eventName);
virtual wxString OnGetItemText(long item, long column) const;
virtual int OnGetItemImage(long item) const;
+ virtual wxListItemAttr *OnGetItemAttr(long item) const;
+
+ wxListItemAttr m_attr;
DECLARE_EVENT_TABLE()
};
void OnSmallIconTextView(wxCommandEvent& event);
void OnVirtualView(wxCommandEvent& event);
+ void OnFocusLast(wxCommandEvent& event);
void OnToggleFirstSel(wxCommandEvent& event);
void OnDeselectAll(wxCommandEvent& event);
void OnSelectAll(wxCommandEvent& event);
void OnSetBgColour(wxCommandEvent& event);
void OnToggleMultiSel(wxCommandEvent& event);
void OnShowColInfo(wxCommandEvent& event);
+ void OnShowSelInfo(wxCommandEvent& event);
+ void OnFreeze(wxCommandEvent& event);
+ void OnThaw(wxCommandEvent& event);
void OnUpdateShowColInfo(wxUpdateUIEvent& event);
wxImageList *m_imageListSmall;
private:
+ // recreate the list control with the new flags
+ void RecreateList(long flags, bool withText = TRUE);
+
+ // fill the control with items depending on the view
+ void InitWithListItems();
+ void InitWithReportItems();
+ void InitWithIconItems(bool withText, bool sameIcon = FALSE);
+ void InitWithVirtualItems();
+
wxLog *m_logOld;
DECLARE_EVENT_TABLE()
LIST_TOGGLE_MULTI_SEL,
LIST_TOGGLE_FIRST,
LIST_SHOW_COL_INFO,
+ LIST_SHOW_SEL_INFO,
+ LIST_FOCUS_LAST,
+ LIST_FREEZE,
+ LIST_THAW,
LIST_CTRL = 1000
};