X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5dbe15d0bacde245539f54c4d97af6b4696f01f..2f0312f0c4150de91d2edb43f92217557dc9486b:/include/wx/generic/treectlg.h diff --git a/include/wx/generic/treectlg.h b/include/wx/generic/treectlg.h index 67d13c69db..4e3ad3bff9 100644 --- a/include/wx/generic/treectlg.h +++ b/include/wx/generic/treectlg.h @@ -34,7 +34,7 @@ class WXDLLIMPEXP_FWD_CORE wxTextCtrl; // wxGenericTreeCtrl - the tree control // ----------------------------------------------------------------------------- -class WXDLLEXPORT wxGenericTreeCtrl : public wxTreeCtrlBase, +class WXDLLIMPEXP_CORE wxGenericTreeCtrl : public wxTreeCtrlBase, public wxScrollHelper { public: @@ -112,8 +112,18 @@ public: // ---------- virtual wxTreeItemId GetRootItem() const { return m_anchor; } - virtual wxTreeItemId GetSelection() const { return m_current; } + virtual wxTreeItemId GetSelection() const + { + wxASSERT_MSG( !HasFlag(wxTR_MULTIPLE), + wxT("must use GetSelections() with this control") ); + + return m_current; + } virtual size_t GetSelections(wxArrayTreeItemIds&) const; + virtual wxTreeItemId GetFocusedItem() const { return m_current; } + + virtual void ClearFocusedItem(); + virtual void SetFocusedItem(const wxTreeItemId& item); virtual wxTreeItemId GetItemParent(const wxTreeItemId& item) const; virtual wxTreeItemId GetFirstChild(const wxTreeItemId& item, @@ -148,12 +158,13 @@ public: virtual void Unselect(); virtual void UnselectAll(); virtual void SelectItem(const wxTreeItemId& item, bool select = true); + virtual void SelectChildren(const wxTreeItemId& parent); virtual void EnsureVisible(const wxTreeItemId& item); virtual void ScrollTo(const wxTreeItemId& item); virtual wxTextCtrl *EditLabel(const wxTreeItemId& item, - wxClassInfo* textCtrlClass = CLASSINFO(wxTextCtrl)); + wxClassInfo* textCtrlClass = wxCLASSINFO(wxTextCtrl)); virtual wxTextCtrl *GetEditControl() const; virtual void EndEditLabel(const wxTreeItemId& item, bool discardChanges = false); @@ -191,8 +202,6 @@ public: virtual bool SetBackgroundColour(const wxColour& colour); virtual bool SetForegroundColour(const wxColour& colour); - virtual void Freeze(); - virtual void Thaw(); virtual void Refresh(bool eraseBackground = true, const wxRect *rect = NULL); virtual bool SetFont( const wxFont &font ); @@ -247,15 +256,19 @@ protected: bool m_lastOnSame; // last click on the same item as prev wxImageList *m_imageListButtons; - int m_freezeCount; int m_dragCount; wxPoint m_dragStart; wxGenericTreeItem *m_dropTarget; wxCursor m_oldCursor; // cursor is changed while dragging wxGenericTreeItem *m_oldSelection; wxGenericTreeItem *m_underMouse; // for visual effects + + enum { NoEffect, BorderEffect, AboveEffect, BelowEffect } m_dndEffect; + wxGenericTreeItem *m_dndEffectItem; + wxTreeTextCtrl *m_textCtrl; + wxTimer *m_renameTimer; // incremental search data @@ -267,6 +280,9 @@ protected: // the common part of all ctors void Init(); + // overridden wxWindow methods + virtual void DoThaw(); + // misc helpers void SendDeleteEvent(wxGenericTreeItem *itemBeingDeleted); @@ -278,6 +294,9 @@ protected: bool unselect_others = true, bool extended_select = false); + virtual int DoGetItemState(const wxTreeItemId& item) const; + virtual void DoSetItemState(const wxTreeItemId& item, int state); + virtual wxTreeItemId DoInsertItem(const wxTreeItemId& parent, size_t previous, const wxString& text, @@ -306,7 +325,6 @@ protected: void CalculateLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &y ); void CalculatePositions(); - void CalculateSize( wxGenericTreeItem *item, wxDC &dc ); void RefreshSubtree( wxGenericTreeItem *item ); void RefreshLine( wxGenericTreeItem *item ); @@ -335,7 +353,7 @@ protected: private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxGenericTreeCtrl) - DECLARE_NO_COPY_CLASS(wxGenericTreeCtrl) + wxDECLARE_NO_COPY_CLASS(wxGenericTreeCtrl); }; #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__) @@ -344,7 +362,7 @@ private: * the run-time information. */ -class WXDLLEXPORT wxTreeCtrl: public wxGenericTreeCtrl +class WXDLLIMPEXP_CORE wxTreeCtrl: public wxGenericTreeCtrl { DECLARE_DYNAMIC_CLASS(wxTreeCtrl)