]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/treectrl.h
Document wxWindow::DoCentre() and wxCENTRE_ON_SCREEN flag.
[wxWidgets.git] / interface / wx / treectrl.h
index 9e439555988ec3bcaa44b7e95a656a2d9eb665ae..9b9fb7c14150b40cf9d031d34df54c43ba6fcc05 100644 (file)
@@ -150,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
@@ -357,6 +358,11 @@ public:
         textOnly parameters. The return value is either a wxRect object or @c
         None.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method only takes the @a item and
+        @a textOnly parameters and returns a @c Wx::Rect (or @c undef).
+        @endWxPerlOnly
     */
     virtual bool GetBoundingRect(const wxTreeItemId& item, wxRect& rect,
                                  bool textOnly = false) const;
@@ -407,6 +413,11 @@ public:
         returned as a tuple containing the two values.
         @endWxPythonOnly
 
+        @beginWxPerlOnly
+        In wxPerl this method only takes the @a item parameter, and
+        returns a 2-element list (item, cookie).
+        @endWxPerlOnly
+
         @see GetNextChild(), GetNextSibling()
     */
     virtual wxTreeItemId GetFirstChild(const wxTreeItemId& item,
@@ -417,6 +428,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.
     */
@@ -442,6 +462,13 @@ public:
         @li GetPyData(item): Returns the Python Object associated with the
             wxTreeItemData for the given item Id.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        wxPerl provides the following shortcut method:
+        - GetPlData(item): returns the Perl data
+          associated with the Wx::TreeItemData. It is just the same as
+          tree->GetItemData(item)->GetData().
+        @endWxPerlOnly
     */
     virtual wxTreeItemData* GetItemData(const wxTreeItemId& item) const;
 
@@ -508,6 +535,11 @@ public:
         returned as a tuple containing the two values.
         @endWxPythonOnly
 
+        @beginWxPerlOnly
+        In wxPerl this method returns a 2-element list
+        (item, cookie) instead of modifying its parameters.
+        @endWxPerlOnly
+
         @see GetFirstChild()
     */
     virtual wxTreeItemId GetNextChild(const wxTreeItemId& item,
@@ -565,7 +597,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;
 
@@ -580,6 +613,11 @@ public:
         The wxPython version of this method accepts no parameters and returns a
         Python list of @ref wxTreeItemId "wxTreeItemId"s.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no parameters and returns a list of
+        @c Wx::TreeItemId.
+        @endWxPerlOnly
     */
     virtual size_t GetSelections(wxArrayTreeItemIds& selection) const;
 
@@ -610,6 +648,11 @@ public:
         @beginWxPythonOnly
         In wxPython both the wxTreeItemId and the flags are returned as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method only takes the @a point parameter
+        and returns a 2-element list (item, flags).
+        @endWxPerlOnly
     */
     wxTreeItemId HitTest(const wxPoint& point, int& flags) const;
 
@@ -774,11 +817,22 @@ 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.
         @endWxPythonOnly
 
+        @beginWxPerlOnly
+        wxPerl provides the following shortcut method:
+        - SetPlData(item, data): sets the Perl data
+          associated with the @c Wx::TreeItemData. It is just the same as
+          tree->GetItemData(item)->SetData(data).
+        @endWxPerlOnly
     */
     virtual void SetItemData(const wxTreeItemId& item, wxTreeItemData* data);
 
@@ -900,6 +954,15 @@ public:
         Unselects the given item. This works in multiselection controls only.
     */
     void UnselectItem(const wxTreeItemId& item);
+
+    /**
+        Select all the immediate children of the given parent.
+
+        This function can be used with multiselection controls only.
+
+        @since 2.9.1
+    */
+    virtual void SelectChildren(const wxTreeItemId& parent);
 };
 
 
@@ -915,13 +978,15 @@ public:
 
     @beginEventTable{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.
+        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.
-          If you want to enable right-dragging you need to intercept this event
-          and explicitely call wxTreeEvent::Allow(), as it's vetoed by default.
+        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)}