X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f2593d0ddae43a3e9054d2e9bb59646e19dffe73..f9c165b1d621341bce1edd840ac71590c5d37f62:/include/wx/generic/treectrl.h diff --git a/include/wx/generic/treectrl.h b/include/wx/generic/treectrl.h index 76ca47975b..50d949b2b2 100644 --- a/include/wx/generic/treectrl.h +++ b/include/wx/generic/treectrl.h @@ -96,51 +96,6 @@ protected: wxTreeItemId m_pItem; }; -//----------------------------------------------------------------------------- -// wxTreeRenameTimer (internal) -//----------------------------------------------------------------------------- - -class WXDLLEXPORT wxTreeRenameTimer: public wxTimer -{ - private: - wxTreeCtrl *m_owner; - - public: - wxTreeRenameTimer( wxTreeCtrl *owner ); - void Notify(); -}; - -//----------------------------------------------------------------------------- -// wxTreeTextCtrl (internal) -//----------------------------------------------------------------------------- - -class WXDLLEXPORT wxTreeTextCtrl: public wxTextCtrl -{ - DECLARE_DYNAMIC_CLASS(wxTreeTextCtrl); - - private: - bool *m_accept; - wxString *m_res; - wxTreeCtrl *m_owner; - wxString m_startValue; - - public: - wxTreeTextCtrl(void) {}; - wxTreeTextCtrl( wxWindow *parent, const wxWindowID id, - bool *accept, wxString *res, wxTreeCtrl *owner, - const wxString &value = wxEmptyString, - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - int style = 0, -#if wxUSE_VALIDATORS - const wxValidator& validator = wxDefaultValidator, -#endif - const wxString &name = wxTextCtrlNameStr ); - void OnChar( wxKeyEvent &event ); - void OnKillFocus( wxFocusEvent &event ); - - DECLARE_EVENT_TABLE() -}; - // ----------------------------------------------------------------------------- // wxTreeCtrl - the tree control // ----------------------------------------------------------------------------- @@ -156,9 +111,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, -#if wxUSE_VALIDATORS const wxValidator &validator = wxDefaultValidator, -#endif const wxString& name = wxTreeCtrlNameStr) { Create(parent, id, pos, size, style, validator, name); @@ -170,9 +123,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, -#if wxUSE_VALIDATORS const wxValidator &validator = wxDefaultValidator, -#endif const wxString& name = wxTreeCtrlNameStr); // accessors @@ -337,9 +288,9 @@ public: int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); - // insert a new item before a given one + // insert a new item before the one with the given index wxTreeItemId InsertItem(const wxTreeItemId& parent, - size_t before, + size_t index, const wxString& text, int image = -1, int selectedImage = -1, wxTreeItemData *data = NULL); @@ -361,6 +312,8 @@ public: // expand this item void Expand(const wxTreeItemId& item); + // expand this item and all subitems recursively + void ExpandAll(const wxTreeItemId& item); // collapse the item without removing its children void Collapse(const wxTreeItemId& item); // collapse the item and remove all children @@ -411,7 +364,7 @@ public: void SetItemSelectedImage(const wxTreeItemId& item, int image) { SetItemImage(item, image, wxTreeItemIcon_Selected); } - // implementation + // implementation only from now on // callbacks void OnPaint( wxPaintEvent &event ); @@ -421,12 +374,11 @@ public: void OnMouse( wxMouseEvent &event ); void OnIdle( wxIdleEvent &event ); - // implementation + // implementation helpers void SendDeleteEvent(wxGenericTreeItem *itemBeingDeleted); - // Draw Special Information - void DrawBorder(wxTreeItemId& item); - void DrawLine(wxTreeItemId& item, bool below); + void DrawBorder(const wxTreeItemId& item); + void DrawLine(const wxTreeItemId& item, bool below); protected: friend class wxGenericTreeItem; @@ -448,10 +400,17 @@ protected: wxBrush *m_hilightBrush; wxImageList *m_imageListNormal, *m_imageListState; + int m_dragCount; wxPoint m_dragStart; + bool m_isDragging; // true between BEGIN/END drag events + wxGenericTreeItem *m_dropTarget; + wxCursor m_oldCursor; // cursor is changed while dragging + wxGenericTreeItem *m_oldSelection; + wxTimer *m_renameTimer; bool m_renameAccept; + bool m_lastOnSame; // last click on the same item as prev wxString m_renameRes; // the common part of all ctors @@ -485,6 +444,8 @@ protected: bool TagNextChildren(wxGenericTreeItem *crt_item, wxGenericTreeItem *last_item, bool select); void UnselectAllChildren( wxGenericTreeItem *item ); + void DrawDropEffect(wxGenericTreeItem *item); + private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxTreeCtrl)