Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
Arquivo: udcexp.c Projeto: juddy/edcde
void selcharcd(Exc_data * ed)
{
    Widget		mainw, selcd, ok, cancel;
    Widget		slctLabel, form;
    Arg			args[20];
    Cardinal		n;
    char		*oklabel;
    char		*cancellabel;
    XmString		*xmslist;
    extern ListData	*ld;
    char		*p;

    oklabel = GETMESSAGE(10, 6, "OK");
    cancellabel = GETMESSAGE(10, 8, "Cancel");

    n = 0;
    XtSetArg(args[n], XmNautoUnmanage, False); n++;
    XtSetArg(args[n], XmNtitle, maintitle); n++;
    mainw = XmCreateTemplateDialog(ed->toplevel, "mainw", args, n);

    n = 0;
    form = XmCreateForm( mainw, "form", args, n);
    XtManageChild(form);

    p = GETMESSAGE(10, 10, "glyph indexes");
    n = 0;
    XtSetArg( args[n], XmNx,		20 ) ;  n++;
    XtSetArg( args[n], XmNheight,       20 ) ;	n++ ;
    XtSetArg( args[n], XmNtopAttachment, XmATTACH_FORM ) ; n++ ;
    XtSetArg( args[n], XmNtopOffset,    10 ) ;	n++ ;
    slctLabel = XmCreateLabel( form, p, args, n);
    XtManageChild(slctLabel);

    n = 0;
    xmslist = setxmslist(ld);
    XtSetArg( args[n], XmNleftAttachment,	XmATTACH_FORM ) ; n++ ;
    XtSetArg( args[n], XmNleftOffset,	20 ) ;		n++ ;
    XtSetArg( args[n], XmNtopAttachment,	XmATTACH_WIDGET ); n++ ;
    XtSetArg( args[n], XmNtopOffset,	5 ) ;		n++ ;
    XtSetArg( args[n], XmNwidth,	200 ) ;		n++ ;
    XtSetArg (args[n], XmNtopWidget,	slctLabel );	n++;
    XtSetArg(args[n], XmNitems, xmslist); n++;
    XtSetArg(args[n], XmNitemCount, ld->existcode_num); n++;
    XtSetArg(args[n], XmNvisibleItemCount, 10); n++;
    XtSetArg(args[n], XmNlistSizePolicy, XmCONSTANT); n++;
    XtSetArg(args[n], XmNscrollBarDisplayPolicy, XmAS_NEEDED); n++;
    XtSetArg(args[n], XmNselectionPolicy, XmEXTENDED_SELECT); n++;    
    selcd = XmCreateScrolledList(form, "Select codes", args, n);
    freexmslist(ld, xmslist);
    XtManageChild(selcd);

    ld->list = selcd;

    ok = excCreatePushButton(mainw, "ok", oklabel,
			     (XtCallbackProc) selcharokCB, (XtPointer) ld);

    cancel = excCreatePushButton(mainw, "cancel", cancellabel,
				 (XtCallbackProc) selcharcancelCB,
				 (XtPointer) ld);

    XtManageChild(mainw);
}
Exemplo n.º 3
0
int NewDialog(char *player1, char *player2, float *SecPerMove)
{
    Widget dialog,form,subform,label,text[3];
    Arg args[6];
    XmString ok,cancel,title;
    int i,n=0;
    char buf[32],*field1,*field2,*field3;
    
    ok = XmStringCreateLocalized("OK");
    cancel = XmStringCreateLocalized("Cancel");
    title = XmStringCreateLocalized("New Game");
    XtSetArg(args[n],XmNautoUnmanage, False); n++;
    XtSetArg(args[n],XmNokLabelString, ok); n++;
    XtSetArg(args[n],XmNcancelLabelString, cancel); n++;
    XtSetArg(args[n],XmNdialogTitle, title); n++;
    XtSetArg(args[n],XmNdialogStyle, XmDIALOG_FULL_APPLICATION_MODAL); n++;
    dialog = (Widget) XmCreateTemplateDialog(mainWidget,"new",args,n);
    XtAddCallback(dialog,XmNokCallback, newcallback, NULL);
    XtAddCallback(dialog,XmNcancelCallback, newcallback, NULL);
    XmStringFree(ok);
    XmStringFree(cancel);
    XmStringFree(title);

    form = XtVaCreateWidget("form",
        xmFormWidgetClass,dialog,
        XmNautoUnmanage, False,
        NULL);

    for(i=0; i<3; i++) {
        subform = XtVaCreateWidget("subform",
            xmFormWidgetClass, form,
            XmNtopAttachment, i ? XmATTACH_WIDGET : XmATTACH_FORM,
            XmNtopWidget, subform,
            XmNleftAttachment, XmATTACH_FORM,
            XmNrightAttachment, XmATTACH_FORM,
            NULL);

        if(i<2) sprintf(buf,"Player %d:",i+1); 
            else sprintf(buf,"Seconds per move:");
        label = XtVaCreateManagedWidget(buf,
            xmLabelGadgetClass, subform,
            XmNtopAttachment, XmATTACH_FORM,
            XmNbottomAttachment, XmATTACH_FORM,
            XmNleftAttachment, XmATTACH_FORM,
            XmNalignment, XmALIGNMENT_BEGINNING,
            NULL);

        sprintf(buf, "text_%d",i);
        text[i] = XtVaCreateManagedWidget(buf,
            xmTextFieldWidgetClass, subform,
            XmNtopAttachment, XmATTACH_FORM,
            XmNbottomAttachment, XmATTACH_FORM,
            XmNrightAttachment, XmATTACH_FORM,
            XmNleftAttachment, XmATTACH_WIDGET,
            XmNleftWidget, label,
            XmNvalue, xval[i],
            NULL);
        XtManageChild(subform);
    }
    XtManageChild(dialog);
    XtManageChild(form);
    XtRealizeWidget(dialog);
    dialog_open = 1;    
    cancelled = 0;
    while(dialog_open) HandleEvents();
    field1 = XmTextFieldGetString(text[0]);
    field2 = XmTextFieldGetString(text[1]);
    field3 = XmTextFieldGetString(text[2]);    
    XtDestroyWidget(dialog);
    strcpy(player1,field1); strcpy(xval[0],field1); XtFree(field1);
    strcpy(player2,field2); strcpy(xval[1],field2); XtFree(field2);
    *SecPerMove = (float) atof(field3); strcpy(xval[2],field3); XtFree(field3);
    if(cancelled) return 0; else return 1;
}
Exemplo n.º 4
0
void XFE_ReadAttachPanel::displayAttachmentProperties(int pos)
{
    if (pos<0 || pos>=_numItems)
        return;

    if (!_propertiesDialog) {
        // create properties dialog
        Arg args[20];
        int n;

        Visual *v=0;
        Colormap cmap=0;
        Cardinal depth=0;

        Widget shell=getBaseWidget();
        while (!XtIsShell(shell)) shell=XtParent(shell);
        XtVaGetValues(shell,XtNvisual,&v,XtNcolormap,&cmap,XtNdepth,&depth,NULL);

        Pixel bg;
        XtVaGetValues(getBaseWidget(),XmNbackground,&bg,NULL);
        fe_icon attachIcon={ 0 };
        fe_MakeIcon(_context,bg, &attachIcon, NULL,
		M_ToggleAttach.width, M_ToggleAttach.height,
		M_ToggleAttach.mono_bits, M_ToggleAttach.color_bits, M_ToggleAttach.mask_bits,
		FALSE);

        n=0;
        XtSetArg(args[n],XmNvisual,v); n++;
        XtSetArg(args[n],XmNdepth,depth); n++;
        XtSetArg(args[n],XmNcolormap,cmap); n++;
        XtSetArg(args[n],XmNdeleteResponse,XmUNMAP);n++;
        XtSetArg(args[n],XmNautoUnmanage,TRUE);n++;
        XtSetArg(args[n],XmNdialogStyle,XmDIALOG_MODELESS);n++;
        XtSetArg(args[n],XmNmwmFunctions,MWM_FUNC_MOVE|MWM_FUNC_CLOSE);n++;
        XtSetArg(args[n],XmNmwmDecorations,MWM_DECOR_BORDER|MWM_DECOR_TITLE|MWM_DECOR_MENU);n++;
        if (attachIcon.pixmap) {
            XtSetArg(args[n],XmNsymbolPixmap,attachIcon.pixmap);n++;
        }
        _propertiesDialog=XmCreateTemplateDialog(getBaseWidget(),"attachmentProps",args,n);
        fe_HackDialogTranslations(_propertiesDialog);
        fe_NukeBackingStore(_propertiesDialog);

        Widget form=XmCreateForm(_propertiesDialog,"form",NULL,0);
        XtManageChild(form);
        
        n=0;
        XtSetArg(args[n],XmNpacking,XmPACK_COLUMN); n++;
        XtSetArg(args[n],XmNnumColumns,1); n++;
        XtSetArg(args[n],XmNisAligned,FALSE); n++;
        XtSetArg(args[n],XmNalignment,XmVERTICAL); n++;
        XtSetArg(args[n],XmNleftAttachment,XmATTACH_FORM); n++;        
        XtSetArg(args[n],XmNtopAttachment,XmATTACH_FORM); n++;        
        XtSetArg(args[n],XmNbottomAttachment,XmATTACH_FORM); n++;        
        Widget labelRC=XmCreateRowColumn(form,"labelRC",args,n);
        XtManageChild(labelRC);

        n=0;
        XtSetArg(args[n],XmNalignment,XmALIGNMENT_END);n++;
        _nameLabel=XmCreateLabelGadget(labelRC,"nameLabel",args,n);        
        _typeLabel=XmCreateLabelGadget(labelRC,"typeLabel",args,n);
        _encLabel=XmCreateLabelGadget(labelRC,"encLabel",args,n);
        _descLabel=XmCreateLabelGadget(labelRC,"descLabel",args,n);

        n=0;
        XtSetArg(args[n],XmNpacking,XmPACK_COLUMN); n++;
        XtSetArg(args[n],XmNnumColumns,1); n++;
        XtSetArg(args[n],XmNisAligned,FALSE); n++;
        XtSetArg(args[n],XmNalignment,XmVERTICAL); n++;
        XtSetArg(args[n],XmNleftAttachment,XmATTACH_WIDGET); n++;        
        XtSetArg(args[n],XmNleftWidget,labelRC); n++;        
        XtSetArg(args[n],XmNrightAttachment,XmATTACH_FORM); n++;        
        XtSetArg(args[n],XmNtopAttachment,XmATTACH_FORM); n++;        
        XtSetArg(args[n],XmNbottomAttachment,XmATTACH_FORM); n++;        
        Widget valueRC=XmCreateRowColumn(form,"valueRC",args,n);
        XtManageChild(valueRC);

        n=0;
        XtSetArg(args[n],XmNalignment,XmALIGNMENT_BEGINNING);n++;
        _nameValue=XmCreateLabelGadget(valueRC,"nameValue",args,n);
        _typeValue=XmCreateLabelGadget(valueRC,"typeValue",args,n);
        _encValue=XmCreateLabelGadget(valueRC,"encValue",args,n);
        _descValue=XmCreateLabelGadget(valueRC,"descValue",args,n);
    }
    
    // set value of data fields, manage/unmanage relevent fields
    XmString xs;

    // file name
    char *name=_attachments[pos].real_name;
    if (name) {
        xs=XmStringCreateLocalized(name);
        XtVaSetValues(_nameValue,XmNlabelString,xs,NULL);
        XmStringFree(xs);
        XtManageChild(_nameLabel);
        XtManageChild(_nameValue);
    }
    else {
        XtUnmanageChild(_nameLabel);
        XtUnmanageChild(_nameValue);
    }

    // mime type
    char *type=_attachments[pos].real_type;
    if (type) {
        xs=XmStringCreateLocalized(type);
        XtVaSetValues(_typeValue,XmNlabelString,xs,NULL);
        XmStringFree(xs);
        XtManageChild(_typeLabel);
        XtManageChild(_typeValue);
    }
    else {
        XtUnmanageChild(_typeLabel);
        XtUnmanageChild(_typeValue);
    }

    // encoding
    char *enc=_attachments[pos].real_encoding;
    if (enc) {
        xs=XmStringCreateLocalized(enc);
        XtVaSetValues(_encValue,XmNlabelString,xs,NULL);
        XmStringFree(xs);
        XtManageChild(_encLabel);
        XtManageChild(_encValue);
    }
    else {
        XtUnmanageChild(_encLabel);
        XtUnmanageChild(_encValue);
    }

    // long description
    char *desc=_attachments[pos].description;
    if (desc) {
        xs=XmStringCreateLocalized(desc);
        XtVaSetValues(_descValue,XmNlabelString,xs,NULL);
        XmStringFree(xs);
        XtManageChild(_descLabel);
        XtManageChild(_descValue);
    }
    else {
        XtUnmanageChild(_descLabel);
        XtUnmanageChild(_descValue);
    }

    // manage widget if not already managed
    XtManageChild(_propertiesDialog);
}
Exemplo n.º 5
0
Widget XmCreateTemplateDialog_TNK(Widget parent, String name, ArgList arglist,Cardinal argcount) { return XmCreateTemplateDialog(parent, name, arglist, argcount);}
Exemplo n.º 6
0
Arquivo: main.c Projeto: fjardon/motif
   Arg args[20];
   int count; 
   int n;
   Widget os_panel;
   Widget lang_frame, os_frame;
   char s[255];
   int def_lang = 0;
   XmString msg, msg1, msg2;

   n = 0;
   XtSetArg(args[n], XmNmessageString,
	    XmStringCreateSimple("Select a language, Verify your OS"));
   n++;
   XtSetArg(args[n], XmNokLabelString, XmStringCreateSimple("Done"));
   n++;
   select_box = XmCreateTemplateDialog(theWidgetRoot, "search_box", args, n);
   XtAddCallback(select_box,
		 XmNokCallback, (XtCallbackProc) DoneCallback,
		 (XtPointer) this);
   n = 0;
   pick_form = XmCreateForm(select_box, "form", args, n);
   n = 0;
   XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++; 
   XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM) ; n++;
   XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM) ; n++;
   lang_frame = XmCreateFrame(pick_form, "lang_frame", args, n);
   n = 0;
   XtSetArg(args[n], XmNframeChildType, XmFRAME_TITLE_CHILD); n++;
   XtSetArg(args[n], XmNlabelString, XmStringCreateSimple("Language")); n++;
   framed[0] = XmCreateLabel(lang_frame, "title", args, n);
   n = 0;