void QueryEditor::create_ui() { Wait_Cursor bob; XmStringLocalized mtfstring; String string; KeySym mnemonic; f_shell = WTopLevelShell(window_system().toplevel(), WPopup, "query_editor"); window_system().register_shell (&f_shell); string = CATGETS(Set_QueryEditor, 1, "Dtinfo: Query Editor"); XtVaSetValues((Widget)f_shell, XmNtitle, string, NULL); // Main form and menu bar. WXmForm form (f_shell, "form" ); WXmMenuBar menu_bar (form, "menu_bar" ); WXmPulldownMenu scope_menu (form, "scope_menu"); Arg args[1]; int n = 0; XtSetArg(args[n], XmNsubMenuId, (Widget) scope_menu); n++; f_scope_option = WXmOptionMenu (form, "scope_option", AM, args, n); mtfstring = CATGETS(Set_AgentLabel, 212, "Scope Name"); XtVaSetValues(f_scope_option, XmNlabelString, (XmString)mtfstring, NULL); // Menu definitions. how about using AddPushButton (name, obj, fun)?? WXmCascadeButton edit_cascade (menu_bar, "edit", AM); WXmPulldownMenu edit_menu (menu_bar, "edit_menu" ); f_cut_btn = WXmPushButton (edit_menu, "cut", AM); f_copy_btn = WXmPushButton (edit_menu, "copy", AM); f_paste_btn = WXmPushButton (edit_menu, "paste", AM); f_paste_btn = WXmPushButton (edit_menu, "new_term", AM); WXmSeparator group_sep (edit_menu, "group_sep", AM); f_group_btn = WXmPushButton (edit_menu, "group", AM); f_ungroup_btn = WXmPushButton (edit_menu, "ungroup", AM); WXmSeparator undo_sep (edit_menu, "undo_sep", AM); f_undo_btn = WXmPushButton (edit_menu, "undo", AM); f_redo_btn = WXmPushButton (edit_menu, "redo", AM); mtfstring = CATGETS(Set_AgentLabel, 16, "Edit"); mnemonic = *CATGETS(Set_AgentLabel, 17, "E"); XtVaSetValues(edit_cascade, XmNlabelString, (XmString)mtfstring, XmNmnemonic, mnemonic, NULL); mtfstring = CATGETS(Set_AgentLabel, 224, "Cut"); XtVaSetValues(f_cut_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 18, "Copy"); XtVaSetValues(f_copy_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 225, "Paste"); XtVaSetValues(f_paste_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 226, "Group"); XtVaSetValues(f_group_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 227, "Ungroup"); XtVaSetValues(f_ungroup_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 228, "Undo"); XtVaSetValues(f_undo_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 229, "Redo"); XtVaSetValues(f_redo_btn, XmNlabelString, (XmString)mtfstring, NULL); // Button area at the bottom WXmForm hform (form, "hform" ); f_hist_prev = WXmArrowButton (hform, "hist_prev", AM); f_hist_next = WXmArrowButton (hform, "hist_next", AM); WXmLabel history (hform, "history", AM); f_search_btn = WXmPushButton (form, "search", AM); WXmPushButton cancel (form, "cancel", AM); WXmPushButton clear (form, "clear", AM); WXmPushButton scope (form, "scope", AM); WXmPushButton help (form, "help", AM); WXmSeparator separator (form, "separator", AM); mtfstring = CATGETS(Set_AgentLabel, 92, "History"); XtVaSetValues(history, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 102, "Search"); XtVaSetValues(f_search_btn, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 231, "Clear All"); XtVaSetValues(clear, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 46, "Scope Editor"); XtVaSetValues(scope, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 12, "Close"); XtVaSetValues(cancel, XmNlabelString, (XmString)mtfstring, NULL); mtfstring = CATGETS(Set_AgentLabel, 48, "Help"); XtVaSetValues(help, XmNlabelString, (XmString)mtfstring, NULL); help_agent().add_activate_help (help, "query_editor_help"); // Main "work" area WXmPanedWindow pane (form, "pane" ); WXmForm qform (pane, "qform" ); WXmLabel qlabel (qform, "qlabel", AM); mtfstring = CATGETS(Set_AgentLabel, 230, "Query"); XtVaSetValues(qlabel, XmNlabelString, (XmString)mtfstring, NULL); f_query_text = WXmScrolledText (qform, "qtext", AM); // f_query_text.SetEditable(False); f_query_area = WXmScrolledWindow (pane, "query_area", AM); XtUnmanageChild (f_query_area.HorizontalScrollBar()); edit_cascade.SubMenuId (edit_menu); // Callbacks ON_ACTIVATE (f_search_btn, search_activate); ON_ACTIVATE (cancel, cancel); ON_ACTIVATE (clear, clear); ON_ACTIVATE (scope, scope); // f_query_text.SetFocusCallback (this, // (WWL_FUN) &QueryEditor::modify_verify); // f_query_text.SetModifyVerifyCallback (this, // (WWL_FUN) &QueryEditor::modify_verify); // Set minimum sizes. qform.Manage(); pane.Manage(); // hform.Manage(); form.DefaultButton (f_search_btn); form.ShadowThickness (0); form.InitialFocus (pane); pane.InitialFocus (f_query_area); qform.PaneMinimum (f_query_text.Height()); form.Manage(); f_shell.Realize(); f_shell.MinWidth (f_shell.Width()); f_shell.MinHeight (f_shell.Height()); ON_DEBUG(printf ("Query for height = %d\n", qform.Height())); //cerr << "Query for height = " << qform.Height() << endl; //#ifndef UseFJMTF #if 1 // Swap the entries in the pane around. Have to do this now // to get initial sizes right. qform.PositionIndex (1); #endif fill_menu(); UAS_SearchScope::request ((UAS_Receiver<ScopeCreated> *) this); UAS_SearchScope::request ((UAS_Receiver<ScopeDeleted> *) this); UAS_SearchScope::request ((UAS_Receiver<ScopeRenamed> *) this); search_scope_mgr().option_menu(this); }
void MapAgent::create_ui() { MapButton::f_kids_size = 8; MapButton::f_kids = (Widget *) malloc (sizeof (Widget) * MapButton::f_kids_size); f_shell = new WTopLevelShell (toplevel(), WPopup, "map"); window_system().register_shell (f_shell); XtVaSetValues(*f_shell, XmNtitle, CATGETS(Set_MapAgent, 1, "Dtinfo: Local Map"), NULL); WindowGeometry wg = pref_mgr().get_geometry (PrefMgr::MapGeometry); f_shell->Set(WArgList(XmNwidth, wg.width, XmNheight, wg.height, NULL)); // rtp - added new code 8/27/92 WXmForm rootform (*f_shell, "rootform"); WXmForm bottomform (rootform, "bottomform"); WXmPushButton close (bottomform, "close", WAutoManage); WXmPushButton help (bottomform, "help", WAutoManage); help_agent().add_activate_help (help, (char*)"map_help"); XtVaSetValues(close, XmNlabelString, (XmString)XmStringLocalized(CATGETS(Set_AgentLabel, 12, "Close")), NULL); XtVaSetValues(help, XmNlabelString, (XmString)XmStringLocalized(CATGETS(Set_AgentLabel, 48, "Help")), NULL); WXmPanedWindow pane (rootform, "pane"); WXmForm topform (pane, "topform"); XtVaSetValues(topform, XmNheight, 75, NULL); XtVaSetValues(pane, XmNpaneMinimum, 75, XmNpositionIndex, 1, NULL); WXmFrame panner_frame (topform, "pframe", WAutoManage); f_panner = new WXawPanner (panner_frame, "panner", WAutoManage); WXmFrame tree_frame (pane, "tframe", WAutoManage); f_porthole = new WXawPorthole (tree_frame, "porthole"); f_lock = new WXmToggleButton (topform, "lock", WAutoManage); XtVaSetValues(*f_lock, XmNlabelString, (XmString)XmStringLocalized(CATGETS(Set_AgentLabel, 196, "Auto Update")), XmNindicatorSize, 15, NULL); bool lock_status = pref_mgr().get_boolean (PrefMgr::MapAutoUpdate); f_lock->Set(lock_status); f_locked = lock_status ; // NOTE: Should have a way to remove displayer so that receive function // isn't called every time a node is displayed. 14:08 12-Oct-93 DJB UAS_Common::request ((UAS_Receiver<UAS_DocumentRetrievedMsg> *) this); f_lock->SetValueChangedCallback(this, (WWL_FUN) &MapAgent::lock_toggle); f_porthole->SetReportCallback (this, (WWL_FUN) &MapAgent::porthole_resize); f_panner->SetReportCallback (this, (WWL_FUN) &MapAgent::panner_movement); bottomform.Manage(); Dimension height; f_lock->Get (WArgList (XmNheight, (XtArgVal)&height, NULL)); topform.Set(WArgList(XmNpaneMinimum, height, NULL)); topform.Manage(); f_porthole->Manage(); pane.Manage(); /* -------- Callbacks -------- */ f_wm_delete_callback = new WCallback (*f_shell, window_system().WM_DELETE_WINDOW(), this, (WWL_FUN) &MapAgent::close_window); close.SetActivateCallback (this, (WWL_FUN) &MapAgent::close_window); rootform.Manage(); // f_shell->Realize(); f_tree = NULL; }