Blame tests/Toolkit/Buttons/ToggleBGad3.c

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
#ifdef REV_INFO
Packit b099d7
#ifndef lint
Packit b099d7
static char rcsid[] = "$XConsortium: ToggleBGad3.c /main/8 1995/07/13 17:31:30 drk $"
Packit b099d7
#endif
Packit b099d7
#endif
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1987, 1988, 1989 HEWLETT-PACKARD COMPANY */
Packit b099d7
Packit b099d7
 
Packit b099d7
Packit b099d7
/****************************************
Packit b099d7
*   Automatic test program generation   *
Packit b099d7
*       Fri Mar 17 14:54:45 1989        *
Packit b099d7
****************************************/
Packit b099d7
Packit b099d7
#include <testlib.h>
Packit b099d7
#include <X11/StringDefs.h>
Packit b099d7
#include "smiley.bmp"
Packit b099d7
#include "circles1.bmp"
Packit b099d7
Packit b099d7
#define XBMs_BITS smiley_bits
Packit b099d7
#define XBMs_WIDTH smiley_width
Packit b099d7
#define XBMs_HEIGHT smiley_height
Packit b099d7
#define XBMu_BITS circles1_bits
Packit b099d7
#define XBMu_WIDTH circles1_width
Packit b099d7
#define XBMu_HEIGHT circles1_height
Packit b099d7
Packit b099d7
Pixmap px_select;
Packit b099d7
Pixmap px_unselect;
Packit b099d7
Packit b099d7
Widget Form = NULL, RowColumn1 = NULL, RowColumn2 = NULL;
Packit b099d7
Widget ToggleButtonG1 = NULL, ToggleButtonG2 = NULL;
Packit b099d7
Widget ToggleButtonG3 = NULL, ToggleButtonG4 = NULL;
Packit b099d7
Widget ToggleButtonG5 = NULL, ToggleButtonG6 = NULL;
Packit b099d7
Packit b099d7
Boolean mywait;
Packit b099d7
Packit b099d7
void toggleGCB();
Packit b099d7
Packit b099d7
static XtCallbackRec 
Packit b099d7
  valuechangedCR[] =  {{ toggleGCB, (caddr_t)NULL}, {NULL, NULL},},
Packit b099d7
  armCR[] = {{ toggleGCB, (caddr_t)NULL}, {NULL, NULL},},
Packit b099d7
  disarmCR[] = {{ toggleGCB, (caddr_t)NULL}, {NULL, NULL},};
Packit b099d7
Packit b099d7
void toggleGCB(w, client_data, call_data)
Packit b099d7
Widget w;
Packit b099d7
caddr_t client_data;
Packit b099d7
caddr_t call_data;
Packit b099d7
{
Packit b099d7
  printf("ToggleG Callback Structure:\n    Reason:   ");
Packit b099d7
  switch( ((XmToggleButtonCallbackStruct*)call_data)->reason) {
Packit b099d7
  case XmCR_VALUE_CHANGED: 
Packit b099d7
    printf("XmCR_VALUE_CHANGED\n"); 
Packit b099d7
    break;
Packit b099d7
  case XmCR_ARM: 		
Packit b099d7
    printf("XmCR_ARM\n"); 
Packit b099d7
    break;
Packit b099d7
  case XmCR_DISARM: 	
Packit b099d7
    printf("XmCR_DISARM\n"); 
Packit b099d7
    break;
Packit b099d7
  default: 		
Packit b099d7
    printf("Oops - unknown callback reason!\n"); 
Packit b099d7
    break;
Packit b099d7
  }
Packit b099d7
}
Packit b099d7
void  main(argc, argv)
Packit b099d7
int argc;
Packit b099d7
char **argv;
Packit b099d7
{
Packit b099d7
  int n;
Packit b099d7
  Arg args[20];
Packit b099d7
  XWindowAttributes info;
Packit b099d7
  int delay = 0;
Packit b099d7
  XmString tcs;
Packit b099d7
  XFontStruct *newfont;
Packit b099d7
  XmFontList newfontlist;
Packit b099d7
Packit b099d7
  CommonTestInit(argc, argv);
Packit b099d7
    
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNwidth, 400);  n++;
Packit b099d7
  XtSetArg(args[n], XmNheight,300);  n++;
Packit b099d7
  XtSetValues(Shell1, args, n);
Packit b099d7
   
Packit b099d7
  XmRegisterConverters();
Packit b099d7
Packit b099d7
  XtRealizeWidget(Shell1);
Packit b099d7
Packit b099d7
  mywait = True;
Packit b099d7
  while (mywait) {
Packit b099d7
    XGetWindowAttributes(XtDisplay(Shell1), XtWindow(Shell1), &info;;
Packit b099d7
    if (info.map_state == IsViewable) mywait = False;
Packit b099d7
    else sleep(1);
Packit b099d7
  }
Packit b099d7
Packit b099d7
  newfont = XLoadQueryFont(display, "variable");
Packit b099d7
  newfontlist = XmFontListCreate(newfont, "var_char_set");
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  Form = XmCreateForm(Shell1, "Form", args, n);
Packit b099d7
  XtManageChild(Form);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNpacking, XmPACK_TIGHT); n++;
Packit b099d7
  XtSetArg (args[n], XmNbackground, CommonGetColor ("lightGray")); n++;
Packit b099d7
  RowColumn1 = XmCreateRadioBox(Form, "RowColumn1", args, n);
Packit b099d7
  XtManageChild (RowColumn1);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  tcs = XmStringLtoRCreate("ToggleG1", "var_char_set");
Packit b099d7
  XtSetArg(args[n], XmNfontList, newfontlist); n++;
Packit b099d7
  XtSetArg(args[n], XmNlabelString, tcs);  n++;
Packit b099d7
  XtSetArg(args[n], XmNmnemonic, 'g'); n++;
Packit b099d7
  XtSetArg(args[n], XmNmnemonicCharSet, "var_char_set"); n++;
Packit b099d7
  XtSetArg(args[n], XmNindicatorOn, True);  n++;
Packit b099d7
  XtSetArg(args[n], XmNvalueChangedCallback, valuechangedCR);  n++;
Packit b099d7
  XtSetArg(args[n], XmNarmCallback, armCR);  n++;
Packit b099d7
  XtSetArg(args[n], XmNdisarmCallback, disarmCR);  n++;
Packit b099d7
  ToggleButtonG1 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG1",
Packit b099d7
					      args, n);
Packit b099d7
  if(tcs) XmStringFree(tcs);
Packit b099d7
  XtManageChild(ToggleButtonG1);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNindicatorType, XmONE_OF_MANY);  n++;
Packit b099d7
  XtSetArg(args[n], XmNfillOnSelect, False);  n++;
Packit b099d7
  ToggleButtonG2 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG2",
Packit b099d7
					      args, n);
Packit b099d7
  XtManageChild(ToggleButtonG2);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNvisibleWhenOff, False);  n++;
Packit b099d7
  ToggleButtonG3 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG3",
Packit b099d7
					      args, n);
Packit b099d7
  XtManageChild(ToggleButtonG3);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNset, True);  n++;
Packit b099d7
  XtSetArg(args[n], XmNfillOnSelect, True);  n++;
Packit b099d7
  ToggleButtonG4 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG4",
Packit b099d7
					      args, n);
Packit b099d7
  XtManageChild(ToggleButtonG4);
Packit b099d7
Packit b099d7
  px_unselect =
Packit b099d7
    XCreatePixmapFromBitmapData(display, 
Packit b099d7
				DefaultRootWindow(display),
Packit b099d7
				XBMu_BITS, XBMu_WIDTH,XBMu_HEIGHT,
Packit b099d7
				WhitePixel(display,DefaultScreen(display)),
Packit b099d7
				BlackPixel(display,DefaultScreen(display)),
Packit b099d7
				DefaultDepth(display,DefaultScreen(display)));
Packit b099d7
  px_select = 
Packit b099d7
    XCreatePixmapFromBitmapData(display, 
Packit b099d7
				DefaultRootWindow(display),
Packit b099d7
				XBMs_BITS, XBMs_WIDTH,XBMs_HEIGHT,
Packit b099d7
				WhitePixel(display,DefaultScreen(display)),
Packit b099d7
				BlackPixel(display,DefaultScreen(display)),
Packit b099d7
				DefaultDepth(display,DefaultScreen(display)));
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNlabelType, XmPIXMAP);  n++;
Packit b099d7
  XtSetArg(args[n], XmNselectPixmap, px_select);  n++;
Packit b099d7
  XtSetArg(args[n], XmNlabelPixmap, px_unselect);  n++;
Packit b099d7
  ToggleButtonG5 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG5",
Packit b099d7
					      args, n);
Packit b099d7
  XtManageChild(ToggleButtonG5);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNindicatorOn, False);  n++;
Packit b099d7
  XtSetArg(args[n], XmNshadowThickness, 2); n++;
Packit b099d7
  ToggleButtonG6 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG6",
Packit b099d7
					      args, n);
Packit b099d7
  XtManageChild(ToggleButtonG6);
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  tcs = XmStringLtoRCreate("ToggleG2", XmSTRING_DEFAULT_CHARSET);
Packit b099d7
  XtSetArg(args[n], XmNlabelString, tcs);  n++;
Packit b099d7
  XtSetValues(ToggleButtonG2, args, n);
Packit b099d7
  if(tcs) XmStringFree(tcs);
Packit b099d7
Packit b099d7
  printf("ToggleG1 state = %d\n", 
Packit b099d7
	 XmToggleButtonGadgetGetState(ToggleButtonG1));
Packit b099d7
  XmToggleButtonGadgetSetState(ToggleButtonG1, TRUE, FALSE);
Packit b099d7
Packit b099d7
  printf("ToggleG1 state = %d\n", 
Packit b099d7
	 XmToggleButtonGadgetGetState(ToggleButtonG1));
Packit b099d7
  XmToggleButtonGadgetSetState(ToggleButtonG1, FALSE, TRUE);
Packit b099d7
Packit b099d7
  printf("ToggleG1 state = %d\n", 
Packit b099d7
	 XmToggleButtonGadgetGetState(ToggleButtonG1));
Packit b099d7
Packit b099d7
  CommonPause();                       /* ONE_OF_MANY */
Packit b099d7
Packit b099d7
  XtSetArg(args[n], XmNradioBehavior, False); n++;
Packit b099d7
  XtSetArg(args[n], XmNradioAlwaysOne, False); n++;
Packit b099d7
  XtSetValues(RowColumn1, args, n);
Packit b099d7
  CommonPause();			   /* N_OF_MANY Behavior */
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNindicatorType, XmN_OF_MANY); n++;
Packit b099d7
  XtSetValues(ToggleButtonG1, args, n);
Packit b099d7
  XtSetValues(ToggleButtonG2, args, n);
Packit b099d7
  CommonPause();			   /* N_OF_MANY Appearance */
Packit b099d7
Packit b099d7
  /*
Packit b099d7
   *  Kill off the widgets
Packit b099d7
   */
Packit b099d7
Packit b099d7
  XtDestroyWidget(ToggleButtonG1);
Packit b099d7
  XtDestroyWidget(ToggleButtonG2);
Packit b099d7
  XtDestroyWidget(ToggleButtonG3);
Packit b099d7
  XtDestroyWidget(ToggleButtonG4);
Packit b099d7
  XtDestroyWidget(ToggleButtonG5);
Packit b099d7
  XtDestroyWidget(ToggleButtonG6);
Packit b099d7
  XtDestroyWidget(RowColumn1);
Packit b099d7
  
Packit b099d7
  /*
Packit b099d7
   *  Create a test for PIR 2430
Packit b099d7
   */
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNpacking, XmPACK_TIGHT); n++;
Packit b099d7
  XtSetArg(args[n], XmNbackground, CommonGetColor("black")); n++;
Packit b099d7
  XtSetArg(args[n], XmNforeground, CommonGetColor("orange")); n++;
Packit b099d7
  RowColumn1 = XmCreateRadioBox(Form, "RowColumn1", args, n);
Packit b099d7
  XtManageChild (RowColumn1);
Packit b099d7
Packit b099d7
  XtSetArg(args[n], XmNx, 125); n++;   /* add an offset */
Packit b099d7
  RowColumn2 = XmCreateRadioBox(Form, "RowColumn2", args, n);
Packit b099d7
  XtManageChild (RowColumn2);
Packit b099d7
  
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNshadowThickness, 2); n++;
Packit b099d7
  XtSetArg(args[n], XmNindicatorOn, True);  n++;
Packit b099d7
  ToggleButtonG1 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG1",
Packit b099d7
					      args, n);
Packit b099d7
  ToggleButtonG4 = XmCreateToggleButtonGadget(RowColumn2, "ToggleButtonG4",
Packit b099d7
					      args, n);
Packit b099d7
  ToggleButtonG2 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG2",
Packit b099d7
					      args, n);
Packit b099d7
  ToggleButtonG5 = XmCreateToggleButtonGadget(RowColumn2, "ToggleButtonG5",
Packit b099d7
					      args, n);
Packit b099d7
  ToggleButtonG3 = XmCreateToggleButtonGadget(RowColumn1, "ToggleButtonG3",
Packit b099d7
					      args, n);
Packit b099d7
  ToggleButtonG6 = XmCreateToggleButtonGadget(RowColumn2, "ToggleButtonG6",
Packit b099d7
					      args, n);
Packit b099d7
  XtManageChild(ToggleButtonG1);
Packit b099d7
  XtManageChild(ToggleButtonG4);
Packit b099d7
  XtManageChild(ToggleButtonG2);
Packit b099d7
  XtManageChild(ToggleButtonG5);
Packit b099d7
  XtManageChild(ToggleButtonG3);
Packit b099d7
  XtManageChild(ToggleButtonG6);
Packit b099d7
  
Packit b099d7
  /* Now change the colors of the second radiobox */
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNforeground, CommonGetColor("blue")); n++;
Packit b099d7
  XtSetArg(args[n], XmNbackground, CommonGetColor("magenta")); n++;
Packit b099d7
  XtSetValues(RowColumn2, args, n);
Packit b099d7
Packit b099d7
  /*  End test for PIR 2430 */
Packit b099d7
Packit b099d7
  CommonPause();
Packit b099d7
  XtDestroyWidget(Form);
Packit b099d7
Packit b099d7
  CommonPause();			/* exit */
Packit b099d7
  XtAppMainLoop(app_context);
Packit b099d7
Packit b099d7
}
Packit b099d7