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); }
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); } }
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(); }
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; }