//----------------------------------------------------------------------------- void CropDlg::create_dlg() { wnd = new Fl_Double_Window(230, 155, mgl_gettext("Crop data")); x1 = new Fl_Input(45, 25, 80, 25, mgl_gettext("Lower bound")); x1->align(FL_ALIGN_TOP); x2 = new Fl_Input(140, 25, 80, 25, mgl_gettext("Upper bound")); x2->align(FL_ALIGN_TOP); y1 = new Fl_Input(45, 55, 80, 25); y2 = new Fl_Input(140, 55, 80, 25); z1 = new Fl_Input(45, 85, 80, 25); z2 = new Fl_Input(140, 85, 80, 25); new Fl_Box(15, 25, 25, 25, "X"); new Fl_Box(15, 55, 25, 25, "Y"); new Fl_Box(15, 85, 25, 25, "Z"); Fl_Button *o; o = new Fl_Button(45, 120, 75, 25, mgl_gettext("Cancel")); o->callback(close_dlg_cb,wnd); o->box(UDAV_UP_BOX); o->down_box(UDAV_DOWN_BOX); o->tooltip(mgl_gettext("Do nothing and close this window")); o = new Fl_Return_Button(145, 120, 75, 25, mgl_gettext("Crop")); o->callback(crop_dlg_cb,wnd); o->box(UDAV_UP_BOX); o->down_box(UDAV_DOWN_BOX); o->tooltip(mgl_gettext("Change data values and close this window")); wnd->end(); }
uiBasis:: uiBasis( Fl_Group &tabs, const BasisInfo &bi ) : name( bi.name ), group( new Fl_Group( tabs.x(), tabs.y()+24, tabs.w(), tabs.h()-24, bi.name.c_str() ) ), input() { //-------------------------------------------------------------------------- // record the new tab //-------------------------------------------------------------------------- tabs.add(group); group->labelfont( FL_COURIER ); group->labelsize( 14 ); static const int bh = 23; //-------------------------------------------------------------------------- // create the parameters //-------------------------------------------------------------------------- const int h = group->h(); const size_t nb = bi.param.size(); const int hfree = h - nb * bh; const int hskip = hfree/(nb+1); int y = group->y(); const int x = group->x() + 8; for( size_t i=1; i <= nb; ++i ) { y += hskip; const string ¶m = bi.param[i]; Fl_Input *box = new Fl_Input(x,y,100,bh,param.c_str()); box->input_type(FL_FLOAT_INPUT); box->labeltype( FL_NORMAL_LABEL ); box->align(FL_ALIGN_RIGHT); box->labelfont(FL_HELVETICA); box->labelsize(12); box->textsize(12); box->textfont(FL_HELVETICA); group->add(box); box->value("0.0"); y += bh; input.push_back(box); box->callback(ChangeCB); box->when(FL_WHEN_RELEASE); } }
//----------------------------------------------------------------------------- void NwdtDlg::create_dlg() { Fl_Menu_Item k[]={{mgl_gettext("Summation of")}, {mgl_gettext("Maximum of")}, { mgl_gettext("Minimum of")}, {0}}; wnd = new Fl_Double_Window(165, 215, mgl_gettext("Extract data")); kind = new Fl_Choice(10, 25, 145, 25, mgl_gettext("Type of operation")); kind->align(FL_ALIGN_TOP_LEFT); kind->copy(k); dx = new Fl_Check_Button(10, 55, 140, 25, mgl_gettext("apply in x direction")); dy = new Fl_Check_Button(10, 80, 140, 25, mgl_gettext("apply in y direction")); dz = new Fl_Check_Button(10, 105, 140, 25, mgl_gettext("apply in z direction")); name = new Fl_Input(10, 145, 145, 25, mgl_gettext("Name for output")); name->align(FL_ALIGN_TOP_LEFT); Fl_Button *o; o = new Fl_Button(10, 180, 65, 25, mgl_gettext("Cancel")); o->callback(close_dlg_cb,wnd); o->box(UDAV_UP_BOX); o->down_box(UDAV_DOWN_BOX); o = new Fl_Return_Button(90, 180, 65, 25, mgl_gettext("Do"));o->callback(chng_dlg_cb,wnd); o->box(UDAV_UP_BOX); o->down_box(UDAV_DOWN_BOX); wnd->end(); }
// add parameter string to tree Fl_Widget *onelabGroup::_addParameterWidget(onelab::string &p, int ww, int hh, Fl_Tree_Item *n, bool highlight, Fl_Color c) { char *path = strdup(getPath(n).c_str()); _treeStrings.push_back(path); // macro button if(p.getAttribute("Macro") == "Gmsh"){ Fl_Button *but = new Fl_Button(1, 1, ww / _widgetLabelRatio, hh); but->box(FL_FLAT_BOX); but->color(_tree->color()); but->selection_color(_tree->color()); but->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_CLIP); //TODO but->callback(onelab_string_button_cb, (void*)path); if(highlight) but->color(c); return but; } // non-editable value if(p.getReadOnly()){ Fl_Output *but = new Fl_Output(1, 1, ww, hh); but->value(p.getValue().c_str()); but->align(FL_ALIGN_RIGHT); if(highlight) but->color(c); return but; } // simple string (no menu) if(p.getChoices().empty() && p.getKind() != "file"){ Fl_Input *but = new Fl_Input(1, 1, ww, hh); but->value(p.getValue().c_str()); //TODO but->callback(onelab_string_input_cb, (void*)path); but->when(FL_WHEN_ENTER_KEY); but->align(FL_ALIGN_RIGHT); if(highlight) but->color(c); return but; } // general string input Fl_Input_Choice *but = new Fl_Input_Choice(1, 1, ww, hh); std::string multipleSelection = p.getAttribute("MultipleSelection"); if(multipleSelection.size()) ;//but->menubutton()->callback(multiple_selection_menu_cb, but); std::vector<Fl_Menu_Item> menu; for(unsigned int j = 0; j < p.getChoices().size(); j++){ char *str = strdup(p.getChoices()[j].c_str()); _treeStrings.push_back(str); bool divider = (p.getKind() == "file" && j == p.getChoices().size() - 1); int choice = multipleSelection.size() ? FL_MENU_TOGGLE : 0; if(multipleSelection.size() > j && multipleSelection[j] == '1') choice |= FL_MENU_VALUE; Fl_Menu_Item it = {str, 0, 0, 0, divider ? FL_MENU_DIVIDER : choice}; menu.push_back(it); } //if(p.getKind() == "file"){ // Fl_Menu_Item it = {"Choose...", 0, onelab_input_choice_file_chooser_cb, (void*)n}; // menu.push_back(it); // Fl_Menu_Item it2 = {"Edit...", 0, onelab_input_choice_file_edit_cb, (void*)n}; // menu.push_back(it2); // if(GuessFileFormatFromFileName(p.getValue()) >= 0){ // Fl_Menu_Item it3 = {"Merge...", 0, onelab_input_choice_file_merge_cb, (void*)n}; // menu.push_back(it3); // } //} Fl_Menu_Item it = {0}; menu.push_back(it); but->menubutton()->copy(&menu[0]); but->value(p.getValue().c_str()); but->callback(onelab_string_input_choice_cb, (void*)path); but->input()->when(FL_WHEN_ENTER_KEY); but->align(FL_ALIGN_RIGHT); if(highlight) but->input()->color(c); return but; }
SaveTrajectoryFltkMenu::SaveTrajectoryFltkMenu(VMDApp *vmdapp) : VMDFltkMenu("save", "Save Trajectory", vmdapp) { size(450, 250); { Fl_Choice* o = molchooser = new Fl_Choice(120, 10, 320, 25, "Save data from: "); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); o->color(VMDMENU_CHOOSER_BG); o->selection_color(VMDMENU_CHOOSER_SEL); o->callback(molchooser_cb, this); } { Fl_Input *o = selectinput = new Fl_Input(120, 45, 295, 25, "Selected atoms:"); o->selection_color(VMDMENU_VALUE_SEL); } { Fl_Choice* o = repchooser = new Fl_Choice(415, 45, 25, 25); o->down_box(FL_BORDER_BOX); o->align(FL_ALIGN_TOP_LEFT); o->color(VMDMENU_CHOOSER_BG, VMDMENU_CHOOSER_SEL); o->callback(repchooser_cb, this); } { Fl_Choice* o = filetypechooser = new Fl_Choice(20, 90, 115, 25, "File type:"); o->down_box(FL_BORDER_BOX); o->align(FL_ALIGN_TOP_LEFT); o->color(VMDMENU_CHOOSER_BG, VMDMENU_CHOOSER_SEL); } savebutton = new Fl_Return_Button(345, 90, 95, 25, "Save..."); savebutton->callback(save_cb, this); { Fl_Group* o = timestepgroup = new Fl_Group(20, 145, 165, 95, "Frames: "); o->box(FL_ENGRAVED_FRAME); o->align(FL_ALIGN_TOP_LEFT); { Fl_Button* o = saveinbackgroundbutton = new Fl_Round_Button(30, 215, 150, 20, "Save in background"); o->down_box(FL_ROUND_DOWN_BOX); o->type(FL_RADIO_BUTTON); } { Fl_Button* o = allatoncebutton = new Fl_Round_Button(30, 195, 150, 20, "Save all at once"); o->down_box(FL_ROUND_DOWN_BOX); o->type(FL_RADIO_BUTTON); } { Fl_Input* o = firstinput = new Fl_Int_Input(25, 170, 45, 20, "First:"); o->align(FL_ALIGN_TOP); o->selection_color(VMDMENU_VALUE_SEL); } { Fl_Input* o = lastinput = new Fl_Int_Input(80, 170, 45, 20, "Last:"); o->align(FL_ALIGN_TOP); o->selection_color(VMDMENU_VALUE_SEL); } { Fl_Input* o = strideinput = new Fl_Int_Input(135, 170, 45, 20, "Stride:"); o->align(FL_ALIGN_TOP); o->selection_color(VMDMENU_VALUE_SEL); } o->end(); datasetbrowser = new Fl_Multi_Browser(195, 145, 240, 95, "Volumetric Datasets"); datasetbrowser->align(5); datasetbrowser->color(VMDMENU_BROWSER_BG, VMDMENU_BROWSER_SEL); } end(); allatoncebutton->value(1); selected_molid = -1; datasetbrowser->deactivate(); command_wanted(Command::PLUGIN_UPDATE); command_wanted(Command::MOL_NEW); command_wanted(Command::MOL_RENAME); command_wanted(Command::MOL_DEL); command_wanted(Command::MOL_ADDREP); command_wanted(Command::MOL_DELREP); command_wanted(Command::MOL_MODREP); command_wanted(Command::MOL_MODREPITEM); command_wanted(Command::ANIM_DELETE); }
Fl_Scopes_Manager::Fl_Scopes_Manager(int x, int y, int width, int height, Fl_MDI_Viewport *s, const char *name) { Fl::lock(); s->begin(); Fl_MDI_Window *w = SWin = new Fl_MDI_Window(0, 0, width, height, name); w->user_data((void *)this); w->resizable(w->view()); w->titlebar()->close_button()->hide(); w->view()->begin(); Scopes_Tabs = new Fl_Tabs*[Num_Scopes]; Scope_Show = new Fl_Check_Button*[Num_Scopes]; Scope_Pause = new Fl_Button*[Num_Scopes]; Scope_OneShot = new Fl_Check_Button*[Num_Scopes]; Scope_Options = new Fl_Menu_Button*[Num_Scopes]; Grid_Color = new Fl_Button*[Num_Scopes]; Bg_Color = new Fl_Button*[Num_Scopes]; Sec_Div = new Fl_Input_Browser*[Num_Scopes]; Save_Type = new Fl_Check_Button*[Num_Scopes]; Save_Points = new Fl_Int_Input*[Num_Scopes]; Save_Time = new Fl_Float_Input*[Num_Scopes]; Save_File = new Fl_Input*[Num_Scopes]; Save = new Fl_Light_Button*[Num_Scopes]; Save_Flag = new int[Num_Scopes]; Save_File_Pointer = new FILE*[Num_Scopes]; Trace_Page = new Fl_Group**[Num_Scopes]; Trace_Show = new Fl_Check_Button**[Num_Scopes]; Units_Div = new Fl_Input_Browser**[Num_Scopes]; Trace_Color = new Fl_Button**[Num_Scopes]; Trace_Pos = new Fl_Dial**[Num_Scopes]; Trace_Width = new Fl_Dial**[Num_Scopes]; Trigger_Mode = new Fl_Choice*[Num_Scopes]; Trace_Options = new Fl_Menu_Button**[Num_Scopes]; Scope_Windows = new Fl_Scope_Window*[Num_Scopes]; for (int i = 0; i < Num_Scopes; i++) { Save_Flag[i] = false; { Fl_Tabs *o = Scopes_Tabs[i] = new Fl_Tabs(160, 5, width-165, height-40); o->new_page("General"); { Fl_Check_Button *o = Scope_Show[i] = new Fl_Check_Button(10, 25, 100, 20, "Show/Hide"); o->callback((Fl_Callback *)show_scope, (void *)i); } { Fl_Button *o = Scope_Pause[i] = new Fl_Button(10, 75, 90, 25, "Trigger"); o->value(0); o->deactivate(); o->when(FL_WHEN_CHANGED); o->callback((Fl_Callback *)pause_scope, (void *)i); } { Fl_Check_Button *o = Scope_OneShot[i] = new Fl_Check_Button(10, 50, 100, 20, "OneShot/Run"); o->deactivate(); o->callback((Fl_Callback *)oneshot_scope, (void *)i); } { Fl_Menu_Button *o = Scope_Options[i] = new Fl_Menu_Button(10, 105, 90, 25, "Options"); o->menu(Scope_Opts); o->when(FL_WHEN_ENTER_KEY); o->child(0)->set_value(); o->callback((Fl_Callback *)enter_options, (void *)i); } { Fl_Button *o = Grid_Color[i] = new Fl_Button(10, 135, 90, 25, "Grid Color"); o->callback((Fl_Callback *)select_grid_color, (void *)i); } { Fl_Button *o = Bg_Color[i] = new Fl_Button(10, 165, 90, 25, "Bg Color"); o->callback((Fl_Callback *)select_bg_color, (void *)i); } { Fl_Input_Browser *o = Sec_Div[i] = new Fl_Input_Browser(200, 25, 60, 20, "Sec/Div: "); o->add("0.001|0.005|0.01|0.05|0.1|0.5|1"); o->align(FL_ALIGN_LEFT); o->value("0.1"); o->when(FL_WHEN_ENTER_KEY); o->callback((Fl_Callback *)enter_secdiv, (void *)i); } { Fl_Check_Button *o = Save_Type[i] = new Fl_Check_Button(140, 50, 100, 20, "Points/Time"); o->value(1); o->callback((Fl_Callback *)select_save, (void *)i); } { Fl_Int_Input *o = Save_Points[i] = new Fl_Int_Input(200, 75, 60, 20, "N Points: "); o->align(FL_ALIGN_LEFT); o->value("1000"); } { Fl_Float_Input *o = Save_Time[i] = new Fl_Float_Input(200, 105, 60, 20, "Time [s]: "); o->align(FL_ALIGN_LEFT); o->value("1.0"); o->deactivate(); } { Fl_Input *o = Save_File[i] = new Fl_Input(200, 135, 100, 20, "Filename:"); char buf[100]; o->align(FL_ALIGN_LEFT); sprintf(buf, "%s", Scopes[i].name); o->value(buf); } { Fl_Light_Button *o = Save[i] = new Fl_Light_Button(140, 165, 90, 25, "Save"); o->selection_color(FL_BLACK); o->callback((Fl_Callback *)enable_saving, (void *)i); } { Fl_Choice *o = Trigger_Mode[i] = new Fl_Choice(60, 200, 170, 25, "Trigger:"); o->add("Continuous Roling|Continuous Overwrite|Rising (-to+) CH1|Falling (+to-) CH1|Hold"); o->align(FL_ALIGN_LEFT); o->value(0); o->when(FL_WHEN_ENTER_KEY); o->callback((Fl_Callback *)enter_trigger_mode, (void *)i); } Trace_Page[i] = new Fl_Group*[Scopes[i].ntraces]; Trace_Show[i] = new Fl_Check_Button*[Scopes[i].ntraces]; Units_Div[i] = new Fl_Input_Browser*[Scopes[i].ntraces]; Trace_Color[i] = new Fl_Button*[Scopes[i].ntraces]; Trace_Pos[i] = new Fl_Dial*[Scopes[i].ntraces]; Trace_Width[i] = new Fl_Dial*[Scopes[i].ntraces]; Trace_Options[i] = new Fl_Menu_Button*[Scopes[i].ntraces]; for (int j = 0; j < Scopes[i].ntraces; j++) { s_idx_T *idx = new s_idx_T; idx->scope_idx = i; idx->trace_idx = j; Trace_Page[i][j] = o->new_page(Scopes[i].traceName[j]); Trace_Page[i][j]->label_color(FL_WHITE); { Fl_Check_Button *o = Trace_Show[i][j] = new Fl_Check_Button(10, 25, 100, 20, "Show/Hide"); o->value(1); o->callback((Fl_Callback *)show_trace, (void *)idx); } { Fl_Input_Browser *o = Units_Div[i][j] = new Fl_Input_Browser(77, 55, 60, 20, "Units/Div: "); o->align(FL_ALIGN_LEFT); o->value("2.5"); o->add("0.001|0.002|0.005|0.01|0.02|0.05|0.1|0.2|0.5|1|2|5|10|50|100|1000"); o->when(FL_WHEN_ENTER_KEY); o->callback((Fl_Callback *)enter_unitsdiv, (void *)idx); } { Fl_Button *o = Trace_Color[i][j] = new Fl_Button(10, 90, 90, 25, "Trace Color"); o->callback((Fl_Callback *)select_trace_color, (void *)idx); } { Fl_Dial *o = Trace_Pos[i][j] = new Fl_Dial(170, 40, 50, 50, "Trace Offset"); o->type(Fl_Dial::LINE); o->minimum(0.0); o->maximum(2.0); o->value(1); o->callback((Fl_Callback *)change_trace_pos, (void *)idx); } { Fl_Dial *o = Trace_Width[i][j] = new Fl_Dial(250, 40, 50, 50, "Trace Width"); o->type(Fl_Dial::LINE); o->minimum(0.1); o->maximum(40.0); o->value(0.1); o->callback((Fl_Callback *)change_trace_width, (void *)idx); } { Fl_Menu_Button *o = Trace_Options[i][j] = new Fl_Menu_Button(10, 130, 90, 25, "Options "); int i; o->menu(Trace_Opts); o->when(FL_WHEN_ENTER_KEY); o->callback((Fl_Callback *)enter_options, (void *)idx); // for(i=0;i<o->children();i++) { // loop through all menu items, and add checked items to the value // o->child(i)->set_value(); // } } } o->end(); Fl_Group::current()->resizable(w); } } for (int i = 1; i < Num_Scopes; i++) { Scopes_Tabs[i]->hide(); } Scopes_Tabs[0]->show(); Help = new Fl_Button(width-150, height-30, 70, 25, "Help"); Close = new Fl_Button(width-75, height-30, 70, 25, "Close"); Close->callback((Fl_Callback *)close); Fl_Browser *o = Scopes_Tree = new Fl_Browser(5, 5, 150, height-10); o->indented(1); o->callback((Fl_Callback *)select_scope); for (int i = 0; i < Num_Scopes; i++) { add_paper(Scopes_Tree, Scopes[i].name, Fl_Image::read_xpm(0, scope_icon)); } w->view()->end(); s->end(); w->titlebar()->h(15); w->titlebar()->color(FL_BLACK); w->position(x, y); Fl::unlock(); }