org.gnu.gtk

Class TreeModelFilter

public class TreeModelFilter extends TreeModel

Class for filtering the visible rows of a base {@link TreeModel}. This class allows the underlying TreeModel to be filtered in 2 ways:
  1. {@link #setVisibleColumn} - 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. {@link #setVisibleMethod} - 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
voidclearCache()
Clear the filter of any cached iterators.
TreePathconvertChildPathToPath(TreePath child)
Convert the given child TreePath to a path relative to this filter.
TreePathconvertPathToChildPath(TreePath path)
Convert the given TreePath to a path relative to the child model.
TreeModelgetModel()
Return the underlying data model.
static TypegetType()
Retrieve the runtime type used by the GLib library.
voidrefilter()
Re-evaluate the visiblity of each row in the underlying data model.
voidsetVisibleColumn(DataColumnBoolean column)
Designate a boolean data column in the underlying TreeModel that will serve as the "visible" marker for each row.
voidsetVisibleMethod(TreeModelFilterVisibleMethod method)
Designate the given TreeModelFilterVisibleMethod object with the responsibility of determining if the rows in the underlying TreeModel should be visible.

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

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.

getModel

public TreeModel getModel()
Return the underlying data model.

getType

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

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.

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.

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.