コード例 #1
0
ファイル: xaw.c プロジェクト: aosm/X11
LispObj *
Lisp_XawFormDoLayout(LispBuiltin *builtin)
/*
 xaw-form-do-layout widget force
 */
{
    int force;

    LispObj *owidget, *oforce;

    oforce = ARGUMENT(1);
    owidget = ARGUMENT(0);

    if (!CHECKO(owidget, xawWidget_t))
	LispDestroy("%s: cannot convert %s to Widget",
		    STRFUN(builtin), STROBJ(owidget));

    force = oforce != NIL;
    XawFormDoLayout((Widget)(owidget->data.opaque.data), force);

    return (oforce);
}
コード例 #2
0
static void ui_confirm (char *message, int ok_only)

{
    Widget      form, picture, label;
    Arg		args[5];
    Widget	button;
    Cardinal	n;
    XEvent      event;

    /* Now create Popup */

    ui_cf_popup = 
	XtCreatePopupShell("confirmer", transientShellWidgetClass, ui_toplevel,
			   NULL, 0);
    form = 
	XtCreateManagedWidget("form", formWidgetClass, ui_cf_popup, NULL, 0);

    if (ok_only) {
	n = 0;
	XtSetArg(args[n], XtNborderWidth, 0); n++;
	XtSetArg(args[n], XtNbitmap, 
		 (Pixmap) XCreateBitmapFromData(ui_display, 
						XDefaultRootWindow(ui_display),
						exclamation_bits, 
						exclamation_width,
						exclamation_height)); n++;
    	picture = 
	    XtCreateManagedWidget("exclamation", labelWidgetClass, form, 
				  args, n);     

	n = 0;
	XtSetArg(args[n], XtNfromHoriz, picture); n++;
	XtSetArg(args[n], XtNborderWidth, 0); n++;
	XtSetArg(args[n], XtNlabel,     message); n++;
	label = XtCreateManagedWidget("confirmerMsg", labelWidgetClass, form, 
				      args, n);
    
	button = ui_xCreateButtonItem("ok", form, picture, label);
	XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_cf_yesNoOk, 
		      (XtPointer) ((long)1));	

    } else {
	n = 0;
	XtSetArg(args[n], XtNborderWidth, 0); n++;
	XtSetArg(args[n], XtNbitmap, 
		 (Pixmap) XCreateBitmapFromData(ui_display, 
						XDefaultRootWindow(ui_display),
						stopIcon_bits, stopIcon_width,
						stopIcon_height)); n++;
	picture =
	    XtCreateManagedWidget("stop", labelWidgetClass, form, 
				  args, n);

	n = 0;
	XtSetArg(args[n], XtNfromHoriz, picture); n++;
	XtSetArg(args[n], XtNborderWidth, 0); n++;
	XtSetArg(args[n], XtNlabel,     message); n++;
	label = 
	    XtCreateManagedWidget("confirmerNsg", labelWidgetClass, form, 
				  args, n);

	button = ui_xCreateButtonItem("yes", form, picture, label);
	XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_cf_yesNoOk, 
		      (XtPointer) ((long)1));	

	button = ui_xCreateButtonItem("no", form, button, label);
	XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_cf_yesNoOk, 
		      (XtPointer) ((long)0));	
    }
    XawFormDoLayout(form, True);
    XtRealizeWidget(ui_cf_popup);
    
    /* now move the popup to the middle of the screen */
    {
	Window root;
	int    x, y;
	unsigned int borderWidth, depth, width, height;
	XWindowChanges xChange;
	
	(void) XGetGeometry(ui_display, XtWindow(ui_cf_popup),
			    &root, &x, &y, &width, &height, &borderWidth, &depth);
	
	xChange.x = 
	    (int) ((XDisplayWidth(ui_display, ui_screen) - width) / 2);
	xChange.y =
	    (int) ((XDisplayHeight(ui_display, ui_screen) - height) / 2);
	xChange.stack_mode = (int) Above;
	XConfigureWindow(ui_display, XtWindow(ui_cf_popup), 
			 CWX BIT_OR CWY BIT_OR CWStackMode, &xChange);
    }

    XtPopup(ui_cf_popup, XtGrabExclusive);
    ui_xDontResizeWidget(ui_cf_popup); 

    /* now enter the confirmer loop.
       Everthing behaves the same, because its an copy of XtAppMainLoop(), 
       but it stops UI from processing code from here back to the main loop.
       This is needed, because the confirmer should return values! */

    ui_cf_exit = FALSE;
    while (NOT ui_cf_exit) {
	XtAppNextEvent(ui_appContext, &event);
	(void) XtDispatchEvent(&event);
    }
}
コード例 #3
0
void ui_xCreateControlPanel (Widget parent)

{
    /* tabs for data fields and small buttons */

    static struct SimpleListType  listSiteFType; /* site list in
						    f-type edit panel */
    static struct SimpleListType  listSiteSite;  /* site list in
						    site edit panel */
    static struct SimpleListType  listLearnFunc;  /* func list */
    static struct SimpleListType  listUpdateFunc; /* func list */
    static struct SimpleListType  listInitFunc;   /* func list */
    static struct SimpleListType  listRemapFunc;   /* func list */

    Widget      stepLabel, learnLabel, updateLabel, learn2Label, pattLabel;
    Widget      sButton, button, menu, entry, mItem;
    Widget      mdelButton,museButton, testLabel, initLabel, remapLabel;  
    Arg		args[10];
    Cardinal	n;
    int         i;
    char        buf[20];


/*
    int  fontWidth = 8;
*/
    int  titelWidth  =  7 * ui_labelFontWidth;
    int  numberWidth =  7 * ui_labelFontWidth;
    int  fileWidth   =  26* ui_labelFontWidth;

/***************************************************************************/

    ui_controlPanel = 
	XtCreateManagedWidget("rPanel", formWidgetClass, parent, NULL, ZERO);

/****************************  Steps Line  *********************************/

    stepLabel =	ui_xCreateLabelItem("STEPS", ui_controlPanel,
				    titelWidth, NULL, NULL);

    sprintf(buf,"%d",ui_numberOfSteps);
    ui_numberOfStepsWidget = ui_xCreateDialogItem("numberOfSteps",
						  ui_controlPanel, buf, 
						  numberWidth, stepLabel, NULL);

    sButton = ui_xCreateButtonItem("multiStep", ui_controlPanel, 
				   ui_numberOfStepsWidget, NULL);
    XtAddCallback(sButton, XtNcallback, (XtCallbackProc) ui_rem_stepsProc, 
		  (caddr_t) TRUE);

    sprintf(buf,"%d",ui_numberOfStepsDone);
    ui_numberOfStepsDoneWidget = ui_xCreateLabelItem(buf, ui_controlPanel, 
						     numberWidth, sButton,NULL);
    n = 0;
    XtSetArg(args[n], XtNborderWidth, 1); n++;
    XtSetArg(args[n], XtNinternalHeight, 3); n++;
    XtSetArg(args[n], XtNinternalWidth , 5); n++;
    XtSetArg(args[n], XtNhorizDistance, 5); n++; 
    XtSetValues(ui_numberOfStepsDoneWidget, args, n);
    jogbutton = ui_xCreateButtonItem("jog", ui_controlPanel,
				     ui_numberOfStepsDoneWidget, NULL);
    XtAddCallback(jogbutton, XtNcallback, (XtCallbackProc)ui_popupWeights,NULL);
   
    button = ui_xCreateButtonItem("init", ui_controlPanel, jogbutton, NULL);
    XtAddCallback(button, XtNcallback, (XtCallbackProc)ui_rem_doInitialization,
		  NULL);

    button = ui_xCreateButtonItem("reset", ui_controlPanel, button, NULL);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_resetNet, NULL);

    button = ui_xCreateButtonItem("error", ui_controlPanel, button, NULL);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_errProc, NULL);

    button = ui_xCreateButtonItem("info", ui_controlPanel, button, NULL);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_getKernelInfo, 
		  NULL);

/******************************  CYCLES  ***********************************/

    learnLabel = ui_xCreateLabelItem("CYCLES", ui_controlPanel,
				     titelWidth, NULL, stepLabel);

    sprintf(buf,"%d",ui_numberOfCycles);
    ui_numberOfCyclesWidget = ui_xCreateDialogItem("numberOfCycles", 
						   ui_controlPanel,
						   buf, numberWidth,  
						   learnLabel, stepLabel);

    button = ui_xCreateButtonItem("single", ui_controlPanel, 
				  ui_numberOfCyclesWidget, stepLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_learnProc, 
		  (caddr_t) UI_LEARN_SINGLE);

    button = ui_xCreateButtonItem("all", ui_controlPanel, sButton, stepLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_learnProc, 
		  (caddr_t) UI_LEARN_ALL);

    button = ui_xCreateButtonItem("stop", ui_controlPanel, button, stepLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_stopProc, NULL);

    button = ui_xCreateButtonItem("test", ui_controlPanel, button, stepLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_testProc, NULL);

    button = ui_xCreateToggleItem("shuffle", ui_controlPanel, NULL, button, 
				  stepLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_shuffleProc, 
		  NULL);
    
    button = ui_xCreateMenuButtonItem("editors", ui_controlPanel,
				      button, stepLabel);

    menu = XtCreatePopupShell("menu", simpleMenuWidgetClass, button,
			      NULL, ZERO);
    mItem = XtCreateManagedWidget("edit f-types", smeBSBObjectClass, 
				  menu, NULL, ZERO);
    sprintf(listSiteFType.msg,"Edit f-type table");
    listSiteFType.unitPtr  = NULL;
    listSiteFType.widgetPtr= button;
    listSiteFType.listType = UI_LIST_FTYPE_SITE;
    XtAddCallback(mItem, XtNcallback, (XtCallbackProc) ui_editPopup, 
		  (caddr_t) &listSiteFType);

    mItem = XtCreateManagedWidget("edit sites", smeBSBObjectClass, 
				  menu, NULL, ZERO);
    sprintf(listSiteSite.msg,"Edit site table");
    listSiteSite.unitPtr  = NULL;
    listSiteSite.widgetPtr= button;
    listSiteSite.listType = UI_LIST_SITE;
    XtAddCallback(mItem, XtNcallback, (XtCallbackProc) ui_editSitePopup, 
		  (caddr_t) &listSiteSite); 

    n=0;
    XtSetArg(args[n], XtNborderWidth, 1);n++;
    XtSetArg(args[n], XtNjustify, XtJustifyLeft); n++;
    XtSetArg(args[n], XtNinternalHeight, 0.99); n++;
    XtSetArg(args[n], XtNinternalWidth , 6); n++;
    XtSetArg(args[n], XtNfromVert , stepLabel);  n++;
    XtSetArg(args[n], XtNfromHoriz, button);  n++;
    XtSetArg(args[n], XtNvertDistance, 5); n++; 
    ui_showModeLabel = XtCreateManagedWidget("show", menuButtonWidgetClass, 
					     ui_controlPanel, args,n);
    ui_rem_showModeProc(NULL, ui_patternLoadMode, NULL); 

    n=0;
    XtSetArg(args[n], XtNvertDistance, -2); n++; 
    menu   = XtCreatePopupShell("menu",simpleMenuWidgetClass,ui_showModeLabel,
				args, n);
    entry = XtCreateManagedWidget("none", smeBSBObjectClass, menu,NULL,ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) 
		  ui_rem_showModeProc, (caddr_t) OUTPUT_NOTHING);
    entry = XtCreateManagedWidget("out", smeBSBObjectClass, menu,NULL,ZERO);
    XtAddCallback(entry, XtNcallback, 
		  (XtCallbackProc) ui_rem_showModeProc, (caddr_t) OUTPUT_OUT);
    entry = XtCreateManagedWidget("act", smeBSBObjectClass, menu,NULL,ZERO);
    XtAddCallback(entry, XtNcallback, 
		  (XtCallbackProc) ui_rem_showModeProc, (caddr_t) OUTPUT_ACT);


#ifdef PARAGON_KERNEL
    button = ui_xCreateToggleItem("parallel", ui_controlPanel, NULL, 
				  button, stepLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc) ui_rem_SwitchParallel, NULL);
#endif
#ifdef MASPAR_KERNEL
    button = ui_xCreateButtonItem("maspar", ui_controlPanel, button, stepLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_masparPannel, 
		  (caddr_t) button);
#endif

/******************************* PATTERN  **********************************/

    pattLabel = ui_xCreateLabelItem("PATTERN", ui_controlPanel,
				    titelWidth, NULL, learnLabel);

    sprintf(buf,"%d",ui_noOfCurrentPattern);
    ui_numberOfPatternWidget = ui_xCreateDialogItem("patternNo",ui_controlPanel,
						    buf, numberWidth, 
						    pattLabel, learnLabel);

    button = ui_xCreateButtonItem("delete", ui_controlPanel, 
				  ui_numberOfPatternWidget, learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc) ui_rem_deletePatternProc, NULL);

    button = ui_xCreateButtonItem("modify", ui_controlPanel, button,learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc) ui_rem_modifyPatternProc, NULL);

    button = ui_xCreateButtonItem("new", ui_controlPanel, button, learnLabel);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_rem_newPatternProc, 
		  NULL);

    button = ui_xCreateButtonItem("goto", ui_controlPanel, button, learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc) ui_rem_moveInPatternsProc, (caddr_t)UI_JUMP);

    button = ui_xCreateButtonItem("first", ui_controlPanel, button, learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc)ui_rem_moveInPatternsProc,(caddr_t) UI_FIRST);

    button = ui_xCreateButtonItem("prev", ui_controlPanel, button, learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc)ui_rem_moveInPatternsProc, 
		  (caddr_t) UI_PREVIOUS);

    button = ui_xCreateButtonItem("next", ui_controlPanel, button, learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc) ui_rem_moveInPatternsProc,(caddr_t) UI_NEXT);

    button = ui_xCreateButtonItem("last", ui_controlPanel, button, learnLabel);
    XtAddCallback(button, XtNcallback, 
		  (XtCallbackProc)ui_rem_moveInPatternsProc, (caddr_t)UI_LAST);

    button = ui_xCreateButtonItem("subpat", ui_controlPanel, button,learnLabel);
    XtAddCallback(button,XtNcallback,
		  (XtCallbackProc)ui_rem_defSubPat, (caddr_t)0);


/************************** SECOND PATTERN LINE  ***************************/


    mdelButton = ui_xCreateMenuButtonItem("del",ui_controlPanel,
					  ui_numberOfPatternWidget,pattLabel);
    REM_DFileMenu = XtCreatePopupShell("menu", simpleMenuWidgetClass, 
				       mdelButton, NULL, ZERO);

    if(PATTERN_SET_FILE[CURR_PATTERN_SET] != NULL){
	for(i=0; i<NO_OF_PATTERN_SETS;i++){
	    DELPattFileWidget[i] = XtCreateManagedWidget(PATTERN_SET_FILE[i],
						      smeBSBObjectClass,
						      REM_DFileMenu,NULL,ZERO);
	    XtAddCallback(DELPattFileWidget[i], XtNcallback, 
			  (XtCallbackProc)ui_rem_delPattSet,
			  (XtPointer) ((long)i));

	}
    }else{
	DELPattFileWidget[0] = XtCreateManagedWidget("No Files",
						     smeBSBObjectClass, 
						     REM_DFileMenu,NULL,ZERO);
	XtAddCallback(DELPattFileWidget[0], XtNcallback, 
		      (XtCallbackProc)ui_rem_delPattSet, (caddr_t)0);
    }

    museButton = ui_xCreateMenuButtonItem("use",ui_controlPanel,mdelButton,
					  pattLabel);
    REM_UFileMenu = XtCreatePopupShell("menu",simpleMenuWidgetClass,museButton,
				       NULL, ZERO);

    if(PATTERN_SET_FILE[CURR_PATTERN_SET] != NULL){
	for(i=0; i<NO_OF_PATTERN_SETS;i++){
	    USEPattFileWidget[i] = XtCreateManagedWidget(PATTERN_SET_FILE[i],
						      smeBSBObjectClass,
						      REM_UFileMenu,NULL,ZERO);
	    XtAddCallback(USEPattFileWidget[i], XtNcallback, 
			  (XtCallbackProc)ui_rem_usePattSet, 
			  (XtPointer) ((long)i));
	}
	sprintf(buf,"%s",PATTERN_SET_FILE[CURR_PATTERN_SET]);
    }else{
	USEPattFileWidget[0] = XtCreateManagedWidget("No Files",
						     smeBSBObjectClass, 
						     REM_UFileMenu,NULL,ZERO);
	XtAddCallback(USEPattFileWidget[0], XtNcallback, 
		      (XtCallbackProc)ui_rem_usePattSet, (caddr_t)0);
	sprintf(buf,"Training Pattern File ?");
    }

    ui_showPattFile = ui_xCreateLabelItem(" ", ui_controlPanel, 
					  fileWidth, museButton, pattLabel);
    ui_xSetLabel(ui_showPattFile, buf);

/******************************** TEST *************************************/

    testLabel =	ui_xCreateLabelItem("VALID", ui_controlPanel, titelWidth, NULL, 
				    mdelButton);

    sprintf(buf,"%d",ui_testFrequency);
    ui_testFrequencyWidget = ui_xCreateDialogItem("testFrequency", 
						 ui_controlPanel,buf,numberWidth,
						 testLabel,mdelButton);

    button = ui_xCreateButtonItem("validate",ui_controlPanel, 
				  ui_testFrequencyWidget,mdelButton);
    XtAddCallback(button,XtNcallback,
		  (XtCallbackProc)ui_rem_performValidate, (caddr_t)0);

    museButton = ui_xCreateMenuButtonItem("use",ui_controlPanel,button,
					  mdelButton);
    REM_UTestFileMenu = XtCreatePopupShell("menu",simpleMenuWidgetClass,
					   museButton, NULL, ZERO);

    if(PATTERN_SET_FILE[CURR_TEST_PATTERN_SET] != NULL){
       for(i=0; i<NO_OF_PATTERN_SETS;i++){
	   USETestPattFileWidget[i] = 
	       XtCreateManagedWidget(PATTERN_SET_FILE[i],smeBSBObjectClass,
				     REM_UTestFileMenu,NULL,ZERO);
	    XtAddCallback(USETestPattFileWidget[i], XtNcallback, 
			  (XtCallbackProc)ui_rem_useTestPattSet,
			  (XtPointer) ((long)i));
       }
       sprintf(buf,"%s",PATTERN_SET_FILE[CURR_TEST_PATTERN_SET]);
    }else{
	USETestPattFileWidget[0] = 
	    XtCreateManagedWidget("No Files",smeBSBObjectClass, 
				  REM_UTestFileMenu,NULL,ZERO);
	XtAddCallback(USETestPattFileWidget[0], XtNcallback, 
		      (XtCallbackProc)ui_rem_useTestPattSet, (caddr_t)0);
	sprintf(buf,"Validation Pattern File ?");
    }

    ui_showTestPattFile = ui_xCreateLabelItem(" ", ui_controlPanel, 
					      fileWidth, museButton,mdelButton);
    ui_xSetLabel(ui_showTestPattFile, buf);


/********************************** LEARN PARAMETER ************************/

    learn2Label = ui_xCreateLabelItem("LEARN", ui_controlPanel,
				      titelWidth, NULL, testLabel);

    for (i=0; i<UI_NO_LEARN_PARAMS; i++) {
	sprintf(buf,"%6.4f",ui_learnParameters[i]);
	ui_cutTrailingZeros(buf);
	ui_learnParameterWidgets[i] =
	    ui_xCreateDialogItem("learnParameter", ui_controlPanel,
				 buf, numberWidth, 
				 i==0?learn2Label:ui_learnParameterWidgets[i-1],
				 testLabel);
    }

    button = ui_xCreateMenuButtonItem("func",ui_controlPanel, 
				      ui_learnParameterWidgets[i-1], testLabel);

    sprintf(listLearnFunc.msg,"Select learning function");
    listLearnFunc.unitPtr  = NULL;
    listLearnFunc.widgetPtr= button;
    listLearnFunc.listType = UI_LIST_LEARN_FUNC;
    ui_rem_displayList(button, &listLearnFunc);




/*****************************  UPDATE PARAMETER  **************************/

    updateLabel = ui_xCreateLabelItem("UPDATE", ui_controlPanel,
				      titelWidth, NULL,  learn2Label);

    for (i=0; i<UI_NO_UPDATE_PARAMS; i++) {
	sprintf(buf,"%6.4f",ui_updateParameters[i]);
	ui_cutTrailingZeros(buf);
	ui_updateParameterWidgets[i] =
	    ui_xCreateDialogItem("updateParameter", ui_controlPanel,
				 buf, numberWidth, 
				 i==0?
			           updateLabel:ui_updateParameterWidgets[i-1], 
				 learn2Label);
    }

    button = ui_xCreateMenuButtonItem("func",ui_controlPanel, 
				  ui_updateParameterWidgets[i-1], learn2Label);
    sprintf(listUpdateFunc.msg,"Select update function");
    listUpdateFunc.unitPtr  = NULL;
    listUpdateFunc.widgetPtr= button;
    listUpdateFunc.listType = UI_LIST_UPDATE_FUNC;
    ui_rem_displayList(button, &listUpdateFunc);


/****************************** INIT PARAMETER *****************************/

    initLabel = ui_xCreateLabelItem("INIT", ui_controlPanel,
				      titelWidth, NULL, updateLabel);

    for (i=0; i<UI_NO_INIT_PARAMS; i++) {
	sprintf(buf,"%6.4f",ui_initParameters[i]);
	ui_cutTrailingZeros(buf);
	ui_initParameterWidgets[i] =
	    ui_xCreateDialogItem("initParameter", ui_controlPanel,
				 buf, numberWidth, 
				 i==0?initLabel:ui_initParameterWidgets[i-1],
				 updateLabel);
    }
    button = ui_xCreateMenuButtonItem("func",ui_controlPanel, 
				  ui_initParameterWidgets[i-1], updateLabel);

    sprintf(listInitFunc.msg,"Select init function");
    listInitFunc.unitPtr  = NULL;
    listInitFunc.widgetPtr= button;
    listInitFunc.listType = UI_LIST_INIT_FUNC;
    ui_rem_displayList(button, &listInitFunc);


/****************************** REMAP PARAMETER *****************************/

    remapLabel = ui_xCreateLabelItem("REMAP", ui_controlPanel,
				      titelWidth, NULL, initLabel);

    for (i=0; i<UI_NO_REMAP_PARAMS; i++) {
	sprintf(buf,"%6.4f",ui_remapParameters[i]);
	ui_cutTrailingZeros(buf);
	ui_remapParameterWidgets[i] =
	    ui_xCreateDialogItem("remapParameter", ui_controlPanel,
				 buf, numberWidth, 
				 i==0?remapLabel:ui_remapParameterWidgets[i-1],
				 initLabel);
    }
    button = ui_xCreateMenuButtonItem("func",ui_controlPanel, 
				  ui_remapParameterWidgets[i-1], initLabel);
    sprintf(listRemapFunc.msg,"Select remap function");
    listRemapFunc.unitPtr  = NULL;
    listRemapFunc.widgetPtr= button;
    listRemapFunc.listType = UI_LIST_REMAP_FUNC;
    ui_rem_displayList(button, &listRemapFunc);


/***************************************************************************/

    XawFormDoLayout(ui_controlPanel, True);
    ui_controlIsCreated = TRUE;
    ui_NumberOfLearnParamsChanged();
    ui_NumberOfUpdateParamsChanged();
    ui_NumberOfInitParamsChanged();
    ui_NumberOfRemapParamsChanged();
}
コード例 #4
0
void ui_xCreateSetupPanel (Widget parent, struct Ui_DisplayType *displayPtr)

{
    /* tabs for data fields and small buttons */

    Widget      topLabel, bottomLabel, lLabel, toggle, toggleLabel, scrollbar;
    Widget      button, mButton, menu, entry;
    char        buf[80];
    float       topOfThumb;
    /*
        int  fontWidth = 8;
    */
    int  titelWidth  = 15 * ui_labelFontWidth;
    int  noWidth     =  4 * ui_labelFontWidth;
    int  numberWidth =  8 * ui_labelFontWidth;
    int  nameWidth   = 15 * ui_labelFontWidth;

    /***************************************************************************/

    ui_setupPanel =
        XtCreateManagedWidget("sPanel", formWidgetClass, parent, NULL, ZERO);

    /* which display is to setup ? */
    ui_set_displayPtr =  displayPtr;


    /*****************************  OPTIONS  ***********************************/

    topLabel =
        ui_xCreateLabelItem("units top    :", ui_setupPanel,
                            titelWidth, NULL, NULL);


    toggle =
        ui_xCreateToggleItem("on", ui_setupPanel,
                             NULL, topLabel, NULL);
    ui_xSetToggleState(toggle, (ui_set_displayPtr->setup).showTitleFlg);
    XtAddCallback(toggle, XtNcallback, (XtCallbackProc) ui_set_getSetupData,
                  (caddr_t) UI_UNIT_TOP_GENERAL);

    mButton =
        ui_xCreateMenuButtonItem("show", ui_setupPanel,
                                 toggle, NULL);

    menu =
        XtCreatePopupShell("menu", simpleMenuWidgetClass, mButton,
                           NULL, ZERO);

    entry =
        XtCreateManagedWidget("name", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc, (caddr_t) UI_NAME);
    entry =
        XtCreateManagedWidget("number", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc, (caddr_t) UI_NUMBER);
    entry =
        XtCreateManagedWidget("z-value", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc, (caddr_t) UI_ZVALUE);

    entry =
        XtCreateManagedWidget("winner", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc, (caddr_t) UI_WINNER);

    ui_showTopLabel =
        ui_xCreateLabelItem(" ", ui_setupPanel,
                            nameWidth, mButton,   NULL);

    ui_set_showProc(NULL, (ui_set_displayPtr->setup).showTitle, NULL);
    /* initial value */


    bottomLabel =
        ui_xCreateLabelItem("      bottom :", ui_setupPanel,
                            titelWidth, NULL, topLabel);

    toggle =
        ui_xCreateToggleItem("on", ui_setupPanel,
                             NULL, bottomLabel, topLabel);
    ui_xSetToggleState(toggle, (ui_set_displayPtr->setup).showValueFlg);
    XtAddCallback(toggle, XtNcallback, (XtCallbackProc) ui_set_getSetupData,
                  (caddr_t) UI_UNIT_BOTTOM_GENERAL);

    mButton =
        ui_xCreateMenuButtonItem("show", ui_setupPanel,
                                 toggle, topLabel);

    menu =
        XtCreatePopupShell("menu", simpleMenuWidgetClass, mButton,
                           NULL, ZERO);

    entry =
        XtCreateManagedWidget("activation", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc,
                  (caddr_t) UI_ACTIVATION);
    entry =
        XtCreateManagedWidget("initial act.", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc,
                  (caddr_t) UI_INITIAL_ACTIVATION);
    entry =
        XtCreateManagedWidget("output", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc, (caddr_t) UI_OUTPUT);
    entry =
        XtCreateManagedWidget("bias", smeBSBObjectClass, menu,
                              NULL, ZERO);
    XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_showProc, (caddr_t) UI_BIAS);

    ui_showBottomLabel =
        ui_xCreateLabelItem(" ", ui_setupPanel,
                            nameWidth, mButton,   topLabel);
    ui_set_showProc(NULL, (ui_set_displayPtr->setup).showValue, NULL);
    /* initial value */


    lLabel =
        ui_xCreateLabelItem("links        :", ui_setupPanel,
                            titelWidth, NULL, bottomLabel);

    toggle =
        ui_xCreateToggleItem("on", ui_setupPanel,
                             NULL, lLabel, bottomLabel);
    ui_xSetToggleState(toggle, (ui_set_displayPtr->setup).showLinkFlg);
    XtAddCallback(toggle, XtNcallback, (XtCallbackProc) ui_set_getSetupData,
                  (caddr_t) UI_LINK_GENERAL);
    toggle =
        ui_xCreateToggleItem("value",     ui_setupPanel,
                             NULL, toggle, bottomLabel);
    ui_xSetToggleState(toggle, (ui_set_displayPtr->setup).showWeightFlg);
    XtAddCallback(toggle, XtNcallback, (XtCallbackProc) ui_set_getSetupData,
                  (caddr_t) UI_LINK_VALUE);

    toggle =
        ui_xCreateToggleItem("direction",  ui_setupPanel,
                             NULL, toggle, bottomLabel);
    ui_xSetToggleState(toggle, (ui_set_displayPtr->setup).showDirectionFlg);
    XtAddCallback(toggle, XtNcallback, (XtCallbackProc) ui_set_getSetupData,
                  (caddr_t) UI_LINK_DIRECTION);


    button =
        ui_xCreateButtonItem("layers",    ui_setupPanel,
                             NULL, toggle);
    XtAddCallback(button, XtNcallback, (XtCallbackProc) ui_set_assignLayers, NULL);

    if (ui_col_colorDisplay) {
        mButton =
            ui_xCreateButtonItem("color", ui_setupPanel,
                                 button, toggle);
        XtAddCallback(mButton, XtNcallback, (XtCallbackProc) ui_createColorEditPannel,
                      (Widget) mButton);
    } else {
        mButton =
            ui_xCreateMenuButtonItem("color", ui_setupPanel,
                                     button, toggle);
        menu =
            XtCreatePopupShell("menu", simpleMenuWidgetClass, mButton,
                               NULL, ZERO);

        entry =
            XtCreateManagedWidget("black on white", smeBSBObjectClass, menu,
                                  NULL, ZERO);
        XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_colorProc,
                      (caddr_t) UI_PALETTE_MONO);
        entry =
            XtCreateManagedWidget("white on black", smeBSBObjectClass, menu,
                                  NULL, ZERO);
        XtAddCallback(entry, XtNcallback, (XtCallbackProc) ui_set_colorProc,
                      (caddr_t) UI_PALETTE_MONO_INVERSE);
    }

    /*    lLabel =
    	ui_xCreateLabelItem("units positiv: ", ui_setupPanel,
    			    titelWidth, NULL, button);

        topOfThumb = (float) ((ui_set_displayPtr->setup).unitPosTrigger / ui_maxAct);
        scrollbar =
    	ui_xCreateScrollbarItem("trigger", ui_setupPanel, 200, topOfThumb,
    				topLabel, button);
        XtAddCallback(scrollbar, XtNjumpProc, (XtCallbackProc) ui_thumbed, (caddr_t) UNITS_POS);


        toggleLabel =
    	ui_xCreateLabelItem("units negativ:", ui_setupPanel,
    			   titelWidth, NULL, scrollbar);

        topOfThumb = (ui_set_displayPtr->setup).unitNegTrigger / ui_minAct;
        scrollbar =
    	ui_xCreateScrollbarItem("trigger", ui_setupPanel, 200, topOfThumb,
    			       topLabel, scrollbar);
        XtAddCallback(scrollbar, XtNjumpProc, (XtCallbackProc) ui_thumbed, (caddr_t) UNITS_NEG);
    */

    toggleLabel =
        ui_xCreateLabelItem("links positiv:", ui_setupPanel,
                            titelWidth, NULL, button);

    topOfThumb = (float) (ui_set_displayPtr->setup).linkPosTrigger / ui_maxWeight;
    scrollbar =
        ui_xCreateScrollbarItem("trigger", ui_setupPanel, 200, topOfThumb,
                                topLabel, button);
    XtAddCallback(scrollbar, XtNjumpProc, (XtCallbackProc) ui_thumbed, (caddr_t) UI_LINKS_POS);


    toggleLabel =
        ui_xCreateLabelItem("links negativ:", ui_setupPanel,
                            titelWidth, NULL, scrollbar);

    topOfThumb = (float) (ui_set_displayPtr->setup).linkNegTrigger / ui_minWeight;
    scrollbar =
        ui_xCreateScrollbarItem("trigger", ui_setupPanel, 200, topOfThumb,
                                topLabel, scrollbar);
    XtAddCallback(scrollbar, XtNjumpProc, (XtCallbackProc) ui_thumbed, (caddr_t) UI_LINKS_NEG);


    if (ui_col_colorDisplay) {
        toggleLabel =
            ui_xCreateLabelItem("links scale  :", ui_setupPanel,
                                titelWidth, NULL, scrollbar);

        topOfThumb =
            (float) (ui_set_displayPtr->setup).linkScaleFactor / 10.0;
        scrollbar =
            ui_xCreateScrollbarItem("trigger", ui_setupPanel, 200, topOfThumb,
                                    topLabel, scrollbar);
        XtAddCallback(scrollbar, XtNjumpProc, (XtCallbackProc) ui_thumbed,
                      (caddr_t) UI_SCALE_LINKS);
    }

    toggleLabel =
        ui_xCreateLabelItem("units scale  :", ui_setupPanel,
                            titelWidth, NULL, scrollbar);

    topOfThumb = (float) (ui_set_displayPtr->setup).unitScaleFactor / ui_maxAct;
    scrollbar =
        ui_xCreateScrollbarItem("trigger", ui_setupPanel, 200, topOfThumb,
                                topLabel, scrollbar);
    XtAddCallback(scrollbar, XtNjumpProc, (XtCallbackProc) ui_thumbed, (caddr_t) UI_SCALE_FACTOR);


    toggleLabel =
        ui_xCreateLabelItem("grid width   :", ui_setupPanel,
                            titelWidth, NULL, scrollbar);

    sprintf(buf,"%d", ui_set_displayPtr->gridSize);
    ui_set_gridWidthWidget =
        ui_xCreateDialogItem("gridWidth", ui_setupPanel, buf, noWidth,
                             topLabel, scrollbar);


    toggleLabel =
        ui_xCreateLabelItem("origin (grid):", ui_setupPanel,
                            titelWidth, NULL, toggleLabel);

    sprintf(buf,"%d", ui_set_displayPtr->origin.x);
    ui_set_originXWidget =
        ui_xCreateDialogItem("origin", ui_setupPanel, buf, numberWidth,
                             topLabel, ui_set_gridWidthWidget);

    sprintf(buf,"%d", ui_set_displayPtr->origin.y);
    ui_set_originYWidget =
        ui_xCreateDialogItem("origin", ui_setupPanel, buf, numberWidth,
                             ui_set_originXWidget, ui_set_gridWidthWidget);

    toggleLabel =
        ui_xCreateLabelItem("subnet number:", ui_setupPanel,
                            titelWidth, NULL, toggleLabel);

    sprintf(buf,"%d", ui_set_displayPtr->subNetNo);
    ui_set_subnetWidget =
        ui_xCreateDialogItem("subnetNo", ui_setupPanel, buf, numberWidth,
                             toggleLabel, ui_set_originXWidget);


    toggleLabel =
        ui_xCreateLabelItem("z-value      :", ui_setupPanel,
                            titelWidth, NULL, toggleLabel);

    sprintf(buf,"%d", ui_actualZvalue);
    ui_set_zWidget =
        ui_xCreateDialogItem("zValue", ui_setupPanel, buf, numberWidth,
                             toggleLabel, ui_set_subnetWidget);


    /***************************************************************************/

    XawFormDoLayout(ui_setupPanel, TRUE);
    ui_setupIsCreated = TRUE;
}