X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cfbe561401380c3308f92c02b1b34f05d067a18e..6a3f8b4f1f1c802df93ce7bc05588536cb7a4dad:/interface/wx/treectrl.h diff --git a/interface/wx/treectrl.h b/interface/wx/treectrl.h index 16236a6845..6897303738 100644 --- a/interface/wx/treectrl.h +++ b/interface/wx/treectrl.h @@ -60,11 +60,15 @@ for a particular toolkit. @endStyleTable - @beginEventTable{wxTreeEvent} + @beginEventEmissionTable{wxTreeEvent} @event{EVT_TREE_BEGIN_DRAG(id, func)} Begin dragging with the left mouse button. + If you want to enable left-dragging you need to intercept this event + and explicitely call wxTreeEvent::Allow(), as it's vetoed by default. @event{EVT_TREE_BEGIN_RDRAG(id, func)} Begin dragging with the right mouse button. + If you want to enable right-dragging you need to intercept this event + and explicitely call wxTreeEvent::Allow(), as it's vetoed by default. @event{EVT_TREE_END_DRAG(id, func)} End dragging with the left or right mouse button. @event{EVT_TREE_BEGIN_LABEL_EDIT(id, func)} @@ -78,7 +82,8 @@ @event{EVT_TREE_SET_INFO(id, func)} Information is being supplied. @event{EVT_TREE_ITEM_ACTIVATED(id, func)} - The item has been activated, i.e. chosen by double clicking it with mouse or from keyboard. + The item has been activated, i.e. chosen by double clicking it with + mouse or from keyboard. @event{EVT_TREE_ITEM_COLLAPSED(id, func)} The item has been collapsed. @event{EVT_TREE_ITEM_COLLAPSING(id, func)} @@ -98,9 +103,11 @@ @event{EVT_TREE_KEY_DOWN(id, func)} A key has been pressed. @event{EVT_TREE_ITEM_GETTOOLTIP(id, func)} - The opportunity to set the item tooltip is being given to the application (call wxTreeEvent::SetToolTip). Windows only. + The opportunity to set the item tooltip is being given to the application + (call wxTreeEvent::SetToolTip). Windows only. @event{EVT_TREE_ITEM_MENU(id, func)} - The context menu for the selected item has been requested, either by a right click or by using the menu key. + The context menu for the selected item has been requested, either by a + right click or by using the menu key. @event{EVT_TREE_STATE_IMAGE_CLICK(id, func)} The state image has been clicked. Windows only. @endEventTable @@ -123,8 +130,8 @@ @category{ctrl} @appearance{treectrl.png} - @see wxDataViewTreeCtrl, wxTreeEvent, wxTreeItemData, @ref overview_treectrl, wxListBox, - wxListCtrl, wxImageList + @see wxDataViewTreeCtrl, wxTreeEvent, wxTreeItemData, @ref overview_treectrl, + wxListBox, wxListCtrl, wxImageList */ class wxTreeCtrl : public wxControl { @@ -143,9 +150,10 @@ public: Window identifier. The value @c wxID_ANY indicates a default value. @param pos Window position. + If ::wxDefaultPosition is specified then a default position is chosen. @param size - Window size. If wxDefaultSize is specified then the window is sized - appropriately. + Window size. + If ::wxDefaultSize is specified then the window is sized appropriately. @param style Window style. See wxTreeCtrl. @param validator @@ -264,7 +272,7 @@ public: const wxString& name = wxTreeCtrlNameStr); /** - Deletes the specified item. A EVT_TREE_DELETE_ITEM() event will be + Deletes the specified item. A @c EVT_TREE_DELETE_ITEM event will be generated. This function may cause a subsequent call to GetNextChild() to fail. @@ -273,7 +281,7 @@ public: /** Deletes all items in the control. Note that this may not generate - EVT_TREE_DELETE_ITEM() events under some Windows versions although + @c EVT_TREE_DELETE_ITEM events under some Windows versions although normally such event is generated for each removed item. */ virtual void DeleteAllItems(); @@ -289,11 +297,11 @@ public: /** Starts editing the label of the given @a item. This function generates a - EVT_TREE_BEGIN_LABEL_EDIT() event which can be vetoed so that no text + @c EVT_TREE_BEGIN_LABEL_EDIT event which can be vetoed so that no text control will appear for in-place editing. If the user changed the label (i.e. s/he does not press ESC or leave the - text control without changes, a EVT_TREE_END_LABEL_EDIT() event will be + text control without changes, a @c EVT_TREE_END_LABEL_EDIT event will be sent which can be vetoed as well. @see EndEditLabel(), wxTreeEvent @@ -410,6 +418,15 @@ public: */ virtual wxTreeItemId GetFirstVisibleItem() const; + /** + Returns the item last clicked or otherwise selected. + Unlike GetSelection(), it can be used whether or not + the control has the @c wxTR_MULTIPLE style. + + @since 2.9.1 + */ + virtual wxTreeItemId GetFocusedItem() const; + /** Returns the normal image list. */ @@ -558,7 +575,8 @@ public: /** Returns the selection, or an invalid item if there is no selection. This function only works with the controls without @c wxTR_MULTIPLE style, - use GetSelections() for the controls which do have this style. + use GetSelections() for the controls which do have this style + or, if a single item is wanted, use GetFocusedItem(). */ virtual wxTreeItemId GetSelection() const; @@ -592,13 +610,11 @@ public: - @c wxTREE_HITTEST_NOWHERE: In the client area but below the last item. - @c wxTREE_HITTEST_ONITEMBUTTON: On the button associated with an item. - @c wxTREE_HITTEST_ONITEMICON: On the bitmap associated with an item. - - @c wxTREE_HITTEST_ONITEMINDENT: In the indentation associated with an - item. - - @c wxTREE_HITTEST_ONITEMLABEL: On the label (string) associated with - an item. + - @c wxTREE_HITTEST_ONITEMINDENT: In the indentation associated with an item. + - @c wxTREE_HITTEST_ONITEMLABEL: On the label (string) associated with an item. - @c wxTREE_HITTEST_ONITEMRIGHT: In the area to the right of an item. - @c wxTREE_HITTEST_ONITEMSTATEICON: On the state icon for a tree view - item that is in a user-defined state. + item that is in a user-defined state. - @c wxTREE_HITTEST_TOLEFT: To the right of the client area. - @c wxTREE_HITTEST_TORIGHT: To the left of the client area. @@ -769,6 +785,11 @@ public: /** Sets the item client data. + Notice that the client data previously associated with the @a item (if + any) is @em not freed by this function and so calling this function + multiple times for the same item will result in memory leaks unless you + delete the old item data pointer yourself. + @beginWxPythonOnly - @b SetPyData( @a item, @c obj): Associate the given Python Object with the wxTreeItemData for the given item Id. @@ -910,9 +931,15 @@ public: @beginEventTable{wxTreeEvent} @event{EVT_TREE_BEGIN_DRAG(id, func)} - Begin dragging with the left mouse button. + Begin dragging with the left mouse button. If you want to enable + left-dragging you need to intercept this event and explicitely call + wxTreeEvent::Allow(), as it's vetoed by default. Also notice that the + control must have an associated image list (see SetImageList()) to + drag its items under MSW. @event{EVT_TREE_BEGIN_RDRAG(id, func)} - Begin dragging with the right mouse button. + Begin dragging with the right mouse button. If you want to enable + right-dragging you need to intercept this event and explicitely call + wxTreeEvent::Allow(), as it's vetoed by default. @event{EVT_TREE_END_DRAG(id, func)} End dragging with the left or right mouse button. @event{EVT_TREE_BEGIN_LABEL_EDIT(id, func)} @@ -982,7 +1009,7 @@ public: int GetKeyCode() const; /** - Returns the key event for EVT_TREE_KEY_DOWN() events. + Returns the key event for @c EVT_TREE_KEY_DOWN events. */ const wxKeyEvent& GetKeyEvent() const; @@ -992,8 +1019,8 @@ public: const wxString& GetLabel() const; /** - Returns the old item index (valid for EVT_TREE_ITEM_CHANGING() and - EVT_TREE_ITEM_CHANGED() events). + Returns the old item index (valid for @c EVT_TREE_ITEM_CHANGING and + @c EVT_TREE_ITEM_CHANGED events). */ wxTreeItemId GetOldItem() const; @@ -1009,12 +1036,12 @@ public: /** Returns @true if the label edit was cancelled. This should be called - from within an EVT_TREE_END_LABEL_EDIT() handler. + from within an @c EVT_TREE_END_LABEL_EDIT handler. */ bool IsEditCancelled() const; /** - Set the tooltip for the item (valid for EVT_TREE_ITEM_GETTOOLTIP() + Set the tooltip for the item (valid for @c EVT_TREE_ITEM_GETTOOLTIP events). Windows only. */ void SetToolTip(const wxString& tooltip);