]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/ml_gtktree.c
- the mathql interpreter is not helm-dependent any more
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20001129-0.1.0 / ml_gtktree.c
1 /* $Id$ */
2
3 #include <string.h>
4 #include <gtk/gtk.h>
5 #include <caml/mlvalues.h>
6 #include <caml/alloc.h>
7 #include <caml/memory.h>
8 #include <caml/callback.h>
9 #include <caml/fail.h>
10
11 #include "wrappers.h"
12 #include "ml_glib.h"
13 #include "ml_gdk.h"
14 #include "ml_gtk.h"
15 #include "gtk_tags.h"
16
17 /* gtktreeitem.h */
18
19 #define GtkTreeItem_val(val) check_cast(GTK_TREE_ITEM,val)
20 ML_0 (gtk_tree_item_new, Val_GtkWidget_sink)
21 ML_1 (gtk_tree_item_new_with_label, String_val, Val_GtkWidget_sink)
22 ML_2 (gtk_tree_item_set_subtree, GtkTreeItem_val, GtkWidget_val, Unit)
23 ML_1 (gtk_tree_item_remove_subtree, GtkTreeItem_val, Unit)
24 ML_1 (gtk_tree_item_expand, GtkTreeItem_val, Unit)
25 ML_1 (gtk_tree_item_collapse, GtkTreeItem_val, Unit)
26 ML_1 (GTK_TREE_ITEM_SUBTREE, GtkTreeItem_val, Val_GtkWidget)
27
28 /* gtktree.h */
29
30 #define GtkTree_val(val) check_cast(GTK_TREE,val)
31 ML_0 (gtk_tree_new, Val_GtkWidget_sink)
32 ML_3 (gtk_tree_insert, GtkTree_val, GtkWidget_val, Int_val, Unit)
33 ML_3 (gtk_tree_clear_items, GtkTree_val, Int_val, Int_val, Unit)
34 ML_2 (gtk_tree_select_item, GtkTree_val, Int_val, Unit)
35 ML_2 (gtk_tree_unselect_item, GtkTree_val, Int_val, Unit)
36 ML_2 (gtk_tree_child_position, GtkTree_val, GtkWidget_val, Val_int)
37 ML_2 (gtk_tree_set_selection_mode, GtkTree_val, Selection_mode_val, Unit)
38 ML_2 (gtk_tree_set_view_mode, GtkTree_val, Tree_view_mode_val, Unit)
39 ML_2 (gtk_tree_set_view_lines, GtkTree_val, Bool_val, Unit)
40
41 static value val_gtkany (gpointer p) { return Val_GtkAny(p); }
42 value ml_gtk_tree_selection (value tree)
43 {
44   GList *selection = GTK_TREE_SELECTION(GtkTree_val(tree));
45   return Val_GList(selection, val_gtkany);
46 }
47 static gpointer gtkobject_val (value val) { return GtkObject_val(val); }
48 value ml_gtk_tree_remove_items (value tree, value items)
49 {
50   GList *items_list = GList_val (items, gtkobject_val);
51   gtk_tree_remove_items (GtkTree_val(tree), items_list);
52   return Val_unit;
53 }