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: messageProps_stubs.C.src /main/4 1996/03/18 15:04:37 barstow $
7 /*** DTB_USER_CODE_END ^^^ Add file header above ^^^ ***/
10 * File: messageProps_stubs.c
11 * Contains: Module callbacks and connection functions
13 * This file was generated by dtcodegen, from module messageProps
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.
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! **
27 #include "dtb_utils.h"
28 #include "messageProps_ui.h"
31 * Header files for cross-module connections
33 #include "ttsnoop_ui.h"
36 /**************************************************************************
37 *** DTB_USER_CODE_START
39 *** All necessary header files have been included.
41 *** Add include files, types, macros, externs, and user functions here.
47 #include <Dt/SpinBox.h>
50 int DtTtMsgWidgetKey = (int) (long) DtTtMessageWidget;
51 int DtTtMsgUpdateCBKey = DtTtMsgWidgetKey + 1;
52 int DtTtMsgInfoKey = DtTtMsgWidgetKey + 2;
60 DtTtMessageUpdateCallback cb = (DtTtMessageUpdateCallback)
61 tt_message_user( msg, DtTtMsgUpdateCBKey );
62 Tt_status status = tt_ptr_error( cb );
63 if (tt_is_err( status ) || (cb == 0)) {
64 return TT_CALLBACK_CONTINUE;
66 Widget widget = DtTtMessageWidget( msg );
67 status = tt_ptr_error( widget );
68 if (tt_is_err( status ) || (widget == 0)) {
69 return TT_CALLBACK_CONTINUE;
71 // XXX Just guessing. Store oldState with tt_message_user_set()
72 Tt_state oldState = TT_SENT;
73 if (tt_message_state( msg ) == TT_SENT) {
74 oldState = TT_CREATED;
76 (*cb)( widget, msg, oldState, TT_OK, True );
77 return TT_CALLBACK_CONTINUE;
85 // Function address is cast to int and used as clientdata key
86 return (Widget)tt_message_user( msg, DtTtMsgWidgetKey );
91 DtbMessagePropsMessagePropsInfo instance
95 XtVaGetValues( instance->messageProps_shellform,
96 XmNuserData, &msg, NULL );
101 _DtTtMessageUpdating(
105 void *updating = tt_message_user( msg, (int) (long) _DtTtMessageUpdating );
106 if (tt_is_err( tt_ptr_error( updating ))) {
109 return updating == (void *)True;
113 _DtTtMessageSetUpdating(
118 tt_message_user_set( msg, (int) (long) _DtTtMessageUpdating,
119 (void *) (intptr_t)updating );
124 _DtTtMessageArgAdded,
125 _DtTtMessageFullUpdate
126 } _DtTtMessageUpdateLevel;
129 _DtTtMessageWidgetUpdate(
130 DtbMessagePropsMessagePropsInfo instance,
132 _DtTtMessageUpdateLevel level
135 char *printout = tt_message_print( msg ); // XXX when to free?
136 Tt_status status = tt_ptr_error( printout );
137 if (tt_is_err( status )) {
138 printout = tt_status_message( status );
140 XtVaSetValues( instance->messageText, XmNvalue, printout, NULL );
141 if (level == _DtTtMessageRePrint) {
145 int numArgs = tt_message_args_count( msg );
146 #define SetArgMenuItemSensitive(n) \
147 XtSetSensitive( instance->setArgButton_setArgButton_menu_items. \
148 Arg_##n##_item, numArgs > n );
149 SetArgMenuItemSensitive(0);
150 SetArgMenuItemSensitive(1);
151 SetArgMenuItemSensitive(2);
152 SetArgMenuItemSensitive(3);
153 SetArgMenuItemSensitive(4);
154 SetArgMenuItemSensitive(5);
155 SetArgMenuItemSensitive(6);
156 SetArgMenuItemSensitive(7);
157 SetArgMenuItemSensitive(8);
158 SetArgMenuItemSensitive(9);
159 SetArgMenuItemSensitive(10);
160 SetArgMenuItemSensitive(11);
161 SetArgMenuItemSensitive(12);
162 SetArgMenuItemSensitive(13);
163 SetArgMenuItemSensitive(14);
164 SetArgMenuItemSensitive(15);
165 #undef SetArgMenuItemSensitive
166 XtSetSensitive( instance->setArgButton_setArgButton_menu_items.
167 Arg_15_item2, numArgs > 16 );
169 if (level == _DtTtMessageArgAdded) {
173 _DtTtMessageSetUpdating( msg, True );
175 char *op = tt_message_op( msg );
176 status = tt_ptr_error( op );
177 if (! tt_is_err( status )) {
178 XmTextFieldSetString( instance->opText, op );
182 char *handler = tt_message_handler( msg );
183 status = tt_ptr_error( handler );
184 if (! tt_is_err( status )) {
185 XmTextFieldSetString( instance->handlerText, handler );
189 char *file = tt_message_file( msg );
190 status = tt_ptr_error( file );
191 if (! tt_is_err( status )) {
192 XmTextFieldSetString( instance->fileText, file );
196 char *session = tt_message_session( msg );
197 status = tt_ptr_error( session );
198 if (! tt_is_err( status )) {
199 XmTextFieldSetString( instance->sessionText, session );
203 int val = tt_message_status( msg );
204 XtVaSetValues( instance->statusBox, DtNposition, val, NULL );
205 char *status_string = tt_status_string( (Tt_status)val );
206 DtTtSetLabel( instance->statusLabel, status_string );
207 tt_free( status_string );
210 switch (tt_message_class( msg )) {
211 case TT_CLASS_UNDEFINED:
213 choice = instance->classChoice_items.UNDEFINED_item;
216 choice = instance->classChoice_items.NOTICE_item;
219 choice = instance->classChoice_items.REQUEST_item;
222 choice = instance->classChoice_items.OFFER_item;
225 XtVaSetValues( instance->classChoice, XmNmenuHistory, choice, NULL );
227 switch (tt_message_address( msg )) {
229 choice = instance->addressChoice_items.PROCEDURE_item;
232 choice = instance->addressChoice_items.OBJECT_item;
235 choice = instance->addressChoice_items.HANDLER_item;
238 choice = instance->addressChoice_items.OTYPE_item;
240 case TT_ADDRESS_LAST:
242 choice = instance->addressChoice_items.ADDRESS_LAST_item;
245 XtVaSetValues( instance->addressChoice, XmNmenuHistory, choice, NULL );
247 switch (tt_message_scope( msg )) {
250 choice = instance->scopeChoice_items.SCOPE_NONE_item;
253 choice = instance->scopeChoice_items.SESSION_item;
256 choice = instance->scopeChoice_items.FILE_item;
259 choice = instance->scopeChoice_items.BOTH_item;
261 case TT_FILE_IN_SESSION:
262 choice = instance->scopeChoice_items.FILE_IN_SESSION_item;
265 XtVaSetValues( instance->scopeChoice, XmNmenuHistory, choice, NULL );
267 switch (tt_message_disposition( msg )) {
270 choice = instance->dispositionChoice_items.DISCARD_item;
273 choice = instance->dispositionChoice_items.QUEUE_item;
276 choice = instance->dispositionChoice_items.START_item;
278 case TT_QUEUE+TT_START:
279 choice = instance->dispositionChoice_items.QUEUE_START_item;
282 XtVaSetValues( instance->dispositionChoice, XmNmenuHistory, choice, NULL);
284 _DtTtMessageSetUpdating( msg, False );
288 DtTtMessageWidgetUpdate(
292 Tt_status lastOperation,
296 void *v = tt_message_user( msg, DtTtMsgInfoKey );
297 Tt_status status = tt_ptr_error( v );
298 if (tt_is_err( status ) || (v == 0)) {
301 DtbMessagePropsMessagePropsInfo instance =
302 (DtbMessagePropsMessagePropsInfo)v;
303 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
309 _DtStringChooserAction choice,
313 DtbMessagePropsMessagePropsInfo instance;
314 instance = (DtbMessagePropsMessagePropsInfo)
315 tt_message_user( msg, DtTtMsgInfoKey );
316 Tt_status status = tt_ptr_error( instance );
317 if (tt_is_err( status ) || (instance == 0)) {
322 case _DtStringChooseMessageOtype:
323 status = tt_message_otype_set( msg, val );
324 func = "tt_message_otype_set()";
326 case _DtStringChooseMessageObject:
327 status = tt_message_object_set( msg, val );
328 func = "tt_message_object_set()";
330 case _DtStringChooseMessageHandlerPtype:
331 status = tt_message_handler_ptype_set( msg, val );
332 func = "tt_message_handler_ptype_set()";
334 case _DtStringChooseMessageSenderPtype:
335 status = tt_message_sender_ptype_set( msg, val );
336 func = "tt_message_sender_ptype_set()";
338 case _DtStringChooseMessageStatusString:
339 status = tt_message_status_string_set( msg, val );
340 func = "tt_message_status_string_set()";
342 case _DtStringChooseMessageArgValSet: {
346 int arg = atoi( val );
347 if ((arg <= 15) || (arg+1 > tt_message_args_count( msg ))) {
350 Tt_mode mode = tt_message_arg_mode( msg, arg );
351 char *vtype = tt_message_arg_type( msg, arg );
352 if (tt_is_err( tt_ptr_error( vtype ))) {
357 Boolean noValue = False;
358 Tt_status status = tt_message_arg_ival( msg, arg, &ival );
359 if (status == TT_ERR_NUM) {
360 val = tt_message_arg_val( msg, arg );
361 if (tt_is_err( tt_ptr_error( val ))) {
368 _DtArgChooserSet( _DtArgChooseMessageArgSet, msg, arg,
369 mode, noValue, vtype, val, ival );
374 DtTtSetLabel( instance->messageFooterLabel, func, status );
375 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
382 _DtSessionChooserAction choice,
386 DtbMessagePropsMessagePropsInfo instance;
387 instance = (DtbMessagePropsMessagePropsInfo)
388 tt_message_user( msg, DtTtMsgInfoKey );
389 Tt_status status = tt_ptr_error( instance );
390 if (tt_is_err( status ) || (instance == 0)) {
395 case _DtSessionChooseMessage:
396 status = tt_message_session_set( msg, session );
397 func = "tt_message_session_set()";
398 session = tt_message_session( msg );
399 if (! tt_is_err( tt_ptr_error( session ))) {
400 _DtTtMessageSetUpdating( msg, True );
401 XmTextFieldSetString( instance->sessionText, session );
402 _DtTtMessageSetUpdating( msg, False );
409 DtTtSetLabel( instance->messageFooterLabel, func, status );
410 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
417 _DtFileChooserAction choice,
421 DtbMessagePropsMessagePropsInfo instance;
422 instance = (DtbMessagePropsMessagePropsInfo)
423 tt_message_user( msg, DtTtMsgInfoKey );
424 Tt_status status = tt_ptr_error( instance );
425 if (tt_is_err( status ) || (instance == 0)) {
430 case _DtFileChooseMessageSet:
431 status = tt_message_file_set( msg, file );
432 func = "tt_message_file_set()";
433 file = tt_message_file( msg );
434 if (! tt_is_err( tt_ptr_error( file ))) {
435 _DtTtMessageSetUpdating( msg, True );
436 XmTextFieldSetString( instance->fileText, file );
437 _DtTtMessageSetUpdating( msg, False );
444 DtTtSetLabel( instance->messageFooterLabel, func, status );
445 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
452 _DtTtChooserAction choice,
456 DtbMessagePropsMessagePropsInfo instance;
457 instance = (DtbMessagePropsMessagePropsInfo)
458 tt_message_user( msg, DtTtMsgInfoKey );
459 Tt_status status = tt_ptr_error( instance );
460 if (tt_is_err( status ) || (instance == 0)) {
465 case _DtTtChooserMessageOpSet:
466 status = tt_message_op_set( msg, string );
467 func = "tt_message_op_set()";
468 string = tt_message_op( msg );
469 if (! tt_is_err( tt_ptr_error( string ))) {
470 _DtTtMessageSetUpdating( msg, True );
471 XmTextFieldSetString( instance->opText, string );
472 _DtTtMessageSetUpdating( msg, False );
476 case _DtTtChooserMessageHandlerSet:
477 status = tt_message_handler_set( msg, string );
478 func = "tt_message_handler_set()";
479 string = tt_message_handler( msg );
480 if (! tt_is_err( tt_ptr_error( string ))) {
481 _DtTtMessageSetUpdating( msg, True );
482 XmTextFieldSetString( instance->handlerText, string );
483 _DtTtMessageSetUpdating( msg, False );
490 DtTtSetLabel( instance->messageFooterLabel, func, status );
491 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
498 _DtArgChooserAction choice,
506 DtbMessagePropsMessagePropsInfo instance;
507 instance = (DtbMessagePropsMessagePropsInfo)
508 tt_message_user( msg, DtTtMsgInfoKey );
509 Tt_status status = tt_ptr_error( instance );
510 if (tt_is_err( status ) || (instance == 0)) {
515 case _DtArgChooseMessageArgAdd:
516 status = tt_message_arg_add( msg, mode, vtype, val );
517 func = "tt_message_arg_add()";
519 case _DtArgChooseMessageIArgAdd:
520 status = tt_message_iarg_add( msg, mode, vtype, ival );
521 func = "tt_message_iarg_add()";
523 case _DtArgChooseMessageArgSet:
524 status = tt_message_arg_val_set( msg, nth, val );
525 func = "tt_message_arg_val_set()";
527 case _DtArgChooseMessageIArgSet:
528 status = tt_message_arg_ival_set( msg, nth, ival );
529 func = "tt_message_arg_ival_set()";
531 case _DtArgChooseMessageContextSet:
532 status = tt_message_context_set( msg, vtype, val );
533 func = "tt_message_context_set()";
535 case _DtArgChooseMessageIContextSet:
536 status = tt_message_icontext_set( msg, vtype, ival );
537 func = "tt_message_icontext_set()";
542 DtTtSetLabel( instance->messageFooterLabel, func, status );
543 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageArgAdded );
550 Tt_message_callback cb
553 DtbMessagePropsMessagePropsInfo instance;
554 instance = (DtbMessagePropsMessagePropsInfo)
555 tt_message_user( msg, DtTtMsgInfoKey );
556 Tt_status status = tt_ptr_error( instance );
557 if (tt_is_err( status ) || (instance == 0)) {
560 status = tt_message_callback_add( msg, cb );
561 DtTtSetLabel( instance->messageFooterLabel,
562 "tt_message_callback_add()", status );
567 DtTtMessageWidgetCreate(
570 DtTtMessageUpdateCallback notifyProc
573 DtbMessagePropsMessagePropsInfoRec *instance;
574 Widget widget = DtTtMessageWidget( msg );
575 Tt_status status = tt_ptr_error( widget );
576 if (tt_is_err( status ) || (widget != 0)) {
577 instance = (DtbMessagePropsMessagePropsInfoRec *)
578 tt_message_user( msg, DtTtMsgInfoKey );
579 status = tt_ptr_error( instance );
580 if (tt_is_err( status ) || (instance != 0)) {
581 XtManageChild( instance->messageProps_shellform );
585 instance = new DtbMessagePropsMessagePropsInfoRec;
587 return (Widget)tt_error_pointer( TT_ERR_NOMEM );
589 // XXX delete instance in widget destroy proc
590 status = tt_message_user_set( msg, DtTtMsgInfoKey, instance );
591 if (tt_is_err( status )) {
593 return (Widget)tt_error_pointer( status );
595 dtbMessagePropsMessagePropsInfo_clear( instance );
596 dtb_message_props_message_props_initialize( instance, parent );
597 widget = instance->messageProps;
599 XtVaSetValues( instance->messageProps_shellform, XmNuserData, msg, NULL );
600 status = tt_message_user_set( msg, DtTtMsgWidgetKey, widget );
601 if (tt_is_err( status )) {
602 XtDestroyWidget( widget );
604 return (Widget)tt_error_pointer( status );
606 if (notifyProc != 0) {
607 status = tt_message_user_set( msg, DtTtMsgUpdateCBKey,
608 (void *) notifyProc );
609 if (tt_is_err( status )) {
610 XtDestroyWidget( widget );
611 return (Widget)tt_error_pointer( status );
613 status = tt_message_callback_add( msg, _DtMsgUpdateMarshall );
614 if (tt_is_err( status )) {
615 XtDestroyWidget( widget );
616 return (Widget)tt_error_pointer( status );
620 std::ostringstream labelStream;
621 labelStream << "Tt_message " << (void *)msg;
622 XtVaSetValues( instance->messageProps,
623 XmNtitle, labelStream.str().c_str(),
626 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
628 XtManageChild( instance->messageProps_shellform );
633 _DtTtMessageDispositionSet(
634 DtbMessagePropsMessagePropsInfo instance,
635 Tt_disposition disposition
638 Tt_message msg = messageProps2Msg( instance );
642 Tt_status status = tt_message_disposition_set( msg, disposition );
643 DtTtSetLabel( instance->messageFooterLabel,
644 "tt_message_disposition_set()", status );
645 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
648 /*** DTB_USER_CODE_END
650 *** End of user code section
652 **************************************************************************/
657 messageProps_msgCloseButton_CB1(
659 XtPointer clientData,
663 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
664 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
666 DtbMessagePropsMessagePropsInfo instance = (DtbMessagePropsMessagePropsInfo)clientData;
668 if (!(instance->initialized))
670 dtb_message_props_message_props_initialize(instance, dtb_ttsnoop_ttsnoop_win.ttsnoopWin);
672 XtUnmanageChild(instance->messageProps_shellform);
674 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
675 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
682 XtPointer clientData,
686 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
687 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
689 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
690 DtbMessagePropsMessagePropsInfo instance =
691 (DtbMessagePropsMessagePropsInfo)clientData;
692 Tt_message msg = messageProps2Msg( instance );
696 Tt_status status = tt_message_class_set( msg, TT_CLASS_UNDEFINED );
697 DtTtSetLabel( instance->messageFooterLabel,
698 "tt_message_class_set()", status );
699 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
700 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
707 XtPointer clientData,
711 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
712 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
714 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
715 DtbMessagePropsMessagePropsInfo instance =
716 (DtbMessagePropsMessagePropsInfo)clientData;
717 Tt_message msg = messageProps2Msg( instance );
721 Tt_status status = tt_message_class_set( msg, TT_NOTICE );
722 DtTtSetLabel( instance->messageFooterLabel,
723 "tt_message_class_set()", status );
724 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
725 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
732 XtPointer clientData,
736 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
737 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
739 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
740 DtbMessagePropsMessagePropsInfo instance =
741 (DtbMessagePropsMessagePropsInfo)clientData;
742 Tt_message msg = messageProps2Msg( instance );
746 Tt_status status = tt_message_class_set( msg, TT_REQUEST );
747 DtTtSetLabel( instance->messageFooterLabel,
748 "tt_message_class_set()", status );
749 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
750 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
757 XtPointer clientData,
761 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
762 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
764 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
765 DtbMessagePropsMessagePropsInfo instance =
766 (DtbMessagePropsMessagePropsInfo)clientData;
767 Tt_message msg = messageProps2Msg( instance );
771 Tt_status status = tt_message_class_set( msg, TT_OFFER );
772 DtTtSetLabel( instance->messageFooterLabel,
773 "tt_message_class_set()", status );
774 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
775 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
782 XtPointer clientData,
786 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
787 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
789 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
790 DtbMessagePropsMessagePropsInfo instance =
791 (DtbMessagePropsMessagePropsInfo)clientData;
792 Tt_message msg = messageProps2Msg( instance );
796 Tt_status status = tt_message_address_set( msg, TT_ADDRESS_LAST );
797 DtTtSetLabel( instance->messageFooterLabel,
798 "tt_message_address_set()", status );
799 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
800 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
807 XtPointer clientData,
811 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
812 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
814 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
815 DtbMessagePropsMessagePropsInfo instance =
816 (DtbMessagePropsMessagePropsInfo)clientData;
817 Tt_message msg = messageProps2Msg( instance );
821 Tt_status status = tt_message_address_set( msg, TT_PROCEDURE );
822 DtTtSetLabel( instance->messageFooterLabel,
823 "tt_message_address_set()", status );
824 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
825 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
832 XtPointer clientData,
836 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
837 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
839 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
840 DtbMessagePropsMessagePropsInfo instance =
841 (DtbMessagePropsMessagePropsInfo)clientData;
842 Tt_message msg = messageProps2Msg( instance );
846 Tt_status status = tt_message_address_set( msg, TT_OBJECT );
847 DtTtSetLabel( instance->messageFooterLabel,
848 "tt_message_address_set()", status );
849 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
850 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
857 XtPointer clientData,
861 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
862 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
864 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
865 DtbMessagePropsMessagePropsInfo instance =
866 (DtbMessagePropsMessagePropsInfo)clientData;
867 Tt_message msg = messageProps2Msg( instance );
871 Tt_status status = tt_message_address_set( msg, TT_HANDLER );
872 DtTtSetLabel( instance->messageFooterLabel,
873 "tt_message_address_set()", status );
874 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
875 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
882 XtPointer clientData,
886 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
887 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
889 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
890 DtbMessagePropsMessagePropsInfo instance =
891 (DtbMessagePropsMessagePropsInfo)clientData;
892 Tt_message msg = messageProps2Msg( instance );
896 Tt_status status = tt_message_address_set( msg, TT_OTYPE );
897 DtTtSetLabel( instance->messageFooterLabel,
898 "tt_message_address_set()", status );
899 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
900 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
907 XtPointer clientData,
911 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
912 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
914 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
915 DtbMessagePropsMessagePropsInfo instance =
916 (DtbMessagePropsMessagePropsInfo)clientData;
917 Tt_message msg = messageProps2Msg( instance );
921 Tt_status status = tt_message_scope_set( msg, TT_SCOPE_NONE );
922 DtTtSetLabel( instance->messageFooterLabel,
923 "tt_message_scope_set()", status );
924 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
925 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
932 XtPointer clientData,
936 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
937 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
939 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
940 DtbMessagePropsMessagePropsInfo instance =
941 (DtbMessagePropsMessagePropsInfo)clientData;
942 Tt_message msg = messageProps2Msg( instance );
946 Tt_status status = tt_message_scope_set( msg, TT_SESSION );
947 DtTtSetLabel( instance->messageFooterLabel,
948 "tt_message_scope_set()", status );
949 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
950 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
957 XtPointer clientData,
961 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
962 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
964 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
965 DtbMessagePropsMessagePropsInfo instance =
966 (DtbMessagePropsMessagePropsInfo)clientData;
967 Tt_message msg = messageProps2Msg( instance );
971 Tt_status status = tt_message_scope_set( msg, TT_FILE );
972 DtTtSetLabel( instance->messageFooterLabel,
973 "tt_message_scope_set()", status );
974 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
975 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
982 XtPointer clientData,
986 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
987 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
989 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
990 DtbMessagePropsMessagePropsInfo instance =
991 (DtbMessagePropsMessagePropsInfo)clientData;
992 Tt_message msg = messageProps2Msg( instance );
996 Tt_status status = tt_message_scope_set( msg, TT_BOTH );
997 DtTtSetLabel( instance->messageFooterLabel,
998 "tt_message_scope_set()", status );
999 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1000 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1005 setScopeFileInSession(
1007 XtPointer clientData,
1011 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1012 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1014 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1015 DtbMessagePropsMessagePropsInfo instance =
1016 (DtbMessagePropsMessagePropsInfo)clientData;
1017 Tt_message msg = messageProps2Msg( instance );
1021 Tt_status status = tt_message_scope_set( msg, TT_FILE_IN_SESSION );
1022 DtTtSetLabel( instance->messageFooterLabel,
1023 "tt_message_scope_set()", status );
1024 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1025 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1032 XtPointer clientData,
1036 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1037 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1039 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1040 DtbMessagePropsMessagePropsInfo instance =
1041 (DtbMessagePropsMessagePropsInfo)clientData;
1042 Tt_message msg = messageProps2Msg( instance );
1043 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1046 char *op = XmTextFieldGetString( instance->opText );
1047 if ((op != 0) && (op[0] == '\0')) {
1051 Tt_status status = tt_message_op_set( msg, op );
1055 DtTtSetLabel( instance->messageFooterLabel,
1056 "tt_message_op_set()", status );
1057 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1058 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1065 XtPointer clientData,
1069 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1070 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1072 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1073 DtbMessagePropsMessagePropsInfo instance =
1074 (DtbMessagePropsMessagePropsInfo)clientData;
1075 Tt_message msg = messageProps2Msg( instance );
1079 Tt_status status = tt_message_send( msg );
1080 DtTtSetLabel( instance->messageFooterLabel,
1081 "tt_message_send()", status );
1082 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1083 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1090 XtPointer clientData,
1094 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1095 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1097 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1098 DtbMessagePropsMessagePropsInfo instance =
1099 (DtbMessagePropsMessagePropsInfo)clientData;
1100 Tt_message msg = messageProps2Msg( instance );
1104 Tt_status status = tt_message_send_on_exit( msg );
1105 DtTtSetLabel( instance->messageFooterLabel,
1106 "tt_message_send_on_exit()", status );
1107 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1108 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1115 XtPointer clientData,
1119 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1120 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1122 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1123 DtbMessagePropsMessagePropsInfo instance =
1124 (DtbMessagePropsMessagePropsInfo)clientData;
1125 Tt_message msg = messageProps2Msg( instance );
1129 Tt_status status = tt_message_accept( msg );
1130 DtTtSetLabel( instance->messageFooterLabel,
1131 "tt_message_accept()", status );
1132 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1133 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1140 XtPointer clientData,
1144 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1145 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1147 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1148 DtbMessagePropsMessagePropsInfo instance =
1149 (DtbMessagePropsMessagePropsInfo)clientData;
1150 Tt_message msg = messageProps2Msg( instance );
1154 Tt_status status = tt_message_send_on_exit( msg );
1155 DtTtSetLabel( instance->messageFooterLabel,
1156 "tt_message_send_on_exit()", status );
1157 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1158 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1165 XtPointer clientData,
1169 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1170 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1172 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1173 DtbMessagePropsMessagePropsInfo instance =
1174 (DtbMessagePropsMessagePropsInfo)clientData;
1175 Tt_message msg = messageProps2Msg( instance );
1179 Tt_status status = tt_message_reply( msg );
1180 DtTtSetLabel( instance->messageFooterLabel,
1181 "tt_message_reply()", status );
1182 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1183 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1190 XtPointer clientData,
1194 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1195 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1197 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1198 DtbMessagePropsMessagePropsInfo instance =
1199 (DtbMessagePropsMessagePropsInfo)clientData;
1200 Tt_message msg = messageProps2Msg( instance );
1204 Tt_status status = tt_message_fail( msg );
1205 DtTtSetLabel( instance->messageFooterLabel,
1206 "tt_message_fail()", status );
1207 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1208 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1215 XtPointer clientData,
1219 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1220 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1222 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1223 DtbMessagePropsMessagePropsInfo instance =
1224 (DtbMessagePropsMessagePropsInfo)clientData;
1225 Tt_message msg = messageProps2Msg( instance );
1229 Tt_status status = tttk_message_destroy( msg );
1230 DtTtSetLabel( instance->messageFooterLabel,
1231 "tttk_message_destroy()", status );
1234 DtTtDestroyed( DTTT_MESSAGE, msg );
1235 XtDestroyWidget( instance->messageProps );
1239 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1242 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1249 XtPointer clientData,
1253 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1254 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1256 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1257 DtbMessagePropsMessagePropsInfo instance =
1258 (DtbMessagePropsMessagePropsInfo)clientData;
1259 Tt_message msg = messageProps2Msg( instance );
1263 Tt_pattern *pats = ttdt_message_accept( msg, 0, 0, instance->messageProps,
1265 Tt_status status = tt_ptr_error( pats );
1266 DtTtSetLabel( instance->messageFooterLabel,
1267 "ttdt_message_accept()", status );
1268 if ((status == TT_OK) && (pats != 0)) {
1269 while (*pats != 0) {
1270 DtTtCreated( DTTT_PATTERN, *pats );
1274 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1275 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1280 msgSubcontractManage(
1282 XtPointer clientData,
1286 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1287 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1289 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1290 DtbMessagePropsMessagePropsInfo instance =
1291 (DtbMessagePropsMessagePropsInfo)clientData;
1292 Tt_message msg = messageProps2Msg( instance );
1296 Tt_pattern *pats = ttdt_subcontract_manage( msg, 0,
1297 instance->messageProps, 0 );
1298 Tt_status status = tt_ptr_error( pats );
1299 DtTtSetLabel( instance->messageFooterLabel,
1300 "ttdt_subcontract_manage()", status );
1301 if (status == TT_OK) {
1302 while (*pats != 0) {
1303 DtTtCreated( DTTT_PATTERN, *pats );
1307 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
1308 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1315 XtPointer clientData,
1319 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1320 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1322 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1323 DtbMessagePropsMessagePropsInfo instance =
1324 (DtbMessagePropsMessagePropsInfo)clientData;
1325 Tt_message msg = messageProps2Msg( instance );
1329 msg = tt_message_copy( msg );
1330 Tt_status status = DtTtSetLabel( instance->messageProps_footer,
1331 "tt_message_copy()", msg );
1332 if (tt_is_err( status )) {
1335 DtTtCreated( DTTT_MESSAGE, msg );
1336 Widget newWidget = DtTtMessageWidgetCreate(
1337 dtb_ttsnoop_ttsnoop_win.ttsnoopWin, msg,
1338 DtTtMessageWidgetUpdate );
1339 status = tt_ptr_error( newWidget );
1340 if (tt_is_err( status )) {
1343 XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
1344 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1351 XtPointer clientData,
1355 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1356 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1358 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1359 DtbMessagePropsMessagePropsInfo instance =
1360 (DtbMessagePropsMessagePropsInfo)clientData;
1361 Tt_message msg = messageProps2Msg( instance );
1365 char *sender = tt_message_sender( msg );
1366 Tt_message msg2 = tttk_message_create( msg, TT_NOTICE,
1367 tt_message_scope( msg ), sender, "Status", 0 );
1369 Tt_status status = DtTtSetLabel( instance->messageProps_footer,
1370 "tttk_message_create()", msg2 );
1371 if (tt_is_err( status )) {
1375 tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
1376 tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
1377 tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
1378 tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
1379 char *commission = tt_message_id( msg );
1380 tt_message_arg_add( msg2, TT_IN, Tttk_message_id, commission );
1381 tt_free( commission );
1383 DtTtCreated( DTTT_MESSAGE, msg2 );
1384 Widget newWidget = DtTtMessageWidgetCreate(
1385 dtb_ttsnoop_ttsnoop_win.ttsnoopWin, msg2,
1386 DtTtMessageWidgetUpdate );
1387 status = tt_ptr_error( newWidget );
1388 if (tt_is_err( status )) {
1391 XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
1392 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1399 XtPointer clientData,
1403 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1404 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1406 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1407 std::ostringstream action;
1408 DtbMessagePropsMessagePropsInfo instance =
1409 (DtbMessagePropsMessagePropsInfo)clientData;
1410 Tt_message msg = messageProps2Msg( instance );
1414 char *op = tt_message_op( msg );
1415 action << "ACTION Send_" << op << "\n{\n\tLABEL\tSend_" << op << "\n";
1416 action << "\tTYPE\tTT_MSG\n";
1417 action << "\tTT_CLASS\t" << tt_message_class( msg ) << "\n";
1418 action << "\tTT_SCOPE\t" << tt_message_scope( msg ) << "\n";
1419 action << "\tTT_OPERATION\t" << op << "\n";
1421 char *file = tt_message_file( msg );
1422 Tt_status status = tt_ptr_error( file );
1423 if ((! tt_is_err( status )) && (file != 0)) {
1424 action << "\tTT_FILE\t" << file << "\n";
1427 int args = tt_message_args_count( msg );
1428 for (int arg = 0; arg < args; arg++) {
1429 action << "\tTT_ARG" << arg << "_MODE\t";
1430 action << tt_message_arg_mode( msg, arg ) << "\n";
1431 char *vtype = tt_message_arg_type( msg, arg );
1432 action << "\tTT_ARG" << arg << "_VTYPE\t" << vtype << "\n";
1434 status = tt_message_arg_ival( msg, arg, &ival );
1438 action << "\tTT_ARG" << arg << "_REP_TYPE\t"
1440 action << "\tTT_ARG" << arg << "_VALUE\t" << ival << "\n";
1443 val = tt_message_arg_val( msg, arg );
1444 status = tt_ptr_error( val );
1445 if (tt_is_err( status ) || (val == 0)) {
1448 action << "\tTT_ARG" << arg << "_VALUE\t" << val << "\n";
1453 // XXX emit commented warnings for e.g. TT_OFFER, TT_HANDLER
1455 // XtVaSetValues( instance->messageText, XmNvalue, action.str().c_str(), 0 );
1456 _DtOpen( instance->messageFooterLabel, (void *)action.str().c_str(),
1457 action.str().size(), "actio" );
1458 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1465 XtPointer clientData,
1469 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1470 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1472 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1473 std::ostringstream code;
1474 DtbMessagePropsMessagePropsInfo instance =
1475 (DtbMessagePropsMessagePropsInfo)clientData;
1476 Tt_message msg = messageProps2Msg( instance );
1480 code << "#include <Tt/tt_c.h>\n";
1481 code << "#include <Tt/tttk.h>\n";
1482 char *op = tt_message_op( msg );
1483 if (tt_message_class( msg ) != TT_NOTICE) {
1484 code << "\nTt_callback_action\nprocess_" << op << "_reply(";
1485 code << " Tt_message msg, Tt_message pat );\n";
1487 code << "\nTt_message\n";
1488 code << "create_" << op << "(\n";
1489 code << "\tTt_message context\n)\n{\n";
1490 code << "\tTt_message msg;\n";
1491 code << "\tmsg = tttk_message_create( context";
1492 code << ", " << tt_message_class( msg );
1493 code << ", " << tt_message_scope( msg ) << ",\n\t\t\t";
1494 Tt_address address = tt_message_address( msg );
1502 handler = tt_message_handler( msg );
1503 code << "\"" << handler << "\",\n";
1508 code << "(char *)0";
1510 code << "\"" << op << "\"";
1513 if (tt_message_class( msg ) == TT_NOTICE) {
1516 code << "\n\t\t\tprocess_" << op << "_reply ";
1521 code << "\ttt_message_address_set( msg, " << address << " );\n";
1525 // set properly by tttk_message_create();
1528 int args = tt_message_args_count( msg );
1529 if (tt_is_err( tt_int_error( args ))) {
1532 for (int arg = 0; arg < args; arg++) {
1533 Tt_mode mode = tt_message_arg_mode( msg, arg );
1534 char *vtype = tt_message_arg_type( msg, arg );
1536 Tt_status status = tt_message_arg_ival( msg, arg, &ival );
1540 code << "\ttt_message_iarg_add( msg, " << mode << ", ";
1541 code << '"' << vtype << "\", " << ival << " );\n";
1544 val = tt_message_arg_val( msg, arg );
1545 code << "\ttt_message_arg_add( msg, " << mode << ", ";
1546 code << '"' << vtype << "\", ";
1548 code << "(char *)0";
1550 code << "\"" << val << "\"";
1558 int stat = tt_message_status( msg );
1560 code << "\ttt_message_status_set( msg, " << stat << " );\n";
1562 code << "\treturn msg;\n";
1564 if (tt_message_class( msg ) != TT_NOTICE) {
1565 code << "\nstatic Tt_callback_action\n";
1566 code << "process_" << op << "_reply(\n";
1567 code << "\tTt_message msg,\n";
1568 code << "\tTt_message pat\n";
1570 code << "\tswitch (tt_message_state(msg)) {\n";
1571 code << "\t\tcase TT_SENT:\t/* handler is in this process */\n";
1572 code << "\t\tcase TT_STARTED:/* intermediate state */\n";
1573 code << "\t\tcase TT_QUEUED:\t/* intermediate state */\n";
1574 code << "\t\tdefault:\t/* unknown state */\n";
1575 code << "\t\t\treturn TT_CALLBACK_CONTINUE;\n";
1576 if (tt_message_class(msg) == TT_REQUEST) {
1577 code << "\t\tcase TT_HANDLED:\n";
1578 code << "\t\t\t/* ... */\n";
1579 code << "\t\t\tbreak;\n";
1580 code << "\t\tcase TT_FAILED: {\n";
1581 code << "\t\t\tint status;\n";
1582 code << "\t\t\tchar *string;\n";
1583 code << "\t\t\tstatus = tt_message_status( msg );\n";
1584 code << "\t\t\tstring = "
1585 "tt_message_status_string( msg );\n";
1586 code << "\t\t\t/* ... */\n";
1587 code << "\t\t\t} break;\n";
1589 code << "\t\tcase TT_RETURNED:\n";
1590 code << "\t\t\t/* ... */\n";
1591 code << "\t\t\tbreak;\n";
1594 code << "\ttt_message_destroy( msg );\n";
1595 code << "\treturn TT_CALLBACK_PROCESSED;\n";
1599 // XtVaSetValues( instance->messageText, XmNvalue, code.str().c_str(), 0 );
1600 _DtOpen( instance->messageFooterLabel, (void *)code.str().c_str(),
1601 code.str().size(), "msgC" );
1602 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1609 XtPointer clientData,
1613 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1614 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1616 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1617 DtbMessagePropsMessagePropsInfo instance =
1618 (DtbMessagePropsMessagePropsInfo)clientData;
1619 Tt_message msg = messageProps2Msg( instance );
1620 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1623 char *handler = XmTextFieldGetString( instance->handlerText );
1624 if ((handler != 0) && (handler[0] == '\0')) {
1628 Tt_status status = tt_message_handler_set( msg, handler );
1632 DtTtSetLabel( instance->messageFooterLabel,
1633 "tt_message_handler_set()", status );
1634 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1635 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1642 XtPointer clientData,
1646 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1647 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1649 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1650 DtbMessagePropsMessagePropsInfo instance =
1651 (DtbMessagePropsMessagePropsInfo)clientData;
1652 Tt_message msg = messageProps2Msg( instance );
1653 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1656 char *session = XmTextFieldGetString( instance->sessionText );
1657 if ((session != 0) && (session[0] == '\0')) {
1661 Tt_status status = tt_message_session_set( msg, session );
1665 DtTtSetLabel( instance->messageFooterLabel,
1666 "tt_message_session_set()", status );
1667 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1668 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1675 XtPointer clientData,
1679 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1680 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1682 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1683 DtbMessagePropsMessagePropsInfo instance =
1684 (DtbMessagePropsMessagePropsInfo)clientData;
1685 Tt_message msg = messageProps2Msg( instance );
1686 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1689 char *file = XmTextFieldGetString( instance->fileText );
1690 if ((file != 0) && (file[0] == '\0')) {
1694 Tt_status status = tt_message_file_set( msg, file );
1698 DtTtSetLabel( instance->messageFooterLabel,
1699 "tt_message_file_set()", status );
1700 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1701 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1708 XtPointer clientData,
1712 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1713 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1715 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1716 DtbMessagePropsMessagePropsInfo instance =
1717 (DtbMessagePropsMessagePropsInfo)clientData;
1718 Tt_message msg = messageProps2Msg( instance );
1719 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1723 XtVaGetValues( instance->statusBox, DtNposition, &val, NULL );
1724 XmString statusName = DtTtStatusString( (Tt_status)val );
1725 XtVaSetValues( instance->statusLabel, XmNlabelString, statusName, NULL );
1726 XmStringFree( statusName );
1727 Tt_status status = tt_message_status_set( msg, val );
1728 DtTtSetLabel( instance->messageFooterLabel,
1729 "tt_message_status_set()", status );
1730 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1731 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1738 XtPointer clientData,
1742 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1743 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1745 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1746 dtb_do_onitem_help();
1747 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1754 XtPointer clientData,
1758 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1759 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1761 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1762 DtbMessagePropsMessagePropsInfo instance =
1763 (DtbMessagePropsMessagePropsInfo)clientData;
1764 Tt_message msg = messageProps2Msg( instance );
1768 Tt_pattern pat = tt_message_pattern( msg );
1769 Tt_status status = DtTtSetLabel( instance->messageFooterLabel,
1770 "tt_message_pattern()", pat );
1771 if (tt_is_err( status ) || (pat == 0)) {
1774 Widget newWidget = DtTtPatternWidgetCreate(
1775 dtb_ttsnoop_ttsnoop_win.ttsnoopWin,
1777 status = tt_ptr_error( newWidget );
1778 if (tt_is_err( status )) {
1781 XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
1782 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1789 XtPointer clientData,
1793 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1794 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1796 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1797 DtbMessagePropsMessagePropsInfo instance =
1798 (DtbMessagePropsMessagePropsInfo)clientData;
1799 Tt_message msg = messageProps2Msg( instance );
1803 _DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
1804 DtTtSetLabel( instance->messageFooterLabel,
1805 "tt_message_print()", TT_OK );
1806 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1813 XtPointer clientData,
1817 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1818 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1820 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1821 DtbMessagePropsMessagePropsInfo instance =
1822 (DtbMessagePropsMessagePropsInfo)clientData;
1823 Tt_message msg = messageProps2Msg( instance );
1827 Tt_pattern pat = tt_pattern_create();
1828 tt_pattern_category_set( pat, TT_OBSERVE );
1829 tt_pattern_class_add( pat, tt_message_class( msg ));
1830 tt_pattern_scope_add( pat, tt_message_scope( msg ));
1831 tt_pattern_address_add( pat, tt_message_address( msg ));
1832 char *op = tt_message_op( msg );
1833 if ((! tt_is_err( tt_ptr_error( op ))) && (op != 0)) {
1834 tt_pattern_op_add( pat, op );
1837 // skip file, sender, sender_ptype, otype, object, opnum, contexts
1838 char *session = tt_message_session( msg );
1839 if ((! tt_is_err( tt_ptr_error( session ))) && (session != 0)) {
1840 tt_pattern_session_add( pat, session );
1843 int args = tt_message_args_count( msg );
1844 if (tt_int_error( args ) == TT_OK) {
1845 for (int arg = 0; arg < args; arg++) {
1846 Tt_mode mode = tt_message_arg_mode( msg, arg );
1847 char *vtype = tt_message_arg_type( msg, arg );
1849 tt_pattern_arg_add( pat, mode, vtype, 0 );
1853 DtTtCreated( DTTT_PATTERN, pat );
1854 Widget newWidget = DtTtPatternWidgetCreate(
1855 dtb_ttsnoop_ttsnoop_win.ttsnoopWin, pat, 0 );
1856 if (tt_is_err( tt_ptr_error( newWidget ))) {
1859 XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
1860 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1867 XtPointer clientData,
1871 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1872 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1874 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1875 std::ostringstream ptype;
1876 DtbMessagePropsMessagePropsInfo instance =
1877 (DtbMessagePropsMessagePropsInfo)clientData;
1878 Tt_message msg = messageProps2Msg( instance );
1882 ptype << "ptype Acme_Calc {\n\tstart \"acalc\";\n";
1884 ptype << "\thandle_push:\n";
1885 ptype << "\thandle_rotate:\n";
1886 switch (tt_message_class(msg)) {
1888 ptype << "\tobserve:\n";
1890 ptype << "\thandle:\n";
1895 ptype << "\thandle:\n";
1897 ptype << "\tobserve:\n";
1901 switch (tt_message_scope(msg)) {
1905 case TT_FILE_IN_SESSION:
1909 ptype << "session ";
1912 char *op = tt_message_op( msg );
1913 ptype << op << "(\n";
1915 int args = tt_message_args_count( msg );
1916 if (tt_is_err( tt_int_error( args ))) {
1919 for (int arg = 0; arg < args; arg++) {
1920 ptype << "\t\t\t\t";
1921 switch (tt_message_arg_mode( msg, arg )) {
1922 case TT_IN: ptype << "in "; break;
1923 case TT_OUT: ptype << "out "; break;
1925 case TT_INOUT: ptype << "inout"; break;
1927 char *vtype = tt_message_arg_type( msg, arg );
1928 ptype << " " << vtype << "\targ" << arg;
1929 if (arg < args - 1) {
1934 ptype << "\t\t\t) => start opnum=1;\n";
1937 // XtVaSetValues( instance->messageText, XmNvalue, ptype.str().c_str(), 0 );
1938 _DtOpen( instance->messageFooterLabel, (void *)ptype.str().c_str(),
1939 ptype.str().size(), "ptype" );
1940 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1947 XtPointer clientData,
1951 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1952 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1954 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1955 DtbMessagePropsMessagePropsInfo instance =
1956 (DtbMessagePropsMessagePropsInfo)clientData;
1957 Tt_message msg = messageProps2Msg( instance );
1958 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1961 _DtSessionChooserSet( _DtSessionChooseMessage, msg );
1962 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1969 XtPointer clientData,
1973 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1974 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1976 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1977 DtbMessagePropsMessagePropsInfo instance =
1978 (DtbMessagePropsMessagePropsInfo)clientData;
1979 Tt_message msg = messageProps2Msg( instance );
1980 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
1983 _DtFileChooserSet( _DtFileChooseMessageSet, msg );
1984 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
1991 XtPointer clientData,
1995 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
1996 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
1998 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
1999 DtbMessagePropsMessagePropsInfo instance =
2000 (DtbMessagePropsMessagePropsInfo)clientData;
2001 Tt_message msg = messageProps2Msg( instance );
2002 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2005 _DtArgChooserSet( _DtArgChooseMessageArgAdd, msg );
2006 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2013 XtPointer clientData,
2017 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2018 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2020 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2021 DtbMessagePropsMessagePropsInfo instance =
2022 (DtbMessagePropsMessagePropsInfo)clientData;
2023 Tt_message msg = messageProps2Msg( instance );
2024 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2027 _DtArgChooserSet( _DtArgChooseMessageContextSet, msg );
2028 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2035 XtPointer clientData,
2039 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2040 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2042 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2043 DtbMessagePropsMessagePropsInfo instance =
2044 (DtbMessagePropsMessagePropsInfo)clientData;
2045 Tt_message msg = messageProps2Msg( instance );
2046 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2050 MessagePropsSetArgButtonMenuItems items =
2051 &instance->setArgButton_setArgButton_menu_items;
2052 if (widget == items->Arg_0_item) {
2054 } else if (widget == items->Arg_1_item) {
2056 } else if (widget == items->Arg_2_item) {
2058 } else if (widget == items->Arg_3_item) {
2060 } else if (widget == items->Arg_4_item) {
2062 } else if (widget == items->Arg_5_item) {
2064 } else if (widget == items->Arg_6_item) {
2066 } else if (widget == items->Arg_7_item) {
2068 } else if (widget == items->Arg_8_item) {
2070 } else if (widget == items->Arg_9_item) {
2072 } else if (widget == items->Arg_10_item) {
2074 } else if (widget == items->Arg_11_item) {
2076 } else if (widget == items->Arg_12_item) {
2078 } else if (widget == items->Arg_13_item) {
2080 } else if (widget == items->Arg_14_item) {
2082 } else if (widget == items->Arg_15_item) {
2084 } else if (widget == items->Arg_15_item2) {
2085 _DtStringChooserSet( _DtStringChooseMessageArgValSet, msg,
2091 Tt_mode mode = tt_message_arg_mode( msg, arg );
2092 char *vtype = tt_message_arg_type( msg, arg );
2093 if (tt_is_err( tt_ptr_error( vtype ))) {
2098 Boolean noValue = False;
2099 Tt_status status = tt_message_arg_ival( msg, arg, &ival );
2100 if (status == TT_ERR_NUM) {
2101 val = tt_message_arg_val( msg, arg );
2102 if (tt_is_err( tt_ptr_error( val ))) {
2109 _DtArgChooserSet( _DtArgChooseMessageArgSet, msg, arg, mode, noValue,
2111 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2118 XtPointer clientData,
2122 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2123 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2125 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2126 DtbMessagePropsMessagePropsInfo instance =
2127 (DtbMessagePropsMessagePropsInfo)clientData;
2128 _DtTtMessageDispositionSet( instance, TT_DISCARD );
2129 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2136 XtPointer clientData,
2140 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2141 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2143 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2144 DtbMessagePropsMessagePropsInfo instance =
2145 (DtbMessagePropsMessagePropsInfo)clientData;
2146 _DtTtMessageDispositionSet( instance, TT_QUEUE );
2147 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2154 XtPointer clientData,
2158 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2159 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2161 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2162 DtbMessagePropsMessagePropsInfo instance =
2163 (DtbMessagePropsMessagePropsInfo)clientData;
2164 _DtTtMessageDispositionSet( instance, TT_START );
2165 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2172 XtPointer clientData,
2176 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2177 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2179 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2180 DtbMessagePropsMessagePropsInfo instance =
2181 (DtbMessagePropsMessagePropsInfo)clientData;
2182 _DtTtMessageDispositionSet( instance, (Tt_disposition)(TT_QUEUE+TT_START));
2183 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2190 XtPointer clientData,
2194 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2195 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2197 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2198 DtbMessagePropsMessagePropsInfo instance =
2199 (DtbMessagePropsMessagePropsInfo)clientData;
2200 Tt_message msg = messageProps2Msg( instance );
2201 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2204 _DtStringChooserSet( _DtStringChooseMessageObject, msg,
2205 tt_message_object( msg ));
2206 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2213 XtPointer clientData,
2217 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2218 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2220 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2221 DtbMessagePropsMessagePropsInfo instance =
2222 (DtbMessagePropsMessagePropsInfo)clientData;
2223 Tt_message msg = messageProps2Msg( instance );
2224 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2227 _DtStringChooserSet( _DtStringChooseMessageOtype, msg,
2228 tt_message_otype( msg ));
2229 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2236 XtPointer clientData,
2240 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2241 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2243 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2244 DtbMessagePropsMessagePropsInfo instance =
2245 (DtbMessagePropsMessagePropsInfo)clientData;
2246 Tt_message msg = messageProps2Msg( instance );
2247 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2250 _DtStringChooserSet( _DtStringChooseMessageHandlerPtype, msg,
2251 tt_message_handler_ptype( msg ));
2252 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2259 XtPointer clientData,
2263 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2264 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2266 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2267 DtbMessagePropsMessagePropsInfo instance =
2268 (DtbMessagePropsMessagePropsInfo)clientData;
2269 Tt_message msg = messageProps2Msg( instance );
2270 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2273 _DtStringChooserSet( _DtStringChooseMessageSenderPtype, msg,
2274 tt_message_sender_ptype( msg ));
2275 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2282 XtPointer clientData,
2286 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2287 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2289 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2290 DtbMessagePropsMessagePropsInfo instance =
2291 (DtbMessagePropsMessagePropsInfo)clientData;
2292 Tt_message msg = messageProps2Msg( instance );
2293 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2296 _DtTtChooserSet( _DtTtChooserMessageOpSet, msg );
2297 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2304 XtPointer clientData,
2308 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2309 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2311 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2312 DtbMessagePropsMessagePropsInfo instance =
2313 (DtbMessagePropsMessagePropsInfo)clientData;
2314 Tt_message msg = messageProps2Msg( instance );
2315 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2318 _DtTtMsgCbChooserSet( msg );
2319 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2326 XtPointer clientData,
2330 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2331 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2333 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2334 DtbMessagePropsMessagePropsInfo instance =
2335 (DtbMessagePropsMessagePropsInfo)clientData;
2336 Tt_message msg = messageProps2Msg( instance );
2337 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2340 _DtStringChooserSet( _DtStringChooseMessageStatusString, msg,
2341 tt_message_status_string( msg ));
2342 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2349 XtPointer clientData,
2353 /*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
2354 /*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
2356 /*** DTB_USER_CODE_START vvv Add C code below vvv ***/
2357 DtbMessagePropsMessagePropsInfo instance =
2358 (DtbMessagePropsMessagePropsInfo)clientData;
2359 Tt_message msg = messageProps2Msg( instance );
2360 if ((msg == 0) || _DtTtMessageUpdating( msg )) {
2363 _DtStringChooserSet( _DtStringChooseMessageStatusString, msg,
2364 tt_message_object( msg ));
2365 /*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
2370 /**************************************************************************
2371 *** DTB_USER_CODE_START
2373 *** All automatically-generated data and functions have been defined.
2375 *** Add new functions here, or at the top of the file.
2378 /*** DTB_USER_CODE_END
2380 *** End of user code section
2382 **************************************************************************/