| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        listctrl.h
 
- // Purpose:     wxListCtrl sample
 
- // Author:      Julian Smart
 
- // Modified by:
 
- // Created:     04/01/98
 
- // Copyright:   (c) Julian Smart
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- // not all ports have support for EVT_CONTEXT_MENU yet, don't define
 
- // USE_CONTEXT_MENU for those which don't
 
- #if defined(__WXMOTIF__) || defined(__WXPM__) || defined(__WXX11__)
 
-     #define USE_CONTEXT_MENU 0
 
- #else
 
-     #define USE_CONTEXT_MENU 1
 
- #endif
 
- // Define a new application type
 
- class MyApp: public wxApp
 
- {
 
- public:
 
-     MyApp() { }
 
-     virtual bool OnInit();
 
- private:
 
-     wxDECLARE_NO_COPY_CLASS(MyApp);
 
- };
 
- 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)
 
-         {
 
-             m_updated = -1;
 
- #ifdef __POCKETPC__
 
-             EnableContextMenu();
 
- #endif
 
-         }
 
-     // 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 OnEndLabelEdit(wxListEvent& event);
 
-     void OnDeleteItem(wxListEvent& event);
 
-     void OnDeleteAllItems(wxListEvent& event);
 
-     void OnSelected(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);
 
- #if USE_CONTEXT_MENU
 
-     void OnContextMenu(wxContextMenuEvent& event);
 
- #endif
 
-     void OnRightClick(wxMouseEvent& event);
 
- private:
 
-     void ShowContextMenu(const wxPoint& pos);
 
-     wxLog *m_logOld;
 
-     void SetColumnImage(int col, int image);
 
-     void LogEvent(const wxListEvent& event, const wxChar *eventName);
 
-     void LogColEvent(const wxListEvent& event, const wxChar *eventName);
 
-     virtual wxString OnGetItemText(long item, long column) const;
 
-     virtual int OnGetItemColumnImage(long item, long column) const;
 
-     virtual wxListItemAttr *OnGetItemAttr(long item) const;
 
-     long m_updated;
 
-     wxDECLARE_NO_COPY_CLASS(MyListCtrl);
 
-     wxDECLARE_EVENT_TABLE();
 
- };
 
- // Define a new frame type
 
- class MyFrame: public wxFrame
 
- {
 
- public:
 
-     MyFrame(const wxChar *title);
 
-     virtual ~MyFrame();
 
-     void DoSize();
 
- protected:
 
-     void OnSize(wxSizeEvent& event);
 
-     void OnQuit(wxCommandEvent& event);
 
-     void OnAbout(wxCommandEvent& event);
 
-     void OnListView(wxCommandEvent& event);
 
-     void OnReportView(wxCommandEvent& event);
 
-     void OnIconView(wxCommandEvent& event);
 
-     void OnIconTextView(wxCommandEvent& event);
 
-     void OnSmallIconView(wxCommandEvent& event);
 
-     void OnSmallIconTextView(wxCommandEvent& event);
 
-     void OnVirtualView(wxCommandEvent& event);
 
-     void OnSmallVirtualView(wxCommandEvent& event);
 
-     void OnSetItemsCount(wxCommandEvent& event);
 
-     void OnGoTo(wxCommandEvent& event);
 
-     void OnFocusLast(wxCommandEvent& event);
 
-     void OnToggleFirstSel(wxCommandEvent& event);
 
-     void OnDeselectAll(wxCommandEvent& event);
 
-     void OnSelectAll(wxCommandEvent& event);
 
-     void OnAdd(wxCommandEvent& event);
 
-     void OnEdit(wxCommandEvent& event);
 
-     void OnDelete(wxCommandEvent& event);
 
-     void OnDeleteAll(wxCommandEvent& event);
 
-     void OnSort(wxCommandEvent& event);
 
-     void OnSetFgColour(wxCommandEvent& event);
 
-     void OnSetBgColour(wxCommandEvent& event);
 
-     void OnSetRowLines(wxCommandEvent& event);
 
-     void OnToggleMultiSel(wxCommandEvent& event);
 
-     void OnShowColInfo(wxCommandEvent& event);
 
-     void OnShowSelInfo(wxCommandEvent& event);
 
-     void OnShowViewRect(wxCommandEvent& event);
 
- #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
 
-     void OnSetColOrder(wxCommandEvent& event);
 
-     void OnGetColOrder(wxCommandEvent& event);
 
- #endif // wxHAS_LISTCTRL_COLUMN_ORDER
 
-     void OnFreeze(wxCommandEvent& event);
 
-     void OnThaw(wxCommandEvent& event);
 
-     void OnToggleLines(wxCommandEvent& event);
 
-     void OnToggleHeader(wxCommandEvent& event);
 
-     void OnToggleBell(wxCommandEvent& event);
 
- #ifdef __WXOSX__
 
-     void OnToggleMacUseGeneric(wxCommandEvent& event);
 
- #endif // __WXOSX__
 
-     void OnFind(wxCommandEvent& event);
 
-     void OnUpdateUIEnableInReport(wxUpdateUIEvent& event);
 
-     void OnUpdateToggleMultiSel(wxUpdateUIEvent& event);
 
-     void OnUpdateToggleHeader(wxUpdateUIEvent& event);
 
-     void OnUpdateRowLines(wxUpdateUIEvent& event);
 
-     wxImageList *m_imageListNormal;
 
-     wxImageList *m_imageListSmall;
 
-     wxPanel *m_panel;
 
-     MyListCtrl *m_listCtrl;
 
-     wxTextCtrl *m_logWindow;
 
- 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();
 
-     // return true if the control is not in virtual view, give an error message
 
-     // and return false if it is
 
-     bool CheckNonVirtual() const;
 
-     wxLog *m_logOld;
 
-     bool m_smallVirtual;
 
-     // number of items to initialize list/report view with
 
-     int m_numListItems;
 
-     wxDECLARE_NO_COPY_CLASS(MyFrame);
 
-     wxDECLARE_EVENT_TABLE();
 
- };
 
- // IDs for the menu commands
 
- enum
 
- {
 
-     LIST_ABOUT = wxID_ABOUT,
 
-     LIST_QUIT = wxID_EXIT,
 
-     LIST_LIST_VIEW = wxID_HIGHEST,
 
-     LIST_ICON_VIEW,
 
-     LIST_ICON_TEXT_VIEW,
 
-     LIST_SMALL_ICON_VIEW,
 
-     LIST_SMALL_ICON_TEXT_VIEW,
 
-     LIST_REPORT_VIEW,
 
-     LIST_VIRTUAL_VIEW,
 
-     LIST_SMALL_VIRTUAL_VIEW,
 
-     LIST_SET_ITEMS_COUNT,
 
-     LIST_DESELECT_ALL,
 
-     LIST_SELECT_ALL,
 
-     LIST_DELETE_ALL,
 
-     LIST_DELETE,
 
-     LIST_ADD,
 
-     LIST_EDIT,
 
-     LIST_SORT,
 
-     LIST_FIND,
 
-     LIST_SET_FG_COL,
 
-     LIST_SET_BG_COL,
 
-     LIST_ROW_LINES,
 
-     LIST_TOGGLE_MULTI_SEL,
 
-     LIST_TOGGLE_HEADER,
 
-     LIST_TOGGLE_BELL,
 
-     LIST_TOGGLE_FIRST,
 
-     LIST_SHOW_COL_INFO,
 
-     LIST_SHOW_SEL_INFO,
 
-     LIST_SHOW_VIEW_RECT,
 
- #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
 
-     LIST_SET_COL_ORDER,
 
-     LIST_GET_COL_ORDER,
 
- #endif // wxHAS_LISTCTRL_COLUMN_ORDER
 
-     LIST_GOTO,
 
-     LIST_FOCUS_LAST,
 
-     LIST_FREEZE,
 
-     LIST_THAW,
 
-     LIST_TOGGLE_LINES,
 
- #ifdef __WXOSX__
 
-     LIST_MAC_USE_GENERIC,
 
- #endif
 
-     LIST_CTRL                   = 1000
 
- };
 
 
  |