1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef _GNM_SHEET_OBJECT_WIDGET_H_
3 # define _GNM_SHEET_OBJECT_WIDGET_H_
5 #include "sheet-object.h"
6 #include <pango/pango-attributes.h>
10 /* ------------------------------------------------------------------------ */
12 void sheet_object_widget_register (void);
14 GType
sheet_object_widget_get_type (void);
15 #define GNM_SOW_TYPE (sheet_object_widget_get_type ())
16 #define GNM_SOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNM_SOW_TYPE, SheetObjectWidget))
17 #define GNM_IS_SOW(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_TYPE))
19 GType
sheet_widget_adjustment_get_type (void);
20 #define GNM_SOW_ADJUSTMENT_TYPE (sheet_widget_adjustment_get_type())
21 #define GNM_SOW_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNM_SOW_ADJUSTMENT_TYPE, SheetWidgetAdjustment))
22 #define GNM_IS_SOW_ADJUSTMENT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_ADJUSTMENT_TYPE))
24 GType
sheet_widget_frame_get_type (void); /* convert to non-widget */
25 #define GNM_SOW_FRAME_TYPE (sheet_widget_frame_get_type ())
26 #define GNM_IS_SOW_FRAME(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_FRAME_TYPE))
28 GType
sheet_widget_button_get_type (void);
29 #define GNM_SOW_BUTTON_TYPE (sheet_widget_button_get_type ())
30 #define GNM_IS_SOW_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_BUTTON_TYPE))
32 GType
sheet_widget_checkbox_get_type (void);
33 #define GNM_SOW_CHECKBOX_TYPE (sheet_widget_checkbox_get_type ())
34 #define GNM_IS_SOW_CHECKBOX(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_CHECKBOX_TYPE))
36 GType
sheet_widget_toggle_button_get_type(void);
37 #define GNM_SOW_TOGGLE_BUTTON_TYPE (sheet_widget_toggle_button_get_type ())
38 #define GNM_IS_SOW_TOGGLE_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_TOGGLE_BUTTON_TYPE))
40 GType
sheet_widget_radio_button_get_type (void);
41 #define GNM_SOW_RADIO_BUTTON_TYPE (sheet_widget_radio_button_get_type ())
42 #define GNM_IS_SOW_RADIO_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_RADIO_BUTTON_TYPE))
44 /*Descendents of the list_base sheet widget object*/
45 GType
sheet_widget_list_get_type (void);
46 #define GNM_SOW_LIST_TYPE (sheet_widget_list_get_type ())
47 #define GNM_IS_SOW_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_LIST_TYPE))
49 GType
sheet_widget_combo_get_type (void);
50 #define GNM_SOW_COMBO_TYPE (sheet_widget_combo_get_type ())
51 #define GNM_IS_SOW_COMBO(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_COMBO_TYPE))
53 /*Descendents of the adjustment sheet widget object*/
54 GType
sheet_widget_scrollbar_get_type (void);
55 #define GNM_SOW_SCROLLBAR_TYPE (sheet_widget_scrollbar_get_type ())
56 #define GNM_IS_SOW_SCROLLBAR(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_SCROLLBAR_TYPE))
58 GType
sheet_widget_slider_get_type (void);
59 #define GNM_SOW_SLIDER_TYPE (sheet_widget_slider_get_type ())
60 #define GNM_IS_SOW_SLIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_SLIDER_TYPE))
62 GType
sheet_widget_spinbutton_get_type (void);
63 #define GNM_SOW_SPIN_BUTTON_TYPE (sheet_widget_spinbutton_get_type ())
64 #define GNM_IS_SOW_SPINBUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SOW_SPIN_BUTTON_TYPE))
66 /* ------------------------------------------------------------------------ */
68 void sheet_widget_adjustment_set_details (SheetObject
*so
,
69 GnmExprTop
const *result_link
,
70 int value
, int min
, int max
,
72 GnmExprTop
const *sheet_widget_adjustment_get_link (SheetObject
*so
);
73 void sheet_widget_adjustment_set_link (SheetObject
*so
,
74 GnmExprTop
const *result_link
);
75 GtkAdjustment
*sheet_widget_adjustment_get_adjustment (SheetObject
*so
);
76 gboolean
sheet_widget_adjustment_get_horizontal (SheetObject
*so
);
77 void sheet_widget_adjustment_set_horizontal (SheetObject
*so
, gboolean horizontal
);
79 void sheet_widget_checkbox_set_link (SheetObject
*so
,
80 GnmExprTop
const *result_link
);
81 GnmExprTop
const *sheet_widget_checkbox_get_link (SheetObject
*so
);
82 void sheet_widget_checkbox_set_label (SheetObject
*so
, char const *str
);
83 GnmExprTop
const *sheet_widget_radio_button_get_link (SheetObject
*so
);
84 void sheet_widget_radio_button_set_link (SheetObject
*so
,
85 GnmExprTop
const *result_link
);
86 void sheet_widget_radio_button_set_label (SheetObject
*so
, char const *str
);
87 void sheet_widget_radio_button_set_value (SheetObject
*so
, GnmValue
const *val
);
88 GnmValue
const *sheet_widget_radio_button_get_value (SheetObject
*so
);
89 GnmExprTop
const *sheet_widget_button_get_link (SheetObject
*so
);
90 void sheet_widget_button_set_link (SheetObject
*so
,
91 GnmExprTop
const *result_link
);
92 void sheet_widget_button_set_label (SheetObject
*so
, char const *str
);
93 void sheet_widget_button_set_markup (SheetObject
*so
, PangoAttrList
*markup
);
94 void sheet_widget_frame_set_label (SheetObject
*so
, char const *str
);
96 void sheet_widget_list_base_set_links (SheetObject
*so
,
97 GnmExprTop
const *result_link
,
98 GnmExprTop
const *content
);
99 void sheet_widget_list_base_set_result_type (SheetObject
*so
, gboolean as_index
);
100 GnmExprTop
const *sheet_widget_list_base_get_result_link (SheetObject
const *so
);
101 gboolean
sheet_widget_list_base_result_type_is_index (SheetObject
const *so
);
102 GnmExprTop
const *sheet_widget_list_base_get_content_link (SheetObject
const *so
);
103 GtkAdjustment
*sheet_widget_list_base_get_adjustment (SheetObject
*so
);
107 #endif /* _GNM_SHEET_OBJECT_WIDGET_H_ */