]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/ml_gtklist.c
- the mathql interpreter is not helm-dependent any more
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20001129-0.1.0 / ml_gtklist.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 static Make_Flags_val (Button_action_val)
18
19 /* gtklistitem.h */
20
21 ML_0 (gtk_list_item_new, Val_GtkWidget_sink)
22 ML_1 (gtk_list_item_new_with_label, String_val, Val_GtkWidget_sink)
23
24 /* gtklist.h */
25
26 #define GtkList_val(val) check_cast(GTK_LIST,val)
27 ML_0 (gtk_list_new, Val_GtkWidget_sink)
28 value ml_gtk_list_insert_item (value list, value item, value pos)
29 {
30     GList *tmp_list = g_list_alloc ();
31     tmp_list->data = GtkWidget_val(item);
32     tmp_list->next = NULL;
33     tmp_list->prev = NULL;
34     gtk_list_insert_items (GtkList_val(list), tmp_list, Int_val(pos));
35     return Val_unit;
36 }
37 ML_3 (gtk_list_clear_items, GtkList_val, Int_val, Int_val, Unit)
38 ML_2 (gtk_list_select_item, GtkList_val, Int_val, Unit)
39 ML_2 (gtk_list_unselect_item, GtkList_val, Int_val, Unit)
40 ML_2 (gtk_list_select_child, GtkList_val, GtkWidget_val, Unit)
41 ML_2 (gtk_list_unselect_child, GtkList_val, GtkWidget_val, Unit)
42 ML_2 (gtk_list_child_position, GtkList_val, GtkWidget_val, Val_int)
43 ML_2 (gtk_list_set_selection_mode, GtkList_val, Selection_mode_val, Unit)
44
45 /* gtkclist.h */
46
47 #define GtkCList_val(val) check_cast(GTK_CLIST,val)
48 ML_1 (gtk_clist_new, Int_val, Val_GtkWidget_sink)
49 ML_1 (gtk_clist_new_with_titles, Insert(Wosize_val(arg1)) (char **),
50       Val_GtkWidget_sink)
51 Make_Extractor (gtk_clist_get, GtkCList_val, rows, Val_int)
52 Make_Extractor (gtk_clist_get, GtkCList_val, columns, Val_int)
53 Make_Extractor (gtk_clist_get, GtkCList_val, focus_row, Val_int)
54 ML_2 (gtk_clist_set_hadjustment, GtkCList_val, GtkAdjustment_val, Unit)
55 ML_2 (gtk_clist_set_vadjustment, GtkCList_val, GtkAdjustment_val, Unit)
56 ML_1 (gtk_clist_get_hadjustment, GtkCList_val, Val_GtkAny)
57 ML_1 (gtk_clist_get_vadjustment, GtkCList_val, Val_GtkAny)
58 ML_2 (gtk_clist_set_shadow_type, GtkCList_val, Shadow_type_val, Unit)
59 ML_2 (gtk_clist_set_selection_mode, GtkCList_val, Selection_mode_val, Unit)
60 ML_2 (gtk_clist_set_reorderable, GtkCList_val, Bool_val, Unit)
61 ML_2 (gtk_clist_set_use_drag_icons, GtkCList_val, Bool_val, Unit)
62 ML_3 (gtk_clist_set_button_actions, GtkCList_val, Int_val,
63       (guint8)Flags_Button_action_val, Unit)
64 ML_1 (gtk_clist_freeze, GtkCList_val, Unit)
65 ML_1 (gtk_clist_thaw, GtkCList_val, Unit)
66 ML_1 (gtk_clist_column_titles_show, GtkCList_val, Unit)
67 ML_1 (gtk_clist_column_titles_hide, GtkCList_val, Unit)
68 ML_2 (gtk_clist_column_title_active, GtkCList_val, Int_val, Unit)
69 ML_2 (gtk_clist_column_title_passive, GtkCList_val, Int_val, Unit)
70 ML_1 (gtk_clist_column_titles_active, GtkCList_val, Unit)
71 ML_1 (gtk_clist_column_titles_passive, GtkCList_val, Unit)
72 ML_3 (gtk_clist_set_column_title, GtkCList_val, Int_val, String_val, Unit)
73 ML_2 (gtk_clist_get_column_title, GtkCList_val, Int_val, Val_string)
74 ML_3 (gtk_clist_set_column_widget, GtkCList_val, Int_val, GtkWidget_val, Unit)
75 ML_2 (gtk_clist_get_column_widget, GtkCList_val, Int_val, Val_GtkWidget)
76 ML_3 (gtk_clist_set_column_justification, GtkCList_val, Int_val,
77       Justification_val, Unit)
78 ML_3 (gtk_clist_set_column_visibility, GtkCList_val, Int_val, Bool_val, Unit)
79 ML_3 (gtk_clist_set_column_resizeable, GtkCList_val, Int_val, Bool_val, Unit)
80 ML_3 (gtk_clist_set_column_auto_resize, GtkCList_val, Int_val, Bool_val, Unit)
81 ML_1 (gtk_clist_columns_autosize, GtkCList_val, Unit)
82 ML_2 (gtk_clist_optimal_column_width, GtkCList_val, Int_val, Val_int)
83 ML_3 (gtk_clist_set_column_width, GtkCList_val, Int_val, Int_val, Unit)
84 ML_3 (gtk_clist_set_column_min_width, GtkCList_val, Int_val, Int_val, Unit)
85 ML_3 (gtk_clist_set_column_max_width, GtkCList_val, Int_val, Int_val, Unit)
86 ML_2 (gtk_clist_set_row_height, GtkCList_val, Int_val, Unit)
87 ML_5 (gtk_clist_moveto, GtkCList_val, Int_val, Int_val,
88       Double_val, Double_val, Unit)
89 ML_2 (gtk_clist_row_is_visible, GtkCList_val, Int_val, Val_visibility)
90 ML_3 (gtk_clist_get_cell_type, GtkCList_val, Int_val, Int_val, Val_cell_type)
91 ML_4 (gtk_clist_set_text, GtkCList_val, Int_val, Int_val, Optstring_val, Unit)
92 value ml_gtk_clist_get_text (value clist, value row, value column)
93 {
94     char *text;
95     if (!gtk_clist_get_text (GtkCList_val(clist), Int_val(row),
96                              Int_val(column), &text))
97         invalid_argument ("Gtk.Clist.get_text");
98     return Val_optstring(text);
99 }
100 ML_5 (gtk_clist_set_pixmap, GtkCList_val, Int_val, Int_val, GdkPixmap_val,
101       GdkBitmap_val, Unit)
102 value ml_gtk_clist_get_pixmap (value clist, value row, value column)
103 {
104     CAMLparam0 ();
105     GdkPixmap *pixmap;
106     GdkBitmap *bitmap;
107     CAMLlocal2 (vpixmap,vbitmap);
108     value ret;
109
110     if (!gtk_clist_get_pixmap (GtkCList_val(clist), Int_val(row),
111                                Int_val(column), &pixmap, &bitmap))
112         invalid_argument ("Gtk.Clist.get_pixmap");
113     vpixmap = Val_option (pixmap, Val_GdkPixmap);
114     vbitmap = Val_option (bitmap, Val_GdkBitmap);
115
116     ret = alloc_small (2,0);
117     Field(ret,0) = vpixmap;
118     Field(ret,1) = vbitmap;
119     CAMLreturn(ret);
120 }
121 ML_7 (gtk_clist_set_pixtext, GtkCList_val, Int_val, Int_val, String_val,
122       (guint8)Long_val, GdkPixmap_val, GdkBitmap_val, Unit)
123 ML_bc7 (ml_gtk_clist_set_pixtext)
124 ML_3 (gtk_clist_set_foreground, GtkCList_val, Int_val, GdkColor_val, Unit)
125 ML_3 (gtk_clist_set_background, GtkCList_val, Int_val, GdkColor_val, Unit)
126 ML_3 (gtk_clist_get_cell_style, GtkCList_val, Int_val, Int_val, Val_GtkStyle)
127 ML_4 (gtk_clist_set_cell_style, GtkCList_val, Int_val, Int_val, GtkStyle_val,
128       Unit)
129 ML_2 (gtk_clist_get_row_style, GtkCList_val, Int_val, Val_GtkStyle)
130 ML_3 (gtk_clist_set_row_style, GtkCList_val, Int_val, GtkStyle_val, Unit)
131 ML_3 (gtk_clist_set_selectable, GtkCList_val, Int_val, Bool_val, Unit)
132 ML_2 (gtk_clist_get_selectable, GtkCList_val, Int_val, Val_bool)
133 ML_5 (gtk_clist_set_shift, GtkCList_val, Int_val, Int_val, Int_val, Int_val,
134       Unit)
135 /* ML_2 (gtk_clist_append, GtkCList_val, (char **), Val_int) */
136 ML_3 (gtk_clist_insert, GtkCList_val, Int_val, (char **), Val_int)
137 ML_2 (gtk_clist_remove, GtkCList_val, Int_val, Unit)
138 value ml_gtk_clist_set_row_data (value w, value row, value data)
139 {
140      value *data_p = ml_global_root_new (data);
141      gtk_clist_set_row_data_full (GtkCList_val(w), Int_val(row),
142                                   data_p, ml_global_root_destroy);
143      return Val_unit;
144 }
145 ML_2 (gtk_clist_get_row_data, GtkCList_val, Int_val, *(value*)Check_null)
146 ML_3 (gtk_clist_select_row, GtkCList_val, Int_val, Int_val, Unit)
147 ML_3 (gtk_clist_unselect_row, GtkCList_val, Int_val, Int_val, Unit)
148 ML_1 (gtk_clist_clear, GtkCList_val, Unit)
149 value ml_gtk_clist_get_selection_info (value clist, value x, value y)
150 {
151     int row, column;
152     value ret;
153     if (!gtk_clist_get_selection_info (GtkCList_val(clist), Int_val(x),
154                              Int_val(y), &row, &column))
155         invalid_argument ("Gtk.Clist.get_selection_info");
156     ret = alloc_small (2,0);
157     Field(ret,0) = row;
158     Field(ret,1) = column;
159     return ret;
160 }
161 ML_1 (gtk_clist_select_all, GtkCList_val, Unit)
162 ML_1 (gtk_clist_unselect_all, GtkCList_val, Unit)
163 ML_3 (gtk_clist_swap_rows, GtkCList_val, Int_val, Int_val, Unit)
164 ML_3 (gtk_clist_row_move, GtkCList_val, Int_val, Int_val, Unit)
165 ML_2 (gtk_clist_set_sort_column, GtkCList_val, Int_val, Unit)
166 ML_2 (gtk_clist_set_sort_type, GtkCList_val, Sort_type_val, Unit)
167 ML_1 (gtk_clist_sort, GtkCList_val, Unit)
168 ML_2 (gtk_clist_set_auto_sort, GtkCList_val, Bool_val, Unit)