+
+ /**
+ Sorting.
+
+ If some control columns were added with wxCOL_SORTABLE flag, clicking
+ on them will automatically resort the control using the custom
+ comparator set by SetItemComparator() or by doing alphabetical
+ comparison by default.
+
+ In any case, i.e. even if the user can't sort the control by clicking
+ on its header, you may call SetSortColumn() to sort it programmatically
+ and call GetSortColumn() to determine whether it's sorted now and, if
+ so, by which column and in which order.
+ */
+ //@{
+
+ /**
+ Set the column to use for sorting and the order in which to sort.
+
+ Calling this method resorts the control contents using the values of
+ the items in the specified column. Sorting uses custom comparator set
+ with SetItemComparator() or alphabetical comparison of items texts if
+ none was specified.
+
+ Notice that currently there is no way to reset sort order.
+
+ @param col
+ A valid column index.
+ @param ascendingOrder
+ Indicates whether the items should be sorted in ascending (A to Z)
+ or descending (Z to A) order.
+ */
+ void SetSortColumn(unsigned col, bool ascendingOrder = true);
+
+ /**
+ Return the column currently used for sorting, if any.
+
+ If the control is currently unsorted, the function simply returns
+ @false and doesn't modify any of its output parameters.
+
+ @param col
+ Receives the index of the column used for sorting if non-@NULL.
+ @param ascendingOrder
+ Receives @true or @false depending on whether the items are sorted
+ in ascending or descending order.
+ @return
+ @true if the control is sorted or @false if it isn't sorted at all.
+ */
+ bool GetSortColumn(unsigned* col, bool* ascendingOrder = NULL);
+
+ /**
+ Set the object to use for comparing the items.
+
+ This object will be used when the control is being sorted because the
+ user clicked on a sortable column or SetSortColumn() was called.
+
+ The provided pointer is stored by the control so the object it points
+ to must have a life-time equal or greater to that of the control
+ itself. In addition, the pointer can be @NULL to stop using custom
+ comparator and revert to the default alphabetical comparison.
+ */
+ void SetItemComparator(wxTreeListItemComparator* comparator);
+
+ //@}
+
+
+ /**
+ View window.
+
+ This control itself is entirely covered by the "view window" which is
+ currently a wxDataViewCtrl but if you want to avoid relying on this to
+ allow your code to work with later versions which might not be
+ wxDataViewCtrl-based, use GetView() function only and only use
+ GetDataView() if you really need to call wxDataViewCtrl methods on it.
+ */
+ //@{
+
+ /**
+ Return the view part of this control as a wxWindow.
+
+ This method always returns non-@NULL pointer once the window was
+ created.
+ */
+ wxWindow* GetView() const;
+
+ /**
+ Return the view part of this control as wxDataViewCtrl.
+
+ This method may return @NULL in the future, non wxDataViewCtrl-based,
+ versions of this class, use GetView() unless you really need to use
+ wxDataViewCtrl methods on the returned object.
+ */
+ wxDataViewCtrl* GetDataView() const;
+
+ //@}