Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtcm / dtcm / props_pu.h
1 /* $TOG: props_pu.h /main/8 1999/05/07 14:12:09 jff $ */
2 /*
3  *  (c) Copyright 1993, 1994 Hewlett-Packard Company
4  *  (c) Copyright 1993, 1994 International Business Machines Corp.
5  *  (c) Copyright 1993, 1994 Novell, Inc.
6  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
7  */
8
9 #ifndef _PROPS_PU_H
10 #define _PROPS_PU_H
11
12 #include "ansi_c.h"
13 #include "dssw.h"
14 #include "props.h"
15 #include "reminders.h"
16
17 /* Array indices for group access toggle items. */
18 #define GAP_VIEW        0
19 #define GAP_INSERT      1
20 #define GAP_CHANGE      2
21
22 /*******************************************************************************
23 **
24 **  Bit Masks for determining redisplay behavior.
25 **
26 *******************************************************************************/
27
28 #define PROPS_REDO_DISPLAY      0x1 /* This is all displays.  The main 
29                                        canvas, the appointment and todo 
30                                        lists, and the multi-browse window. */
31 #define PROPS_REDO_EDITORS      0x2 /* This is the todo and appointment 
32                                        editor. */
33 #define PROPS_REDO_PRINT_DIALOG 0x4 /* The print dialog. */
34
35 /*******************************************************************************
36 **
37 **  Supporting typedefs
38 **
39 *******************************************************************************/
40 typedef enum {
41         EDITOR_PANE,
42         DISPLAY_PANE,
43         GROUP_ACCESS_PANE,
44         PRINTER_OPS_PANE,
45         DATE_FORMAT_PANE
46 } PaneType;
47
48 /*******************************************************************************
49 **
50 **  The Props Pop Up Structure
51 **
52 *******************************************************************************/
53 typedef struct {
54         Widget          ok_button;
55         Widget          apply_button;
56         Widget          base_form_mgr;
57         Calendar        *cal;
58         Widget          category_menu;
59         Boolean         changed_flag;
60         Widget          close_button;
61         Pixmap          contract_pixmap;        /* 16x16-contract buttons */
62         Widget          defaults_button;
63         Pixmap          expand_pixmap;          /* 16x16-expand buttons */
64         Widget          frame;
65         Widget          help_button;
66         PaneType        last_props_pane;
67         Widget          *pane_list;
68         Pixmap          postup_pixmap;          /* 64x128-reminder image */
69         Widget          separator1;
70         Widget          separator2;
71         Pixmap          xm_error_pixmap;        /* 20x20-motif error */
72         Pixmap          xm_info_pixmap;         /* 11x24-motif information */
73         Pixmap          xm_question_pixmap;     /* 22x22-motif question */
74         Pixmap          xm_warning_pixmap;      /* 9x22-motif warning */
75
76         /*
77          * These are temporary - until problem with resource file is worked out
78          */
79         Pixmap          appt_button_xbm;
80         Pixmap          todo_button_xbm;
81         Pixmap          year_button_xbm;
82         Pixmap          month_button_xbm;
83         Pixmap          week_button_xbm;
84         Pixmap          day_button_xbm;
85         Pixmap          drag_icon_xbm;
86
87         /***********************************************************************
88         **
89         **  Editor pane widgets
90         **
91         ***********************************************************************/
92         Widget          ep_appt_label;
93         DSSW            ep_dssw;
94         Widget          ep_dur_cb;
95         Widget          ep_dur_label;
96         Widget          ep_dur_message;
97         Reminders       ep_reminders;
98         Widget          privacy_label;
99         Widget          privacy_menu;
100
101         /***********************************************************************
102         **
103         **  Display pane widgets
104         **
105         ***********************************************************************/
106         Widget          dp_beg_label;
107         Widget          dp_beg_scale;
108         Widget          dp_beg_value;
109         Widget          dp_day_label;
110         Widget          dp_end_label;
111         Widget          dp_end_scale;
112         Widget          dp_end_value;
113         Widget          dp_hour12_toggle;
114         Widget          dp_hour24_toggle;
115         Widget          dp_hour_label;
116         Widget          dp_hour_rc_mgr;
117         Widget          dp_init_view_label;
118         Widget          dp_init_view_text;
119         Widget          dp_loc_label;
120         Widget          dp_loc_text;
121         Widget          dp_view_label;
122         Widget          dp_view_rc_mgr;
123         Widget          dp_view_day_toggle;
124         Widget          dp_view_month_toggle;
125         Widget          dp_view_week_toggle;
126         Widget          dp_view_year_toggle;
127
128         /***********************************************************************
129         **
130         **  Group Access pane widgets
131         **
132         ***********************************************************************/
133         Widget          gap_access_header;
134         Widget          gap_access_list;
135         Widget          gap_access_list_sw;
136         Widget          gap_access_msg;
137         Widget          gap_add_button;
138         Widget          gap_browse_toggle;
139         Widget          gap_delete_toggle;
140         Widget          gap_insert_toggle;
141         CSA_access_list gap_list;
142         Widget          gap_perm_label;
143         Widget          gap_perm_rc_mgr;
144         Widget          gap_remove_button;
145         Widget          gap_user_label;
146         Widget          gap_user_text;
147         Boolean         v4_gap_pending_message_up;
148
149         Widget          gap2_user_label;
150         Widget          gap2_access_label;
151         Widget          gap2_permissions_label;
152         Widget          gap2_user_text;
153         Widget          gap2_button_form;
154         Widget          gap2_add_button;
155         Widget          gap2_delete_button;
156         Widget          gap2_change_button;
157         Widget          gap2_access_list;
158         Widget          gap2_perm_form;
159         Widget          gap2_public_label;
160         Widget          gap2_semi_label;
161         Widget          gap2_private_label;
162         Widget          gap2_view_label;
163         Widget          gap2_insert_label;
164         Widget          gap2_change_label;
165         Widget          gap2_public_tog[3];
166         Widget          gap2_semi_tog[3];
167         Widget          gap2_private_tog[3];
168         Boolean         v5_gap_pending_message_up;
169
170         /***********************************************************************
171         **
172         **  Printer Ops pane widgets
173         **
174         ***********************************************************************/
175         Widget          pop_margin_frame;
176         Widget          pop_left_text;
177         Widget          pop_top_text;
178         Widget          pop_right_text;
179         Widget          pop_bottom_text;
180         Widget          pop_header_frame;
181         Widget          pop_tl_option;
182         Widget          pop_tr_option;
183         Widget          pop_bl_option;
184         Widget          pop_br_option;
185         Widget          pop_privacy_label;
186         Widget          pop_privacy_private_toggle;
187         Widget          pop_privacy_public_toggle;
188         Widget          pop_privacy_rc_mgr;
189         Widget          pop_privacy_semi_toggle;
190
191         /***********************************************************************
192         **
193         **  Date Format pane widgets
194         **
195         ***********************************************************************/
196         Widget          dfp_order_ddmmyy_toggle;
197         Widget          dfp_order_label;
198         Widget          dfp_order_mmddyy_toggle;
199         Widget          dfp_order_rc_mgr;
200         Widget          dfp_order_yymmdd_toggle;
201         Widget          dfp_sep_blank_toggle;
202         Widget          dfp_sep_dash_toggle;
203         Widget          dfp_sep_label;
204         Widget          dfp_sep_period_toggle;
205         Widget          dfp_sep_rc_mgr;
206         Widget          dfp_sep_slash_toggle;
207 } Props_pu;
208
209 /* Enum for Print Option header/footer specifications. */
210 enum
211 {
212   POP_HDR_DATE,
213   POP_HDR_USER_ID,
214   POP_HDR_PAGE_NUMBER,
215   POP_HDR_REPORT_TYPE,
216   POP_HDR_NONE,
217   POP_HDR_NUM_CHOICES    /* MUST BE LAST */
218 };
219
220 /*******************************************************************************
221 **
222 **  External function declarations
223 **
224 *******************************************************************************/
225 extern void     create_all_pixmaps      P((Props_pu*, Widget));
226 extern Boolean  get_date_vals_from_ui   P((Props_pu*, Props*));
227 extern Boolean  get_display_vals_from_ui P((Props_pu*, Props*));
228 extern Boolean  get_editor_vals_from_ui P((Props_pu*, Props*));
229 extern Boolean  get_gap_vals_from_ui    P((Props_pu*, Props*));
230 extern Boolean  get_printer_vals_from_ui P((Props_pu*, Props*));
231 extern Boolean  get_props_from_ui       P((Props_pu*, Props*, int*));
232 extern void     set_date_vals_on_ui     P((Props_pu*, Props*));
233 extern void     set_display_vals_on_ui  P((Props_pu*, Props*));
234 extern void     set_editor_vals_on_ui   P((Props_pu*, Props*));
235 extern void     set_gap_vals_on_ui      P((Props_pu*, Props*));
236 extern void     set_printer_vals_on_ui  P((Props_pu*, Props*));
237 extern void     set_props_on_ui         P((Props_pu*, Props*));
238 extern void     set_props_pu_defaults   P((Props_pu*, Props*));
239 extern void     show_props_pu           P((Calendar*));
240 extern void     props_pu_clean_up       P((Props_pu*));
241 extern Boolean  props_pu_showing        P((Props_pu*));
242 extern Boolean  p_flush_changes         P((Calendar*));
243 extern void     show_print_props_pu     P((Calendar*));
244
245 extern void p_defaults_proc_helper(XtPointer client_data);
246
247 #endif