---
name: "Gtk_CTree"
section: "3"
platform: "linux"
package: "libgtkmm-dev"
version: "1.0.3-1.1"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/Gtk_CTree"
---

# Gtk\_CTree(3)

## NAME - Gtk\_CTree

## HEADER REQUIRED

**#include \<gtk--/ctree.h&gt;\>**

## BASE CLASSES

[Gtk\_CList(3)](/Gtk_CList/3.md)

## PROPERTIES

- *lines\_gc*

  Type: GdkGC\*\

- *tree\_indent*

  Type: gint\

- *tree\_spacing*

  Type: gint\

- *tree\_column*

  Type: gint\

- *line\_style*

  Type: guint:2\

- *expander\_style*

  Type: guint:2\

- *show\_stub*

  Type: guint:1\

- *drag\_compare*

  Type: GtkCTreeCompareDragFunc\

-

   .IP

## PUBLIC MEMBER INDEX

```
typedef G_List_Iterator  seliterator;
Gtk_CTree(gint columns, gint tree_column, gchar *titles[]);
typedef G_List_Iterator  iterator;
Gtk_CTree( gint tree_column, const vector  &titles );
Gtk_CTree(GtkCTree *castitem);
signal void  tree_select_row(GtkCTreeNode*, gint);
signal void  tree_unselect_row(GtkCTreeNode*, gint);
signal void  tree_expand(GtkCTreeNode*);
signal void  tree_collapse(GtkCTreeNode*);
signal void  tree_move(GtkCTreeNode*, GtkCTreeNode*, GtkCTreeNode*);
signal void  change_focus_row_expansion(GtkCTreeExpansionType);
Gtk_CTreeNode  insert_node(const Gtk_CTreeNode &parent, const Gtk_CTreeNode &sibling, gchar *text[], guint8 spacing, const Gdk_Pixmap &pixmap_closed, const Gdk_Bitmap &mask_closed, const Gdk_Pixmap &pixmap_opened, const Gdk_Bitmap &mask_opened, bool is_leaf, bool expanded);
Gtk_CTreeNode  insert_node(const Gtk_CTreeNode &parent, const Gtk_CTreeNode &sibling, const vector &text, guint8 spacing, const Gdk_Pixmap &pixmap_closed, const Gdk_Bitmap &mask_closed, const Gdk_Pixmap &pixmap_opened, const Gdk_Bitmap &mask_opened, bool is_leaf, bool expanded);
void  remove_node(const Gtk_CTreeNode &node);
seliterator  selbegin() const;
seliterator  selend() const;
iterator  begin();
iterator  end();
Gtk_CTreeNode  insert_node(const Gtk_CTreeNode &parent, const Gtk_CTreeNode &sibling, GNode *gnode, GtkCTreeGNodeFunc func, gpointer data);
  Is actually insert_gnode
GNode*  export_to_gnode(GNode *parent, GNode *sibling, const Gtk_CTreeNode &node, GtkCTreeGNodeFunc func, gpointer data);
void  post_recursive(const Gtk_CTreeNode &node, GtkCTreeFunc func, gpointer data);
void  post_recursive_to_depth(const Gtk_CTreeNode &node, gint depth, GtkCTreeFunc func, gpointer data);
void  pre_recursive(const Gtk_CTreeNode &node, GtkCTreeFunc func, gpointer data);
void  pre_recursive_to_depth(const Gtk_CTreeNode &node, gint depth, GtkCTreeFunc func, gpointer data);
bool  is_viewable(const Gtk_CTreeNode &node) const;
bool  is_hot_spot(gint x, gint y) const;
bool  is_ancestor(const Gtk_CTreeNode &node, const Gtk_CTreeNode &child) const;
Gtk_CTreeNode  last(const Gtk_CTreeNode &node) const;
Gtk_CTreeNode  find_node_ptr(const Gtk_CTreeRow &ctree_row) const;
Gtk_CTreeNode  node_nth(guint row) const;
bool  find(const Gtk_CTreeNode &node, const Gtk_CTreeNode &child) const;
Gtk_CTreeNode  find_by_row_data(const Gtk_CTreeNode &node, gpointer data) const;
Gtk_ObjectHandle< G_List >  find_all_by_row_data(const Gtk_CTreeNode &node, gpointer data) const;
Gtk_CTreeNode  find_by_row_data_custom(const Gtk_CTreeNode &node, gpointer data, GCompareFunc func) const;
Gtk_ObjectHandle< G_List >  find_all_by_row_data_custom(const Gtk_CTreeNode &node, gpointer data, GCompareFunc func) const;
void  collapse_recursive( Gtk_CTreeNode &node );
void  expand_recursive( Gtk_CTreeNode &node );
void  node_set_pixmap(const Gtk_CTreeNode &node, gint column, const Gdk_Pixmap &pixmap, const Gdk_Bitmap &mask);
void  node_set_pixtext(const Gtk_CTreeNode &node, gint column, const string &text, guint8 spacing, const Gdk_Pixmap &pixmap, const Gdk_Bitmap &mask);
void  set_node_info(const Gtk_CTreeNode &node, const string &text, guint8 spacing, const Gdk_Pixmap &pixmap_closed, const Gdk_Bitmap &mask_closed, const Gdk_Pixmap &pixmap_opened, const Gdk_Bitmap &mask_opened, bool is_leaf, bool expanded);
void  node_set_shift(const Gtk_CTreeNode &node, gint column, gint vertical, gint horizontal);
void  node_set_selectable(const Gtk_CTreeNode &node, bool selectable);
bool  node_get_selectable(const Gtk_CTreeNode &node) const;
GtkCellType  node_get_cell_type(const Gtk_CTreeNode &node, gint column) const;
bool  node_get_text(const Gtk_CTreeNode &node, gint column, _gtk_string *text) const;
gint  node_get_pixmap(const Gtk_CTreeNode &node, gint column, Gdk_Pixmap &pixmap, Gdk_Bitmap &mask) const;
gint  node_get_pixtext(const Gtk_CTreeNode &node, gint column, _gtk_string *text, guint8 *spacing, Gdk_Pixmap &pixmap, Gdk_Bitmap &mask) const;
gint  get_node_info(const Gtk_CTreeNode &node, _gtk_string *text, guint8 *spacing, Gdk_Pixmap &pixmap_closed, Gdk_Bitmap &mask_closed, Gdk_Pixmap &pixmap_opened, Gdk_Bitmap &mask_opened, bool *is_leaf, bool *expanded) const;
void  node_set_row_style(const Gtk_CTreeNode &node, const Gtk_Style &style);
Gtk_ObjectHandle  node_get_row_style(const Gtk_CTreeNode &node) const;
void  node_set_cell_style(const Gtk_CTreeNode &node, gint column, const Gtk_Style &style);
Gtk_ObjectHandle  node_get_cell_style(const Gtk_CTreeNode &node, gint column) const;
void  node_set_foreground(const Gtk_CTreeNode &node, const Gdk_Color &color);
void  node_moveto(const Gtk_CTreeNode &node, gint column, gfloat row_align, gfloat col_align);
GtkVisibility  node_is_visible(const Gtk_CTreeNode &node);
Gtk_CTreeNode  get_node(gint row) const;
void  node_set_text(const Gtk_CTreeNode &node, gint column, const string &text);
void  node_set_background(const Gtk_CTreeNode &node, const Gdk_Color &color);
void  node_set_row_data(const Gtk_CTreeNode &node, gpointer data);
gpointer  node_get_row_data(const Gtk_CTreeNode &node) const;
void  node_set_row_data_full(const Gtk_CTreeNode &node, gpointer data, GtkDestroyNotify destroy);
void  set_indent(gint indent);
void  set_spacing(gint spacing);
void  set_show_stub(bool show_stub);
void  set_line_style(GtkCTreeLineStyle line_style);
void  set_expander_style(GtkCTreeExpanderStyle expander_style);
void  set_drag_compare_func(GtkCTreeCompareDragFunc cmp_func);
void  sort_node(const Gtk_CTreeNode &node);
void  sort_recursive(const Gtk_CTreeNode &node);
GtkCList *  pre_build_clist( gint tree_column_in, vector  titles_in );
GtkCTree*  gtkobj();
const GtkCTree*  gtkobj() const;
static bool  isGtkCTree(Gtk_Object *checkcast);
```

## PROTECTED MEMBER INDEX

```
friend  CppClassType;
typedef GtkCTree  BaseObjectType;
typedef GtkCTreeClass  BaseClassType;
virtual void * get_parent_class();
virtual void  tree_select_row_impl(GtkCTreeNode* p1, gint p2);
virtual void  tree_unselect_row_impl(GtkCTreeNode* p1, gint p2);
virtual void  tree_expand_impl(GtkCTreeNode* p1);
virtual void  tree_collapse_impl(GtkCTreeNode* p1);
virtual void  tree_move_impl(GtkCTreeNode* p1, GtkCTreeNode* p2, GtkCTreeNode* p3);
virtual void  change_focus_row_expansion_impl(GtkCTreeExpansionType p1);
```

## PRIVATE MEMBER INDEX

```
static CppClassType  ctree_class;
GtkType  get_type();
virtual bool  check_seliterator_type() const;
```

## PUBLIC MEMBER DESCRIPTIONS

## PROTECTED MEMBER DESCRIPTIONS

## PRIVATE MEMBER DESCRIPTIONS
