org.gnu.gtk
Class TreeModelSort

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.GObject
          extended by org.gnu.gtk.TreeModel
              extended by org.gnu.gtk.TreeModelSort
All Implemented Interfaces:
TreeSortable

public class TreeModelSort
extends TreeModel
implements TreeSortable

Class for sorting the rows of a base TreeModel. The underlying TreeModel us sorted using a comparison function. The comparison function is set with the setSortMethod(org.gnu.gtk.TreeIterComparison, org.gnu.gtk.DataColumn) method.


Constructor Summary
TreeModelSort(TreeModel model)
          Create a new TreeModelSort using the given TreeModel as the underlying data model.
 
Method Summary
 TreePath convertChildPathToPath(TreePath childPath)
          Converts childPath to a path relative to the TreeModelSort.
 TreePath convertPathToChildPath(TreePath sortedPath)
          Converts sortedPath to a path on the child model of the TreeModelSort.
 TreeModel getModel()
          Return the underlying data model.
 DataColumn getSortColumn()
          Get a DataColumn object representing the currently sorted column.
 SortType getSortOrder()
          Get the current sorting order of the store.
static Type getType()
          Retrieve the runtime type used by the GLib library.
 int handleCompareFunc(org.gnu.glib.Handle model, org.gnu.glib.Handle aIter, org.gnu.glib.Handle bIter, int col)
          Call-back method invoked by the JNI code when sorting is required.
 void setSortColumn(DataColumn column, SortType order)
          Set the column in the list to sort on.
 void setSortMethod(TreeIterComparison method, DataColumn column)
          Set the class used to sort the list according to the values stored in the given DataColumn.
 
Methods inherited from class org.gnu.gtk.TreeModel
addListener, getColumnCount, getDataBlockCount, getEventListenerClass, getEventType, getFirstIter, getIter, getIter, getType, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, removeListener
 
Methods inherited from class org.gnu.glib.GObject
addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify
 
Methods inherited from class org.gnu.glib.Struct
equals, getHandle, getNullHandle, hashCode
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.gnu.gtk.TreeSortable
getHandle
 

Constructor Detail

TreeModelSort

public TreeModelSort(TreeModel model)
Create a new TreeModelSort using the given TreeModel as the underlying data model.

Method Detail

getType

public static Type getType()
Retrieve the runtime type used by the GLib library.


getModel

public TreeModel getModel()
Return the underlying data model.


setSortColumn

public void setSortColumn(DataColumn column,
                          SortType order)
Set the column in the list to sort on.

Specified by:
setSortColumn in interface TreeSortable

getSortColumn

public DataColumn getSortColumn()
Get a DataColumn object representing the currently sorted column. This is not the same DataColumn used to create the store. It is only of type DataColumn (not DataColumnString, etc). It can be compared with another DataColumn object using the DataColumn.equals(org.gnu.gtk.DataColumn) method.

Specified by:
getSortColumn in interface TreeSortable
Returns:
A DataColumn object representing the currently sorted column or null if there is no column currently sorted.

getSortOrder

public SortType getSortOrder()
Get the current sorting order of the store.

Specified by:
getSortOrder in interface TreeSortable
Returns:
A SortType object defining the current sorting order of the store or null if there is no current sort order.

setSortMethod

public void setSortMethod(TreeIterComparison method,
                          DataColumn column)
Set the class used to sort the list according to the values stored in the given DataColumn.

Specified by:
setSortMethod in interface TreeSortable

handleCompareFunc

public int handleCompareFunc(org.gnu.glib.Handle model,
                             org.gnu.glib.Handle aIter,
                             org.gnu.glib.Handle bIter,
                             int col)
Call-back method invoked by the JNI code when sorting is required. This is for internal use only.

Specified by:
handleCompareFunc in interface TreeSortable

convertChildPathToPath

public TreePath convertChildPathToPath(TreePath childPath)
Converts childPath to a path relative to the TreeModelSort. That is, childPath points to a path in the child model. The returned path will point to the same row in the sorted model. If childPath isn't a valid path on the child model, then NULL is returned.

Parameters:
childPath - A TreePath to convert.
Returns:
TreePath, or NULL

convertPathToChildPath

public TreePath convertPathToChildPath(TreePath sortedPath)
Converts sortedPath to a path on the child model of the TreeModelSort. That is, sortedPath points to a location in the TreeModelSort. The returned path will point to the same location in the model not being sorted. If sortedPath does not point to a location in the child model, NULL is returned.

Parameters:
sortedPath - A TreePath to convert.
Returns:
A GtkTreePath, or NULL