Link with C++ linker
[oweals/cde.git] / cde / programs / ttsnoop / stringChooser_stubs.C.src
1 /*** DTB_USER_CODE_START vvv Add file header below vvv ***/
2 //%%  (c) Copyright 1993, 1994 Hewlett-Packard Company
3 //%%  (c) Copyright 1993, 1994 International Business Machines Corp.
4 //%%  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
5 //%%  (c) Copyright 1993, 1994 Novell, Inc.
6 //%%  $XConsortium: stringChooser_stubs.C.src /main/3 1995/11/06 17:13:57 rswiston $
7 /*** DTB_USER_CODE_END   ^^^ Add file header above ^^^ ***/
8
9 /*
10  * File: stringChooser_stubs.c
11  * Contains: Module callbacks and connection functions
12  *
13  * This file was generated by dtcodegen, from module stringChooser
14  *
15  * Any text may be added between the DTB_USER_CODE_START and
16  * DTB_USER_CODE_END comments (even non-C code). Descriptive comments
17  * are provided only as an aid.
18  *
19  *  ** EDIT ONLY WITHIN SECTIONS MARKED WITH DTB_USER_CODE COMMENTS.  **
20  *  ** ALL OTHER MODIFICATIONS WILL BE OVERWRITTEN. DO NOT MODIFY OR  **
21  *  ** DELETE THE GENERATED COMMENTS!                                 **
22  */
23
24 #include <stdio.h>
25 #include <Xm/Xm.h>
26 #include "dtb_utils.h"
27 #include "stringChooser_ui.h"
28
29 /*
30  * Header files for cross-module connections
31  */
32 #include "ttsnoop_ui.h"
33
34
35 /**************************************************************************
36  *** DTB_USER_CODE_START
37  ***
38  *** All necessary header files have been included.
39  ***
40  *** Add include files, types, macros, externs, and user functions here.
41  ***/
42
43 #include <Xm/TextF.h>
44 #include <fstream.h>
45 #include "DtTt.h"
46
47 extern ofstream snoopStream;
48
49 void
50 _DtStringChooserSet(
51         _DtStringChooserAction  choice,
52         void *                  entity,
53         const char *            val
54 )
55 {
56         DtbStringChooserStringChooserInfo instance =
57                 &dtb_string_chooser_string_chooser;
58         if (! instance->initialized) {
59                 dtb_string_chooser_string_chooser_initialize(
60                         instance, dtb_ttsnoop_ttsnoop_win.ttsnoopWin );
61         }
62         if ((! tt_is_err( tt_ptr_error( val ))) && (val != 0)) {
63                 XmTextFieldSetString( instance->stringText, (char *)val );
64         }
65         _DtStringChooserSet( choice, entity );
66 }
67
68 void
69 _DtStringChooserSet(
70         _DtStringChooserAction  choice,
71         void *                  entity
72 )
73 {
74         char *okString;
75         char *title;
76         char *valueLabel;
77         switch (choice) {
78             case _DtStringChoosePatternOp:
79                 okString = "Add";
80                 title = "tt_pattern_op_add";
81                 valueLabel = "Op:";
82                 break;
83             case _DtStringChoosePatternOtype:
84                 okString = "Add";
85                 title = "tt_pattern_otype_add";
86                 valueLabel = "Otype:";
87                 break;
88             case _DtStringChoosePatternObject:
89                 okString = "Add";
90                 title = "tt_pattern_object_add";
91                 valueLabel = "Object:";
92                 break;
93             case _DtStringChoosePatternSenderPtype:
94                 okString = "Add";
95                 title = "tt_pattern_sender_ptype_add";
96                 valueLabel = "Ptype:";
97                 break;
98             case _DtStringChooseMessageOtype:
99                 okString = "Set";
100                 title = "tt_message_otype_set";
101                 valueLabel = "Otype:";
102                 break;
103             case _DtStringChooseMessageObject:
104                 okString = "Set";
105                 title = "tt_message_object_set";
106                 valueLabel = "Object:";
107                 break;
108             case _DtStringChooseMessageSenderPtype:
109                 okString = "Set";
110                 title = "tt_message_sender_ptype_set";
111                 valueLabel = "Ptype:";
112                 break;
113             case _DtStringChooseMessageHandlerPtype:
114                 okString = "Set";
115                 title = "tt_message_handler_ptype_set";
116                 valueLabel = "Ptype:";
117                 break;
118             case _DtStringChooseMessageStatusString:
119                 okString = "Set";
120                 title = "tt_message_status_string_set";
121                 valueLabel = "String:";
122                 break;
123             case _DtStringChooseMessageArgValSet:
124                 okString = "Set...";
125                 title = "tt_message_arg_val_set";
126                 valueLabel = "Arg:";
127                 break;
128             case _DtStringChoosePtype2Declare:
129                 okString = "Declare";
130                 title = "tt_ptype_declare";
131                 valueLabel = "Ptype:";
132                 break;
133             case _DtStringChooseMediaPtype2Declare:
134                 okString = "Undeclare";
135                 title = "ttmedia_ptype_undeclare";
136                 valueLabel = "Ptype:";
137                 break;
138             case _DtStringChoosePtype2UnDeclare:
139                 okString = "Undeclare";
140                 title = "tt_ptype_undeclare";
141                 valueLabel = "Ptype:";
142                 break;
143             case _DtStringChoosePtype2SetDefault:
144                 okString = "Set";
145                 title = "tt_default_ptype_set";
146                 valueLabel = "Ptype:";
147                 break;
148             case _DtStringChoosePtype2Exists:
149                 okString = "Exists?";
150                 title = "tt_ptype_exists";
151                 valueLabel = "Ptype:";
152                 break;
153             case _DtStringChooseSystem:
154                 okString = "system()";
155                 title = "system(3C)";
156                 valueLabel = "Command:";
157                 break;
158             case _DtStringChoosePutenv:
159                 okString = "putenv()";
160                 title = "putenv(3C)";
161                 valueLabel = "variable=value:";
162                 break;
163             case _DtStringChooseNetfile2File:
164                 okString = "File";
165                 title = "tt_netfile_file";
166                 valueLabel = "Netfile:";
167                 break;
168             default:
169                 return;
170         }
171         DtbStringChooserStringChooserInfo instance =
172                 &dtb_string_chooser_string_chooser;
173         if (! instance->initialized) {
174                 dtb_string_chooser_string_chooser_initialize(
175                         instance, dtb_ttsnoop_ttsnoop_win.ttsnoopWin );
176         }
177         DtTtSetLabel( instance->stringOkButton, okString );
178         DtTtSetLabel( instance->stringText_label, valueLabel );
179         XtVaSetValues( instance->stringChooser, XmNtitle, title, 0 );
180         // Remember dialog mode, entity
181         XtVaSetValues( instance->stringOkButton, XmNuserData, choice, 0 );
182         XtVaSetValues( instance->stringCancelButton, XmNuserData, entity, 0 );
183         XmTextPosition last = XmTextFieldGetLastPosition( instance->stringText );
184         Time when = XtLastTimestampProcessed( XtDisplay( instance->stringText ));
185         XmTextFieldSetSelection( instance->stringText, 0, last, when );
186         XtManageChild( instance->stringChooser_shellform );
187 }
188
189 /*** DTB_USER_CODE_END
190  ***
191  *** End of user code section
192  ***
193  **************************************************************************/
194
195
196
197 void 
198 stringChooser_stringCancelButton_CB1(
199     Widget widget,
200     XtPointer clientData,
201     XtPointer callData
202 )
203 {
204     /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
205     /*** DTB_USER_CODE_END   ^^^ Add C variables and code above ^^^ ***/
206     
207     DtbStringChooserStringChooserInfo   instance = (DtbStringChooserStringChooserInfo)clientData;
208     
209     if (!(instance->initialized))
210     {
211         dtb_string_chooser_string_chooser_initialize(instance, dtb_ttsnoop_ttsnoop_win.ttsnoopWin);
212     }
213     XtUnmanageChild(instance->stringChooser_shellform);
214     
215     /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
216     /*** DTB_USER_CODE_END   ^^^ Add C code above ^^^ ***/
217 }
218
219
220 void 
221 stringOkayed(
222     Widget widget,
223     XtPointer clientData,
224     XtPointer callData
225 )
226 {
227     /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
228     /*** DTB_USER_CODE_END   ^^^ Add C variables and code above ^^^ ***/
229     
230     /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
231     DtbStringChooserStringChooserInfo instance =
232             (DtbStringChooserStringChooserInfo)clientData;
233     char *string = XmTextFieldGetString( instance->stringText );
234     if ((string != 0) && (string[0] == '\0')) {
235             XtFree( string );
236             string = 0;
237     }
238     XtPointer val;
239     XtVaGetValues( instance->stringOkButton, XmNuserData, &val, 0 );
240     _DtStringChooserAction choice = (_DtStringChooserAction)val;
241     XtVaGetValues( instance->stringCancelButton, XmNuserData, &val, 0 );
242     Widget label = dtb_ttsnoop_ttsnoop_win.ttsnoopWin_label;
243     switch (choice) {
244             Tt_status status;
245             int ival;
246             char *file;
247         case _DtStringChoosePatternOp:
248         case _DtStringChoosePatternOtype:
249         case _DtStringChoosePatternObject:
250         case _DtStringChoosePatternSenderPtype:
251             _DtTtPatternUpdate( (Tt_pattern)val, choice, string );
252             break;
253         case _DtStringChooseMessageOtype:
254         case _DtStringChooseMessageObject:
255         case _DtStringChooseMessageSenderPtype:
256         case _DtStringChooseMessageHandlerPtype:
257         case _DtStringChooseMessageStatusString:
258         case _DtStringChooseMessageArgValSet:
259             _DtTtMessageUpdate( (Tt_message)val, choice, string );
260             break;
261         case _DtStringChoosePtype2Declare:
262             status = tt_ptype_declare( string );
263             DtTtSetLabel( label, "tt_ptype_declare()", status );
264             break;
265         case _DtStringChooseMediaPtype2Declare:
266             // XXX prompt for base_opnum
267             status = ttmedia_ptype_declare( string, 0, _DtTtMediaLoadPatCb,
268                                             0, 1 );
269             DtTtSetLabel( label, "ttmedia_ptype_declare()", status );
270             break;
271         case _DtStringChoosePtype2UnDeclare:
272             status = tt_ptype_undeclare( string );
273             DtTtSetLabel( label, "tt_ptype_undeclare()", status );
274             break;
275         case _DtStringChoosePtype2SetDefault:
276             status = tt_default_ptype_set( string );
277             DtTtSetLabel( label, "tt_default_ptype_set()", status );
278             break;
279         case _DtStringChoosePtype2Exists:
280             status = tt_ptype_exists( string );
281             DtTtSetLabel( label, "tt_ptype_exists()", status );
282             break;
283         case _DtStringChooseSystem:
284             ival = system( string );
285             DtTtSetLabel( label, "system()", ival );
286             break;
287         case _DtStringChoosePutenv:
288             ival = putenv( string );
289             DtTtSetLabel( label, "putenv()", ival );
290             break;
291         case _DtStringChooseNetfile2File:
292             file = tt_netfile_file( string );
293             DtTtSetLabel( label, "tt_netfile_file()", file );
294             if (! tt_is_err( tt_ptr_error( file ))) {
295                     snoopStream << "tt_netfile_file( \"" << string
296                             << "\" ) = \"" << file << "\"" << endl;
297             }
298             break;
299         default:
300             break;
301     }
302     if (string != 0) {
303             XtFree( string );
304     }
305     XtUnmanageChild( instance->stringChooser_shellform );
306     /*** DTB_USER_CODE_END   ^^^ Add C code above ^^^ ***/
307 }
308
309
310 void 
311 stringHelp(
312     Widget widget,
313     XtPointer clientData,
314     XtPointer callData
315 )
316 {
317     /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
318     /*** DTB_USER_CODE_END   ^^^ Add C variables and code above ^^^ ***/
319     
320     /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
321     DtbStringChooserStringChooserInfo instance =
322             (DtbStringChooserStringChooserInfo)clientData;
323     XtPointer val;
324     XtVaGetValues( instance->stringOkButton, XmNuserData, &val, 0 );
325     _DtStringChooserAction choice = (_DtStringChooserAction)val;
326     Widget label = dtb_ttsnoop_ttsnoop_win.ttsnoopWin_label;
327     switch (choice) {
328         case _DtStringChoosePatternOp:
329             _DtMan( label, "tt_pattern_op_add" );
330             break;
331         case _DtStringChoosePatternOtype:
332             _DtMan( label, "tt_pattern_otype_add" );
333             break;
334         case _DtStringChoosePatternObject:
335             _DtMan( label, "tt_pattern_object_add" );
336             break;
337         case _DtStringChoosePatternSenderPtype:
338             _DtMan( label, "tt_pattern_sender_ptype_add" );
339             break;
340         case _DtStringChooseMessageOtype:
341             _DtMan( label, "tt_message_otype_set" );
342             break;
343         case _DtStringChooseMessageObject:
344             _DtMan( label, "tt_message_object_set" );
345             break;
346         case _DtStringChooseMessageSenderPtype:
347             _DtMan( label, "tt_message_sender_ptype_set" );
348             break;
349         case _DtStringChooseMessageHandlerPtype:
350             _DtMan( label, "tt_message_handler_ptype_set" );
351             break;
352         case _DtStringChooseMessageStatusString:
353             _DtMan( label, "tt_message_status_string_set" );
354             break;
355         case _DtStringChooseMessageArgValSet:
356             _DtMan( label, "tt_message_arg_val_set" );
357             break;
358         case _DtStringChoosePtype2Declare:
359             _DtMan( label, "tt_ptype_declare" );
360             break;
361         case _DtStringChooseMediaPtype2Declare:
362             _DtMan( label, "ttmedia_ptype_declare" );
363             break;
364         case _DtStringChoosePtype2UnDeclare:
365             _DtMan( label, "tt_ptype_undeclare" );
366             break;
367         case _DtStringChoosePtype2SetDefault:
368             _DtMan( label, "tt_default_ptype_set" );
369             break;
370         case _DtStringChoosePtype2Exists:
371             _DtMan( label, "tt_ptype_exists" );
372             break;
373         case _DtStringChooseSystem:
374             _DtMan( label, "system" );
375             break;
376         case _DtStringChoosePutenv:
377             _DtMan( label, "putenv" );
378             break;
379         default:
380             break;
381     }
382     /*** DTB_USER_CODE_END   ^^^ Add C code above ^^^ ***/
383 }
384
385
386
387 /**************************************************************************
388  *** DTB_USER_CODE_START
389  ***
390  *** All automatically-generated data and functions have been defined.
391  ***
392  *** Add new functions here, or at the top of the file.
393  ***/
394
395 /*** DTB_USER_CODE_END
396  ***
397  *** End of user code section
398  ***
399  **************************************************************************/
400
401