1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00
cde/cde/programs/ttsnoop/messageProps_stubs.C.src
Pascal Stumpf 43bae997c8 OpenBSD patches for ttsnoop.
Mostly adding std:: for strstream interfaces.
2012-08-11 20:06:44 -06:00

2391 lines
68 KiB
Text

/*** DTB_USER_CODE_START vvv Add file header below vvv ***/
//%% (c) Copyright 1993, 1994 Hewlett-Packard Company
//%% (c) Copyright 1993, 1994 International Business Machines Corp.
//%% (c) Copyright 1993, 1994 Sun Microsystems, Inc.
//%% (c) Copyright 1993, 1994 Novell, Inc.
//%% $XConsortium: messageProps_stubs.C.src /main/4 1996/03/18 15:04:37 barstow $
/*** DTB_USER_CODE_END ^^^ Add file header above ^^^ ***/
/*
* File: messageProps_stubs.c
* Contains: Module callbacks and connection functions
*
* This file was generated by dtcodegen, from module messageProps
*
* Any text may be added between the DTB_USER_CODE_START and
* DTB_USER_CODE_END comments (even non-C code). Descriptive comments
* are provided only as an aid.
*
* ** EDIT ONLY WITHIN SECTIONS MARKED WITH DTB_USER_CODE COMMENTS. **
* ** ALL OTHER MODIFICATIONS WILL BE OVERWRITTEN. DO NOT MODIFY OR **
* ** DELETE THE GENERATED COMMENTS! **
*/
#include <stdio.h>
#include <Xm/Xm.h>
#include "dtb_utils.h"
#include "messageProps_ui.h"
/*
* Header files for cross-module connections
*/
#include "ttsnoop_ui.h"
/**************************************************************************
*** DTB_USER_CODE_START
***
*** All necessary header files have been included.
***
*** Add include files, types, macros, externs, and user functions here.
***/
#if defined(linux) || defined(CSRG_BASED)
#include <strstream>
#else
#include <strstream.h>
#endif
#include <Xm/TextF.h>
#include <Dt/SpinBox.h>
#include "DtTt.h"
int DtTtMsgWidgetKey = (int) (long) DtTtMessageWidget;
int DtTtMsgUpdateCBKey = DtTtMsgWidgetKey + 1;
int DtTtMsgInfoKey = DtTtMsgWidgetKey + 2;
Tt_callback_action
_DtMsgUpdateMarshall(
Tt_message msg,
Tt_pattern
)
{
DtTtMessageUpdateCallback cb = (DtTtMessageUpdateCallback)
tt_message_user( msg, DtTtMsgUpdateCBKey );
Tt_status status = tt_ptr_error( cb );
if (tt_is_err( status ) || (cb == 0)) {
return TT_CALLBACK_CONTINUE;
}
Widget widget = DtTtMessageWidget( msg );
status = tt_ptr_error( widget );
if (tt_is_err( status ) || (widget == 0)) {
return TT_CALLBACK_CONTINUE;
}
// XXX Just guessing. Store oldState with tt_message_user_set()
Tt_state oldState = TT_SENT;
if (tt_message_state( msg ) == TT_SENT) {
oldState = TT_CREATED;
}
(*cb)( widget, msg, oldState, TT_OK, True );
return TT_CALLBACK_CONTINUE;
}
Widget
DtTtMessageWidget(
Tt_message msg
)
{
// Function address is cast to int and used as clientdata key
return (Widget)tt_message_user( msg, DtTtMsgWidgetKey );
}
static Tt_message
messageProps2Msg(
DtbMessagePropsMessagePropsInfo instance
)
{
Tt_message msg;
XtVaGetValues( instance->messageProps_shellform,
XmNuserData, &msg, 0 );
return msg;
}
static Boolean
_DtTtMessageUpdating(
Tt_message msg
)
{
void *updating = tt_message_user( msg, (int) (long) _DtTtMessageUpdating );
if (tt_is_err( tt_ptr_error( updating ))) {
return False;
}
return updating == (void *)True;
}
static void
_DtTtMessageSetUpdating(
Tt_message msg,
Boolean updating
)
{
tt_message_user_set( msg, (int) (long) _DtTtMessageUpdating,
(void *)updating );
}
typedef enum {
_DtTtMessageRePrint,
_DtTtMessageArgAdded,
_DtTtMessageFullUpdate
} _DtTtMessageUpdateLevel;
static void
_DtTtMessageWidgetUpdate(
DtbMessagePropsMessagePropsInfo instance,
Tt_message msg,
_DtTtMessageUpdateLevel level
)
{
char *printout = tt_message_print( msg ); // XXX when to free?
Tt_status status = tt_ptr_error( printout );
if (tt_is_err( status )) {
printout = tt_status_message( status );
}
XtVaSetValues( instance->messageText, XmNvalue, printout, 0 );
if (level == _DtTtMessageRePrint) {
return;
}
int numArgs = tt_message_args_count( msg );
#define SetArgMenuItemSensitive(n) \
XtSetSensitive( instance->setArgButton_setArgButton_menu_items. \
Arg_##n##_item, numArgs > n );
SetArgMenuItemSensitive(0);
SetArgMenuItemSensitive(1);
SetArgMenuItemSensitive(2);
SetArgMenuItemSensitive(3);
SetArgMenuItemSensitive(4);
SetArgMenuItemSensitive(5);
SetArgMenuItemSensitive(6);
SetArgMenuItemSensitive(7);
SetArgMenuItemSensitive(8);
SetArgMenuItemSensitive(9);
SetArgMenuItemSensitive(10);
SetArgMenuItemSensitive(11);
SetArgMenuItemSensitive(12);
SetArgMenuItemSensitive(13);
SetArgMenuItemSensitive(14);
SetArgMenuItemSensitive(15);
#undef SetArgMenuItemSensitive
XtSetSensitive( instance->setArgButton_setArgButton_menu_items.
Arg_15_item2, numArgs > 16 );
if (level == _DtTtMessageArgAdded) {
return;
}
_DtTtMessageSetUpdating( msg, True );
char *op = tt_message_op( msg );
status = tt_ptr_error( op );
if (! tt_is_err( status )) {
XmTextFieldSetString( instance->opText, op );
tt_free( op );
}
char *handler = tt_message_handler( msg );
status = tt_ptr_error( handler );
if (! tt_is_err( status )) {
XmTextFieldSetString( instance->handlerText, handler );
tt_free( handler );
}
char *file = tt_message_file( msg );
status = tt_ptr_error( file );
if (! tt_is_err( status )) {
XmTextFieldSetString( instance->fileText, file );
tt_free( file );
}
char *session = tt_message_session( msg );
status = tt_ptr_error( session );
if (! tt_is_err( status )) {
XmTextFieldSetString( instance->sessionText, session );
tt_free( session );
}
int val = tt_message_status( msg );
XtVaSetValues( instance->statusBox, DtNposition, val, 0 );
char *status_string = tt_status_string( (Tt_status)val );
DtTtSetLabel( instance->statusLabel, status_string );
tt_free( status_string );
Widget choice;
switch (tt_message_class( msg )) {
case TT_CLASS_UNDEFINED:
default:
choice = instance->classChoice_items.UNDEFINED_item;
break;
case TT_NOTICE:
choice = instance->classChoice_items.NOTICE_item;
break;
case TT_REQUEST:
choice = instance->classChoice_items.REQUEST_item;
break;
case TT_OFFER:
choice = instance->classChoice_items.OFFER_item;
break;
}
XtVaSetValues( instance->classChoice, XmNmenuHistory, choice, 0 );
switch (tt_message_address( msg )) {
case TT_PROCEDURE:
choice = instance->addressChoice_items.PROCEDURE_item;
break;
case TT_OBJECT:
choice = instance->addressChoice_items.OBJECT_item;
break;
case TT_HANDLER:
choice = instance->addressChoice_items.HANDLER_item;
break;
case TT_OTYPE:
choice = instance->addressChoice_items.OTYPE_item;
break;
case TT_ADDRESS_LAST:
default:
choice = instance->addressChoice_items.ADDRESS_LAST_item;
break;
}
XtVaSetValues( instance->addressChoice, XmNmenuHistory, choice, 0 );
switch (tt_message_scope( msg )) {
case TT_SCOPE_NONE:
default:
choice = instance->scopeChoice_items.SCOPE_NONE_item;
break;
case TT_SESSION:
choice = instance->scopeChoice_items.SESSION_item;
break;
case TT_FILE:
choice = instance->scopeChoice_items.FILE_item;
break;
case TT_BOTH:
choice = instance->scopeChoice_items.BOTH_item;
break;
case TT_FILE_IN_SESSION:
choice = instance->scopeChoice_items.FILE_IN_SESSION_item;
break;
}
XtVaSetValues( instance->scopeChoice, XmNmenuHistory, choice, 0 );
switch (tt_message_disposition( msg )) {
case TT_DISCARD:
default:
choice = instance->dispositionChoice_items.DISCARD_item;
break;
case TT_QUEUE:
choice = instance->dispositionChoice_items.QUEUE_item;
break;
case TT_START:
choice = instance->dispositionChoice_items.START_item;
break;
case TT_QUEUE+TT_START:
choice = instance->dispositionChoice_items.QUEUE_START_item;
break;
}
XtVaSetValues( instance->dispositionChoice, XmNmenuHistory, choice, 0);
_DtTtMessageSetUpdating( msg, False );
}
void
DtTtMessageWidgetUpdate(
Widget propsWin,
Tt_message msg,
Tt_state oldState,
Tt_status lastOperation,
Boolean stillExists
)
{
void *v = tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( v );
if (tt_is_err( status ) || (v == 0)) {
return;
}
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)v;
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
}
void
_DtTtMessageUpdate(
Tt_message msg,
_DtStringChooserAction choice,
char * val
)
{
DtbMessagePropsMessagePropsInfo instance;
instance = (DtbMessagePropsMessagePropsInfo)
tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance == 0)) {
return;
}
char *func;
switch (choice) {
case _DtStringChooseMessageOtype:
status = tt_message_otype_set( msg, val );
func = "tt_message_otype_set()";
break;
case _DtStringChooseMessageObject:
status = tt_message_object_set( msg, val );
func = "tt_message_object_set()";
break;
case _DtStringChooseMessageHandlerPtype:
status = tt_message_handler_ptype_set( msg, val );
func = "tt_message_handler_ptype_set()";
break;
case _DtStringChooseMessageSenderPtype:
status = tt_message_sender_ptype_set( msg, val );
func = "tt_message_sender_ptype_set()";
break;
case _DtStringChooseMessageStatusString:
status = tt_message_status_string_set( msg, val );
func = "tt_message_status_string_set()";
break;
case _DtStringChooseMessageArgValSet: {
if (val == 0) {
break;
}
int arg = atoi( val );
if ((arg <= 15) || (arg+1 > tt_message_args_count( msg ))) {
break;
}
Tt_mode mode = tt_message_arg_mode( msg, arg );
char *vtype = tt_message_arg_type( msg, arg );
if (tt_is_err( tt_ptr_error( vtype ))) {
vtype = 0;
}
char *val = 0;
int ival = 0;
Boolean noValue = False;
Tt_status status = tt_message_arg_ival( msg, arg, &ival );
if (status == TT_ERR_NUM) {
val = tt_message_arg_val( msg, arg );
if (tt_is_err( tt_ptr_error( val ))) {
val = 0;
}
if (val == 0) {
noValue = True;
}
}
_DtArgChooserSet( _DtArgChooseMessageArgSet, msg, arg,
mode, noValue, vtype, val, ival );
} return;
default:
return;
}
DtTtSetLabel( instance->messageFooterLabel, func, status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
return;
}
void
_DtTtMessageUpdate(
Tt_message msg,
_DtSessionChooserAction choice,
char * session
)
{
DtbMessagePropsMessagePropsInfo instance;
instance = (DtbMessagePropsMessagePropsInfo)
tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance == 0)) {
return;
}
char *func;
switch (choice) {
case _DtSessionChooseMessage:
status = tt_message_session_set( msg, session );
func = "tt_message_session_set()";
session = tt_message_session( msg );
if (! tt_is_err( tt_ptr_error( session ))) {
_DtTtMessageSetUpdating( msg, True );
XmTextFieldSetString( instance->sessionText, session );
_DtTtMessageSetUpdating( msg, False );
tt_free( session );
}
break;
default:
return;
}
DtTtSetLabel( instance->messageFooterLabel, func, status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
return;
}
void
_DtTtMessageUpdate(
Tt_message msg,
_DtFileChooserAction choice,
char * file
)
{
DtbMessagePropsMessagePropsInfo instance;
instance = (DtbMessagePropsMessagePropsInfo)
tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance == 0)) {
return;
}
char *func;
switch (choice) {
case _DtFileChooseMessageSet:
status = tt_message_file_set( msg, file );
func = "tt_message_file_set()";
file = tt_message_file( msg );
if (! tt_is_err( tt_ptr_error( file ))) {
_DtTtMessageSetUpdating( msg, True );
XmTextFieldSetString( instance->fileText, file );
_DtTtMessageSetUpdating( msg, False );
tt_free( file );
}
break;
default:
return;
}
DtTtSetLabel( instance->messageFooterLabel, func, status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
return;
}
void
_DtTtMessageUpdate(
Tt_message msg,
_DtTtChooserAction choice,
char * string
)
{
DtbMessagePropsMessagePropsInfo instance;
instance = (DtbMessagePropsMessagePropsInfo)
tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance == 0)) {
return;
}
char *func;
switch (choice) {
case _DtTtChooserMessageOpSet:
status = tt_message_op_set( msg, string );
func = "tt_message_op_set()";
string = tt_message_op( msg );
if (! tt_is_err( tt_ptr_error( string ))) {
_DtTtMessageSetUpdating( msg, True );
XmTextFieldSetString( instance->opText, string );
_DtTtMessageSetUpdating( msg, False );
tt_free( string );
}
break;
case _DtTtChooserMessageHandlerSet:
status = tt_message_handler_set( msg, string );
func = "tt_message_handler_set()";
string = tt_message_handler( msg );
if (! tt_is_err( tt_ptr_error( string ))) {
_DtTtMessageSetUpdating( msg, True );
XmTextFieldSetString( instance->handlerText, string );
_DtTtMessageSetUpdating( msg, False );
tt_free( string );
}
break;
default:
return;
}
DtTtSetLabel( instance->messageFooterLabel, func, status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
return;
}
void
_DtTtMessageUpdate(
Tt_message msg,
_DtArgChooserAction choice,
int nth,
Tt_mode mode,
char * vtype,
char * val,
int ival
)
{
DtbMessagePropsMessagePropsInfo instance;
instance = (DtbMessagePropsMessagePropsInfo)
tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance == 0)) {
return;
}
char *func;
switch (choice) {
case _DtArgChooseMessageArgAdd:
status = tt_message_arg_add( msg, mode, vtype, val );
func = "tt_message_arg_add()";
break;
case _DtArgChooseMessageIArgAdd:
status = tt_message_iarg_add( msg, mode, vtype, ival );
func = "tt_message_iarg_add()";
break;
case _DtArgChooseMessageArgSet:
status = tt_message_arg_val_set( msg, nth, val );
func = "tt_message_arg_val_set()";
break;
case _DtArgChooseMessageIArgSet:
status = tt_message_arg_ival_set( msg, nth, ival );
func = "tt_message_arg_ival_set()";
break;
case _DtArgChooseMessageContextSet:
status = tt_message_context_set( msg, vtype, val );
func = "tt_message_context_set()";
break;
case _DtArgChooseMessageIContextSet:
status = tt_message_icontext_set( msg, vtype, ival );
func = "tt_message_icontext_set()";
break;
default:
return;
}
DtTtSetLabel( instance->messageFooterLabel, func, status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageArgAdded );
return;
}
void
_DtTtMessageUpdate(
Tt_message msg,
Tt_message_callback cb
)
{
DtbMessagePropsMessagePropsInfo instance;
instance = (DtbMessagePropsMessagePropsInfo)
tt_message_user( msg, DtTtMsgInfoKey );
Tt_status status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance == 0)) {
return;
}
status = tt_message_callback_add( msg, cb );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_callback_add()", status );
return;
}
Widget
DtTtMessageWidgetCreate(
Widget parent,
Tt_message msg,
DtTtMessageUpdateCallback notifyProc
)
{
DtbMessagePropsMessagePropsInfoRec *instance;
Widget widget = DtTtMessageWidget( msg );
Tt_status status = tt_ptr_error( widget );
if (tt_is_err( status ) || (widget != 0)) {
instance = (DtbMessagePropsMessagePropsInfoRec *)
tt_message_user( msg, DtTtMsgInfoKey );
status = tt_ptr_error( instance );
if (tt_is_err( status ) || (instance != 0)) {
XtManageChild( instance->messageProps_shellform );
}
return widget;
}
instance = new DtbMessagePropsMessagePropsInfoRec;
if (instance == 0) {
return (Widget)tt_error_pointer( TT_ERR_NOMEM );
}
// XXX delete instance in widget destroy proc
status = tt_message_user_set( msg, DtTtMsgInfoKey, instance );
if (tt_is_err( status )) {
delete instance;
return (Widget)tt_error_pointer( status );
}
dtbMessagePropsMessagePropsInfo_clear( instance );
dtb_message_props_message_props_initialize( instance, parent );
widget = instance->messageProps;
XtVaSetValues( instance->messageProps_shellform, XmNuserData, msg, 0 );
status = tt_message_user_set( msg, DtTtMsgWidgetKey, widget );
if (tt_is_err( status )) {
XtDestroyWidget( widget );
delete instance;
return (Widget)tt_error_pointer( status );
}
if (notifyProc != 0) {
status = tt_message_user_set( msg, DtTtMsgUpdateCBKey,
(void *) notifyProc );
if (tt_is_err( status )) {
XtDestroyWidget( widget );
return (Widget)tt_error_pointer( status );
}
status = tt_message_callback_add( msg, _DtMsgUpdateMarshall );
if (tt_is_err( status )) {
XtDestroyWidget( widget );
return (Widget)tt_error_pointer( status );
}
}
std::ostrstream labelStream;
labelStream << "Tt_message " << (void *)msg;
XtVaSetValues( instance->messageProps,
XmNtitle, labelStream.str(),
0 );
delete labelStream.str();
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
XtManageChild( instance->messageProps_shellform );
return widget;
}
static void
_DtTtMessageDispositionSet(
DtbMessagePropsMessagePropsInfo instance,
Tt_disposition disposition
)
{
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_disposition_set( msg, disposition );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_disposition_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
}
/*** DTB_USER_CODE_END
***
*** End of user code section
***
**************************************************************************/
void
messageProps_msgCloseButton_CB1(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
DtbMessagePropsMessagePropsInfo instance = (DtbMessagePropsMessagePropsInfo)clientData;
if (!(instance->initialized))
{
dtb_message_props_message_props_initialize(instance, dtb_ttsnoop_ttsnoop_win.ttsnoopWin);
}
XtUnmanageChild(instance->messageProps_shellform);
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setClassUndefined(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_class_set( msg, TT_CLASS_UNDEFINED );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_class_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setClassNotice(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_class_set( msg, TT_NOTICE );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_class_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setClassRequest(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_class_set( msg, TT_REQUEST );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_class_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setClassOffer(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_class_set( msg, TT_OFFER );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_class_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setAddressLast(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_address_set( msg, TT_ADDRESS_LAST );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_address_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setAddressProcedure(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_address_set( msg, TT_PROCEDURE );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_address_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setAddressObject(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_address_set( msg, TT_OBJECT );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_address_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setAddressHandler(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_address_set( msg, TT_HANDLER );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_address_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setAddressOtype(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_address_set( msg, TT_OTYPE );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_address_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setScopeNone(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_scope_set( msg, TT_SCOPE_NONE );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_scope_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setScopeSession(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_scope_set( msg, TT_SESSION );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_scope_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setScopeFile(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_scope_set( msg, TT_FILE );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_scope_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setScopeBoth(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_scope_set( msg, TT_BOTH );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_scope_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setScopeFileInSession(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_scope_set( msg, TT_FILE_IN_SESSION );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_scope_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setOp(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
char *op = XmTextFieldGetString( instance->opText );
if ((op != 0) && (op[0] == '\0')) {
XtFree( op );
op = 0;
}
Tt_status status = tt_message_op_set( msg, op );
if (op != 0) {
XtFree( op );
}
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_op_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSend(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_send( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_send()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSendOnExit(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_send_on_exit( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_send_on_exit()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgAccept(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_accept( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_accept()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgReject(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_send_on_exit( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_send_on_exit()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgReply(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_reply( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_reply()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgFail(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tt_message_fail( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_fail()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgDestroy(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_status status = tttk_message_destroy( msg );
DtTtSetLabel( instance->messageFooterLabel,
"tttk_message_destroy()", status );
switch (status) {
case TT_OK:
DtTtDestroyed( DTTT_MESSAGE, msg );
XtDestroyWidget( instance->messageProps );
delete instance;
break;
default:
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
break;
}
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgDtAccept(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_pattern *pats = ttdt_message_accept( msg, 0, 0, instance->messageProps,
1, 1 );
Tt_status status = tt_ptr_error( pats );
DtTtSetLabel( instance->messageFooterLabel,
"ttdt_message_accept()", status );
if ((status == TT_OK) && (pats != 0)) {
while (*pats != 0) {
DtTtCreated( DTTT_PATTERN, *pats );
pats++;
}
}
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSubcontractManage(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_pattern *pats = ttdt_subcontract_manage( msg, 0,
instance->messageProps, 0 );
Tt_status status = tt_ptr_error( pats );
DtTtSetLabel( instance->messageFooterLabel,
"ttdt_subcontract_manage()", status );
if (status == TT_OK) {
while (*pats != 0) {
DtTtCreated( DTTT_PATTERN, *pats );
pats++;
}
}
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageFullUpdate );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgClone(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
msg = tt_message_copy( msg );
Tt_status status = DtTtSetLabel( instance->messageProps_footer,
"tt_message_copy()", msg );
if (tt_is_err( status )) {
return;
}
DtTtCreated( DTTT_MESSAGE, msg );
Widget newWidget = DtTtMessageWidgetCreate(
dtb_ttsnoop_ttsnoop_win.ttsnoopWin, msg,
DtTtMessageWidgetUpdate );
status = tt_ptr_error( newWidget );
if (tt_is_err( status )) {
return;
}
XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgStatusNotice(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
char *sender = tt_message_sender( msg );
Tt_message msg2 = tttk_message_create( msg, TT_NOTICE,
tt_message_scope( msg ), sender, "Status", 0 );
tt_free( sender );
Tt_status status = DtTtSetLabel( instance->messageProps_footer,
"tttk_message_create()", msg2 );
if (tt_is_err( status )) {
return;
}
tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
tt_message_arg_add( msg2, TT_IN, Tttk_string, 0 );
char *commission = tt_message_id( msg );
tt_message_arg_add( msg2, TT_IN, Tttk_message_id, commission );
tt_free( commission );
DtTtCreated( DTTT_MESSAGE, msg2 );
Widget newWidget = DtTtMessageWidgetCreate(
dtb_ttsnoop_ttsnoop_win.ttsnoopWin, msg2,
DtTtMessageWidgetUpdate );
status = tt_ptr_error( newWidget );
if (tt_is_err( status )) {
return;
}
XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgGenAction(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
std::ostrstream action; // XXX when to delete .str()?
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
char *op = tt_message_op( msg );
action << "ACTION Send_" << op << "\n{\n\tLABEL\tSend_" << op << "\n";
action << "\tTYPE\tTT_MSG\n";
action << "\tTT_CLASS\t" << tt_message_class( msg ) << "\n";
action << "\tTT_SCOPE\t" << tt_message_scope( msg ) << "\n";
action << "\tTT_OPERATION\t" << op << "\n";
tt_free( op );
char *file = tt_message_file( msg );
Tt_status status = tt_ptr_error( file );
if ((! tt_is_err( status )) && (file != 0)) {
action << "\tTT_FILE\t" << file << "\n";
tt_free( file );
}
int args = tt_message_args_count( msg );
for (int arg = 0; arg < args; arg++) {
action << "\tTT_ARG" << arg << "_MODE\t";
action << tt_message_arg_mode( msg, arg ) << "\n";
char *vtype = tt_message_arg_type( msg, arg );
action << "\tTT_ARG" << arg << "_VTYPE\t" << vtype << "\n";
int ival;
status = tt_message_arg_ival( msg, arg, &ival );
switch (status) {
char *val;
case TT_OK:
action << "\tTT_ARG" << arg << "_REP_TYPE\t"
"TT_REP_INTEGER\n";
action << "\tTT_ARG" << arg << "_VALUE\t" << ival << "\n";
break;
case TT_ERR_NUM:
val = tt_message_arg_val( msg, arg );
status = tt_ptr_error( val );
if (tt_is_err( status ) || (val == 0)) {
continue;
}
action << "\tTT_ARG" << arg << "_VALUE\t" << val << "\n";
tt_free( val );
break;
}
}
// XXX emit commented warnings for e.g. TT_OFFER, TT_HANDLER
action << "}\n";
// XtVaSetValues( instance->messageText, XmNvalue, action.str(), 0 );
_DtOpen( instance->messageFooterLabel, (void *)action.str(),
action.pcount(), "actio" );
delete action.str();
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgGenC(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
std::ostrstream code; // XXX when to delete .str()?
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
code << "#include <Tt/tt_c.h>\n";
code << "#include <Tt/tttk.h>\n";
char *op = tt_message_op( msg );
if (tt_message_class( msg ) != TT_NOTICE) {
code << "\nTt_callback_action\nprocess_" << op << "_reply(";
code << " Tt_message msg, Tt_message pat );\n";
}
code << "\nTt_message\n";
code << "create_" << op << "(\n";
code << "\tTt_message context\n)\n{\n";
code << "\tTt_message msg;\n";
code << "\tmsg = tttk_message_create( context";
code << ", " << tt_message_class( msg );
code << ", " << tt_message_scope( msg ) << ",\n\t\t\t";
Tt_address address = tt_message_address( msg );
switch (address) {
char *handler;
case TT_PROCEDURE:
default:
code << "0, ";
break;
case TT_HANDLER:
handler = tt_message_handler( msg );
code << "\"" << handler << "\",\n";
tt_free( handler );
break;
}
if (op == 0) {
code << "(char *)0";
} else {
code << "\"" << op << "\"";
}
code << ", ";
if (tt_message_class( msg ) == TT_NOTICE) {
code << "0 ";
} else {
code << "\n\t\t\tprocess_" << op << "_reply ";
}
code << ");\n";
switch (address) {
default:
code << "\ttt_message_address_set( msg, " << address << " );\n";
break;
case TT_PROCEDURE:
case TT_HANDLER:
// set properly by tttk_message_create();
break;
}
int args = tt_message_args_count( msg );
if (tt_is_err( tt_int_error( args ))) {
args = 0;
}
for (int arg = 0; arg < args; arg++) {
Tt_mode mode = tt_message_arg_mode( msg, arg );
char *vtype = tt_message_arg_type( msg, arg );
int ival;
Tt_status status = tt_message_arg_ival( msg, arg, &ival );
switch (status) {
char *val;
case TT_OK:
code << "\ttt_message_iarg_add( msg, " << mode << ", ";
code << '"' << vtype << "\", " << ival << " );\n";
break;
case TT_ERR_NUM:
val = tt_message_arg_val( msg, arg );
code << "\ttt_message_arg_add( msg, " << mode << ", ";
code << '"' << vtype << "\", ";
if (val == 0) {
code << "(char *)0";
} else {
code << "\"" << val << "\"";
}
code << ");\n";
tt_free( val );
break;
}
tt_free( vtype );
}
int stat = tt_message_status( msg );
if (stat != 0) {
code << "\ttt_message_status_set( msg, " << stat << " );\n";
}
code << "\treturn msg;\n";
code << "}\n";
if (tt_message_class( msg ) != TT_NOTICE) {
code << "\nstatic Tt_callback_action\n";
code << "process_" << op << "_reply(\n";
code << "\tTt_message msg,\n";
code << "\tTt_message pat\n";
code << ")\n{\n";
code << "\tswitch (tt_message_state(msg)) {\n";
code << "\t\tcase TT_SENT:\t/* handler is in this process */\n";
code << "\t\tcase TT_STARTED:/* intermediate state */\n";
code << "\t\tcase TT_QUEUED:\t/* intermediate state */\n";
code << "\t\tdefault:\t/* unknown state */\n";
code << "\t\t\treturn TT_CALLBACK_CONTINUE;\n";
if (tt_message_class(msg) == TT_REQUEST) {
code << "\t\tcase TT_HANDLED:\n";
code << "\t\t\t/* ... */\n";
code << "\t\t\tbreak;\n";
code << "\t\tcase TT_FAILED: {\n";
code << "\t\t\tint status;\n";
code << "\t\t\tchar *string;\n";
code << "\t\t\tstatus = tt_message_status( msg );\n";
code << "\t\t\tstring = "
"tt_message_status_string( msg );\n";
code << "\t\t\t/* ... */\n";
code << "\t\t\t} break;\n";
} else {
code << "\t\tcase TT_RETURNED:\n";
code << "\t\t\t/* ... */\n";
code << "\t\t\tbreak;\n";
}
code << "\t}\n";
code << "\ttt_message_destroy( msg );\n";
code << "\treturn TT_CALLBACK_PROCESSED;\n";
code << "}\n";
}
tt_free( op );
// XtVaSetValues( instance->messageText, XmNvalue, code.str(), 0 );
_DtOpen( instance->messageFooterLabel, (void *)code.str(),
code.pcount(), "msgC" );
delete code.str();
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setHandler(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
char *handler = XmTextFieldGetString( instance->handlerText );
if ((handler != 0) && (handler[0] == '\0')) {
XtFree( handler );
handler = 0;
}
Tt_status status = tt_message_handler_set( msg, handler );
if (handler != 0) {
XtFree( handler );
}
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_handler_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setSession(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
char *session = XmTextFieldGetString( instance->sessionText );
if ((session != 0) && (session[0] == '\0')) {
XtFree( session );
session = 0;
}
Tt_status status = tt_message_session_set( msg, session );
if (session != 0) {
XtFree( session );
}
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_session_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setFile(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
char *file = XmTextFieldGetString( instance->fileText );
if ((file != 0) && (file[0] == '\0')) {
XtFree( file );
file = 0;
}
Tt_status status = tt_message_file_set( msg, file );
if (file != 0) {
XtFree( file );
}
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_file_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setStatus(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
int val;
XtVaGetValues( instance->statusBox, DtNposition, &val, 0 );
XmString statusName = DtTtStatusString( (Tt_status)val );
XtVaSetValues( instance->statusLabel, XmNlabelString, statusName, 0 );
XmStringFree( statusName );
Tt_status status = tt_message_status_set( msg, val );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_status_set()", status );
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgHelp(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
dtb_do_onitem_help();
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgPattern(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_pattern pat = tt_message_pattern( msg );
Tt_status status = DtTtSetLabel( instance->messageFooterLabel,
"tt_message_pattern()", pat );
if (tt_is_err( status ) || (pat == 0)) {
return;
}
Widget newWidget = DtTtPatternWidgetCreate(
dtb_ttsnoop_ttsnoop_win.ttsnoopWin,
pat, 0 );
status = tt_ptr_error( newWidget );
if (tt_is_err( status )) {
return;
}
XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgPrint(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
_DtTtMessageWidgetUpdate( instance, msg, _DtTtMessageRePrint );
DtTtSetLabel( instance->messageFooterLabel,
"tt_message_print()", TT_OK );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
genPattern(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
Tt_pattern pat = tt_pattern_create();
tt_pattern_category_set( pat, TT_OBSERVE );
tt_pattern_class_add( pat, tt_message_class( msg ));
tt_pattern_scope_add( pat, tt_message_scope( msg ));
tt_pattern_address_add( pat, tt_message_address( msg ));
char *op = tt_message_op( msg );
if ((! tt_is_err( tt_ptr_error( op ))) && (op != 0)) {
tt_pattern_op_add( pat, op );
tt_free( op );
}
// skip file, sender, sender_ptype, otype, object, opnum, contexts
char *session = tt_message_session( msg );
if ((! tt_is_err( tt_ptr_error( session ))) && (session != 0)) {
tt_pattern_session_add( pat, session );
tt_free( session );
}
int args = tt_message_args_count( msg );
if (tt_int_error( args ) == TT_OK) {
for (int arg = 0; arg < args; arg++) {
Tt_mode mode = tt_message_arg_mode( msg, arg );
char *vtype = tt_message_arg_type( msg, arg );
// skip arg value
tt_pattern_arg_add( pat, mode, vtype, 0 );
tt_free( vtype );
}
}
DtTtCreated( DTTT_PATTERN, pat );
Widget newWidget = DtTtPatternWidgetCreate(
dtb_ttsnoop_ttsnoop_win.ttsnoopWin, pat, 0 );
if (tt_is_err( tt_ptr_error( newWidget ))) {
return;
}
XRaiseWindow( XtDisplay( newWidget ), XtWindow( newWidget ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
genObserver(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
std::ostrstream ptype; // XXX when to delete .str()?
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if (msg == 0) {
return;
}
ptype << "ptype Acme_Calc {\n\tstart \"acalc\";\n";
ptype << "\t/*\n";
ptype << "\thandle_push:\n";
ptype << "\thandle_rotate:\n";
switch (tt_message_class(msg)) {
case TT_REQUEST:
ptype << "\tobserve:\n";
ptype << "\t*/\n";
ptype << "\thandle:\n";
break;
case TT_OFFER:
case TT_NOTICE:
default:
ptype << "\thandle:\n";
ptype << "\t*/\n";
ptype << "\tobserve:\n";
break;
}
ptype << "\t\t";
switch (tt_message_scope(msg)) {
case TT_FILE:
ptype << "file ";
break;
case TT_FILE_IN_SESSION:
case TT_BOTH:
case TT_SESSION:
default:
ptype << "session ";
break;
}
char *op = tt_message_op( msg );
ptype << op << "(\n";
tt_free( op );
int args = tt_message_args_count( msg );
if (tt_is_err( tt_int_error( args ))) {
args = 0;
}
for (int arg = 0; arg < args; arg++) {
ptype << "\t\t\t\t";
switch (tt_message_arg_mode( msg, arg )) {
case TT_IN: ptype << "in "; break;
case TT_OUT: ptype << "out "; break;
default:
case TT_INOUT: ptype << "inout"; break;
}
char *vtype = tt_message_arg_type( msg, arg );
ptype << " " << vtype << "\targ" << arg;
if (arg < args - 1) {
ptype << ",";
}
ptype << "\n";
}
ptype << "\t\t\t) => start opnum=1;\n";
ptype << "};\n";
// XXX contexts
// XtVaSetValues( instance->messageText, XmNvalue, ptype.str(), 0 );
_DtOpen( instance->messageFooterLabel, (void *)ptype.str(),
ptype.pcount(), "ptype" );
delete ptype.str();
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
sessionSet(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtSessionChooserSet( _DtSessionChooseMessage, msg );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgFileSet(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtFileChooserSet( _DtFileChooseMessageSet, msg );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgArgAdd(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtArgChooserSet( _DtArgChooseMessageArgAdd, msg );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgContextSet(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtArgChooserSet( _DtArgChooseMessageContextSet, msg );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setArg(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
int arg;
MessagePropsSetArgButtonMenuItems items =
&instance->setArgButton_setArgButton_menu_items;
if (widget == items->Arg_0_item) {
arg = 0;
} else if (widget == items->Arg_1_item) {
arg = 1;
} else if (widget == items->Arg_2_item) {
arg = 2;
} else if (widget == items->Arg_3_item) {
arg = 3;
} else if (widget == items->Arg_4_item) {
arg = 4;
} else if (widget == items->Arg_5_item) {
arg = 5;
} else if (widget == items->Arg_6_item) {
arg = 6;
} else if (widget == items->Arg_7_item) {
arg = 7;
} else if (widget == items->Arg_8_item) {
arg = 8;
} else if (widget == items->Arg_9_item) {
arg = 9;
} else if (widget == items->Arg_10_item) {
arg = 10;
} else if (widget == items->Arg_11_item) {
arg = 11;
} else if (widget == items->Arg_12_item) {
arg = 12;
} else if (widget == items->Arg_13_item) {
arg = 13;
} else if (widget == items->Arg_14_item) {
arg = 14;
} else if (widget == items->Arg_15_item) {
arg = 15;
} else if (widget == items->Arg_15_item2) {
_DtStringChooserSet( _DtStringChooseMessageArgValSet, msg,
"16" );
return;
} else {
return;
}
Tt_mode mode = tt_message_arg_mode( msg, arg );
char *vtype = tt_message_arg_type( msg, arg );
if (tt_is_err( tt_ptr_error( vtype ))) {
vtype = 0;
}
char *val = 0;
int ival = 0;
Boolean noValue = False;
Tt_status status = tt_message_arg_ival( msg, arg, &ival );
if (status == TT_ERR_NUM) {
val = tt_message_arg_val( msg, arg );
if (tt_is_err( tt_ptr_error( val ))) {
val = 0;
}
if (val == 0) {
noValue = True;
}
}
_DtArgChooserSet( _DtArgChooseMessageArgSet, msg, arg, mode, noValue,
vtype, val, ival );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setDISCARD(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
_DtTtMessageDispositionSet( instance, TT_DISCARD );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setQUEUE(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
_DtTtMessageDispositionSet( instance, TT_QUEUE );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setSTART(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
_DtTtMessageDispositionSet( instance, TT_START );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
setQUEUESTART(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
_DtTtMessageDispositionSet( instance, (Tt_disposition)(TT_QUEUE+TT_START));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSetObject(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtStringChooserSet( _DtStringChooseMessageObject, msg,
tt_message_object( msg ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSetOtype(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtStringChooserSet( _DtStringChooseMessageOtype, msg,
tt_message_otype( msg ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSetHandlerPtype(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtStringChooserSet( _DtStringChooseMessageHandlerPtype, msg,
tt_message_handler_ptype( msg ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSetSenderPtype(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtStringChooserSet( _DtStringChooseMessageSenderPtype, msg,
tt_message_sender_ptype( msg ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
chooseOp(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtTtChooserSet( _DtTtChooserMessageOpSet, msg );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
addCallback(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtTtMsgCbChooserSet( msg );
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
chooseHandler(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtStringChooserSet( _DtStringChooseMessageStatusString, msg,
tt_message_status_string( msg ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
void
msgSetStatusString(
Widget widget,
XtPointer clientData,
XtPointer callData
)
{
/*** DTB_USER_CODE_START vvv Add C variables and code below vvv ***/
/*** DTB_USER_CODE_END ^^^ Add C variables and code above ^^^ ***/
/*** DTB_USER_CODE_START vvv Add C code below vvv ***/
DtbMessagePropsMessagePropsInfo instance =
(DtbMessagePropsMessagePropsInfo)clientData;
Tt_message msg = messageProps2Msg( instance );
if ((msg == 0) || _DtTtMessageUpdating( msg )) {
return;
}
_DtStringChooserSet( _DtStringChooseMessageStatusString, msg,
tt_message_object( msg ));
/*** DTB_USER_CODE_END ^^^ Add C code above ^^^ ***/
}
/**************************************************************************
*** DTB_USER_CODE_START
***
*** All automatically-generated data and functions have been defined.
***
*** Add new functions here, or at the top of the file.
***/
/*** DTB_USER_CODE_END
***
*** End of user code section
***
**************************************************************************/