Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtmail / include / DtMail / options_util.h
1 /* $XConsortium: options_util.h /main/4 1996/04/21 19:45:54 drk $ */
2 #ifndef _OPTIONS_UTIL_H_
3 #define _OPTIONS_UTIL_H_
4
5 #include <stdlib.h>
6 #include <X11/Intrinsic.h>
7 #include "DtVirtArray.hh"
8 #include "ListUiItem.hh"
9
10 void options_checkbox_init(
11     Widget              checkbox,
12     Boolean             *dirty_bit
13 );
14
15 int options_checkbox_set_value(
16     Widget              checkbox,
17     Boolean             b_value,
18     Boolean             set_dirty_bit
19 );
20
21 void options_list_init(Widget list_w, DtVirtArray<char *> *item_list);
22
23 Boolean options_checkbox_get_value(Widget checkbox);
24
25 void options_radiobox_init(Widget radiobox,
26                            int  num_items,
27                            WidgetList items,
28                            int *item_values,
29                            Boolean *dirty_bit);
30
31
32 int options_radiobox_get_value(Widget radiobox);
33
34 int options_radiobox_set_value(Widget radiobox,
35                                int value,
36                                Boolean set_dirty_bit);
37
38 /*
39  * Callback: choice value has changed...turnon dirty bit
40  */
41 void options_setting_chgCB(Widget widget,
42                            XtPointer clientdata,
43                            XtPointer calldata);
44
45 /*
46  * Callback: item in exclusive choice has been set...store it's
47  *           value in the parent radiobox
48  */
49 void options_radiobox_itemCB(Widget item,
50                         XtPointer clientdata,
51                         XtPointer calldata);
52
53 typedef enum
54 {
55         OPTIONS_LOAD,
56         OPTIONS_EDIT,
57         OPTIONS_NUM_VALUES
58 } OPTIONS_FIELD_STATE;
59
60 void options_field_init(Widget field,
61                         Boolean *dirty_bit);
62
63 String options_field_get_value(Widget field); 
64
65 int options_field_set_value(Widget field,
66                             String value,
67                             Boolean set_dirty_bit);
68
69 void options_field_chgCB(Widget widget,
70                     XtPointer clientdata,
71                     XtPointer calldata);
72
73 void options_spinbox_init(Widget spinbox,
74                           Boolean *dirty_bit);
75
76 int options_spinbox_get_value(Widget spinbox);
77
78 int options_spinbox_set_value(Widget spinbox, 
79                               int value, 
80                               Boolean set_dirty_bit);
81
82 int options_scale_get_value(Widget scale);
83
84 int options_scale_set_value(Widget scale, 
85                               char *value, 
86                               Boolean set_dirty_bit);
87
88 void listAddButtonCB(
89      Widget widget,
90      XtPointer clientdata,
91      XtPointer calldata);
92
93 void listDeleteButtonCB(
94      Widget widget,
95      XtPointer clientdata,
96      XtPointer calldata);
97
98 void listChangeButtonCB(
99      Widget widget,
100      XtPointer clientdata,
101      XtPointer calldata);
102
103 void add_cbs_to_list(ListUiItem *list,
104                      Widget add_butt,
105                      Widget del_butt,
106                      Widget chg_butt);
107 /*
108 ** The following structs are used as the glue to stick together
109 ** the props dialog and the back end.  
110 */
111
112 typedef enum {
113   SPINBOX_ITEM,
114   CHECKBOX_ITEM,
115   TEXTFIELD_ITEM,
116   LIST_ITEM,
117   SCALE_ITEM
118   } PROP_ITEM_TYPE;
119
120 #endif