From a78955e377453e2b8dacdbea05c3f5a8769d5e58 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Wed, 3 Nov 2004 23:01:57 +0000 Subject: [PATCH] made it possible to customize wxGenericDirCtrl, such as using checked wxTreeCtrl (patch #1019699) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/generic/dirctrlg.h | 1 + include/wx/generic/treectlg.h | 32 ++++++++++++++++---------------- include/wx/msw/treectrl.h | 26 +++++++++++++------------- src/generic/dirctrlg.cpp | 7 ++++++- 4 files changed, 36 insertions(+), 30 deletions(-) diff --git a/include/wx/generic/dirctrlg.h b/include/wx/generic/dirctrlg.h index 0c7249257b..5a67406f7b 100644 --- a/include/wx/generic/dirctrlg.h +++ b/include/wx/generic/dirctrlg.h @@ -177,6 +177,7 @@ protected: int image = -1, int selectedImage = -1, wxTreeItemData * data = NULL); //void FindChildFiles(wxTreeItemId id, int dirFlags, wxArrayString& filenames); + virtual wxTreeCtrl* CreateTreeCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long treeStyle); // Extract description and actual filter from overall filter string bool ExtractWildcard(const wxString& filterStr, int n, wxString& filter, wxString& description); diff --git a/include/wx/generic/treectlg.h b/include/wx/generic/treectlg.h index 2d1183ada0..e0534af854 100644 --- a/include/wx/generic/treectlg.h +++ b/include/wx/generic/treectlg.h @@ -94,16 +94,16 @@ public: // Additionally, the application might choose to show a state icon // which corresponds to an app-defined item state (for example, // checked/unchecked) which are taken from the state image list. - wxImageList *GetImageList() const; - wxImageList *GetStateImageList() const; - wxImageList *GetButtonsImageList() const; + virtual wxImageList *GetImageList() const; + virtual wxImageList *GetStateImageList() const; + virtual wxImageList *GetButtonsImageList() const; - void SetImageList(wxImageList *imageList); - void SetStateImageList(wxImageList *imageList); - void SetButtonsImageList(wxImageList *imageList); - void AssignImageList(wxImageList *imageList); - void AssignStateImageList(wxImageList *imageList); - void AssignButtonsImageList(wxImageList *imageList); + virtual void SetImageList(wxImageList *imageList); + virtual void SetStateImageList(wxImageList *imageList); + virtual void SetButtonsImageList(wxImageList *imageList); + virtual void AssignImageList(wxImageList *imageList); + virtual void AssignStateImageList(wxImageList *imageList); + virtual void AssignButtonsImageList(wxImageList *imageList); // Functions to work with tree ctrl items. @@ -113,7 +113,7 @@ public: // retrieve item's label wxString GetItemText(const wxTreeItemId& item) const; // get one of the images associated with the item (normal by default) - int GetItemImage(const wxTreeItemId& item, + virtual int GetItemImage(const wxTreeItemId& item, wxTreeItemIcon which = wxTreeItemIcon_Normal) const; // get the data associated with the item wxTreeItemData *GetItemData(const wxTreeItemId& item) const; @@ -133,7 +133,7 @@ public: // set item's label void SetItemText(const wxTreeItemId& item, const wxString& text); // get one of the images associated with the item (normal by default) - void SetItemImage(const wxTreeItemId& item, int image, + virtual void SetItemImage(const wxTreeItemId& item, int image, wxTreeItemIcon which = wxTreeItemIcon_Normal); // associate some data with the item void SetItemData(const wxTreeItemId& item, wxTreeItemData *data); @@ -250,32 +250,32 @@ public: // ---------- // add the root node to the tree - wxTreeItemId AddRoot(const wxString& text, + virtual wxTreeItemId AddRoot(const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item in as the first child of the parent - wxTreeItemId PrependItem(const wxTreeItemId& parent, + virtual wxTreeItemId PrependItem(const wxTreeItemId& parent, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item after a given one - wxTreeItemId InsertItem(const wxTreeItemId& parent, + virtual wxTreeItemId InsertItem(const wxTreeItemId& parent, const wxTreeItemId& idPrevious, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item before the one with the given index - wxTreeItemId InsertItem(const wxTreeItemId& parent, + virtual wxTreeItemId InsertItem(const wxTreeItemId& parent, size_t index, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item in as the last child of the parent - wxTreeItemId AppendItem(const wxTreeItemId& parent, + virtual wxTreeItemId AppendItem(const wxTreeItemId& parent, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); diff --git a/include/wx/msw/treectrl.h b/include/wx/msw/treectrl.h index a7713503b8..9667717cef 100644 --- a/include/wx/msw/treectrl.h +++ b/include/wx/msw/treectrl.h @@ -115,13 +115,13 @@ public: // Additionally, the application might choose to show a state icon // which corresponds to an app-defined item state (for example, // checked/unchecked) which are taken from the state image list. - wxImageList *GetImageList() const; - wxImageList *GetStateImageList() const; + virtual wxImageList *GetImageList() const; + virtual wxImageList *GetStateImageList() const; - void SetImageList(wxImageList *imageList); - void SetStateImageList(wxImageList *imageList); - void AssignImageList(wxImageList *imageList); - void AssignStateImageList(wxImageList *imageList); + virtual void SetImageList(wxImageList *imageList); + virtual void SetStateImageList(wxImageList *imageList); + virtual void AssignImageList(wxImageList *imageList); + virtual void AssignStateImageList(wxImageList *imageList); // Functions to work with tree ctrl items. Unfortunately, they can _not_ be // member functions of wxTreeItem because they must know the tree the item @@ -134,7 +134,7 @@ public: // retrieve items label wxString GetItemText(const wxTreeItemId& item) const; // get one of the images associated with the item (normal by default) - int GetItemImage(const wxTreeItemId& item, + virtual int GetItemImage(const wxTreeItemId& item, wxTreeItemIcon which = wxTreeItemIcon_Normal) const; // get the data associated with the item wxTreeItemData *GetItemData(const wxTreeItemId& item) const; @@ -154,7 +154,7 @@ public: // set items label void SetItemText(const wxTreeItemId& item, const wxString& text); // get one of the images associated with the item (normal by default) - void SetItemImage(const wxTreeItemId& item, int image, + virtual void SetItemImage(const wxTreeItemId& item, int image, wxTreeItemIcon which = wxTreeItemIcon_Normal); // associate some data with the item void SetItemData(const wxTreeItemId& item, wxTreeItemData *data); @@ -264,32 +264,32 @@ public: // ---------- // add the root node to the tree - wxTreeItemId AddRoot(const wxString& text, + virtual wxTreeItemId AddRoot(const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item in as the first child of the parent - wxTreeItemId PrependItem(const wxTreeItemId& parent, + virtual wxTreeItemId PrependItem(const wxTreeItemId& parent, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item after a given one - wxTreeItemId InsertItem(const wxTreeItemId& parent, + virtual wxTreeItemId InsertItem(const wxTreeItemId& parent, const wxTreeItemId& idPrevious, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item before the one with the given index - wxTreeItemId InsertItem(const wxTreeItemId& parent, + virtual wxTreeItemId InsertItem(const wxTreeItemId& parent, size_t index, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); // insert a new item in as the last child of the parent - wxTreeItemId AppendItem(const wxTreeItemId& parent, + virtual wxTreeItemId AppendItem(const wxTreeItemId& parent, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 791b3a97a0..e11a269bf6 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -519,7 +519,7 @@ bool wxGenericDirCtrl::Create(wxWindow *parent, else filterStyle |= wxBORDER_SUNKEN; - m_treeCtrl = new wxTreeCtrl(this, wxID_TREECTRL, + m_treeCtrl = CreateTreeCtrl(this, wxID_TREECTRL, wxPoint(0,0), GetClientSize(), treeStyle); if (!filter.IsEmpty() && (style & wxDIRCTRL_SHOW_FILTERS)) @@ -584,6 +584,11 @@ void wxGenericDirCtrl::Init() m_filterListCtrl = NULL; } +wxTreeCtrl* wxGenericDirCtrl::CreateTreeCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long treeStyle) +{ + return new wxTreeCtrl(parent, id, pos, size, treeStyle); +} + void wxGenericDirCtrl::ShowHidden( bool show ) { m_showHidden = show; -- 2.45.2