1 #ifndef _GNM_SHEET_OBJECT_WIDGET_H_
2 # define _GNM_SHEET_OBJECT_WIDGET_H_
4 #include <sheet-object.h>
5 #include <pango/pango-attributes.h>
9 /* ------------------------------------------------------------------------ */
11 void sheet_object_widget_register (void);
13 GType
sheet_object_widget_get_type (void);
14 #define GNM_SOW_TYPE (sheet_object_widget_get_type ())
15 #define GNM_SOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNM_SOW_TYPE, SheetObjectWidget))
16 #define GNM_IS_SOW(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_TYPE))
18 GType
sheet_widget_adjustment_get_type (void);
19 #define GNM_SOW_ADJUSTMENT_TYPE (sheet_widget_adjustment_get_type())
20 #define GNM_SOW_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNM_SOW_ADJUSTMENT_TYPE, SheetWidgetAdjustment))
21 #define GNM_IS_SOW_ADJUSTMENT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_ADJUSTMENT_TYPE))
23 GType
sheet_widget_frame_get_type (void); /* convert to non-widget */
24 #define GNM_SOW_FRAME_TYPE (sheet_widget_frame_get_type ())
25 #define GNM_IS_SOW_FRAME(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_FRAME_TYPE))
27 GType
sheet_widget_button_get_type (void);
28 #define GNM_SOW_BUTTON_TYPE (sheet_widget_button_get_type ())
29 #define GNM_IS_SOW_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_BUTTON_TYPE))
31 GType
sheet_widget_checkbox_get_type (void);
32 #define GNM_SOW_CHECKBOX_TYPE (sheet_widget_checkbox_get_type ())
33 #define GNM_IS_SOW_CHECKBOX(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_CHECKBOX_TYPE))
35 GType
sheet_widget_toggle_button_get_type(void);
36 #define GNM_SOW_TOGGLE_BUTTON_TYPE (sheet_widget_toggle_button_get_type ())
37 #define GNM_IS_SOW_TOGGLE_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_TOGGLE_BUTTON_TYPE))
39 GType
sheet_widget_radio_button_get_type (void);
40 #define GNM_SOW_RADIO_BUTTON_TYPE (sheet_widget_radio_button_get_type ())
41 #define GNM_IS_SOW_RADIO_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_RADIO_BUTTON_TYPE))
43 /*Descendents of the list_base sheet widget object*/
44 GType
sheet_widget_list_get_type (void);
45 #define GNM_SOW_LIST_TYPE (sheet_widget_list_get_type ())
46 #define GNM_IS_SOW_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_LIST_TYPE))
48 GType
sheet_widget_combo_get_type (void);
49 #define GNM_SOW_COMBO_TYPE (sheet_widget_combo_get_type ())
50 #define GNM_IS_SOW_COMBO(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_COMBO_TYPE))
52 /*Descendents of the adjustment sheet widget object*/
53 GType
sheet_widget_scrollbar_get_type (void);
54 #define GNM_SOW_SCROLLBAR_TYPE (sheet_widget_scrollbar_get_type ())
55 #define GNM_IS_SOW_SCROLLBAR(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_SCROLLBAR_TYPE))
57 GType
sheet_widget_slider_get_type (void);
58 #define GNM_SOW_SLIDER_TYPE (sheet_widget_slider_get_type ())
59 #define GNM_IS_SOW_SLIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_SLIDER_TYPE))
61 GType
sheet_widget_spinbutton_get_type (void);
62 #define GNM_SOW_SPIN_BUTTON_TYPE (sheet_widget_spinbutton_get_type ())
63 #define GNM_IS_SOW_SPINBUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_SPIN_BUTTON_TYPE))
65 /* ------------------------------------------------------------------------ */
67 void sheet_widget_adjustment_set_details (SheetObject
*so
,
68 GnmExprTop
const *result_link
,
69 int value
, int min
, int max
,
71 GnmExprTop
const *sheet_widget_adjustment_get_link (SheetObject
*so
);
72 void sheet_widget_adjustment_set_link (SheetObject
*so
,
73 GnmExprTop
const *result_link
);
74 GtkAdjustment
*sheet_widget_adjustment_get_adjustment (SheetObject
*so
);
75 gboolean
sheet_widget_adjustment_get_horizontal (SheetObject
*so
);
76 void sheet_widget_adjustment_set_horizontal (SheetObject
*so
, gboolean horizontal
);
78 void sheet_widget_checkbox_set_link (SheetObject
*so
,
79 GnmExprTop
const *result_link
);
80 GnmExprTop
const *sheet_widget_checkbox_get_link (SheetObject
*so
);
81 void sheet_widget_checkbox_set_label (SheetObject
*so
, char const *str
);
82 GnmExprTop
const *sheet_widget_radio_button_get_link (SheetObject
*so
);
83 void sheet_widget_radio_button_set_link (SheetObject
*so
,
84 GnmExprTop
const *result_link
);
85 void sheet_widget_radio_button_set_label (SheetObject
*so
, char const *str
);
86 void sheet_widget_radio_button_set_value (SheetObject
*so
, GnmValue
const *val
);
87 GnmValue
const *sheet_widget_radio_button_get_value (SheetObject
*so
);
88 GnmExprTop
const *sheet_widget_button_get_link (SheetObject
*so
);
89 void sheet_widget_button_set_link (SheetObject
*so
,
90 GnmExprTop
const *result_link
);
91 void sheet_widget_button_set_label (SheetObject
*so
, char const *str
);
92 void sheet_widget_button_set_markup (SheetObject
*so
, PangoAttrList
*markup
);
93 void sheet_widget_frame_set_label (SheetObject
*so
, char const *str
);
95 void sheet_widget_list_base_set_links (SheetObject
*so
,
96 GnmExprTop
const *result_link
,
97 GnmExprTop
const *content
);
98 void sheet_widget_list_base_set_result_type (SheetObject
*so
, gboolean as_index
);
99 GnmExprTop
const *sheet_widget_list_base_get_result_link (SheetObject
const *so
);
100 gboolean
sheet_widget_list_base_result_type_is_index (SheetObject
const *so
);
101 GnmExprTop
const *sheet_widget_list_base_get_content_link (SheetObject
const *so
);
102 GtkAdjustment
*sheet_widget_list_base_get_adjustment (SheetObject
*so
);
106 #endif /* _GNM_SHEET_OBJECT_WIDGET_H_ */