void DXAnchorWindow::createFileMenu(Widget parent) { ASSERT(parent); int buttons = 0; Widget pulldown; // // Create "File" menu and options. // pulldown = this->fileMenuPulldown = XmCreatePulldownMenu(parent, "fileMenuPulldown", NUL(ArgList), 0); this->fileMenu = XtVaCreateManagedWidget ("fileMenu", xmCascadeButtonWidgetClass, parent, XmNsubMenuId, pulldown, NULL); // // Net file options. // if (theDXApplication->appAllowsImageRWNetFile()) { this->openOption = new ButtonInterface(pulldown, "fileOpenOption", theDXApplication->openFileCmd); this->createFileHistoryMenu(pulldown); Network* net = theDXApplication->network; this->saveOption = new ButtonInterface(pulldown, "fileSaveOption", net->getSaveCommand()); this->saveAsOption = new ButtonInterface(pulldown, "fileSaveAsOption", net->getSaveAsCommand()); buttons = 1; } if (theDXApplication->appAllowsRWConfig()) { Command *openCfgCmd = theDXApplication->network->getOpenCfgCommand(); Command *saveCfgCmd = theDXApplication->network->getSaveCfgCommand(); if (openCfgCmd && saveCfgCmd) { this->settingsCascade = new CascadeMenu("settingsCascade",pulldown); Widget menu_parent = this->settingsCascade->getMenuItemParent(); this->saveCfgOption = new ButtonInterface(menu_parent, "saveCfgOption", saveCfgCmd); this->openCfgOption = new ButtonInterface(menu_parent, "openCfgOption", openCfgCmd); buttons = 1; } else if (openCfgCmd) { this->openCfgOption = new ButtonInterface(pulldown, "openCfgOption", openCfgCmd); buttons = 1; } else if (saveCfgCmd) { this->saveCfgOption = new ButtonInterface(pulldown, "saveCfgOption", saveCfgCmd); buttons = 1; } } // // Macro/mdf options. // if (buttons) { XtVaCreateManagedWidget ("optionSeparator", xmSeparatorWidgetClass, pulldown, NULL); buttons = 0; } if (theDXApplication->appAllowsImageLoad()) { this->loadMacroOption = new ButtonInterface(pulldown, "fileLoadMacroOption", theDXApplication->loadMacroCmd); this->loadMDFOption = new ButtonInterface(pulldown, "fileLoadMDFOption", theDXApplication->loadMDFCmd); buttons = 1; } // // Close/quite // if (buttons) XtVaCreateManagedWidget ("optionSeparator", xmSeparatorWidgetClass, pulldown, NULL); this->closeOption = new ButtonInterface(pulldown,"fileCloseOption",this->closeCmd); XtAddCallback(pulldown, XmNmapCallback, (XtCallbackProc)DXAnchorWindow_FileMenuMapCB, (XtPointer)this); }
/**************************************************************** ... *****************************************************************/ void create_players_dialog(bool raise) { players_dialog_shell = I_IN(I_T(XtCreatePopupShell("playerspopup", raise ? transientShellWidgetClass : topLevelShellWidgetClass, toplevel, NULL, 0))); players_form = XtVaCreateManagedWidget("playersform", formWidgetClass, players_dialog_shell, NULL); players_label = I_L(XtVaCreateManagedWidget("playerslabel", labelWidgetClass, players_form, NULL)); players_list = XtVaCreateManagedWidget("playerslist", listWidgetClass, players_form, NULL); players_close_command = I_L(XtVaCreateManagedWidget("playersclosecommand", commandWidgetClass, players_form, NULL)); players_int_command = I_L(XtVaCreateManagedWidget("playersintcommand", commandWidgetClass, players_form, XtNsensitive, False, NULL)); players_meet_command = I_L(XtVaCreateManagedWidget("playersmeetcommand", commandWidgetClass, players_form, XtNsensitive, False, NULL)); players_war_command = I_L(XtVaCreateManagedWidget("playerswarcommand", commandWidgetClass, players_form, XtNsensitive, False, NULL)); players_vision_command = I_L(XtVaCreateManagedWidget("playersvisioncommand", commandWidgetClass, players_form, XtNsensitive, False, NULL)); players_sship_command = I_L(XtVaCreateManagedWidget("playerssshipcommand", commandWidgetClass, players_form, XtNsensitive, False, NULL)); XtAddCallback(players_list, XtNcallback, players_list_callback, NULL); XtAddCallback(players_close_command, XtNcallback, players_close_callback, NULL); XtAddCallback(players_meet_command, XtNcallback, players_meet_callback, NULL); XtAddCallback(players_int_command, XtNcallback, players_intel_callback, NULL); XtAddCallback(players_war_command, XtNcallback, players_war_callback, NULL); XtAddCallback(players_vision_command, XtNcallback, players_vision_callback, NULL); XtAddCallback(players_sship_command, XtNcallback, players_sship_callback, NULL); players_dialog_update(); XtRealizeWidget(players_dialog_shell); XSetWMProtocols(display, XtWindow(players_dialog_shell), &wm_delete_window, 1); XtOverrideTranslations(players_dialog_shell, XtParseTranslationTable("<Message>WM_PROTOCOLS: msg-close-players()")); }
int main(int argc, char **argv) { XtAppContext app; int i; XtSetLanguageProc(NULL, NULL, NULL); toplevel = XtVaAppInitialize(&app, "Label", NULL, 0, &argc, argv, NULL, NULL); pane = XtVaCreateManagedWidget("pane", xmPanedWindowWidgetClass, toplevel, NULL); #ifdef LESSTIF_REVISION printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); #endif field = XtVaCreateManagedWidget("field",xmPushButtonWidgetClass, pane, NULL); #if 1 #ifdef LESSTIF_REVISION printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); #endif button = XtVaCreateManagedWidget("button", xmPushButtonWidgetClass, pane, #if PANEBOUND XmNpaneMinimum, 20, XmNpaneMaximum, 40, #endif NULL); XtAddCallback(button, XmNactivateCallback, reorient, NULL); #ifdef LESSTIF_REVISION printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); #endif button2 = XtVaCreateManagedWidget("button2", xmPushButtonWidgetClass, pane, #if PANEBOUND XmNpaneMinimum, 20, XmNpaneMaximum, 20, #endif NULL); XtAddCallback(button2, XmNactivateCallback, activate_callback, NULL); #if 1 #ifdef LESSTIF_REVISION printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); #endif button3 = XtVaCreateManagedWidget("button3", xmPushButtonWidgetClass, pane, #if PANEBOUND XmNpaneMinimum, 20, XmNpaneMaximum, 40, #endif NULL); XtAddCallback(button3, XmNactivateCallback, activate_callback, NULL); #endif #endif XtRealizeWidget(toplevel); { static XtWidgetGeometry Expected[] = { NULL }; PrintDetails(toplevel,Expected); }; #if 0 printf("DUMP\n"); printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); for (i = 0; i < PW_NumManagedChildren(pane); i++) { printf("child: %-8p %-10s ", PW_ManagedChildren(pane)[i], XtName(PW_ManagedChildren(pane)[i])); printf("sep: %-8p sash: %-8p index: %d position: %d\n", PWC_Separator(PW_ManagedChildren(pane)[i]), PWC_Sash(PW_ManagedChildren(pane)[i]), PWC_PositionIndex(PW_ManagedChildren(pane)[i]), PWC_Position(PW_ManagedChildren(pane)[i])); } printf("ALL CHILDREN\n"); for (i = 0; i < MGR_NumChildren(pane); i++) { printf("child: %-8p %-10s ", MGR_Children(pane)[i], XtName(MGR_Children(pane)[i])); printf("sep: %-8p sash: %-8p index: %d position: %d\n", PWC_Separator(MGR_Children(pane)[i]), PWC_Sash(MGR_Children(pane)[i]), PWC_PositionIndex(MGR_Children(pane)[i]), PWC_Position(MGR_Children(pane)[i])); } printf("\n"); printf("UNMANAGE\n"); XtUnmanageChild(button); XtUnmanageChild(button2); printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); for (i = 0; i < PW_NumManagedChildren(pane); i++) { printf("child: %-8p %-10s ", PW_ManagedChildren(pane)[i], XtName(PW_ManagedChildren(pane)[i])); printf("sep: %-8p sash: %-8p index: %d position: %d\n", PWC_Separator(PW_ManagedChildren(pane)[i]), PWC_Sash(PW_ManagedChildren(pane)[i]), PWC_PositionIndex(PW_ManagedChildren(pane)[i]), PWC_Position(PW_ManagedChildren(pane)[i])); } printf("ALL CHILDREN\n"); for (i = 0; i < MGR_NumChildren(pane); i++) { printf("child: %-8p %-10s ", MGR_Children(pane)[i], XtName(MGR_Children(pane)[i])); printf("sep: %-8p sash: %-8p index: %d position: %d\n", PWC_Separator(MGR_Children(pane)[i]), PWC_Sash(MGR_Children(pane)[i]), PWC_PositionIndex(MGR_Children(pane)[i]), PWC_Position(MGR_Children(pane)[i])); } printf("\n"); printf("MANAGE\n"); XtManageChild(button2); printf("sashinc: %d resizeAtRealize: %d\n", PW_IncrementCount(pane), PW_ResizeAtRealize(pane)); for (i = 0; i < PW_NumManagedChildren(pane); i++) { printf("child: %-8p %-10s ", PW_ManagedChildren(pane)[i], XtName(PW_ManagedChildren(pane)[i])); printf("sep: %-8p sash: %-8p index: %d position: %d\n", PWC_Separator(PW_ManagedChildren(pane)[i]), PWC_Sash(PW_ManagedChildren(pane)[i]), PWC_PositionIndex(PW_ManagedChildren(pane)[i]), PWC_Position(PW_ManagedChildren(pane)[i])); } printf("ALL CHILDREN\n"); for (i = 0; i < MGR_NumChildren(pane); i++) { printf("child: %-8p %-10s ", MGR_Children(pane)[i], XtName(MGR_Children(pane)[i])); printf("sep: %-8p sash: %-8p index: %d position: %d\n", PWC_Separator(MGR_Children(pane)[i]), PWC_Sash(MGR_Children(pane)[i]), PWC_PositionIndex(MGR_Children(pane)[i]), PWC_Position(MGR_Children(pane)[i])); } printf("\n"); #endif /* #if 0 */ LessTifTestMainLoop(toplevel); exit(0); }
bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, int n, const wxString choices[], int majorDim, long style, const wxValidator& val, const wxString& name) { if( !CreateControl( parent, id, pos, size, style, val, name ) ) return false; PreCreation(); m_noItems = (unsigned int)n; m_noRowsOrCols = majorDim; SetMajorDim(majorDim == 0 ? n : majorDim, style); Widget parentWidget = (Widget) parent->GetClientWidget(); Display* dpy = XtDisplay(parentWidget); m_mainWidget = XtVaCreateWidget ("radioboxframe", xmFrameWidgetClass, parentWidget, XmNresizeHeight, True, XmNresizeWidth, True, NULL); wxString label1(GetLabelText(title)); if (!label1.empty()) { wxXmString text(label1); m_labelWidget = (WXWidget) XtVaCreateManagedWidget( label1.mb_str(), #if wxUSE_GADGETS style & wxCOLOURED ? xmLabelWidgetClass : xmLabelGadgetClass, (Widget)m_mainWidget, #else xmLabelWidgetClass, (Widget)m_mainWidget, #endif wxFont::GetFontTag(), m_font.GetFontTypeC(dpy), XmNlabelString, text(), // XmNframeChildType is not in Motif 1.2, nor in Lesstif, // if it was compiled with 1.2 compatibility // TODO: check this still looks OK for Motif 1.2. #if (XmVersion > 1200) XmNframeChildType, XmFRAME_TITLE_CHILD, #else XmNchildType, XmFRAME_TITLE_CHILD, #endif XmNchildVerticalAlignment, XmALIGNMENT_CENTER, NULL); } Arg args[3]; XtSetArg (args[0], XmNorientation, ((style & wxHORIZONTAL) == wxHORIZONTAL ? XmHORIZONTAL : XmVERTICAL)); XtSetArg (args[1], XmNnumColumns, GetMajorDim()); XtSetArg (args[2], XmNadjustLast, False); Widget radioBoxWidget = XmCreateRadioBox ((Widget)m_mainWidget, wxMOTIF_STR("radioBoxWidget"), args, 3); m_radioButtons.reserve(n); m_radioButtonLabels.reserve(n); int i; for (i = 0; i < n; i++) { wxString str(GetLabelText(choices[i])); m_radioButtonLabels.push_back(str); Widget radioItem = XtVaCreateManagedWidget ( str.mb_str(), #if wxUSE_GADGETS xmToggleButtonGadgetClass, radioBoxWidget, #else xmToggleButtonWidgetClass, radioBoxWidget, #endif wxFont::GetFontTag(), m_font.GetFontTypeC(dpy), NULL); m_radioButtons.push_back((WXWidget)radioItem); XtAddCallback (radioItem, XmNvalueChangedCallback, (XtCallbackProc) wxRadioBoxCallback, (XtPointer) this); } SetSelection (0); XtRealizeWidget((Widget)m_mainWidget); XtManageChild (radioBoxWidget); XtManageChild ((Widget)m_mainWidget); PostCreation(); AttachWidget (parent, m_mainWidget, NULL, pos.x, pos.y, size.x, size.y); return true; }
int main(int argc, char **argv) { XtAppContext theApp; Widget toplevel, rc; Widget cascade1, cascade2, cascade3; Widget pane1, pane2, pane3; Widget button1, button2, button3, button4, button5; toplevel = XtVaAppInitialize(&theApp, "rc-test7", NULL, 0, &argc, argv, fallbacks, NULL); #if (XmVersion>=1002) /* motif 1.2 or higher */ XmRepTypeInstallTearOffModelConverter(); #endif rc = XmCreateMenuBar(toplevel, "menubar", NULL, 0); pane1 = XmCreatePulldownMenu(rc, "pane1", NULL, 0); pane2 = XmCreatePulldownMenu(rc, "pane2", NULL, 0); cascade1 = XtVaCreateManagedWidget("File", xmCascadeButtonWidgetClass, rc, XmNsubMenuId, pane1, XmNmnemonic, 'F', NULL); cascade2 = XtVaCreateManagedWidget("Edit", xmCascadeButtonWidgetClass, rc, XmNsubMenuId, pane2, XmNmnemonic, 'E', NULL); button1 = XtVaCreateManagedWidget("Quit", xmPushButtonWidgetClass, pane1, XmNmnemonic, 'Q', NULL); pane3 = XmCreatePulldownMenu(pane1, "pane3", NULL, 0); cascade3 = XtVaCreateManagedWidget("cascade3", xmCascadeButtonWidgetClass, pane1, XmNsubMenuId, pane3, NULL); button2 = XtVaCreateManagedWidget("button2", xmPushButtonWidgetClass, pane3, NULL); button3 = XtVaCreateManagedWidget("button3", xmPushButtonWidgetClass, pane3, NULL); button4 = XtVaCreateManagedWidget("button4", xmToggleButtonWidgetClass, pane2, NULL); button5 = XtVaCreateManagedWidget("button5", xmToggleButtonWidgetClass, pane2, NULL); XtAddCallback(button1, XmNactivateCallback, pb_activate_callback, NULL); XtAddCallback(button2, XmNactivateCallback, pb_activate_callback, NULL); XtAddCallback(button3, XmNactivateCallback, pb_activate_callback, NULL); XtAddCallback(button4, XmNvalueChangedCallback, toggle_cb, NULL); XtAddCallback(button5, XmNvalueChangedCallback, toggle_cb, NULL); XtAddCallback(button1, XmNarmCallback, pb_arm_callback, NULL); XtAddCallback(button2, XmNarmCallback, pb_arm_callback, NULL); XtAddCallback(button3, XmNarmCallback, pb_arm_callback, NULL); XtAddCallback(button4, XmNarmCallback, pb_arm_callback, NULL); XtAddCallback(button5, XmNarmCallback, pb_arm_callback, NULL); XtAddCallback(button1, XmNdisarmCallback, pb_disarm_callback, NULL); XtAddCallback(button2, XmNdisarmCallback, pb_disarm_callback, NULL); XtAddCallback(button3, XmNdisarmCallback, pb_disarm_callback, NULL); XtAddCallback(button4, XmNdisarmCallback, pb_disarm_callback, NULL); XtAddCallback(button5, XmNdisarmCallback, pb_disarm_callback, NULL); XtManageChild(rc); XtRealizeWidget(toplevel); { static XtWidgetGeometry Expected[] = { CWWidth | CWHeight , 56, 72, 90, 31, 0,0,0, /* menubar */ CWWidth | CWHeight | CWX | CWY, 5, 5, 40, 21, 0,0,0, /* File */ CWWidth | CWHeight | CWX | CWY, 45, 5, 40, 21, 0,0,0, /* Edit */ }; PrintDetails( toplevel ,Expected); }; LessTifTestMainLoop( toplevel ); exit(0); }
/************************************************************************** Show the Citizen Management Agent Dialog for the current city. **************************************************************************/ void show_cma_dialog(struct city *pcity, Widget citydlg) { Widget add_button, remove_button, help_button; Widget form, preset_viewport, close_button; Widget surplus_header, factor_header, prev; struct cm_parameter parameter; struct cm_result result; int i; current_city = pcity; stat_surplus_label = fc_malloc((O_LAST + 1) * sizeof(Widget)); stat_factor_label = fc_malloc((O_LAST + 1) * sizeof(Widget)); cma_dialog = I_T(XtCreatePopupShell("cmapopup", topLevelShellWidgetClass, citydlg, NULL, 0)); form = XtVaCreateManagedWidget("cmaform", formWidgetClass, cma_dialog, NULL); preset_viewport = XtVaCreateManagedWidget("cmapresetviewport", viewportWidgetClass, form, NULL); preset_list = XtVaCreateManagedWidget("cmapresetlist", listWidgetClass, preset_viewport, XtNlist, (XtArgVal)initial_preset_list, NULL); result_label = I_L(XtVaCreateManagedWidget("cmaresultlabel", labelWidgetClass, form, XtNfromHoriz, preset_viewport, NULL)); surplus_header = I_L(XtVaCreateManagedWidget("cmasurpluslabel", labelWidgetClass, form, XtNfromHoriz, preset_viewport, XtNfromVert, result_label, NULL)); /* Create labels in the minimal surplus column. */ prev = surplus_header; for (i = 0; i < (O_LAST + 1); i++) { I_L(stat_surplus_label[i] = XtVaCreateManagedWidget("cmastatlabel", labelWidgetClass, form, XtNfromHoriz, preset_viewport, XtNfromVert, prev, XtNvertDistance, 1, XtNlabel, (i == O_LAST) ? _("Celebrate") : get_output_name(i), NULL)); prev = stat_surplus_label[i]; } /* Create scrollbars in the minimal surplus column. */ prev = surplus_header; output_type_iterate(i) { surplus_slider[i] = XtVaCreateManagedWidget("cmapresetscroll", scrollbarWidgetClass, form, XtNfromHoriz, stat_surplus_label[i], XtNfromVert, prev, NULL); prev = stat_surplus_label[i]; } output_type_iterate_end; celebrate_toggle = I_L(XtVaCreateManagedWidget("cmapresettoggle", toggleWidgetClass,form, XtNfromHoriz, stat_surplus_label[0], XtNfromVert, stat_surplus_label[O_LAST - 1], NULL)); /* Create header label in the factor column. */ factor_header = I_L(XtVaCreateManagedWidget("cmafactorlabel", labelWidgetClass, form, XtNfromHoriz, surplus_slider[0], XtNfromVert, result_label, NULL)); /* Create stat labels in the factor column. */ prev = factor_header; for (i = 0; i < (O_LAST + 1); i++) { I_L(stat_factor_label[i] = XtVaCreateManagedWidget("cmastatlabel", labelWidgetClass, form, XtNfromHoriz, surplus_slider[0], XtNfromVert, prev, XtNvertDistance, 1, XtNlabel, (i == O_LAST) ? _("Celebrate") : get_output_name(i), NULL)); prev = stat_factor_label[i]; } /* Create scrollbars in the factor column. */ prev = factor_header; for (i = 0; i < (O_LAST + 1); i++) { factor_slider[i] = XtVaCreateManagedWidget("cmapresetscroll", scrollbarWidgetClass, form, XtNfromHoriz, stat_factor_label[i], XtNfromVert, prev, NULL); prev = stat_factor_label[i]; } close_button = I_L(XtVaCreateManagedWidget("cmaclosebutton", commandWidgetClass, form, XtNfromVert, preset_viewport, NULL)); control_button = I_L(XtVaCreateManagedWidget("cmacontrolbutton", commandWidgetClass, form, XtNfromVert, preset_viewport, XtNfromHoriz, close_button, NULL)); release_button = I_L(XtVaCreateManagedWidget("cmareleasebutton", commandWidgetClass, form, XtNfromVert, preset_viewport, XtNfromHoriz, control_button, NULL)); change_button = I_L(XtVaCreateManagedWidget("cmachangebutton", commandWidgetClass, form, XtNfromVert, preset_viewport, XtNfromHoriz, release_button, NULL)); add_button = I_L(XtVaCreateManagedWidget("cmaaddbutton", commandWidgetClass, form, XtNfromVert, preset_viewport, XtNfromHoriz, change_button, NULL)); remove_button = I_L(XtVaCreateManagedWidget("cmaremovebutton", commandWidgetClass, form, XtNfromVert, preset_viewport, XtNfromHoriz, add_button, NULL)); help_button = I_L(XtVaCreateManagedWidget("cmahelpbutton", commandWidgetClass, form, XtNfromVert, preset_viewport, XtNfromHoriz, remove_button, NULL)); XtAddCallback(control_button, XtNcallback, control_city, (XtPointer)preset_list); XtAddCallback(release_button, XtNcallback, release_city, (XtPointer)preset_list); XtAddCallback(change_button, XtNcallback, change_callback, (XtPointer)preset_list); XtAddCallback(add_button, XtNcallback, add_preset, (XtPointer)preset_list); XtAddCallback(remove_button, XtNcallback, remove_preset, (XtPointer)preset_list); XtAddCallback(preset_list, XtNcallback, select_preset, (XtPointer)preset_list); XtAddCallback(help_button, XtNcallback, cma_help, (XtPointer)preset_list); XtAddCallback(celebrate_toggle, XtNcallback, celebrate_callback, NULL); XtAddCallback(close_button, XtNcallback, close_callback, NULL); output_type_iterate(i) { XtAddCallback(surplus_slider[i], XtNscrollProc, sliders_scroll_callback, NULL); XtAddCallback(surplus_slider[i], XtNjumpProc, sliders_jump_callback, NULL); } output_type_iterate_end; for (i = 0; i < (O_LAST + 1); i++) { XtAddCallback(factor_slider[i], XtNscrollProc, sliders_scroll_callback, NULL); XtAddCallback(factor_slider[i], XtNjumpProc, sliders_jump_callback, NULL); } /* Update dialog with CMA parameters from city. */ cmafec_get_fe_parameter(current_city, ¶meter); output_type_iterate(i) { minimal_surplus[i] = parameter.minimal_surplus[i]; } output_type_iterate_end; XtVaSetValues(celebrate_toggle, XtNlabel, parameter.require_happy ? _("Yes") : _("No"), XtNstate, parameter.require_happy, NULL); if (parameter.happy_factor > 0) { factors[O_LAST] = parameter.happy_factor; } else { factors[O_LAST] = 1; } output_type_iterate(i) { factors[i] = parameter.factor[i]; } output_type_iterate_end; set_slider_values(); update_cma_preset_list(); XtVaSetValues(preset_list, XtNwidth, 200, NULL); XtVaSetValues(preset_list, XtNheight, 300, NULL); XtVaSetValues(celebrate_toggle, XtNwidth, 30, NULL); XtVaSetValues(result_label, XtNwidth, 360, NULL); XtVaSetValues(result_label, XtNheight, 110, NULL); output_type_iterate(i) { XtVaSetValues(stat_surplus_label[i], XtNwidth, 90, NULL); XtVaSetValues(stat_factor_label[i], XtNwidth, 90, NULL); } output_type_iterate_end; /* FIXME! Now we assume that output_type_iterate ends with O_LAST. */ XtVaSetValues(stat_factor_label[O_LAST], XtNwidth, 90, NULL); XtRealizeWidget(cma_dialog); update_stat_labels(True); cm_result_from_main_map(&result, pcity, TRUE); xaw_set_label(result_label, (char *) cmafec_get_result_descr(current_city, &result, ¶meter)); XSetWMProtocols(display, XtWindow(cma_dialog), &wm_delete_window, 1); XtVaSetValues(preset_viewport, XtNforceBars, True, NULL); xaw_set_relative_position(citydlg, cma_dialog, 5, 5); XtPopup(cma_dialog, XtGrabNone); }
void x_plot_range_init() { if( options.display_type == TrueColor ) plot_range_popup_widget = XtVaCreatePopupShell( "Set plot_range", transientShellWidgetClass, topLevel, NULL ); else plot_range_popup_widget = XtVaCreatePopupShell( "Set plot_range", transientShellWidgetClass, topLevel, NULL ); plot_range_popupcanvas_widget = XtVaCreateManagedWidget( "plot_range_popupcanvas", formWidgetClass, plot_range_popup_widget, XtNborderWidth, 0, NULL); plot_range_auto_widget = XtVaCreateManagedWidget( "plot_range_auto_widget", commandWidgetClass, plot_range_popupcanvas_widget, XtNlabel, "Auto", XtNwidth, 60, NULL ); plot_range_manual_widget = XtVaCreateManagedWidget( "plot_range_manual_widget", commandWidgetClass, plot_range_popupcanvas_widget, XtNlabel, "Manual", XtNwidth, 60, XtNfromHoriz, plot_range_auto_widget, NULL ); plot_range_min_label_widget = XtVaCreateManagedWidget( "plot_range_min_label", labelWidgetClass, plot_range_popupcanvas_widget, XtNlabel, "Min:", XtNwidth, 60, XtNborderWidth, 0, XtNfromVert, plot_range_auto_widget, NULL ); plot_range_min_text_widget = XtVaCreateManagedWidget( "plot_range_min_text", asciiTextWidgetClass, plot_range_popupcanvas_widget, XtNeditType, XawtextEdit, XtNfromHoriz, plot_range_min_label_widget, XtNfromVert, plot_range_auto_widget, XtNlength, 128, XtNwidth, MINMAX_TEXT_WIDTH, NULL ); plot_range_max_label_widget = XtVaCreateManagedWidget( "plot_range_max_label", labelWidgetClass, plot_range_popupcanvas_widget, XtNlabel, "Max:", XtNborderWidth, 0, XtNwidth, 60, XtNfromVert, plot_range_min_label_widget, NULL ); plot_range_max_text_widget = XtVaCreateManagedWidget( "plot_range_max_text", asciiTextWidgetClass, plot_range_popupcanvas_widget, XtNeditType, XawtextEdit, XtNwidth, MINMAX_TEXT_WIDTH, XtNfromVert, plot_range_min_text_widget, XtNfromHoriz, plot_range_max_label_widget, NULL ); plot_range_ok_widget = XtVaCreateManagedWidget( "OK", commandWidgetClass, plot_range_popupcanvas_widget, XtNfromVert, plot_range_max_text_widget, NULL); XtAddCallback( plot_range_ok_widget, XtNcallback, plot_range_popup_callback, (XtPointer)MESSAGE_OK); plot_range_cancel_widget = XtVaCreateManagedWidget( "Cancel", commandWidgetClass, plot_range_popupcanvas_widget, XtNfromHoriz, plot_range_ok_widget, XtNfromVert, plot_range_max_text_widget, NULL); XtAddCallback( plot_range_cancel_widget, XtNcallback, plot_range_popup_callback, (XtPointer)MESSAGE_CANCEL); }
Widget XNavMotif::build_menu( Widget Parent, int MenuType, const char *MenuTitle, void *MenuUserData, void (*Callback)( Widget, XNav *, XmAnyCallbackStruct *), void *CallbackData, xmenu_sMenuItem *Items, int *idx) { Widget Menu, Cascade, W; int i; unsigned int Level; XmString Str; WidgetClass Class; Arg ArgList[5]; XmFontList fontlist; XFontStruct *font; XmFontListEntry fontentry; // Set default fontlist font = XLoadQueryFont( flow_Display(Parent), "-*-Helvetica-Bold-R-Normal--12-*-*-*-P-*-ISO8859-1"); fontentry = XmFontListEntryCreate( (char*) "tag1", XmFONT_IS_FONT, font); fontlist = XmFontListAppendEntry( NULL, fontentry); XtFree( (char *)fontentry); i = 0; XtSetArg(ArgList[i], XmNuserData, MenuUserData); i++; XtSetArg(ArgList[i], XmNbuttonFontList, fontlist); i++; XtSetArg(ArgList[i], XmNlabelFontList, fontlist); i++; if (MenuType == MENU_PULLDOWN || MenuType == MENU_OPTION) Menu = XmCreatePulldownMenu(Parent, (char*) "_pulldown", ArgList, i); else if (MenuType == MENU_POPUP) Menu = XmCreatePopupMenu(Parent, (char*) "_popup", ArgList, i); else { XtWarning("Invalid menu type passed to BuildMenu()."); return NULL; } if (MenuType == MENU_PULLDOWN) { Str = XmStringCreateSimple((char*) MenuTitle); Cascade = XtVaCreateManagedWidget(MenuTitle, xmCascadeButtonGadgetClass, Parent, XmNsubMenuId, Menu, XmNlabelString, Str, NULL); XmStringFree(Str); } else if (MenuType == MENU_OPTION) { Str = XmStringCreateSimple((char*) MenuTitle); XtSetArg(ArgList[0], XmNsubMenuId, Menu); XtSetArg(ArgList[1], XmNlabelString, Str); Cascade = XmCreateOptionMenu(Parent, (char*) MenuTitle, ArgList, 2); XmStringFree(Str); } XmFontListFree( fontlist); Level = Items[*idx].Level; for (; Items[*idx].Level != 0 && Items[*idx].Level >= Level; (*idx)++) { if (Items[*idx].Item == xmenu_eMenuItem_Cascade || Items[*idx].Item == xmenu_eMenuItem_Ref) { if (MenuType == MENU_OPTION) { XtWarning("You can't have submenus from option menu items."); return NULL; } else { i = *idx; (*idx)++; build_menu(Menu, MENU_PULLDOWN, Lng::translate( Items[i].Name), MenuUserData, Callback, CallbackData, Items, idx); (*idx)--; } } else { if (Items[*idx].Item == xmenu_eMenuItem_Separator) Class = xmSeparatorGadgetClass; else Class = xmPushButtonGadgetClass; W = XtVaCreateManagedWidget(Lng::translate( Items[*idx].Name), Class, Menu, XmNuserData, *idx, XmNsensitive, (Boolean)(Items[*idx].Flags.f.Sensitive == 1), NULL); if (Callback && Class == xmPushButtonGadgetClass) XtAddCallback(W, XmNactivateCallback, (XtCallbackProc) Callback, (XtPointer) CallbackData); } } return MenuType == MENU_POPUP ? Menu : Cascade; }