Top | ![]() |
![]() |
![]() |
![]() |
void | gtex_tree_model_node_set_column_types () |
void | gtex_tree_model_node_set_tree () |
gboolean | gtex_tree_model_node_column_index_is_valid () |
void | gtex_tree_model_node_change_stamp () |
void | gtex_tree_model_node_get_iter_at_node () |
GNode * | gtex_tree_model_node_get_node_from_iter () |
gboolean | gtex_tree_model_node_iter_is_valid () |
GtexTreeModelNode is a class that implements a maximum of the GtkTreeModel interface in a generic way, based on a GNode tree. GtexTreeModelNode doesn't look at the GNode's data fields, it is not aware of what the nodes contain.
Only the following virtual functions of GtkTreeModelIface are not implemented by GtexTreeModelNode:
GtkTreeModelIface.get_value()
GtkTreeModelIface.ref_node()
(optional)
GtkTreeModelIface.unref_node()
(optional)
So a subclass of GtexTreeModelNode needs to be created, implementing at
least GtkTreeModelIface.get_value()
.
Side note: GObject permits to implement an interface in this fashion. In other words, class "A" inherits from GObject and implements some vfuncs of the interface "I". Then class "B" inherits from class "A" and implements the remaining vfuncs from the same interface "I".
void gtex_tree_model_node_set_column_types (GtexTreeModelNode *gtex_model
,gint n_columns
,GType *column_types
);
void gtex_tree_model_node_set_tree (GtexTreeModelNode *model
,GNode *tree
);
gboolean gtex_tree_model_node_column_index_is_valid (GtexTreeModelNode *model
,gint index
);
void
gtex_tree_model_node_change_stamp (GtexTreeModelNode *model
);
void gtex_tree_model_node_get_iter_at_node (GtexTreeModelNode *model
,GtkTreeIter *iter
,GNode *node
);
GNode *
gtex_tree_model_node_get_node_from_iter
(const GtkTreeIter *iter
);
gboolean gtex_tree_model_node_iter_is_valid (GtexTreeModelNode *model
,const GtkTreeIter *iter
);