static void color_lock(Widget widget, XtPointer client_data, XtPointer calldata) { struct ida_coledit *me = client_data; XmToggleButtonCallbackStruct *cb = calldata; Widget label,button; label = XmOptionLabelGadget(me->vals); button = XmOptionButtonGadget(me->vals); me->lock = cb->set; XtVaSetValues(label,XtNsensitive,!me->lock,NULL); XtVaSetValues(button,XtNsensitive,!me->lock,NULL); }
void FromWhere(Widget w, XtPointer client_data, XtPointer call_data) { Arg args[1]; Widget whichWidget; XFontStruct *fnt; XmFontList font1; whichWidget = XmGetPostedFromWidget ((Widget) client_data); XtSetArg(args[0], XmNshadowThickness, 4); XtSetValues ((XmOptionButtonGadget(whichWidget)), args, 1); fnt = XLoadQueryFont(XtDisplay(Shell1), "8x13bold"); font1 = XmFontListCreate(fnt, XmSTRING_DEFAULT_CHARSET); XtSetArg (args[0], XmNfontList, font1); XtSetValues ((XmOptionLabelGadget(whichWidget)), args, 1); }
Widget _DtTermViewCreateGlobalOptionsDialog ( Widget parent ) { OptionsDialogType *options; Widget cursorFrame; Widget cursorForm; Widget backgroundFrame; Widget backgroundForm; Widget scrollFrame; Widget scrollForm; Widget bellFrame; Widget bellForm; Widget label; Widget pulldown; Widget tmp; Widget separator; Widget button; Widget cancel; Widget reset; XmString string; XmString helpString; XmString okString; XmString cancelString; XmString resetString; Arg al[20]; int ac; _DtTermViewLineupList *lineupList; DtTermViewWidget tw = (DtTermViewWidget) parent; options = (OptionsDialogType *) XtMalloc(sizeof(OptionsDialogType)); (void) memset(options, '\0', sizeof(*options)); options->dtterm = tw->termview.term; ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,34, "Terminal - Global Options"))); okString = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,2, "OK"))); cancelString = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,3, "Cancel"))); helpString = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,4, "Help"))); resetString = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,33, "Reset"))); (void) XtSetArg(al[ac], XmNdialogTitle, string); ac++; (void) XtSetArg(al[ac], XmNokLabelString, okString); ac++; (void) XtSetArg(al[ac], XmNcancelLabelString, cancelString); ac++; (void) XtSetArg(al[ac], XmNhelpLabelString, helpString); ac++; (void) XtSetArg(al[ac], XmNautoUnmanage, False); ac++; options->dialog = XmCreateTemplateDialog(parent, (GETMESSAGE(NL_SETN_ViewGlobalDialog,5, "global")), al, ac); (void) XmStringFree(okString); (void) XmStringFree(cancelString); (void) XmStringFree(helpString); (void) XtSetArg(al[0], XmNlabelString, resetString); reset = XmCreatePushButtonGadget(options->dialog, "ResetButton", al, 1); XtManageChild(reset); (void) XmStringFree(resetString); (void) XtAddCallback(reset, XmNactivateCallback, MapGlobalOptionsDialogCallback, (XtPointer) options); (void) XtAddCallback(options->dialog, XmNokCallback, OkGlobalOptionsDialogCallback, (XtPointer) options); (void) XtAddCallback(options->dialog, XmNcancelCallback, CancelGlobalOptionsDialogCallback, (XtPointer) options); (void) XtAddCallback(options->dialog, XmNmapCallback, MapGlobalOptionsDialogCallback, (XtPointer) options); (void) XtAddCallback(options->dialog, XmNhelpCallback, HelpTerminalOptionsCallback, (XtPointer) tw); options->shell = XtParent(options->dialog); ac = 0; (void) XtSetArg(al[ac], XmNallowShellResize, False); ac++; (void) XtSetValues(options->shell, al, ac); ac = 0; options->form = XmCreateForm(options->dialog, "form", al, ac); (void) XtManageChild(options->form); /**************************************************************** **************************************************************** *** Cursor parameters... ***/ ac = 0; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], DtNmarginWidth, 5); ac++; (void) XtSetArg(al[ac], DtNmarginHeight, 5); ac++; cursorFrame = XmCreateFrame(options->form, "cursorFrame", al, ac); (void) XtManageChild(cursorFrame); ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,6, "Cursor Control"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; (void) XtSetArg(al[ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++; (void) XtSetArg(al[ac], XmNtraversalOn, False); ac++; label = XmCreateLabelGadget(cursorFrame, "cursorFrameLabel", al, ac); (void) XmStringFree(string); (void) XtManageChild(label); ac = 0; cursorForm = XmCreateForm(cursorFrame, "cursorForm", al, ac); /**************************************************************** * option menu: type [ box | underline ] */ pulldown = _DtTermViewCreatePulldown(cursorForm, "cursorTypePulldown"); options->cursor.type.box = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,7, "Box")), NoSymbol, NULL, NULL, NULL, NULL); options->cursor.type.underline = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,8, "Underline")), NoSymbol, NULL, NULL, NULL, NULL); options->cursor.type.invisible = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,14, "Invisible")), NoSymbol, NULL, NULL, NULL, NULL); ac = 0; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; tmp = _DtTermViewCreateOptionMenu(cursorForm, pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,9, "Cursor Style")), NoSymbol, al, ac); options->cursor.type.option = tmp; /* add to the lineup list... */ lineupList = _DtTermViewLineupListCreate(); (void) _DtTermViewLineupListAddItem(lineupList, XmOptionLabelGadget(options->cursor.type.option), options->cursor.type.option, CORRECTION_OPTION_MENU); /**************************************************************** * option menu: blink [ on | off ] */ pulldown = _DtTermViewCreatePulldown(cursorForm, "cursorBlinkPulldown"); (void) XtAddCallback(pulldown, XmNentryCallback, CursorBlinkCallback, (XtPointer) options); options->cursor.blink.on = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,10, "Enabled")), NoSymbol, NULL, NULL, NULL, NULL); options->cursor.blink.off = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,11, "Disabled")), NoSymbol, NULL, NULL, NULL, NULL); ac = 0; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, tmp); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; tmp = _DtTermViewCreateOptionMenu(cursorForm, pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,12, "Blinking Cursor")), NoSymbol, al, ac); options->cursor.blink.option = tmp; /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, XmOptionLabelGadget(options->cursor.blink.option), options->cursor.blink.option, CORRECTION_OPTION_MENU); /**************************************************************** * text field: blink rate _250_ */ ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,13, "Blink Rate (milliseconds)"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, tmp); ac++; (void) XtSetArg(al[ac], XmNbottomAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtraversalOn, False); ac++; options->cursor.blinkRate.label = XmCreateLabelGadget(cursorForm, "blinkRateLabel", al, ac); (void) XmStringFree(string); (void) XtManageChild(options->cursor.blinkRate.label); ac = 0; (void) XtSetArg(al[ac], DtNcolumns, 4); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNleftWidget, options->cursor.blinkRate.label); ac++; (void) XtSetArg(al[ac], XmNleftOffset, CORRECTION_TEXT_OFFSET); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, tmp); ac++; (void) XtSetArg(al[ac], XmNnavigationType, XmNONE); ac++; options->cursor.blinkRate.text = XmCreateTextField(cursorForm, (GETMESSAGE(NL_SETN_ViewGlobalDialog,15, "blinkRate")), al, ac); (void) XtManageChild(options->cursor.blinkRate.text); options->cursor.blinkRate.oldBlinkRate = 0; /* make the label and textfield the same height... */ _DtTermViewEqualizeHeights(options->cursor.blinkRate.label, options->cursor.blinkRate.text); /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, options->cursor.blinkRate.label, options->cursor.blinkRate.text, CORRECTION_LABEL); /* manage the cursor form... */ (void) XtManageChild(cursorForm); /**************************************************************** **************************************************************** **** Background parameters... ***/ ac = 0; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, cursorFrame); ac++; (void) XtSetArg(al[ac], XmNtopOffset, 5); ac++; (void) XtSetArg(al[ac], DtNmarginWidth, 5); ac++; (void) XtSetArg(al[ac], DtNmarginHeight, 5); ac++; backgroundFrame = XmCreateFrame(options->form, "backgroundFrame", al, ac); (void) XtManageChild(backgroundFrame); ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,16, "Color Control"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; (void) XtSetArg(al[ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++; (void) XtSetArg(al[ac], XmNtraversalOn, False); ac++; label = XmCreateLabelGadget(backgroundFrame, "backgroundFrameLabel", al, ac); (void) XmStringFree(string); (void) XtManageChild(label); ac = 0; backgroundForm = XmCreateForm(backgroundFrame, "backgroundForm", al, ac); /**************************************************************** * option menu: inverse video [on | off ] */ pulldown = _DtTermViewCreatePulldown(backgroundForm, "inverseVideoPulldown"); options->background.inverse.off = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,18, "Normal")), NoSymbol, NULL, NULL, NULL, NULL); options->background.inverse.on = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,17, "Inverse")), NoSymbol, NULL, NULL, NULL, NULL); ac = 0; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNbottomAttachment, XmATTACH_FORM); ac++; tmp = _DtTermViewCreateOptionMenu(backgroundForm, pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,19, "Window Background")), NoSymbol, al, ac); options->background.inverse.option = tmp; /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, XmOptionLabelGadget(options->background.inverse.option), options->background.inverse.option, CORRECTION_OPTION_MENU); /* manage the cursor form... */ (void) XtManageChild(backgroundForm); /**************************************************************** **************************************************************** **** Scroll parameters... ***/ ac = 0; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, backgroundFrame); ac++; (void) XtSetArg(al[ac], XmNtopOffset, 5); ac++; (void) XtSetArg(al[ac], DtNmarginWidth, 5); ac++; (void) XtSetArg(al[ac], DtNmarginHeight, 5); ac++; scrollFrame = XmCreateFrame(options->form, "scrollFrame", al, ac); (void) XtManageChild(scrollFrame); ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,20, "Scroll Behavior"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; (void) XtSetArg(al[ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++; (void) XtSetArg(al[ac], XmNtraversalOn, False); ac++; label = XmCreateLabelGadget(scrollFrame, "scrollFrameLabel", al, ac); (void) XmStringFree(string); (void) XtManageChild(label); ac = 0; scrollForm = XmCreateForm(scrollFrame, "scrollForm", al, ac); /**************************************************************** * option menu: type [jump | smooth ] */ pulldown = _DtTermViewCreatePulldown(scrollForm, "ScrollTypePulldown"); options->scroll.type.jump = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,21, "Disabled")), NoSymbol, NULL, NULL, NULL, NULL); options->scroll.type.smooth = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,22, "Enabled")), NoSymbol, NULL, NULL, NULL, NULL); ac = 0; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNbottomAttachment, XmATTACH_FORM); ac++; tmp = _DtTermViewCreateOptionMenu(scrollForm, pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,23, "Smooth Scrolling")), NoSymbol, al, ac); options->scroll.type.option = tmp; /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, XmOptionLabelGadget(options->scroll.type.option), options->scroll.type.option, CORRECTION_OPTION_MENU); /* manage the cursor form... */ (void) XtManageChild(scrollForm); /**************************************************************** **************************************************************** *** Bell parameters... ***/ ac = 0; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, scrollFrame); ac++; (void) XtSetArg(al[ac], XmNtopOffset, 5); ac++; (void) XtSetArg(al[ac], DtNmarginWidth, 5); ac++; (void) XtSetArg(al[ac], DtNmarginHeight, 5); ac++; bellFrame = XmCreateFrame(options->form, "bellFrame", al, ac); (void) XtManageChild(bellFrame); ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,24, "Bell Control"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; (void) XtSetArg(al[ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++; (void) XtSetArg(al[ac], XmNtraversalOn, False); ac++; label = XmCreateLabelGadget(bellFrame, "bellFrameLabel", al, ac); (void) XmStringFree(string); (void) XtManageChild(label); ac = 0; bellForm = XmCreateForm(bellFrame, "bellForm", al, ac); /**************************************************************** * option menu: Type [audible | visible ] */ pulldown = _DtTermViewCreatePulldown(bellForm, "typePulldown"); options->bell.type.audible = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,25, "Audible")), NoSymbol, NULL, NULL, NULL, NULL); options->bell.type.visual = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,26, "Visible")), NoSymbol, NULL, NULL, NULL, NULL); ac = 0; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; tmp = _DtTermViewCreateOptionMenu(bellForm, pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,27, "Bell Type")), NoSymbol, al, ac); options->bell.type.option = tmp; /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, XmOptionLabelGadget(options->bell.type.option), options->bell.type.option, CORRECTION_OPTION_MENU); /**************************************************************** * option menu: Margin Bell [on | off ] */ pulldown = _DtTermViewCreatePulldown(bellForm, "bellMarginPulldown"); (void) XtAddCallback(pulldown, XmNentryCallback, BellMarginCallback, (XtPointer) options); options->bell.bellMargin.on = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,28, "Enabled")), NoSymbol, NULL, NULL, NULL, NULL); options->bell.bellMargin.off = _DtTermViewCreatePushButton(pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,29, "Disabled")), NoSymbol, NULL, NULL, NULL, NULL); ac = 0; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, tmp); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++; tmp = _DtTermViewCreateOptionMenu(bellForm, pulldown, (GETMESSAGE(NL_SETN_ViewGlobalDialog,30, "Margin Warning")), NoSymbol, al, ac); options->bell.bellMargin.option = tmp; /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, XmOptionLabelGadget(options->bell.bellMargin.option), options->bell.bellMargin.option, CORRECTION_OPTION_MENU); /**************************************************************** * text field: Margin _8_ */ ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,31, "Margin Distance"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, tmp); ac++; (void) XtSetArg(al[ac], XmNbottomAttachment, XmATTACH_FORM); ac++; (void) XtSetArg(al[ac], XmNtraversalOn, False); ac++; options->bell.bellMarginDistance.label = XmCreateLabelGadget(bellForm, "bellMarginDistanceLabel", al, ac); (void) XmStringFree(string); (void) XtManageChild(options->bell.bellMarginDistance.label); ac = 0; (void) XtSetArg(al[ac], DtNcolumns, 3); ac++; (void) XtSetArg(al[ac], XmNleftAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNleftWidget, options->bell.bellMarginDistance.label); ac++; (void) XtSetArg(al[ac], XmNleftOffset, CORRECTION_TEXT_OFFSET); ac++; (void) XtSetArg(al[ac], XmNtopAttachment, XmATTACH_WIDGET); ac++; (void) XtSetArg(al[ac], XmNtopWidget, tmp); ac++; (void) XtSetArg(al[ac], XmNnavigationType, XmNONE); ac++; options->bell.bellMarginDistance.text = XmCreateTextField(bellForm, "margin", al, ac); (void) XtManageChild(options->bell.bellMarginDistance.text); /* make the label and textfield the same height... */ _DtTermViewEqualizeHeights(options->bell.bellMarginDistance.label, options->bell.bellMarginDistance.text); /* add to the lineup list... */ (void) _DtTermViewLineupListAddItem(lineupList, options->bell.bellMarginDistance.label, options->bell.bellMarginDistance.text, CORRECTION_LABEL); /* manage the margin form... */ (void) XtManageChild(bellForm); /* lineup all the labels... */ (void) _DtTermViewLineupListLineup(lineupList); (void) _DtTermViewLineupListFree(lineupList); lineupList = (_DtTermViewLineupList *) 0; /* create the apply button... */ ac = 0; string = XmStringCreateLocalized((GETMESSAGE(NL_SETN_ViewGlobalDialog,32, "Apply"))); (void) XtSetArg(al[ac], XmNlabelString, string); ac++; button = XmCreatePushButtonGadget(options->dialog, "apply", al, ac); (void) XmStringFree(string); (void) XtAddCallback(button, XmNactivateCallback, ApplyGlobalOptionsDialogCallback, (XtPointer) options); (void) XtManageChild(button); ac = 0; (void) XtSetArg(al[ac], XmNmwmFunctions, MWM_FUNC_MOVE); ac++; (void) XtSetArg(al[ac], XmNmwmDecorations, MWM_DECOR_MENU | MWM_DECOR_BORDER | MWM_DECOR_TITLE); ac++; (void) XtSetValues(options->shell, al, ac); (void) XtManageChild(options->dialog); return(options->dialog); }