treelistctrl.h

Go to the documentation of this file.
00001 
00002 // Name:        treelistctrl.h
00003 // Purpose:     wxTreeListCtrl class
00004 // Created:     01/02/97
00005 // Author:      Robert Roebling
00006 // Maintainer:  Ronan Chartois (pgriddev)
00007 // Version:     $Id: treelistctrl.h 3043 2012-07-31 19:28:14Z pgriddev $
00008 // Copyright:   (c) 2004-2011 Robert Roebling, Julian Smart, Alberto Griggio,
00009 //              Vadim Zeitlin, Otto Wyss, Ronan Chartois
00010 // Licence:     wxWindows
00012 
00013 
00014 #ifndef TREELISTCTRL_H
00015 #define TREELISTCTRL_H
00016 
00017 #if defined(__GNUG__) && !defined(__APPLE__)
00018     #pragma interface "treelistctrl.h"
00019 #endif
00020 
00021 #include <wx/treectrl.h>
00022 #include <wx/control.h>
00023 #include <wx/pen.h>
00024 #include <wx/listctrl.h> // for wxListEvent
00025 #if wxUSE_XRC
00026    #include "wx/xrc/xmlres.h"
00027 #endif
00028 
00029 
00030 namespace wxcode {
00031 
00032 class wxTreeListItem;
00033 class wxTreeListHeaderWindow;
00034 class wxTreeListMainWindow;
00035 
00036 #define wxTR_COLUMN_LINES 0x1000 // put border around items
00037 #define wxTR_VIRTUAL      0x4000 // The application provides items text on demand.
00038 
00039 //-----------------------------------------------------------------------------
00040 // wxTreeListColumnAttrs
00041 //-----------------------------------------------------------------------------
00042 
00043 enum {
00044     DEFAULT_COL_WIDTH = 100
00045 };
00046 
00047 class wxTreeListColumnInfo: public wxObject {
00048 
00049 public:
00050     wxTreeListColumnInfo (const wxString &text = wxEmptyString,
00051                           int width = DEFAULT_COL_WIDTH,
00052                           int flag = wxALIGN_LEFT,
00053                           int image = -1,
00054                           bool shown = true,
00055                           bool edit = false,
00056                           const wxString &tooltip = wxEmptyString) {
00057         m_text = text;
00058         m_width = width;
00059         m_flag = flag;
00060         m_image = image;
00061         m_selected_image = -1;
00062         m_shown = shown;
00063         m_edit = edit;
00064         m_tooltip = tooltip;
00065     }
00066 
00067     wxTreeListColumnInfo (const wxTreeListColumnInfo& other) {
00068         m_text = other.m_text;
00069         m_width = other.m_width;
00070         m_flag = other.m_flag;
00071         m_image = other.m_image;
00072         m_selected_image = other.m_selected_image;
00073         m_shown = other.m_shown;
00074         m_edit = other.m_edit;
00075         m_tooltip = other.m_tooltip;
00076     }
00077 
00078     ~wxTreeListColumnInfo() {}
00079 
00080     // get/set
00081     wxString GetText() const { return m_text; }
00082     wxTreeListColumnInfo& SetText (const wxString& text) { m_text = text; return *this; }
00083 
00084     int GetWidth() const { return m_shown ? m_width : 0; }
00085     wxTreeListColumnInfo& SetWidth (int width) { m_width = width; return *this; }
00086 
00087     int GetAlignment() const { return m_flag; }
00088     wxTreeListColumnInfo& SetAlignment (int flag) { m_flag = flag; return *this; }
00089 
00090     int GetImage() const { return m_image; }
00091     wxTreeListColumnInfo& SetImage (int image) { m_image = image; return *this; }
00092 
00093     int GetSelectedImage() const { return m_selected_image; }
00094     wxTreeListColumnInfo& SetSelectedImage (int image) { m_selected_image = image; return *this; }
00095 
00096     bool IsEditable() const { return m_edit; }
00097     wxTreeListColumnInfo& SetEditable (bool edit)
00098         { m_edit = edit; return *this; }
00099 
00100     wxString GetTooltip() const { return m_tooltip; }
00101     wxTreeListColumnInfo& SetTooltip (const wxString& text) { m_tooltip = text; return *this; }
00102 
00103     bool IsShown() const { return m_shown; }
00104     wxTreeListColumnInfo& SetShown(bool shown) { m_shown = shown; return *this; }
00105 
00106 private:
00107     wxString m_text;
00108     int m_width;
00109     int m_flag;
00110     int m_image;
00111     int m_selected_image;
00112     bool m_shown;
00113     bool m_edit;
00114     wxString m_tooltip;
00115 };
00116 
00117 //----------------------------------------------------------------------------
00118 // wxTreeListCtrl - the multicolumn tree control
00119 //----------------------------------------------------------------------------
00120 
00121 // modes for navigation
00122 const int wxTL_MODE_NAV_FULLTREE = 0x0000; // default
00123 const int wxTL_MODE_NAV_EXPANDED = 0x0001;
00124 const int wxTL_MODE_NAV_VISIBLE  = 0x0002;
00125 const int wxTL_MODE_NAV_LEVEL    = 0x0004;
00126 
00127 // modes for FindItem
00128 const int wxTL_MODE_FIND_EXACT   = 0x0000; // default
00129 const int wxTL_MODE_FIND_PARTIAL = 0x0010;
00130 const int wxTL_MODE_FIND_NOCASE  = 0x0020;
00131 
00132 // additional flag for HitTest
00133 const int wxTREE_HITTEST_ONITEMCOLUMN = 0x2000;
00134 extern const wxChar* wxTreeListCtrlNameStr;
00135 
00136 
00137 class wxTreeListCtrl : public wxControl
00138 {
00139 friend class wxTreeListHeaderWindow;
00140 friend class wxTreeListMainWindow;
00141 friend class wxTreeListItem;
00142 public:
00143 
00144     // ---------- creation ----------
00145 
00146     wxTreeListCtrl()
00147         : m_header_win(0), m_main_win(0), m_headerHeight(0)
00148     {}
00149 
00150     wxTreeListCtrl(wxWindow *parent, wxWindowID id = -1,
00151                const wxPoint& pos = wxDefaultPosition,
00152                const wxSize& size = wxDefaultSize,
00153                long style = wxTR_DEFAULT_STYLE,
00154                const wxValidator &validator = wxDefaultValidator,
00155                const wxString& name = wxTreeListCtrlNameStr )
00156         : m_header_win(0), m_main_win(0), m_headerHeight(0)
00157     {
00158         Create(parent, id, pos, size, style, validator, name);
00159     }
00160 
00161     virtual ~wxTreeListCtrl() {}
00162 
00163     bool Create(wxWindow *parent, wxWindowID id = -1,
00164                 const wxPoint& pos = wxDefaultPosition,
00165                 const wxSize& size = wxDefaultSize,
00166                 long style = wxTR_DEFAULT_STYLE,
00167                 const wxValidator &validator = wxDefaultValidator,
00168                 const wxString& name = wxTreeListCtrlNameStr );
00169 
00170     void Refresh(bool erase=TRUE, const wxRect* rect=NULL);
00171     void SetFocus();
00172 
00173 
00174     // ---------- general methods ----------
00175 
00176     // get the total number of items in the control
00177     size_t GetCount() const;
00178 
00179     // indent is the number of pixels the children are indented relative to
00180     // the parents position. SetIndent() also redraws the control
00181     // immediately.
00182     unsigned int GetIndent() const;
00183     void SetIndent(unsigned int indent);
00184 
00185     // line spacing is the space above and below the text on each line
00186     unsigned int GetLineSpacing() const;
00187     void SetLineSpacing(unsigned int spacing);
00188 
00189     // image list: these functions allow to associate an image list with
00190     // the control and retrieve it. Note that when assigned with
00191     // SetImageList, the control does _not_ delete
00192     // the associated image list when it's deleted in order to allow image
00193     // lists to be shared between different controls. If you use
00194     // AssignImageList, the control _does_ delete the image list.
00195     //
00196     // The normal image list is for the icons which correspond to the
00197     // normal tree item state (whether it is selected or not).
00198     // Additionally, the application might choose to show a state icon
00199     // which corresponds to an app-defined item state (for example,
00200     // checked/unchecked) which are taken from the state image list.
00201     wxImageList *GetImageList() const;
00202     wxImageList *GetStateImageList() const;
00203     wxImageList *GetButtonsImageList() const;
00204 
00205     void SetImageList(wxImageList *imageList);
00206     void SetStateImageList(wxImageList *imageList);
00207     void SetButtonsImageList(wxImageList *imageList);
00208     void AssignImageList(wxImageList *imageList);
00209     void AssignStateImageList(wxImageList *imageList);
00210     void AssignButtonsImageList(wxImageList *imageList);
00211 
00212     void SetToolTip(const wxString& tip);
00213     void SetToolTip (wxToolTip *tip);
00214     void SetItemToolTip(const wxTreeItemId& item, const wxString &tip);
00215 
00216     // ---------- Functions to work with columns ----------
00217 
00218     // adds a column
00219     void AddColumn (const wxString& text,
00220                     int width = DEFAULT_COL_WIDTH,
00221                     int flag = wxALIGN_LEFT,
00222                     int image = -1,
00223                     bool shown = true,
00224                     bool edit = false,
00225                     const wxString& tooltip = wxEmptyString) {
00226         AddColumn (wxTreeListColumnInfo (text, width, flag, image, shown, edit, tooltip));
00227     }
00228     void AddColumn (const wxTreeListColumnInfo& colInfo);
00229 
00230     // inserts a column before the given one
00231     void InsertColumn (int before,
00232                        const wxString& text,
00233                        int width = DEFAULT_COL_WIDTH,
00234                        int flag = wxALIGN_LEFT,
00235                        int image = -1,
00236                        bool shown = true,
00237                        bool edit = false,
00238                        const wxString& tooltip = wxEmptyString) {
00239         InsertColumn (before,
00240                       wxTreeListColumnInfo (text, width, flag, image, shown, edit, tooltip));
00241     }
00242     void InsertColumn (int before, const wxTreeListColumnInfo& colInfo);
00243 
00244     // deletes the given column - does not delete the corresponding column
00245     void RemoveColumn (int column);
00246 
00247     // returns the number of columns in the ctrl
00248     int GetColumnCount() const;
00249 
00250     // tells which column is the "main" one, i.e. the "threaded" one
00251     void SetMainColumn (int column);
00252     int GetMainColumn() const;
00253 
00254     void SetColumn (int column, const wxTreeListColumnInfo& colInfo);
00255     wxTreeListColumnInfo GetColumn (int column);
00256     const wxTreeListColumnInfo& GetColumn (int column) const;
00257 
00258     void SetColumnText (int column, const wxString& text);
00259     wxString GetColumnText (int column) const;
00260 
00261     void SetColumnWidth (int column, int width);
00262     int GetColumnWidth (int column) const;
00263 
00264     void SetColumnAlignment (int column, int flag);
00265     int GetColumnAlignment (int column) const;
00266 
00267     void SetColumnImage (int column, int image);
00268     int GetColumnImage (int column) const;
00269 
00270     void SetColumnShown (int column, bool shown = true);
00271     bool IsColumnShown (int column) const;
00272 
00273     void SetColumnEditable (int column, bool edit = true);
00274     bool IsColumnEditable (int column) const;
00275 
00276     // ----------  Functions to work with items. ----------
00277 
00278     // accessors (most properties have a default at row/item level)
00279     // ---------
00280 
00281     wxString GetItemText (const wxTreeItemId& item)             const { return GetItemText (item, GetMainColumn()); };
00282     wxString GetItemText (const wxTreeItemId& item, int column) const;
00283 
00284     int GetItemImage (const wxTreeItemId& item, wxTreeItemIcon which = wxTreeItemIcon_Normal) const;
00285     int GetItemImage (const wxTreeItemId& item, int column) const;
00286 
00287     wxTreeItemData *GetItemData (const wxTreeItemId& item)             const;
00288     wxTreeItemData *GetItemData (const wxTreeItemId& item, int column) const;
00289 
00290     bool GetItemBold (const wxTreeItemId& item)             const;
00291     bool GetItemBold (const wxTreeItemId& item, int column) const;
00292 
00293     wxColour GetItemTextColour (const wxTreeItemId& item)             const;
00294     wxColour GetItemTextColour (const wxTreeItemId& item, int column) const;
00295 
00296     wxColour GetItemBackgroundColour (const wxTreeItemId& item)             const;
00297     wxColour GetItemBackgroundColour (const wxTreeItemId& item, int column) const;
00298 
00299     wxFont GetItemFont (const wxTreeItemId& item)             const;
00300     wxFont GetItemFont (const wxTreeItemId& item, int column) const;
00301 
00302     // modifiers (most properties have a default at row/item level)
00303     // ---------
00304 
00305     void SetItemText (const wxTreeItemId& item,             const wxString& text);
00306     void SetItemText (const wxTreeItemId& item, int column, const wxString& text);
00307 
00308     // the which parameter is ignored for all columns but the main one
00309     void SetItemImage (const wxTreeItemId& item, int image, wxTreeItemIcon which = wxTreeItemIcon_Normal);
00310     void SetItemImage (const wxTreeItemId& item, int column, int image);
00311 
00312     void SetItemData (const wxTreeItemId& item,             wxTreeItemData *data);
00313     void SetItemData (const wxTreeItemId& item, int column, wxTreeItemData *data);
00314 
00315     void SetItemBold (const wxTreeItemId& item,             bool bold = true);
00316     void SetItemBold (const wxTreeItemId& item, int column, bool bold = true);
00317 
00318     void SetItemTextColour (const wxTreeItemId& item,             const wxColour& colour);
00319     void SetItemTextColour (const wxTreeItemId& item, int column, const wxColour& colour);
00320 
00321     void SetItemBackgroundColour (const wxTreeItemId& item,             const wxColour& colour);
00322     void SetItemBackgroundColour (const wxTreeItemId& item, int column, const wxColour& colour);
00323 
00324     // font should be of the same height for all items
00325     void SetItemFont (const wxTreeItemId& item,             const wxFont& font);
00326     void SetItemFont (const wxTreeItemId& item, int column, const wxFont& font);
00327 
00328     // force appearance of [+] button near the item. This is useful to
00329     // allow the user to expand the items which don't have any children now
00330     // - but instead add them only when needed, thus minimizing memory
00331     // usage and loading time.
00332     void SetItemHasChildren(const wxTreeItemId& item, bool has = true);
00333 
00334     // item status inquiries
00335     // ---------------------
00336 
00337     // is the item visible (it might be outside the view or not expanded)?
00338     bool IsVisible (const wxTreeItemId& item, bool fullRow = false, bool within = true) const;
00339     // does the item has any children?
00340     bool HasChildren (const wxTreeItemId& item) const;
00341     // is the item expanded (only makes sense if HasChildren())?
00342     bool IsExpanded (const wxTreeItemId& item) const;
00343     // is this item currently selected (the same as has focus)?
00344     bool IsSelected (const wxTreeItemId& item) const;
00345     // is item text in bold font?
00346     bool IsBold (const wxTreeItemId& item)             const { return IsBold(item, GetMainColumn()); };
00347     bool IsBold (const wxTreeItemId& item, int column) const { return GetItemBold(item, column); };
00348     // does the layout include space for a button?
00349 
00350 
00351     // set the window font
00352     virtual bool SetFont ( const wxFont &font );
00353 
00354     // set the styles.
00355     virtual void SetWindowStyleFlag (long styles);
00356     virtual long GetWindowStyleFlag() const;
00357 
00358     // number of children
00359     // ------------------
00360 
00361     // if 'recursively' is FALSE, only immediate children count, otherwise
00362     // the returned number is the number of all items in this branch
00363     size_t GetChildrenCount (const wxTreeItemId& item, bool recursively = true);
00364 
00365     // navigation
00366     // ----------
00367 
00368     // wxTreeItemId.IsOk() will return FALSE if there is no such item
00369 
00370     // get the root tree item
00371     wxTreeItemId GetRootItem() const;
00372 
00373     // get the item currently selected (may return NULL if no selection)
00374     wxTreeItemId GetSelection() const;
00375 
00376     // get the items currently selected, return the number of such item
00377     size_t GetSelections (wxArrayTreeItemIds&) const;
00378 
00379     // get the parent of this item (may return NULL if root)
00380     wxTreeItemId GetItemParent (const wxTreeItemId& item) const;
00381 
00382     // for this enumeration function you must pass in a "cookie" parameter
00383     // which is opaque for the application but is necessary for the library
00384     // to make these functions reentrant (i.e. allow more than one
00385     // enumeration on one and the same object simultaneously). Of course,
00386     // the "cookie" passed to GetFirstChild() and GetNextChild() should be
00387     // the same!
00388 
00389     // get child of this item
00390     wxTreeItemId GetFirstChild(const wxTreeItemId& item, wxTreeItemIdValue& cookie) const;
00391     wxTreeItemId GetNextChild(const wxTreeItemId& item, wxTreeItemIdValue& cookie) const;
00392     wxTreeItemId GetPrevChild(const wxTreeItemId& item, wxTreeItemIdValue& cookie) const;
00393     wxTreeItemId GetLastChild(const wxTreeItemId& item, wxTreeItemIdValue& cookie) const;
00394 
00395     // get sibling of this item
00396     wxTreeItemId GetNextSibling(const wxTreeItemId& item) const;
00397     wxTreeItemId GetPrevSibling(const wxTreeItemId& item) const;
00398 
00399     // get item in the full tree (currently only for internal use)
00400     wxTreeItemId GetNext(const wxTreeItemId& item) const;
00401     wxTreeItemId GetPrev(const wxTreeItemId& item) const;
00402 
00403     // get expanded item, see IsExpanded()
00404     wxTreeItemId GetFirstExpandedItem() const;
00405     wxTreeItemId GetNextExpanded(const wxTreeItemId& item) const;
00406     wxTreeItemId GetPrevExpanded(const wxTreeItemId& item) const;
00407 
00408     // get visible item, see IsVisible()
00409     wxTreeItemId GetFirstVisibleItem(                      bool fullRow = false) const;
00410     wxTreeItemId GetFirstVisible(                          bool fullRow = false, bool within = true) const;
00411     wxTreeItemId GetNextVisible (const wxTreeItemId& item, bool fullRow = false, bool within = true) const;
00412     wxTreeItemId GetPrevVisible (const wxTreeItemId& item, bool fullRow = false, bool within = true) const;
00413     wxTreeItemId GetLastVisible (                          bool fullRow = false, bool within = true) const;
00414 
00415     // operations
00416     // ----------
00417 
00418     // add the root node to the tree
00419     wxTreeItemId AddRoot (const wxString& text,
00420                           int image = -1, int selectedImage = -1,
00421                           wxTreeItemData *data = NULL);
00422 
00423     // insert a new item in as the first child of the parent
00424     wxTreeItemId PrependItem (const wxTreeItemId& parent,
00425                               const wxString& text,
00426                               int image = -1, int selectedImage = -1,
00427                               wxTreeItemData *data = NULL);
00428 
00429     // insert a new item after a given one
00430     wxTreeItemId InsertItem (const wxTreeItemId& parent,
00431                              const wxTreeItemId& idPrevious,
00432                              const wxString& text,
00433                              int image = -1, int selectedImage = -1,
00434                              wxTreeItemData *data = NULL);
00435 
00436     // insert a new item before the one with the given index
00437     wxTreeItemId InsertItem (const wxTreeItemId& parent,
00438                              size_t index,
00439                              const wxString& text,
00440                              int image = -1, int selectedImage = -1,
00441                              wxTreeItemData *data = NULL);
00442 
00443     // insert a new item in as the last child of the parent
00444     wxTreeItemId AppendItem (const wxTreeItemId& parent,
00445                              const wxString& text,
00446                              int image = -1, int selectedImage = -1,
00447                              wxTreeItemData *data = NULL);
00448 
00449     // delete this item (except root) + children and associated data if any
00450     void Delete (const wxTreeItemId& item);
00451     // delete all children (but don't delete the item itself)
00452     void DeleteChildren (const wxTreeItemId& item);
00453     // delete the root and all its children from the tree
00454     void DeleteRoot();
00455 
00456     //  change item's parent (return previous parent)
00457     void SetItemParent(const wxTreeItemId& parent, const wxTreeItemId& item);
00458 
00459     // expand this item
00460     void Expand (const wxTreeItemId& item);
00461     // expand this item and all subitems recursively
00462     void ExpandAll (const wxTreeItemId& item);
00463     // collapse the item without removing its children
00464     void Collapse (const wxTreeItemId& item);
00465     // collapse the item and remove all children
00466     void CollapseAndReset(const wxTreeItemId& item); //? TODO ???
00467     // toggles the current state
00468     void Toggle (const wxTreeItemId& item);
00469 
00470     // set cursor item (indicated by black rectangle)
00471     void SetCurrentItem(const wxTreeItemId& item = (wxTreeItemId*)NULL);
00472 
00473     // remove the selection from currently selected item (if any)
00474     void Unselect();
00475     void UnselectAll();
00476     // select this item - return true if selection was allowed (no veto)
00477     bool SelectItem (const wxTreeItemId& item,
00478                      const wxTreeItemId& last = (wxTreeItemId*)NULL,
00479                      bool unselect_others = true);
00480     // select all items in the expanded tree
00481     void SelectAll();
00482     // make sure this item is visible (expanding the parent item and/or
00483     // scrolling to this item if necessary)
00484     void EnsureVisible (const wxTreeItemId& item);
00485     // scroll to this item (but don't expand its parent)
00486     void ScrollTo (const wxTreeItemId& item);
00487 
00488     // The first function is more portable (because easier to implement
00489     // on other platforms), but the second one returns some extra info.
00490     wxTreeItemId HitTest (const wxPoint& point)
00491         { int flags; int column; return HitTest (point, flags, column); }
00492     wxTreeItemId HitTest (const wxPoint& point, int& flags)
00493         { int column; return HitTest (point, flags, column); }
00494     wxTreeItemId HitTest (const wxPoint& point, int& flags, int& column);
00495 
00496     // get the bounding rectangle of the item (or of its label only)
00497     bool GetBoundingRect (const wxTreeItemId& item, wxRect& rect,
00498                           bool textOnly = false) const;
00499 
00500     // Start editing the item label: this (temporarily) replaces the item
00501     // with a one line edit control. The item will be selected if it hadn't
00502     // been before.
00503     void EditLabel (const wxTreeItemId& item)
00504         { EditLabel (item, GetMainColumn()); }
00505     // edit item's label of the given column
00506     void EditLabel (const wxTreeItemId& item, int column);
00507     void EndEdit(bool isCancelled);
00508 
00509     // virtual mode
00510     virtual wxString OnGetItemText( wxTreeItemData* item, long column ) const;
00511 
00512     // sorting
00513     // this function is called to compare 2 items and should return -1, 0
00514     // or +1 if the first item is less than, equal to or greater than the
00515     // second one. The base class version performs alphabetic comparaison
00516     // of item labels (GetText)
00517     virtual int OnCompareItems (const wxTreeItemId& item1, const wxTreeItemId& item2);
00518     virtual int OnCompareItems (const wxTreeItemId& item1, const wxTreeItemId& item2, int column);
00519     // sort the children of this item using OnCompareItems
00520     // NB: this function is not reentrant and not MT-safe (TODO)!
00521     void SortChildren(const wxTreeItemId& item, int column = -1, bool reverseOrder = false);
00522 
00523     // searching (by column only)
00524     wxTreeItemId FindItem (const wxTreeItemId& item,             const wxString& str, int mode = 0) { return FindItem(item, -1, str, mode); };
00525     wxTreeItemId FindItem (const wxTreeItemId& item, int column, const wxString& str, int mode = 0);
00526 
00527     // overridden base class virtuals
00528     virtual bool SetBackgroundColour (const wxColour& colour);
00529     virtual bool SetForegroundColour (const wxColour& colour);
00530 
00531     // drop over item
00532     void SetDragItem (const wxTreeItemId& item = (wxTreeItemId*)NULL);
00533 
00534 
00535     virtual wxSize DoGetBestSize() const;
00536 
00537 protected:
00538     // header window, responsible for column visualization and manipulation
00539     wxTreeListHeaderWindow* GetHeaderWindow() const
00540         { return m_header_win; }
00541     wxTreeListHeaderWindow* m_header_win;  // future cleanup: make private or remove GetHeaderWindow()
00542 
00543     // main window, the "true" tree ctrl
00544     wxTreeListMainWindow* GetMainWindow() const
00545         { return m_main_win; }
00546     wxTreeListMainWindow* m_main_win;  // future cleanup: make private or remove GetMainWindow()
00547 
00548     int GetHeaderHeight() const { return m_headerHeight; }
00549 
00550     void CalculateAndSetHeaderHeight();
00551     void DoHeaderLayout();
00552     void OnSize(wxSizeEvent& event);
00553 
00554 private:
00555     int m_headerHeight;
00556 
00557     DECLARE_EVENT_TABLE()
00558     DECLARE_DYNAMIC_CLASS(wxTreeListCtrl)
00559 };
00560 
00561 
00562 //----------------------------------------------------------------------------
00563 // wxTreeListCtrlXmlHandler - XRC support for wxTreeListCtrl
00564 //----------------------------------------------------------------------------
00565 
00566 #if wxUSE_XRC
00567 
00568 class wxTreeListCtrlXmlHandler : public wxXmlResourceHandler {
00569         DECLARE_DYNAMIC_CLASS(wxTreeListCtrlXmlHandler)
00570 public:
00571         wxTreeListCtrlXmlHandler();
00572         virtual wxObject *DoCreateResource();
00573         virtual bool CanHandle(wxXmlNode *node);
00574 };
00575 
00576 #endif /* wxUSE_XRC */
00577 
00578 } // namespace wxcode
00579 
00580 
00582 #endif /* TREELISTCTRL_H */
00583 

Generated on 25 Jun 2016 for Hugintrunk by  doxygen 1.4.7