org.gnu.gtk
Class TreeModelFilter

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.TreeModelFilter

public class TreeModelFilter
extends TreeModel

Class for filtering the visible rows of a base TreeModel. This class allows the underlying TreeModel to be filtered in 2 ways:

  1. setVisibleColumn(org.gnu.gtk.DataColumnBoolean) - designates a boolean data column in the underlying TreeModel that serves as "visible" marker each row. If the column's value is true, the row will be visible. If the column's value is false, the row will not be visible.
  2. setVisibleMethod(org.gnu.gtk.TreeModelFilterVisibleMethod) - designates a special class which can determine if a given row should be visible.
Once a visible column or method has been set, their is no way of unsetting it.


Constructor Summary
TreeModelFilter(TreeModel model)
          Create a new TreeModelFilter using the given TreeModel as the underlying data model.
TreeModelFilter(TreeModel model, TreePath root)
          Create a new TreeModelFilter using the given TreeModel as the underlying data model, and using root as the virtual root.
 
Method Summary
 void clearCache()
          Clear the filter of any cached iterators.
 TreePath convertChildPathToPath(TreePath child)
          Convert the given child TreePath to a path relative to this filter.
 TreePath convertPathToChildPath(TreePath path)
          Convert the given TreePath to a path relative to the child model.
 TreeModel getModel()
          Return the underlying data model.
static Type getType()
          Retrieve the runtime type used by the GLib library.
 void refilter()
          Re-evaluate the visiblity of each row in the underlying data model.
 void setVisibleColumn(DataColumnBoolean column)
          Designate a boolean data column in the underlying TreeModel that will serve as the "visible" marker for each row.
 void setVisibleMethod(TreeModelFilterVisibleMethod method)
          Designate the given TreeModelFilterVisibleMethod object with the responsibility of determining if the rows in the underlying TreeModel should be visible.
 
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
 

Constructor Detail

TreeModelFilter

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


TreeModelFilter

public TreeModelFilter(TreeModel model,
                       TreePath root)
Create a new TreeModelFilter using the given TreeModel as the underlying data model, and using root as the virtual root.

Method Detail

setVisibleMethod

public void setVisibleMethod(TreeModelFilterVisibleMethod method)
Designate the given TreeModelFilterVisibleMethod object with the responsibility of determining if the rows in the underlying TreeModel should be visible.

NOTE: There is no unset method.


setVisibleColumn

public void setVisibleColumn(DataColumnBoolean column)
Designate a boolean data column in the underlying TreeModel that will serve as the "visible" marker for each row. If the column's value is true, the row will be visible. If the column's value is false, the row will not be visible.

NOTE: There is no unset method.


getModel

public TreeModel getModel()
Return the underlying data model.


refilter

public void refilter()
Re-evaluate the visiblity of each row in the underlying data model. This should be called after changing the values in the underlying data model.


clearCache

public void clearCache()
Clear the filter of any cached iterators. This should almost never be called.


convertChildPathToPath

public TreePath convertChildPathToPath(TreePath child)
Convert the given child TreePath to a path relative to this filter.


convertPathToChildPath

public TreePath convertPathToChildPath(TreePath path)
Convert the given TreePath to a path relative to the child model.


getType

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