/***************************************************************************** FILE : $Source: /projects/higgs1/SNNS/CVS/SNNS/xgui/sources/ui_setup.c,v $ SHORTNAME : setup.c SNNS VERSION : 4.2 PURPOSE : NOTES : AUTHOR : Tilman Sommer DATE : 26.6.1990 CHANGED BY : RCS VERSION : $Revision: 2.10 $ LAST CHANGE : $Date: 1998/03/03 14:10:43 $ Copyright (c) 1990-1995 SNNS Group, IPVR, Univ. Stuttgart, FRG Copyright (c) 1996-1998 SNNS Group, WSI, Univ. Tuebingen, FRG ******************************************************************************/ #include #include #include "ui.h" #include #include #include #include #include #include #include #include "ui_xWidgets.h" #include "ui_setupP.h" #include "ui_display.h" #include "ui_colEdit.h" #include "ui_main.h" /* ui_labelFontWidth */ #include "ui_mainP.h" #include "ui_color.h" #include "ui_action.h" #include "ui_setup.ph" /***************************************************************************** FUNCTION : ui_set_initData PURPOSE : init setup data of specified display RETURNS : void NOTES : UPDATE : 1.2.1990 ******************************************************************************/ void ui_set_initData (struct Ui_DisplayType *displayPtr) { (displayPtr->setup).showLinkFlg = FALSE; (displayPtr->setup).showDirectionFlg = FALSE; (displayPtr->setup).showWeightFlg = FALSE; (displayPtr->setup).showValue = UI_ACTIVATION; (displayPtr->setup).showTitle = UI_NUMBER; (displayPtr->setup).showTitleFlg = TRUE; (displayPtr->setup).showValueFlg = TRUE; (displayPtr->setup).linkNegTrigger = 0.0; (displayPtr->setup).linkPosTrigger = 0.0; (displayPtr->setup).unitScaleFactor = 1.0; (displayPtr->setup).linkScaleFactor = 5.0; if (NOT ui_col_monochromeMode) { (displayPtr->setup).backgroundColorIndex = ui_initalBackgroundColorIndex; (displayPtr->setup).selectionColorIndex = ui_initalSelectionColorIndex; (displayPtr->setup).textColorIndex = ui_initalTextColorIndex; } else { (displayPtr->setup).backgroundColorIndex = UI_WHITE; (displayPtr->setup).selectionColorIndex = UI_YELLOW; (displayPtr->setup).textColorIndex = UI_BLACK; } sprintf((displayPtr->setup).siteName," "); } /***************************************************************************** FUNCTION : ui_xCreateSetupPanel PURPOSE : creates a form widget for for all setup elements RETURNS : void NOTES : some constants are used (see below) to get a relativ positioning of the items. This is VERY useful after changings. UPDATE : 28.8.1991 *****************************************************************************/ 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; } /* end of file */ /* lines: 403 */