|
Packit |
b099d7 |
/* $XConsortium: ToggleBtn7.c /main/3 1996/07/08 15:38:28 jakku $ */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MGR_WIDTH 200
|
|
Packit |
b099d7 |
#define MGR_HEIGHT 300
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_INDICATOR_ON_VALUES 7
|
|
Packit |
b099d7 |
#define NUM_INDICATOR_TYPE_VALUES 4
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_TOGGLE_BUTTONS 3
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char *indicator_on_strings[NUM_INDICATOR_ON_VALUES] = {
|
|
Packit |
b099d7 |
"XmINDICATOR_NONE",
|
|
Packit |
b099d7 |
"XmINDICATOR_FILL",
|
|
Packit |
b099d7 |
"XmINDICATOR_BOX",
|
|
Packit |
b099d7 |
"XmINDICATOR_CHECK",
|
|
Packit |
b099d7 |
"XmINDICATOR_CHECK_BOX",
|
|
Packit |
b099d7 |
"XmINDICATOR_CROSS",
|
|
Packit |
b099d7 |
"XmINDICATOR_CROSS_BOX"
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char *indicator_type_strings[NUM_INDICATOR_TYPE_VALUES] = {
|
|
Packit |
b099d7 |
"XmN_OF_MANY",
|
|
Packit |
b099d7 |
"XmONE_OF_MANY",
|
|
Packit |
b099d7 |
"XmONE_OF_MANY_ROUND",
|
|
Packit |
b099d7 |
"XmONE_OF_MANY_DIAMOND"
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static unsigned int indicator_on[NUM_INDICATOR_ON_VALUES] = {
|
|
Packit |
b099d7 |
XmINDICATOR_NONE,
|
|
Packit |
b099d7 |
XmINDICATOR_FILL,
|
|
Packit |
b099d7 |
XmINDICATOR_BOX,
|
|
Packit |
b099d7 |
XmINDICATOR_CHECK,
|
|
Packit |
b099d7 |
XmINDICATOR_CHECK_BOX,
|
|
Packit |
b099d7 |
XmINDICATOR_CROSS,
|
|
Packit |
b099d7 |
XmINDICATOR_CROSS_BOX };
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static unsigned int indicator_type[NUM_INDICATOR_TYPE_VALUES] = {
|
|
Packit |
b099d7 |
XmN_OF_MANY,
|
|
Packit |
b099d7 |
XmONE_OF_MANY,
|
|
Packit |
b099d7 |
XmONE_OF_MANY_ROUND,
|
|
Packit |
b099d7 |
XmONE_OF_MANY_DIAMOND };
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget ToggleButton[NUM_TOGGLE_BUTTONS];
|
|
Packit |
b099d7 |
Widget ToggleButtonGadget[NUM_TOGGLE_BUTTONS];
|
|
Packit |
b099d7 |
Widget IndicatorOnOptions, IndicatorTypeOptions;
|
|
Packit |
b099d7 |
Widget IndicatorOnPB[NUM_INDICATOR_ON_VALUES];
|
|
Packit |
b099d7 |
Widget IndicatorTypePB[NUM_INDICATOR_TYPE_VALUES];
|
|
Packit |
b099d7 |
int n, i;
|
|
Packit |
b099d7 |
Arg args[25];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void PrintIndicatorValues( Widget widget )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned char indicatorOn;
|
|
Packit |
b099d7 |
unsigned char indicatorType;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNindicatorOn, &indicatorOn ); n++ ;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNindicatorType, &indicatorType ); n++ ;
|
|
Packit |
b099d7 |
XtGetValues( widget, args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if ( XtIsSubclass( widget, xmToggleButtonWidgetClass )) {
|
|
Packit |
b099d7 |
printf("ToggleButton Resource Values: \n");
|
|
Packit |
b099d7 |
printf("============================: \n\n");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
if ( XtIsSubclass( widget, xmToggleButtonGadgetClass ))
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
printf("ToggleButtonGadget Resource Values: \n");
|
|
Packit |
b099d7 |
printf("================================== \n\n");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
printf("XmNindicatorOn = ");
|
|
Packit |
b099d7 |
switch( indicatorOn )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
case XmINDICATOR_NONE:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_NONE \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmINDICATOR_FILL:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_FILL \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmINDICATOR_BOX:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_BOX \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmINDICATOR_CHECK:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_CHECK \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmINDICATOR_CHECK_BOX:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_CHECK_BOX \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmINDICATOR_CROSS:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_CROSS \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmINDICATOR_CROSS_BOX:
|
|
Packit |
b099d7 |
printf("XmINDICATOR_CROSS_BOX \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
default:
|
|
Packit |
b099d7 |
printf("*** an invalid value *** \n");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
printf("XmNindicatorType = ");
|
|
Packit |
b099d7 |
switch( indicatorType )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
case XmN_OF_MANY:
|
|
Packit |
b099d7 |
printf("XmN_OF_MANY \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmONE_OF_MANY:
|
|
Packit |
b099d7 |
printf("XmONE_OF_MANY \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmONE_OF_MANY_ROUND:
|
|
Packit |
b099d7 |
printf("XmONE_OF_MANY_ROUND \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmONE_OF_MANY_DIAMOND:
|
|
Packit |
b099d7 |
printf("XmONE_OF_MANY_DIAMOND \n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
default:
|
|
Packit |
b099d7 |
printf("*** an invalid value *** \n");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void IndicatorOnCB( Widget widget, XtPointer client_data, XtPointer call_data )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned int indicator_on = *((unsigned int *)client_data );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNindicatorOn, indicator_on ); n++;
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_TOGGLE_BUTTONS; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetValues( ToggleButton[i], args, n );
|
|
Packit |
b099d7 |
XtSetValues( ToggleButtonGadget[i], args, n );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void IndicatorTypeCB( Widget widget, XtPointer client_data, XtPointer call_data )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned int indicator_type = *((unsigned int *)client_data );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNindicatorType, indicator_type ); n++;
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_TOGGLE_BUTTONS; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetValues( ToggleButton[i], args, n );
|
|
Packit |
b099d7 |
XtSetValues( ToggleButtonGadget[i], args, n );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void CreateControlPanel()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Widget Form, PopupShell, RowColumn, Label1, Label2;
|
|
Packit |
b099d7 |
Widget Pulldown1, Pulldown2;
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
Arg args[25];
|
|
Packit |
b099d7 |
XmString string;
|
|
Packit |
b099d7 |
char buffer[25];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNx, 0 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNy, 500 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNwidth, 300 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNheight, 300 ); n++;
|
|
Packit |
b099d7 |
PopupShell = XtCreatePopupShell("Resource Control Panel",
|
|
Packit |
b099d7 |
topLevelShellWidgetClass,
|
|
Packit |
b099d7 |
Shell1, args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Form = XmCreateForm( PopupShell, "Form", args, n );
|
|
Packit |
b099d7 |
XtManageChild( Form );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNleftAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumColumns, 4); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpacking, XmPACK_COLUMN); n++;
|
|
Packit |
b099d7 |
RowColumn = XmCreateRowColumn( Form, "RowColumn", args, n );
|
|
Packit |
b099d7 |
XtManageChild( RowColumn );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Create label and option menu for XmNindicatorOn
|
|
Packit |
b099d7 |
* resource settings.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
string = XmStringCreateLtoR("XmNindicatorOn:",
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNlabelString, string ); n++;
|
|
Packit |
b099d7 |
Label1 = XmCreateLabel( RowColumn, "Label1", args, n );
|
|
Packit |
b099d7 |
XtManageChild( Label1 );
|
|
Packit |
b099d7 |
XmStringFree( string );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Pulldown1 = XmCreatePulldownMenu(RowColumn, "Pulldown1",
|
|
Packit |
b099d7 |
args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_INDICATOR_ON_VALUES; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
string = XmStringCreateLtoR( indicator_on_strings[i],
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
sprintf( buffer, "IndicatorOnPB%d", i );
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNlabelString, string ); n++;
|
|
Packit |
b099d7 |
IndicatorOnPB[i] =
|
|
Packit |
b099d7 |
XmCreatePushButton( Pulldown1, buffer, args, n );
|
|
Packit |
b099d7 |
XmStringFree( string );
|
|
Packit |
b099d7 |
XtAddCallback( IndicatorOnPB[i], XmNactivateCallback,
|
|
Packit |
b099d7 |
IndicatorOnCB, (XtPointer)&indicator_on[i] );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
XtManageChildren( IndicatorOnPB, NUM_INDICATOR_ON_VALUES );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNmenuHistory,
|
|
Packit |
b099d7 |
IndicatorOnPB[0] ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNsubMenuId, Pulldown1 ); n++;
|
|
Packit |
b099d7 |
IndicatorOnOptions =
|
|
Packit |
b099d7 |
XmCreateOptionMenu( RowColumn, "IndicatorOnOptions", args, n );
|
|
Packit |
b099d7 |
XtManageChild( IndicatorOnOptions );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Create label and option menu for XmNindicatorType
|
|
Packit |
b099d7 |
* resource settings.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
string = XmStringCreateLtoR("XmNindicatorType:",
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNlabelString, string ); n++;
|
|
Packit |
b099d7 |
Label2 = XmCreateLabel( RowColumn, "Label2", args, n );
|
|
Packit |
b099d7 |
XtManageChild( Label2 );
|
|
Packit |
b099d7 |
XmStringFree( string );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Pulldown2 = XmCreatePulldownMenu(RowColumn, "Pulldown2",
|
|
Packit |
b099d7 |
args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_INDICATOR_TYPE_VALUES; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
string = XmStringCreateLtoR( indicator_type_strings[i],
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
sprintf( buffer, "IndicatorTypePB%d", i );
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNlabelString, string ); n++;
|
|
Packit |
b099d7 |
IndicatorTypePB[i] =
|
|
Packit |
b099d7 |
XmCreatePushButton( Pulldown2, buffer, args, n );
|
|
Packit |
b099d7 |
XmStringFree( string );
|
|
Packit |
b099d7 |
XtAddCallback( IndicatorTypePB[i], XmNactivateCallback,
|
|
Packit |
b099d7 |
IndicatorTypeCB, (XtPointer)&indicator_type[i] );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
XtManageChildren( IndicatorTypePB, NUM_INDICATOR_TYPE_VALUES );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNmenuHistory,
|
|
Packit |
b099d7 |
IndicatorTypePB[0] ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNsubMenuId, Pulldown2 ); n++;
|
|
Packit |
b099d7 |
IndicatorTypeOptions =
|
|
Packit |
b099d7 |
XmCreateOptionMenu( RowColumn, "IndicatorTypeOptions", args, n );
|
|
Packit |
b099d7 |
XtManageChild( IndicatorTypeOptions );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtPopup( PopupShell, XtGrabNone );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Main
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
void main ( int argc, char **argv )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*int n;
|
|
Packit |
b099d7 |
Arg args[25];*/
|
|
Packit |
b099d7 |
char buffer[25];
|
|
Packit |
b099d7 |
Widget Manager1, RadioBox;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonTestInit( argc, argv );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNwidth, MGR_WIDTH ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNheight, MGR_HEIGHT ); n++;
|
|
Packit |
b099d7 |
Manager1 = XmCreateForm( Shell1, "Manager1", args, n );
|
|
Packit |
b099d7 |
XtManageChild( Manager1 );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Create XmToggleButton widgets, with default resource values,
|
|
Packit |
b099d7 |
* which are not children of an XmRadioBox widget.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
i = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_TOGGLE_BUTTONS; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
sprintf( buffer, "ToggleButton%d", i );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
if ( i == 0 )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopAttachment, XmATTACH_WIDGET ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopWidget, ToggleButton[i-1] ); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNleftAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
ToggleButton[i] =
|
|
Packit |
b099d7 |
XmCreateToggleButton( Manager1, buffer, args, n );
|
|
Packit |
b099d7 |
XtManageChild( ToggleButton[i] );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Create XmToggleButtonGadgets, with default resource values,
|
|
Packit |
b099d7 |
* that are not children of an XmRadioBox widget.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_TOGGLE_BUTTONS; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
sprintf( buffer, "ToggleButtonGadget%d", i );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if ( i == 0 )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopAttachment, XmATTACH_WIDGET ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopWidget, ToggleButtonGadget[i-1] );
|
|
Packit |
b099d7 |
n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNleftAttachment, XmATTACH_WIDGET ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNleftWidget, ToggleButton[i] ); n++;
|
|
Packit |
b099d7 |
ToggleButtonGadget[i] =
|
|
Packit |
b099d7 |
XmCreateToggleButtonGadget( Manager1, buffer, args, n );
|
|
Packit |
b099d7 |
XtManageChild( ToggleButtonGadget[i] );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Create control panel which enables testers to set
|
|
Packit |
b099d7 |
* ToggleButton and ToggleButtonGadget resource values.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
CreateControlPanel();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRealizeWidget( Shell1 );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Print the default values of the XmNindicatorOn and
|
|
Packit |
b099d7 |
* XmNindicatorType resource values for the ToggleButton
|
|
Packit |
b099d7 |
* and ToggleButtonGadget.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
PrintIndicatorValues( ToggleButton[0] );
|
|
Packit |
b099d7 |
PrintIndicatorValues( ToggleButtonGadget[0] );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Destroy the ToggleButton and ToggleButtonGadget widgets, so that
|
|
Packit |
b099d7 |
* they can be re-created as children of the RadioBox.
|
|
Packit |
b099d7 |
* The reason these widgets are destroyed rather than just unmanaged,
|
|
Packit |
b099d7 |
* is that when tests are run automated, the automated instances of
|
|
Packit |
b099d7 |
* the widgets are managed at creation time and stay managed.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_TOGGLE_BUTTONS; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtDestroyWidget( ToggleButton[i] );
|
|
Packit |
b099d7 |
XtDestroyWidget( ToggleButtonGadget[i] );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Reset the option menu settings in the Resource Control
|
|
Packit |
b099d7 |
* Panel.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNmenuHistory, IndicatorOnPB[0] ); n++;
|
|
Packit |
b099d7 |
XtSetValues( IndicatorOnOptions, args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNmenuHistory, IndicatorTypePB[0] ); n++;
|
|
Packit |
b099d7 |
XtSetValues( IndicatorTypeOptions, args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Recreate the widgets as children of a RadioBox.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNleftAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNtopAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNbottomAttachment, XmATTACH_FORM ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNorientation, XmHORIZONTAL ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNnumColumns, 2 ); n++;
|
|
Packit |
b099d7 |
RadioBox = XmCreateRadioBox( Manager1, "RadioBox", args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Create XmToggleButtons and XmToggleButtonGadgets,
|
|
Packit |
b099d7 |
* with default resource values, and a children of
|
|
Packit |
b099d7 |
* a XmRadioBox widget.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
for ( i = 0; i < NUM_TOGGLE_BUTTONS; i++ )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
sprintf( buffer, "ToggleButton%d", i );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
ToggleButton[i] =
|
|
Packit |
b099d7 |
XmCreateToggleButton( RadioBox, buffer, args, n );
|
|
Packit |
b099d7 |
XtManageChild( ToggleButton[i] );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
sprintf( buffer, "ToggleButtonGadget%d", i );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
ToggleButtonGadget[i] =
|
|
Packit |
b099d7 |
XmCreateToggleButtonGadget( RadioBox, buffer, args, n );
|
|
Packit |
b099d7 |
XtManageChild( ToggleButtonGadget[i] );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
PrintIndicatorValues( ToggleButton[0] );
|
|
Packit |
b099d7 |
PrintIndicatorValues( ToggleButtonGadget[0] );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop( app_context );
|
|
Packit |
b099d7 |
}
|