pike.git / src / post_modules / GTK2 / source / gtktreemodel.pre

version» Context lines:

pike.git/src/post_modules/GTK2/source/gtktreemodel.pre:1: + /* -*- C -*- */ + class GTK2.TreeModel; + mixin_for G.Object;    -  + //! The tree interface used by TreeView. +  + signal row_changed; + signal row_deleted; + signal row_has_child_toggled; + signal row_inserted; + signal rows_reordered; +  + int get_flags(); + //! Returns a set of flags supported by this interface. +  + int get_n_columns(); + //! Returns the number of columns suppported by this model. +  + int get_column_type(int index); + //! Returns the type of the column. +  + +GTK2.TreeIter get_iter(GTK2.TreePath path) + //! Returns a valid iterator pointer to path + { +  pgtk2_verify_inited(); +  { +  GtkTreeIter *iter; +  struct object *o1; +  int res; +  get_all_args("get_iter",args,"%o",&o1); +  iter=(GtkTreeIter *)g_malloc(sizeof(GtkTreeIter)); +  if (iter==NULL) +  SIMPLE_OUT_OF_MEMORY_ERROR("get_iter",sizeof(GtkTreeIter)); +  res=gtk_tree_model_get_iter(GTK_TREE_MODEL(THIS->obj), +  iter,(GtkTreePath *)get_pg2object(o1,pgtk2_tree_path_program)); +  pgtk2_pop_n_elems(args); +  if (res) { +  push_pgdk2object(iter,pgtk2_tree_iter_program,1); +  } else { +  push_int(0); +  g_free( iter ); +  } +  } + } +  + +GTK2.TreeIter get_iter_from_string(string path) + //! Returns a valid iterator from a path string. + { +  pgtk2_verify_inited(); +  { +  GtkTreeIter *iter; +  int res; +  const gchar *s; +  get_all_args("get_iter_from_string",args,"%s",&s); +  +  iter=(GtkTreeIter *)g_malloc(sizeof(GtkTreeIter)); +  if (iter==NULL) +  SIMPLE_OUT_OF_MEMORY_ERROR("get_iter_from_string",sizeof(GtkTreeIter)); +  res=gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(THIS->obj), +  iter,s); +  pgtk2_pop_n_elems(args); +  if (res) { +  push_pgdk2object(iter,pgtk2_tree_iter_program,1); +  } else { +  push_int(0); +  g_free( iter ); +  } +  } + } +  + +GTK2.TreeIter get_iter_first() + //! Get GTK2.TreeIter with the first iterator in the tree ("0"). + { +  pgtk2_verify_inited(); +  pgtk2_pop_n_elems(args); +  { +  GtkTreeIter *iter; +  int res; +  iter=(GtkTreeIter *)g_malloc(sizeof(GtkTreeIter)); +  if (iter==NULL) +  SIMPLE_OUT_OF_MEMORY_ERROR("get_iter_first",sizeof(GtkTreeIter)); +  res=gtk_tree_model_get_iter_first(GTK_TREE_MODEL(THIS->obj), +  iter); +  if (res) { +  push_pgdk2object(iter,pgtk2_tree_iter_program,1); +  } else { +  push_int(0); +  g_free( iter ); +  } +  } + } +  + +GTK2.TreePath get_path(GTK2.TreeIter iter) + //! Returns a GTK2.TreePath from iter. + { +  pgtk2_verify_inited(); +  { +  GtkTreePath *path; +  struct object *o1; +  get_all_args("get_path",args,"%o",&o1); +  +  path=(void *)gtk_tree_model_get_path(GTK_TREE_MODEL(THIS->obj), +  (GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program)); +  pgtk2_pop_n_elems(args); +  push_pgdk2object(path,pgtk2_tree_path_program,1); +  } + } +  + array get_row(GTK2.TreeIter iter) + //! Get the row at this iter. + { +  pgtk2_verify_inited(); +  { +  int i; +  int cols; +  struct object *o1; +  GtkTreeIter *gti; +  get_all_args("get_row",args,"%o",&o1); +  gti=(GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program); +  pgtk2_pop_n_elems(args); +  cols=gtk_tree_model_get_n_columns(GTK_TREE_MODEL(THIS->obj)); +  for (i=0; i<cols; i++) { +  GValue v = {0}; +  gtk_tree_model_get_value(GTK_TREE_MODEL(THIS->obj),gti,i,&v); +  pgtk2_push_gvalue_rt(&v); +  g_value_unset(&v); +  } +  f_aggregate(cols); +  } + } +  + mixed get_value(GTK2.TreeIter iter, int column) + //! Get value at column of iter. + { +  pgtk2_verify_inited(); +  { +  GValue v={0}; +  struct object *o1; +  INT_TYPE col; +  +  get_all_args("get_value",args,"%o%i",&o1,&col); +  gtk_tree_model_get_value(GTK_TREE_MODEL(THIS->obj), +  (GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program),col,&v); +  pgtk2_pop_n_elems(args); +  pgtk2_push_gvalue_rt(&v); +  g_value_unset(&v); +  } + } +  + int iter_next(GTK2.TreeIter iter) + //! Go to next node. + { +  pgtk2_verify_inited(); +  { +  struct object *o1; +  int res; +  GtkTreeIter *iter; +  +  get_all_args("iter_next",args,"%o",&o1); +  iter=(GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program); +  res=gtk_tree_model_iter_next(GTK_TREE_MODEL(THIS->obj),iter); +  pgtk2_pop_n_elems(args); +  PGTK_PUSH_INT(res); +  } + } +  + +GTK2.TreeIter iter_children(GTK2.TreeIter parent) + //! Get first child of parent. + { +  pgtk2_verify_inited(); +  { +  GtkTreeIter *iter; +  struct object *o1; +  int res; +  get_all_args("iter_children",args,"%o",&o1); +  iter=g_malloc(sizeof(GtkTreeIter)); +  if (iter==NULL) +  SIMPLE_OUT_OF_MEMORY_ERROR("iter_children",sizeof(GtkTreeIter)); +  res=gtk_tree_model_iter_children(GTK_TREE_MODEL(THIS->obj), +  iter,(GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program)); +  pgtk2_pop_n_elems(args); +  if( res ) +  push_pgdk2object(iter,pgtk2_tree_iter_program,1); +  else +  { +  push_int(0); +  g_free(iter); +  } +  } + } +  + int iter_has_child(GTK2.TreeIter iter) + //! Check if iter has children. + { +  pgtk2_verify_inited(); +  { +  struct object *o1; +  int res; +  get_all_args("iter_has_child",args,"%o",&o1); +  res=gtk_tree_model_iter_has_child(GTK_TREE_MODEL(THIS->obj), +  (GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program)); +  pgtk2_pop_n_elems(args); +  if (res) +  push_int(1); +  else +  push_int(0); +  } + } +  + int iter_n_children(GTK2.TreeIter iter) + //! Returns the number of children this iter has. + { +  pgtk2_verify_inited(); +  { +  struct object *o1; +  int res; +  get_all_args("iter_n_children",args,"%o",&o1); +  res=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(THIS->obj), +  (GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program)); +  pgtk2_pop_n_elems(args); +  push_int(res); +  } + } +  + +GTK2.TreeIter iter_nth_child(GTK2.TreeIter parent, int index) + //! Get the child of parent using the given index. + //! Returns valid GTK2.TreeIter if it exists, or 0. + //! If the index is too big, or parent is invalid, + //! then it returns the index from the root node. + { +  pgtk2_verify_inited(); +  { +  GtkTreeIter *iter; +  struct object *o1; +  int res; +  INT_TYPE n; +  get_all_args("iter_nth_child",args,"%o%i",&o1,&n); +  iter=g_malloc(sizeof(GtkTreeIter)); +  if (iter==NULL) +  SIMPLE_OUT_OF_MEMORY_ERROR("iter_nth_child",sizeof(GtkTreeIter)); +  res=gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(THIS->obj), +  iter,(GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program),n); +  pgtk2_pop_n_elems(args); +  if (res) { +  push_pgdk2object(iter,pgtk2_tree_iter_program,1); +  } else { +  push_int(0); +  g_free( iter ); +  } +  } + } +  + +GTK2.TreeIter iter_parent(GTK2.TreeIter child) + //! Get parent of child, or 0 if none. + { +  pgtk2_verify_inited(); +  { +  GtkTreeIter *iter; +  struct object *o1; +  int res; +  get_all_args("iter_parent",args,"%o",&o1); +  iter=g_malloc(sizeof(GtkTreeIter)); +  if (iter==NULL) +  SIMPLE_OUT_OF_MEMORY_ERROR("iter_parent",sizeof(GtkTreeIter)); +  res=gtk_tree_model_iter_parent(GTK_TREE_MODEL(THIS->obj), +  iter,(GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program)); +  pgtk2_pop_n_elems(args); +  if (res) { +  push_pgdk2object(iter,pgtk2_tree_iter_program,1); +  } else { +  push_int(0); +  g_free( iter ); +  } +  } + } +  + require gtk22; + string get_string_from_iter(GTK2.TreeIter iter) + //! Get string representation of iter. + { +  pgtk2_verify_inited(); +  { +  struct object *o1; +  int res; +  gchar *gs; +  get_all_args("get_string_from_iter",args,"%o",&o1); +  gs=gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(THIS->obj), +  (GtkTreeIter *)get_pg2object(o1,pgtk2_tree_iter_program)); +  pgtk2_pop_n_elems(args); +  PGTK_PUSH_GCHAR(gs); +  g_free(gs); +  } + } + endrequire; +  + void row_changed(GTK2.TreePath path, GTK2.TreeIter iter) + //! Emit "row-changed" signal. + { +  pgtk2_verify_inited(); +  { +  struct object *o1,*o2; +  get_all_args("row_changed",args,"%o%o",&o1,&o2); +  gtk_tree_model_row_changed(GTK_TREE_MODEL(THIS->obj), +  (GtkTreePath *)get_pg2object(o1,pgtk2_tree_path_program), +  (GtkTreeIter *)get_pg2object(o2,pgtk2_tree_iter_program)); +  } +  RETURN_THIS(); + } +  + void row_inserted(GTK2.TreePath path, GTK2.TreeIter iter) + //! Emit "row-inserted" signal. + { +  pgtk2_verify_inited(); +  { +  struct object *o1,*o2; +  get_all_args("row_inserted",args,"%o%o",&o1,&o2); +  gtk_tree_model_row_inserted(GTK_TREE_MODEL(THIS->obj), +  (GtkTreePath *)get_pg2object(o1,pgtk2_tree_path_program), +  (GtkTreeIter *)get_pg2object(o2,pgtk2_tree_iter_program)); +  } +  RETURN_THIS(); + } +  + void row_has_child_toggled(GTK2.TreePath path, GTK2.TreeIter iter) + //! Emit "row-has-child-toggled" signal. + { +  pgtk2_verify_inited(); +  { +  struct object *o1,*o2; +  get_all_args("row_has_child_toggled",args,"%o%o",&o1,&o2); +  gtk_tree_model_row_has_child_toggled(GTK_TREE_MODEL(THIS->obj), +  (GtkTreePath *)get_pg2object(o1,pgtk2_tree_path_program), +  (GtkTreeIter *)get_pg2object(o2,pgtk2_tree_iter_program)); +  } +  RETURN_THIS(); + } +  + void row_deleted(GTK2.TreePath path) + //! Emit "row-deleted" signal. + { +  pgtk2_verify_inited(); +  { +  struct object *o1; +  get_all_args("row_deleted",args,"%o",&o1); +  gtk_tree_model_row_deleted(GTK_TREE_MODEL(THIS->obj), +  (GtkTreePath *)get_pg2object(o1,pgtk2_tree_path_program)); +  } +  RETURN_THIS(); + }   Newline at end of file added.