ImageWindow::ImageWindow() { Fl_Double_Window* w; { Fl_Double_Window* o = new Fl_Double_Window(930, 580, "Total Counts"); w = o; o->user_data((void*)(this)); { new Fl_Button(30, 190, 285, 30, "Save Image"); } // Fl_Button* o { new Fl_Button(30, 240, 285, 30, "Reset Image"); } // Fl_Button* o { new Fl_Light_Button(85, 492, 175, 40, "Analyze Pointing"); } // Fl_Light_Button* o { new Fl_Value_Output(127, 384, 115, 25, "RA"); } // Fl_Value_Output* o { new Fl_Value_Output(127, 419, 115, 25, "Dec"); } // Fl_Value_Output* o { new Fl_Value_Output(127, 455, 115, 25, "Roll"); } // Fl_Value_Output* o { Fl_Box* o = new Fl_Box(25, 359, 300, 214, "Current Pointing"); o->box(FL_THIN_UP_FRAME); o->labelfont(1); o->align(Fl_Align(FL_ALIGN_TOP)); } // Fl_Box* o { Fl_Choice* o = new Fl_Choice(456, 535, 155, 25, "Image Scaling"); o->down_box(FL_BORDER_BOX); } // Fl_Choice* o { new Fl_Value_Output(199, 55, 115, 25, "Total Counts"); } // Fl_Value_Output* o { Fl_Value_Output* o = new Fl_Value_Output(199, 97, 115, 25, "Average Count Rate"); o->align(Fl_Align(132)); } // Fl_Value_Output* o { Fl_Value_Output* o = new Fl_Value_Output(199, 140, 115, 25, "Bright Pixel Count Rate"); o->align(Fl_Align(132)); } // Fl_Value_Output* o { Fl_Box* o = new Fl_Box(23, 37, 300, 258, "Image Statistics"); o->box(FL_THIN_UP_FRAME); o->labelfont(1); o->align(Fl_Align(FL_ALIGN_TOP)); } // Fl_Box* o { new Fl_Progress(30, 540, 290, 30); } // Fl_Progress* o { Fl_Box* o = new Fl_Box(365, 40, 530, 475, "Detector Image"); o->box(FL_THIN_UP_FRAME); o->labelfont(1); o->align(Fl_Align(FL_ALIGN_TOP)); } // Fl_Box* o { Fl_Choice* o = new Fl_Choice(760, 535, 155, 25, "Pixel Arrangement"); o->down_box(FL_BORDER_BOX); } // Fl_Choice* o plot = new plotWindow (100,100,500,500); o->end(); w->show(); } // Fl_Double_Window* o }
window(int x, int y, int w, int h, const char *label = 0) : Fl_Window(x, y, w, h, label) { Fl_Box *o = new Fl_Box(10, 10, 300, 25, "Open CSV file to convert to HTML -->"); o->box(FL_BORDER_BOX); o->align(FL_ALIGN_INSIDE | FL_ALIGN_WRAP| FL_ALIGN_CENTER); o->color((Fl_Color)215); o->labelfont(FL_HELVETICA_BOLD); Fl_Button *but = new Fl_Button(320, 10, 80, 25, "Pick Files"); but->callback(on_pick_button_click, this); encode_check = new Fl_Check_Button(10, 40, 280, 25, "Escape special HTML characters."); encode_check->value(1); open_file_check = new Fl_Check_Button(10, 65, 280, 25, "Open HTML in browser."); open_file_check->value(1); Fl_Button *author = new Fl_Button(320, 65, 80, 25, "Mingjie Li"); author->box(FL_FLAT_BOX); author->align(FL_ALIGN_INSIDE | FL_ALIGN_RIGHT); author->labelsize(12); author->labelcolor(fl_rgb_color(128, 128, 128)); author->callback(on_author_click, this); }
void ModelerApplication::Init(ModelerViewCreator_f createView, const ModelerControl controls[], unsigned numControls) { int i; m_animating = false; m_numControls = numControls; // ******************************************************** // Create the FLTK user interface // ******************************************************** m_ui = new ModelerUserInterface(); // Store pointers to the controls for manipulation m_controlLabelBoxes = new Fl_Box*[numControls]; m_controlValueSliders = new Fl_Value_Slider*[numControls]; // Constants for user interface setup const int textHeight = 20; const int sliderHeight = 20; const int packWidth = m_ui->m_controlsPack->w(); m_ui->m_controlsPack->begin(); // For each control, add appropriate objects to the user interface for (i=0; i<m_numControls; i++) { // Add the entry to the selection box m_ui->m_controlsBrowser->add(controls[i].m_name); // Add the label (but make it invisible for now) Fl_Box *box = new Fl_Box(0, 0, packWidth, textHeight, controls[i].m_name); box->labelsize(10); box->hide(); box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu) m_controlLabelBoxes[i] = box; // Add the slider (but make it invisible for now) Fl_Value_Slider *slider = new Fl_Value_Slider(0, 0, packWidth, sliderHeight,0); slider->type(1); slider->range(controls[i].m_minimum, controls[i].m_maximum); slider->step(controls[i].m_stepsize); slider->value(controls[i].m_value); slider->hide(); m_controlValueSliders[i] = slider; slider->callback((Fl_Callback*)ModelerApplication::SliderCallback); } m_ui->m_controlsPack->end(); // Make sure that we remove the view from the // Fl_Group, otherwise, it'll blow up // THIS BUG FIXED 04-18-01 ehsu m_ui->m_modelerWindow->remove(*(m_ui->m_modelerView)); delete m_ui->m_modelerView; m_ui->m_modelerWindow->begin(); m_ui->m_modelerView = createView(0, 0, m_ui->m_modelerWindow->w(), m_ui->m_modelerWindow->h() ,NULL); Fl_Group::current()->resizable(m_ui->m_modelerView); m_ui->m_modelerWindow->end(); }
Fl_Window* make_about_panel(const char *copyright) { Fl_Window* w; {Fl_Window* o = about_panel = new Fl_Window(330, 276, _("About eFluid")); w = o; o->type(240); o->selection_color((Fl_Color)47); o->shortcut(0xff1b); {Fl_Group* o = display_group = new Fl_Group(0, 0, 330, 240); {Fl_Group* o = new Fl_Group(5, 5, 320, 55, _("eFluid")); o->box(FL_ENGRAVED_BOX); o->label_font(fl_fonts+1); o->label_type(FL_EMBOSSED_LABEL); o->color((Fl_Color)0xb3b3be00); o->label_color((Fl_Color)32); o->selection_color((Fl_Color)47); o->label_size(40); o->align(FL_ALIGN_INSIDE); o->end(); } {Fl_Button* o = new Fl_Button(5, 165, 320, 70, _("\302\251""2002-2003\nClick here for more information")); o->box(FL_ENGRAVED_BOX); o->label_font(fl_fonts+1); o->color((Fl_Color)0xb3b3be00); o->label_color((Fl_Color)32); o->highlight_color((Fl_Color)0x9d9da700); o->highlight_label_color((Fl_Color)55); o->label_size(14); o->callback((Fl_Callback*)cb_2002); o->align(FL_ALIGN_WRAP); } {Fl_Box* o = new Fl_Box(5, 60, 320, 105, _("EFLTK User Interface Designer\nVersion 2.0.3")); o->box(FL_ENGRAVED_BOX); o->label_font(fl_fonts+1); o->label_type(FL_EMBOSSED_LABEL); o->color((Fl_Color)0xb3b3be00); o->label_color((Fl_Color)32); o->selection_color((Fl_Color)47); o->label_size(18); } o->end(); } {Fl_Box* o = copyright_box = new Fl_Box(0, 0, 330, 240); o->label_size(10); o->align(FL_ALIGN_TOP|FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_CLIP|FL_ALIGN_WRAP); o->hide(); o->label(copyright); } {Fl_Return_Button* o = new Fl_Return_Button(5, 245, 320, 25, _("OK")); o->label_size(10); o->shortcut(0xff0d); o->callback((Fl_Callback*)cb_OK); } o->end(); } return w; }
Fl_Group* SUBnoteharmonic::make_window() { { harmonic = new Fl_Group(0, 0, 90, 225); harmonic->box(FL_FLAT_BOX); harmonic->color(FL_BACKGROUND_COLOR); harmonic->selection_color(FL_BACKGROUND_COLOR); harmonic->labeltype(FL_NO_LABEL); harmonic->labelfont(0); harmonic->labelsize(14); harmonic->labelcolor(FL_FOREGROUND_COLOR); harmonic->user_data((void*)(this)); harmonic->align(FL_ALIGN_TOP); harmonic->when(FL_WHEN_RELEASE); { Fl_Slider* o = mag = new Fl_Slider(0, 15, 10, 115); mag->tooltip("harmonic\'s magnitude"); mag->type(4); mag->box(FL_FLAT_BOX); mag->selection_color((Fl_Color)222); mag->maximum(127); mag->step(1); mag->value(127); mag->callback((Fl_Callback*)cb_mag); o->value(127-pars->Phmag[n]); if (pars->Phmag[n]==0) o->selection_color(0); } // Fl_Slider* mag { Fl_Slider* o = bw = new Fl_Slider(0, 135, 10, 75); bw->tooltip("harmonic\'s bandwidth"); bw->type(4); bw->box(FL_FLAT_BOX); bw->selection_color((Fl_Color)222); bw->maximum(127); bw->step(1); bw->value(64); bw->callback((Fl_Callback*)cb_bw); o->value(127-pars->Phrelbw[n]); } // Fl_Slider* bw { Fl_Box* o = new Fl_Box(10, 170, 5, 5); o->box(FL_FLAT_BOX); o->color(FL_DARK2); if (n+1==MAX_SUB_HARMONICS) o->hide(); } // Fl_Box* o { Fl_Box* o = new Fl_Box(0, 210, 10, 15, "01"); o->labelfont(1); o->labelsize(9); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp)); } // Fl_Box* o { Fl_Box* o = new Fl_Box(0, 0, 10, 15, "01"); o->labelfont(1); o->labelsize(9); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp)); } // Fl_Box* o harmonic->end(); } // Fl_Group* harmonic return harmonic; }
int main(int argc, char **argv) { Fl_Window *window = new Fl_Window(340,180); Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!"); box->box(FL_UP_BOX); box->labelfont(FL_BOLD+FL_ITALIC); box->labelsize(36); box->labeltype(FL_SHADOW_LABEL); window->end(); window->show(argc, argv); return Fl::run(); }
int main(int argc, char *argv[]) { Fl_Window *window = new Fl_Window (800,700,"TETRIS"); window->color(56); Board *b = new Board(); Fl_Box *scorebox = new Fl_Box(tilesize*xmaxtiles+10,50,300,200,"Score: 0\0"); scorebox->box(FL_UP_BOX); scorebox->labelfont(FL_BOLD+FL_ITALIC); scorebox->labelsize(36); scorebox->labeltype(FL_ENGRAVED_LABEL); b->setScoreBox(&scorebox); Fl_Box *exi = new Fl_Box(tilesize*2,ymaxtiles*15,300,200,"Press Escape to Exit"); exi->box(FL_UP_BOX); exi->labelfont(FL_BOLD+FL_ITALIC); exi->labelsize(36); exi->labeltype(FL_ENGRAVED_LABEL); window->end(); window->show(); Fl::add_timeout(0.1, timeractions,b); return(Fl::run()); }
int main() { Fl_Window* win = new Fl_Window(290, 180, "Icon chooser test"); win->begin(); Fl_Box* ibox = image_box = new Fl_Box(80, 10, 135, 110); ibox->box(FL_THIN_DOWN_BOX); Fl_Button* run = new Fl_Button(95, 145, 90, 25, "&Run"); run->callback(run_cb); Fl_Button* close = new Fl_Button(190, 145, 90, 25, "&Close"); close->callback(close_cb, win); win->end(); win->show(); return Fl::run(); }
int main(int argc, char **argv) { Fl_Window *window = new Fl_Window(20,20,300,180); //Set type to DIALOG window->window_type(Fl_WM::DIALOG); window->begin(); Fl_Box *box = new Fl_Box(20,40,260,100,"Hello World"); box->box(FL_UP_BOX); box->label_font(FL_HELVETICA_BOLD_ITALIC); box->label_size(36); box->label_type(FL_SHADOW_LABEL); window->end(); window->show(argc, argv); return Fl::run(); }
int main(int argc, char **argv) { Fl_Window *window = new Fl_Window(340,180,"世界へようこそ!"); Fl_Box *box = new Fl_Box(20,40,300,100,"ようこそ、世界!"); Fl::set_font(FL_HELVETICA, "Kochi Mincho"); window->begin(); // Fl_Widget(x, y, width, height, label) //box->box(FL_UP_BOX); box->box(FL_NO_BOX); box->labelsize(36); box->labeltype(FL_SHADOW_LABEL); window->end(); window->show(argc, argv); return Fl::run(); }
//==== Create & Init Box Divider ====// void GroupLayout::AddDividerBox( const string& text, int used_w ) { assert( m_Group && m_Screen ); //==== Add Divider Box ====// int dw = FitWidth( used_w, m_ButtonWidth ); Fl_Box* flbox = new Fl_Box( m_X, m_Y, dw, m_DividerHeight ); flbox->box( FL_BORDER_BOX ); flbox->color( ( Fl_Color )12 ); flbox->labelfont( 1 ); flbox->labelcolor( FL_BACKGROUND2_COLOR ); flbox->copy_label( text.c_str() ); m_Group->add( flbox ); AddX( dw ); AddY( m_DividerHeight ); NewLineX(); }
void bt(const char *name) { int x = N%COLS; int y = N/COLS; N++; x = x*W+10; y = y*H+10; Fl_Box *a = new Fl_Box(x,y,W-20,H-20,name); a->user_data((void*)(name+1)); a->align(FL_ALIGN_BOTTOM); a->label_size(11); Fl_Box *b = new Fl_Box(x,y,W-20,H-20,name); b->user_data((void*)(name+1)); b->align(FL_ALIGN_CLIP); b->box(FL_THIN_UP_BOX); b->label_type(FL_SYMBOL_LABEL); b->label_color(FL_DARK3); }
//----------------------------------------------------------------------------- void XYZDlg::create_dlg() { wnd = new Fl_Double_Window(325, 125, mgl_gettext("Change data sizes")); box = new Fl_Box(10, 10, 305, 40); box->box(UDAV_THIN_UP_BOX); box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); mx = new Fl_Spinner(30, 55, 75, 25, "mx"); mx->tooltip(mgl_gettext("New size of data on 1st dimension (x-direction)")); my = new Fl_Spinner(135, 55, 75, 25, "my"); my->tooltip(mgl_gettext("New size of data on 2nd dimension (y-direction)")); mz = new Fl_Spinner(240, 55, 75, 25, "mz"); mz->tooltip(mgl_gettext("New size of data on 3d dimension (z-direction)")); ch = new Fl_Check_Button(15, 90, 95, 25); Fl_Button *o; o = new Fl_Button(125, 90, 85, 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(230, 90, 85, 25, mgl_gettext("Change"));o->callback(xyz_dlg_cb,wnd); o->box(UDAV_UP_BOX); o->down_box(UDAV_DOWN_BOX); o->tooltip(mgl_gettext("Change (resize) data")); wnd->end(); }
void ModelerUI::addControl(const char* szName, float fMin, float fMax, float fStepSize, float fInitVal) { Fl_Group* pgrpCurrBak = Fl_Group::current(); Fl_Group::current(m_ppckPack); const int k_iTextHeight = 20; const int k_iSliderHeight = 20; // Setup the label box Fl_Box* box = new Fl_Box(0, 0, m_ppckPack->w(), k_iTextHeight, szName); box->labelsize(10); box->hide(); box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu) // Setup the slider Fl_Value_Slider *slider = new Fl_Value_Slider(0, 0, m_ppckPack->w(), k_iSliderHeight, 0); slider->type(1); slider->hide(); slider->user_data(this); slider->callback(cb_sliders); slider->range(fMin, fMax); slider->step(fStepSize); slider->value(fInitVal); Fl_Group::current(pgrpCurrBak); // Add this entry to the browser string strName = "@C0"; // FLTK color encoding, we'll use @C0~@C6 strName += szName; m_pbrsBrowser->add(strName.c_str()); // Setup the curve m_pwndGraphWidget->addCurve(fInitVal, fMin, fMax); ++m_iCurrControlCount; }
void EDE_Calendar::update_calendar() { unsigned int i; // Find first day of week edelib::Date d=active_date_; d.set(d.year(), d.month(), 1); int day_of_week = d.day_of_week()-1; // Show/hide first filler if (day_of_week>0) m_filler[0]->show(); else m_filler[0]->hide(); // Days int row=2; for (i=0; i<d.days_in_month(); i++) { Fl_Box* btn = m_dayButtons[i]; // shortcut btn->show(); // Set button color Fl_Color daycolor = color(); // base color is the color of calendar if (day_of_week==0) // Special color for sunday daycolor = fl_color_average(daycolor, FL_BLUE, 0.8); if (i==(uint)today_date_.day()-1 && d.month()==today_date_.month() && d.year()==today_date_.year()) btn->color(fl_color_average(daycolor, FL_RED, 0.5)); // today else if (i==(uint)active_date_.day()-1) btn->color(fl_lighter(daycolor)); else btn->color(daycolor); // Set downbox for active day if (i==(uint)active_date_.day()-1) btn->box(FL_DOWN_BOX); else btn->box(FL_FLAT_BOX); day_of_week++; if (day_of_week==7) { day_of_week=0; row++; } } // Hide remaining buttons for (i=d.days_in_month(); i<31; i++) m_dayButtons[i]->hide(); // Show/hide second filler if (day_of_week<6) m_filler[1]->show(); else m_filler[1]->hide(); // Show/hide third filler if (row<7) m_filler[2]->show(); else m_filler[2]->hide(); // Set title static char title[30]; // No month name should be larger than 24 chars, even when localized // and we can't show it anyway cause the box is too small snprintf (title, 30, "%s, %d", d.month_name(), d.year()); m_monthNameBox->copy_label(title); // Calculate tooltip (distance between today and active date) static char tooltip_str[1024]; tooltip_str[0] = '\0'; if (today_date_ != active_date_) { long dist = date_distance(today_date_, active_date_); long weeks = dist/7; int wdays = dist%7; int months=0; int mdays=0; int years=0; int ymonths=0; // Find lower date, first part of tooltip edelib::Date d1,d2; if (today_date_ < active_date_) { d1=today_date_; d2=active_date_; snprintf(tooltip_str, 1023, _("In %ld days"), dist); } else { d2=today_date_; d1=active_date_; snprintf(tooltip_str, 1023, _("%ld days ago"), dist); } // If necessary, calculate distance in m/d and y/m/d format if (dist>30) { months = d2.month() - d1.month() + (d2.year() - d1.year())*12; mdays = d2.day() - d1.day(); if (mdays<1) { mdays += d2.days_in_month(); months--; } } if (months>11) { years = months/12; ymonths = months%12; } // Append those strings using snprintf if (weeks) { char* tmp = strdup(tooltip_str); snprintf(tooltip_str, 1023, _("%s\n%ld weeks and %d days"), tmp, weeks, wdays); free(tmp); } if (months) { char* tmp = strdup(tooltip_str); snprintf(tooltip_str, 1023, _("%s\n%d months and %d days"), tmp, months, mdays); free(tmp); } if (years) { char* tmp = strdup(tooltip_str); snprintf(tooltip_str, 1023, _("%s\n%d years, %d months and %d days"), tmp, years, ymonths, mdays); free(tmp); } } tooltip(tooltip_str); layout(x(),y(),w(),h()); // relayout buttons if neccessary redraw(); }
Fl_Double_Window* make_window() { Fl_Double_Window* w; {Fl_Double_Window* o = new Fl_Double_Window(560, 489); w = o; o->type(241); {Fl_Box* o = imbox = new Fl_Box(5, 30, 385, 455); o->box(FL_ENGRAVED_BOX); o->align(FL_ALIGN_CLIP); Fl_Group::current()->resizable(o); } {Fl_Box* o = filename_box = new Fl_Box(5, 5, 385, 20, "No file loaded..."); o->box(FL_THIN_DOWN_BOX); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); } {Fl_Group* o = new Fl_Group(395, 5, 160, 480); o->box(FL_THIN_DOWN_BOX); {Fl_Button* o = new Fl_Button(10, 10, 140, 25, "Load File"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)cb_Load); } {Fl_Button* o = new Fl_Button(10, 40, 140, 25, "Exit"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)cb_Exit); } new Fl_Divider(10, 75, 140, 15, "label"); {Fl_Button* o = new Fl_Button(10, 100, 140, 25, "Fit To Box"); o->type(Fl_Button::TOGGLE); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)cb_Fit); } {Fl_Button* o = new Fl_Button(10, 130, 140, 25, "Tile"); o->type(Fl_Button::TOGGLE); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)cb_Tile); } {Fl_Choice* o = filter_choice = new Fl_Choice(10, 335, 140, 25, "Filter:"); o->begin(); o->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); o->tooltip("Choose filter"); {Fl_Item* o = new Fl_Item("None"); o->user_data((void*)(0)); } {Fl_Item* o = new Fl_Item("Brightness"); o->user_data((void*)(FILTER_BRIGHTNESS)); } {Fl_Item* o = new Fl_Item("Contrast"); o->user_data((void*)(FILTER_CONTRAST)); } {Fl_Item* o = new Fl_Item("Grayscale"); o->user_data((void*)(FILTER_GRAYSCALE)); } {Fl_Item* o = new Fl_Item("Gamma"); o->user_data((void*)(FILTER_GAMMA)); } {Fl_Item* o = new Fl_Item("Fore Blend"); o->user_data((void*)(FILTER_FOREBLEND)); } {Fl_Item* o = new Fl_Item("Back Blend"); o->user_data((void*)(FILTER_BACKBLEND)); } o->end(); } {Fl_Box* o = new Fl_Box(10, 160, 140, 160); o->parent()->resizable(o); } {Fl_Value_Slider* o = Rslider = new Fl_Value_Slider(25, 380, 125, 15, "R"); o->type(Fl_Value_Slider::HORIZONTAL); o->label_size(10); o->text_size(10); o->minimum(-3); o->maximum(3); o->value(1); o->slider_size(5); o->align(FL_ALIGN_LEFT); o->tooltip("Red value for filter"); } {Fl_Value_Slider* o = Gslider = new Fl_Value_Slider(25, 400, 125, 15, "G"); o->type(Fl_Value_Slider::HORIZONTAL); o->label_size(10); o->text_size(10); o->minimum(-3); o->maximum(3); o->value(1); o->slider_size(5); o->align(FL_ALIGN_LEFT); o->tooltip("Green value for filter"); } {Fl_Value_Slider* o = Bslider = new Fl_Value_Slider(25, 420, 125, 15, "B"); o->type(Fl_Value_Slider::HORIZONTAL); o->label_size(10); o->text_size(10); o->minimum(-3); o->maximum(3); o->value(1); o->slider_size(5); o->align(FL_ALIGN_LEFT); o->tooltip("Blue value for filter"); } {Fl_Button* o = new Fl_Button(10, 445, 140, 25, "Apply"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)cb_Apply); o->tooltip("Apply current selected filter"); } {Fl_Check_Button* o = lock = new Fl_Check_Button(10, 365, 140, 15, "Lock sliders"); o->label_size(10); o->callback((Fl_Callback*)cb_lock); o->tooltip("Lock slider, RGB values taken from R slider "); } o->end(); } o->end(); } return w; }
SciCalc::SciCalc() { Fl_Window* w; {Fl_Window* o = win = new Fl_Window(181, 262, "eCalc"); w = o; o->label_type(FL_NO_LABEL); o->shortcut(0xff1b); o->user_data((void*)(this)); o->align(); {Fl_Box* o = leddisplay = new Fl_Box(2, 2, 176, 24, "Welcome"); o->box(FL_THIN_DOWN_BOX); o->label_font(fl_fonts+4); o->color((Fl_Color)207); o->label_color((Fl_Color)59); o->label_size(14); o->callback((Fl_Callback*)cb_leddisplay); o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE); } {Fl_Box* o = box_DEGRAD = new Fl_Box(24, 28, 35, 16); o->box(FL_THIN_DOWN_BOX); o->label_color((Fl_Color)1); o->label_size(9); o->callback((Fl_Callback*)cb_box_DEGRAD); o->align(FL_ALIGN_INSIDE); } {Fl_Box* o = box_bracket = new Fl_Box(59, 28, 65, 16); o->box(FL_THIN_DOWN_BOX); o->label_color((Fl_Color)1); o->label_size(9); o->align(FL_ALIGN_INSIDE); } {Fl_Box* o = box_M = new Fl_Box(124, 28, 35, 16); o->box(FL_THIN_DOWN_BOX); o->label_color((Fl_Color)1); o->label_size(9); o->callback((Fl_Callback*)cb_box_M); o->align(FL_ALIGN_INSIDE); } {Fl_Group* o = new Fl_Group(46, 46, 93, 22); o->color((Fl_Color)46); {Fl_Button* o = radio_2 = new Fl_Button(3, 3, 20, 15, "2"); o->type(Fl_Button::RADIO); o->label_color((Fl_Color)1); o->label_size(10); o->shortcut(0x40062); o->callback((Fl_Callback*)cb_radio_2); o->tooltip("Binary mode"); } {Fl_Button* o = radio_8 = new Fl_Button(24, 3, 21, 15, "8"); o->type(Fl_Button::RADIO); o->label_color((Fl_Color)1); o->label_size(10); o->shortcut(0x4006f); o->callback((Fl_Callback*)cb_radio_8); o->tooltip("Octal mode"); } {Fl_Button* o = radio_10 = new Fl_Button(46, 3, 21, 15, "10"); o->type(Fl_Button::RADIO); o->label_color((Fl_Color)1); o->label_size(10); o->shortcut(0x40064); o->value(1); o->callback((Fl_Callback*)cb_radio_10); o->tooltip("Decimal mode"); } {Fl_Button* o = radio_16 = new Fl_Button(68, 3, 21, 15, "16"); o->type(Fl_Button::RADIO); o->label_color((Fl_Color)1); o->label_size(10); o->shortcut(0x40068); o->callback((Fl_Callback*)cb_radio_16); o->tooltip("Hex mode"); } o->end(); } {Fl_Group* o = new Fl_Group(3, 163, 107, 94); o->box(FL_BORDER_BOX); o->color((Fl_Color)43); {Fl_Button* o = but_7 = new Fl_Button(3, 4, 32, 20, "7"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x37); o->callback((Fl_Callback*)cb_but_7); } {Fl_Button* o = but_8 = new Fl_Button(38, 4, 32, 20, "8"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x38); o->callback((Fl_Callback*)cb_but_8); } {Fl_Button* o = but_9 = new Fl_Button(72, 4, 32, 20, "9"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x39); o->callback((Fl_Callback*)cb_but_9); } {Fl_Button* o = but_4 = new Fl_Button(3, 26, 32, 20, "4"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x34); o->callback((Fl_Callback*)cb_but_4); } {Fl_Button* o = but_5 = new Fl_Button(38, 26, 32, 20, "5"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x35); o->callback((Fl_Callback*)cb_but_5); } {Fl_Button* o = but_6 = new Fl_Button(72, 26, 32, 20, "6"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x36); o->callback((Fl_Callback*)cb_but_6); } {Fl_Button* o = but_1 = new Fl_Button(3, 48, 32, 20, "1"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x31); o->callback((Fl_Callback*)cb_but_1); } {Fl_Button* o = but_2 = new Fl_Button(38, 48, 32, 20, "2"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x32); o->callback((Fl_Callback*)cb_but_2); } {Fl_Button* o = but_3 = new Fl_Button(72, 48, 32, 20, "3"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x33); o->callback((Fl_Callback*)cb_but_3); } {Fl_Button* o = but_0 = new Fl_Button(3, 70, 32, 20, "0"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x30); o->callback((Fl_Callback*)cb_but_0); } {Fl_Button* o = but_dot = new Fl_Button(38, 70, 32, 20, "."); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x2e); o->callback((Fl_Callback*)cb_but_dot); } {Fl_Button* o = but_sign = new Fl_Button(72, 70, 32, 20, "+/-"); o->label_font(fl_fonts+1); o->label_size(14); o->callback((Fl_Callback*)cb_but_sign); } o->end(); } {Fl_Button* o = but_C = new Fl_Button(112, 167, 31, 20, "C"); o->label_font(fl_fonts+1); o->label_size(14); o->callback((Fl_Callback*)cb_but_C); } {Fl_Button* o = but_AC = new Fl_Button(146, 167, 30, 20, "AC"); o->label_font(fl_fonts+1); o->label_size(14); o->callback((Fl_Callback*)cb_but_AC); } {Fl_Button* o = but_X = new Fl_Button(112, 189, 31, 20, "x"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x2a); o->callback((Fl_Callback*)cb_but_X); } {Fl_Button* o = but_div = new Fl_Button(146, 189, 30, 20, "/"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x2f); o->callback((Fl_Callback*)cb_but_div); } {Fl_Button* o = but_plus = new Fl_Button(112, 211, 31, 20, "+"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x2b); o->callback((Fl_Callback*)cb_but_plus); } {Fl_Button* o = but_minus = new Fl_Button(146, 211, 30, 20, "-"); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x2d); o->callback((Fl_Callback*)cb_but_minus); } {Fl_Button* o = but_pi = new Fl_Button(112, 233, 31, 20, "e/p"); o->label_font(fl_fonts+12); o->label_size(16); o->callback((Fl_Callback*)cb_but_pi); } {Fl_Button* o = but_eval = new Fl_Button(146, 233, 30, 20, "="); o->label_font(fl_fonts+1); o->label_size(14); o->shortcut(0x3d); o->callback((Fl_Callback*)cb_but_eval); } {Fl_Button* o = but_eval_hidden = new Fl_Button(147, 253, 6, 7); o->box(FL_NO_BOX); o->label_font(fl_fonts+1); o->label_size(16); o->shortcut(0xff0d); o->callback((Fl_Callback*)cb_but_eval_hidden); } {Fl_Button* o = but_eval_hidden2 = new Fl_Button(157, 263, 6, 7); o->box(FL_NO_BOX); o->label_font(fl_fonts+1); o->label_size(16); o->shortcut(0xff8d); o->callback((Fl_Callback*)cb_but_eval_hidden2); } {Fl_Button* o = but_sqrt = new Fl_Button(6, 70, 32, 21, "sqrt"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_sqrt); } {Fl_Button* o = but_pow = new Fl_Button(41, 70, 32, 21, "x^y"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_pow); } {Fl_Button* o = but_sin = new Fl_Button(76, 70, 31, 21, "sin"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_sin); } {Fl_Button* o = but_cos = new Fl_Button(110, 70, 31, 21, "cos"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_cos); } {Fl_Button* o = but_tan = new Fl_Button(144, 70, 30, 21, "tan"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_tan); } {Fl_Button* o = but_log = new Fl_Button(6, 93, 32, 21, "log"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_log); } {Fl_Button* o = but_ln = new Fl_Button(41, 93, 32, 21, "ln"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_ln); } {Fl_Button* o = but_int = new Fl_Button(76, 93, 31, 21, "int"); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_but_int); } {Fl_Button* o = but_dr = new Fl_Button(110, 93, 31, 21, "d->r"); o->label_color((Fl_Color)4); o->label_size(10); o->callback((Fl_Callback*)cb_but_dr); } {Fl_Button* o = but_drg = new Fl_Button(144, 93, 30, 21, "d-r-g"); o->label_size(9); o->callback((Fl_Callback*)cb_but_drg); } {Fl_Button* o = but_leftbr = new Fl_Button(6, 116, 32, 21, "["); o->label_size(11); o->shortcut(0x28); o->callback((Fl_Callback*)cb_but_leftbr); } {Fl_Button* o = but_rightbr = new Fl_Button(41, 116, 32, 21, "]"); o->label_size(11); o->shortcut(0x29); o->callback((Fl_Callback*)cb_but_rightbr); } {Fl_Button* o = but_exch = new Fl_Button(76, 116, 31, 21, "exch"); o->label_size(11); o->callback((Fl_Callback*)cb_but_exch); } {Fl_Button* o = but_invx = new Fl_Button(110, 116, 31, 21, "1/x"); o->label_size(11); o->callback((Fl_Callback*)cb_but_invx); } {Fl_Button* o = but_fact = new Fl_Button(144, 116, 30, 21, "x!"); o->label_size(11); o->callback((Fl_Callback*)cb_but_fact); } {Fl_Button* o = but_Mplus = new Fl_Button(6, 139, 32, 21, "M+"); o->color((Fl_Color)0xffb30000); o->label_color((Fl_Color)4); o->callback((Fl_Callback*)cb_but_Mplus); } {Fl_Button* o = but_Mmult = new Fl_Button(41, 139, 32, 21, "M*"); o->color((Fl_Color)0xffb30000); o->label_color((Fl_Color)4); o->callback((Fl_Callback*)cb_but_Mmult); } {Fl_Button* o = but_Mclear = new Fl_Button(76, 139, 31, 21, "MC"); o->color((Fl_Color)0xffb30000); o->label_color((Fl_Color)4); o->callback((Fl_Callback*)cb_but_Mclear); } {Fl_Button* o = but_Mst = new Fl_Button(110, 139, 31, 21, "Mst"); o->color((Fl_Color)0xffb30000); o->callback((Fl_Callback*)cb_but_Mst); } {Fl_Button* o = but_Mrc = new Fl_Button(144, 139, 30, 21, "Mrc"); o->color((Fl_Color)0xffb30000); o->callback((Fl_Callback*)cb_but_Mrc); } {Fl_Button* o = check_inv = new Fl_Button(6, 47, 32, 20, "inv"); o->type(Fl_Button::TOGGLE); o->label_color((Fl_Color)4); o->label_size(11); o->callback((Fl_Callback*)cb_check_inv); } {Fl_Button* o = but_quit = new Fl_Button(144, 47, 30, 20, "Exit"); o->label_font(fl_fonts+1); o->label_color((Fl_Color)33); o->shortcut(0x40071); o->callback((Fl_Callback*)cb_but_quit); } o->end(); } init_value(0); drgmode = 1; base = 10; currentbrkt = 0; startbrkt[0] = 0; set_memdisp(); set_brktdisp(); radio_10->value(1); set_drgdisp(); set_display(0.0,NONE); }
void MainWindow::createComponents() { Fl_Group* grpSequence = new Fl_Group(10,20,150,120, "Sequence :"); if ( grpSequence != NULL ) { grpSequence->box(FL_DOWN_BOX); grpSequence->align(Fl_Align(FL_ALIGN_TOP_LEFT)); grpSequence->labelsize(DEFAULT_FONT_SIZE); grpSequence->begin(); seqPreparing = new Fl_Box(20,30,130,20,"1. Preparing update ..."); if ( seqPreparing != NULL ) { seqPreparing->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); seqPreparing->labelsize(DEFAULT_FONT_SIZE); seqPreparing->deactivate(); } seqRetrieving = new Fl_Box(20,50,130,20,"2. Retrieving data ..."); if ( seqRetrieving != NULL ) { seqRetrieving->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); seqRetrieving->labelsize(DEFAULT_FONT_SIZE); seqRetrieving->deactivate(); } seqProcessing = new Fl_Box(20,70,130,20,"3. Processing data ..."); if ( seqProcessing != NULL ) { seqProcessing->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); seqProcessing->labelsize(DEFAULT_FONT_SIZE); seqProcessing->deactivate(); } seqUpdating = new Fl_Box(20,90,130,20,"4. Updating ..."); if ( seqUpdating != NULL ) { seqUpdating->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); seqUpdating->labelsize(DEFAULT_FONT_SIZE); seqUpdating->deactivate(); } seqFinalizing = new Fl_Box(20,110,130,20,"5. Finalizing ..."); if ( seqFinalizing != NULL ) { seqFinalizing->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); seqFinalizing->labelsize(DEFAULT_FONT_SIZE); seqFinalizing->deactivate(); } grpSequence->end(); progBar = new Fl_Progress(10,150,150,10); if ( progBar != NULL ) { progBar->color2(FL_BLUE); progBar->maximum(5); progBar->minimum(0); progBar->value(0); } mli_info = new Fl_Box(170,20,220,140,""); if ( mli_info != NULL ) { mli_info->box( FL_DOWN_BOX ); mli_info->align( FL_ALIGN_TOP_LEFT | FL_ALIGN_INSIDE ); mli_info->labelsize(DEFAULT_FONT_SIZE); } Fl_Box* boxCopyright = new Fl_Box(10,165,380,35); if ( boxCopyright != NULL ) { boxCopyright->box(FL_DOWN_BOX); boxCopyright->align( FL_ALIGN_TOP_LEFT | FL_ALIGN_INSIDE ); boxCopyright->labelsize(COPYRIGHT_FONT_SIZE); boxCopyright->label("Automatic Updater, (C)Copyright 2013 Rageworx freeware.\n" "All rights reserved, [email protected]"); } } }
classificationEditor::classificationEditor() : selected(0) { opt_mesh_lines(0, GMSH_SET | GMSH_GUI, 1.); drawContext::global()->draw(); int BBB = (int)(1.4 * BB); const int width = (int)(3.15 * BBB), height = (int)(9.5 * BH); window = new paletteWindow (width, height, CTX::instance()->nonModalWindows ? true : false, "Reclassify 2D"); window->box(GMSH_WINDOW_BOX); int x = WB, y = WB; { Fl_Box *b = new Fl_Box (x, y, width, BH, "1. Select mesh elements on which to perform edge detection"); b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE); x += WB; y += BH; buttons[CLASS_BUTTON_SELECT_ELEMENTS] = new Fl_Button (x, y, BBB, BH, "Select elements"); buttons[CLASS_BUTTON_SELECT_ELEMENTS]->callback(select_elements_cb, this); buttons[CLASS_BUTTON_SELECT_ALL_ELEMENTS] = new Fl_Button (x + BBB + WB, y, (int)(0.5 * BBB) - WB, BH, "All"); buttons[CLASS_BUTTON_SELECT_ALL_ELEMENTS]->callback(select_elements_cb, this); toggles[CLASS_TOGGLE_HIDE] = new Fl_Check_Button ((int)(x + 1.5 * BBB + WB), y, (int)(width - 1.5 * BBB - x - 2 * WB), BH, "Hide unselected elements"); toggles[CLASS_TOGGLE_HIDE]->type(FL_TOGGLE_BUTTON); toggles[CLASS_TOGGLE_HIDE]->callback(hide_cb, this); x -= WB; } { y += BH / 2; Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 2 * WB, 2); b->box(FL_ENGRAVED_FRAME); b->labeltype(FL_NO_LABEL); } { y += BH; Fl_Box *b = new Fl_Box (x, y, width, BH, "2. Fine-tune edge selection"); b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE); x += WB; y += BH; inputs[CLASS_VALUE_ANGLE] = new Fl_Value_Input (x, y, 2 * BBB / 3, BH, "Threshold angle"); inputs[CLASS_VALUE_ANGLE]->value(40); inputs[CLASS_VALUE_ANGLE]->maximum(180); inputs[CLASS_VALUE_ANGLE]->minimum(0); inputs[CLASS_VALUE_ANGLE]->align(FL_ALIGN_RIGHT); inputs[CLASS_VALUE_ANGLE]->step(1); inputs[CLASS_VALUE_ANGLE]->when(FL_WHEN_RELEASE); inputs[CLASS_VALUE_ANGLE]->callback(update_edges_cb, this); toggles[CLASS_TOGGLE_SHOW_ONLY_EDGES] = new Fl_Check_Button ((int)(x + 1.5 * BBB + WB), y, (int)(width - x - 1.5 * BBB - 2 * WB), BH, "Show only edges"); toggles[CLASS_TOGGLE_SHOW_ONLY_EDGES]->type(FL_TOGGLE_BUTTON); toggles[CLASS_TOGGLE_SHOW_ONLY_EDGES]->callback(show_only_edges_cb, this); y += BH; toggles[CLASS_TOGGLE_BOUNDARY] = new Fl_Check_Button (x, y, width - x - 2 * WB, BH, "Include edges on boundary (closure)"); toggles[CLASS_TOGGLE_BOUNDARY]->type(FL_TOGGLE_BUTTON); toggles[CLASS_TOGGLE_BOUNDARY]->callback(update_edges_cb, this); y += BH; buttons[CLASS_BUTTON_DELETE_FROM_SELECTION] = new Fl_Button (x, y, (int)(1.5 * BBB), BH, "Delete edges from selection"); buttons[CLASS_BUTTON_DELETE_FROM_SELECTION]->callback(delete_edge_cb, this); buttons[CLASS_BUTTON_DELETE_FROM_SELECTION]->deactivate(); buttons[CLASS_BUTTON_RESET_SELECTION] = new Fl_Button (x + (int)(1.5 * BBB + WB), y, BBB, BH, "Reset selection"); buttons[CLASS_BUTTON_RESET_SELECTION]->callback(reset_selection_cb, this); buttons[CLASS_BUTTON_RESET_SELECTION]->deactivate(); x -= WB; } { y += BH / 2; Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 2 * WB, 2); b->box(FL_ENGRAVED_FRAME); b->labeltype(FL_NO_LABEL); } { y += BH; Fl_Box *b = new Fl_Box (x, y, width, BH, "3. Reclassify surfaces using selected edges"); b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE); x += WB; y += BH; buttons[CLASS_BUTTON_SELECT_SURFACES] = new Fl_Button (x, y, BBB, BH, "Select surfaces"); buttons[CLASS_BUTTON_SELECT_SURFACES]->callback(select_surfaces_cb, this); buttons[CLASS_BUTTON_SELECT_ALL_SURFACES] = new Fl_Button (x + BBB + WB, y, (int)(0.5 * BBB) - WB, BH, "All"); buttons[CLASS_BUTTON_SELECT_ALL_SURFACES]->callback(select_surfaces_cb, this); buttons[CLASS_BUTTON_CLASSIFY] = new Fl_Return_Button ((int)(x + 1.5 * BBB + WB), y, BBB, BH, "Reclassify"); buttons[CLASS_BUTTON_CLASSIFY]->callback(classify_cb, this); buttons[CLASS_BUTTON_CLASSIFY]->deactivate(); x -= WB; } window->end(); window->hotspot(window); NoElementsSelectedMode(this); }
void SynthModular::LoadPlugins (string pluginPath) { int Width = 35; int Height = 35; int SWidth = 256; int SHeight = 256; Fl_Pixmap pic (SSM_xpm); Fl_Double_Window* Splash = new Fl_Double_Window ((Fl::w()/2) - (SWidth/2), (Fl::h()/2) - (SHeight/2), SWidth, SHeight, "SSM"); Splash->border(0); Fl_Box* pbut = new Fl_Box (0, 8, SWidth, SHeight, ""); pbut->box (FL_NO_BOX); pic.label (pbut); Fl_Box *splashtext = new Fl_Box (5, SHeight-20, 200, 20, "Loading..."); splashtext->labelsize (10); splashtext->box (FL_NO_BOX); splashtext->align (FL_ALIGN_INSIDE | FL_ALIGN_LEFT); Splash->add (pbut); Splash->add (splashtext); Splash->show(); int ID=-1; vector<string> PluginVector; if (SpiralInfo::USEPLUGINLIST) PluginVector = SpiralInfo::PLUGINVEC; else { if (pluginPath.empty()) PluginVector = BuildPluginList (SpiralInfo::PLUGIN_PATH); else { string::iterator i = pluginPath.end() - 1; if (*i != '/') pluginPath += '/'; PluginVector = BuildPluginList (pluginPath); } } for (vector<string>::iterator i=PluginVector.begin(); i!=PluginVector.end(); i++) { string Fullpath; if (pluginPath=="") Fullpath=SpiralInfo::PLUGIN_PATH+*i; else Fullpath = pluginPath + *"/" + *i; ID = PluginManager::Get()->LoadPlugin (Fullpath.c_str()); if (ID!=PluginError) { #ifdef DEBUG_PLUGINS cerr << ID << " = Plugin [" << *i << "]" << endl; #endif Fl_ToolButton *NewButton = new Fl_ToolButton (0, 0, Width, Height, ""); // we can't set user data, because the callback uses it // NewButton->user_data ((void*)(this)); NewButton->labelsize (1); Fl_Pixmap *tPix = new Fl_Pixmap (PluginManager::Get()->GetPlugin(ID)->GetIcon()); NewButton->image(tPix->copy(tPix->w(),tPix->h())); delete tPix; const char * gName = PluginManager::Get()->GetPlugin(ID)->GetGroupName(); string GroupName(gName); Fl_Pack* the_group=NULL; // find or create this group, and add an icon map<string,Fl_Pack*>::iterator gi = m_PluginGroupMap.find (GroupName); if (gi == m_PluginGroupMap.end()) { the_group = new Fl_Pack (m_GroupTab->x(), 16, m_GroupTab->w(), m_GroupTab->h() - 15, gName); the_group->type(FL_HORIZONTAL); the_group->labelsize(8); the_group->color(SpiralInfo::GUICOL_Button); the_group->user_data((void*)(this)); //m_GroupTab->add(the_group); m_GroupTab->value(the_group); m_PluginGroupMap[GroupName]=the_group; } else the_group = gi->second; NewButton->type (0); NewButton->box (FL_NO_BOX); NewButton->down_box (FL_NO_BOX); //NewButton->color(SpiralInfo::GUICOL_Button); //NewButton->selection_color(SpiralInfo::GUICOL_Button); the_group->add (NewButton); // we need to keep tooltips stored outside their widgets - widgets just have a pointer // I haven't done anything about cleaning up these strings - which may cause memory leaks? // But m_DeviceVec - which, I assume, would be used to keep track of / clean up the dynamicly // created NewButton widgets isn't cleaned up either, so we might have 2 memory leaks // involved? - but then again, they might be automatically deallocated because they're // in another widget, in which case there's just one memory leak to deal with. (andy) string* PluginName = new string (*i); // find the first slash, if there is one, and get rid of everything before and including it unsigned int p = PluginName->find ('/'); if (p < PluginName->length()) PluginName->erase (0, p); // find last . and get rid of everything after and including it p = PluginName->rfind ('.'); unsigned int l = PluginName->length (); if (p < l) PluginName->erase (p, l); NewButton->tooltip (PluginName->c_str()); // Slashes have significance to the menu widgets, remove them from the GroupName while ((p = GroupName.find ('/')) < PluginName->length()) GroupName = GroupName.replace (p, 1, " and "); string MenuEntry = "Plugins/" + GroupName + "/" + *PluginName; m_MainMenu->add (MenuEntry.c_str(), 0, cb_NewDeviceFromMenu, &Numbers[ID], 0); // when help is working better - this will put the plugins into the help menu // MenuEntry = "Help/" + MenuEntry; // m_MainMenu->add (MenuEntry.c_str(), 0, NULL, &Numbers[ID], 0); // Add the plugins to the canvas menu m_Canvas->AddPluginName (MenuEntry, PluginManager::Get()->GetPlugin(ID)->ID); // this overwrites the widget's user_data with that specified for the callback // so we can't use it for other purposes NewButton->callback ((Fl_Callback*)cb_NewDevice, &Numbers[ID]); NewButton->show(); // Nothing else ever touches m_DeviceVec - is this right??? (andy) m_DeviceVec.push_back (NewButton); the_group->redraw(); // m_NextPluginButton++; Fl::check(); splashtext->label (PluginName->c_str()); Splash->redraw(); } } map<string,Fl_Pack*>::iterator PlugGrp; for (PlugGrp = m_PluginGroupMap.begin(); PlugGrp!= m_PluginGroupMap.end(); ++PlugGrp) { m_GroupTab->add (PlugGrp->second); PlugGrp->second->add (new Fl_Box (0, 0, 600, 100, "")); } // try to show the SpiralSound group PlugGrp = m_PluginGroupMap.find("SpiralSound"); // can't find it - show the first plugin group if (PlugGrp==m_PluginGroupMap.end()) PlugGrp=m_PluginGroupMap.begin(); m_GroupTab->value(PlugGrp->second); bool found_dummy; int i; do { found_dummy = false; for (i=0; i<m_MainMenu->size(); i++) { if (m_MainMenu->text (i) != NULL) { found_dummy = (strcmp ("dummy", m_MainMenu->text (i)) == 0); if (found_dummy) break; } } if (found_dummy) m_MainMenu->remove (i); } while (found_dummy); Splash->hide(); delete Splash; }
int main(int argc, char **argv) { { m_win = new Fl_Double_Window(425, 350, "Calc80"); m_win->color((Fl_Color)29); m_win->labelfont(2); m_win->labelsize(11); { Fl_Box* o = new Fl_Box(5, 25, 415, 60); o->box(FL_RFLAT_BOX); o->color((Fl_Color)206); } // Fl_Box* o { Fl_Button* o = new Fl_Button(245, 297, 55, 47, "0"); o->box(FL_FLAT_BOX); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(0)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(305, 297, 55, 47, "."); o->box(FL_FLAT_BOX); o->shortcut(0x2c); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(10)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(5, 318, 40, 26, "hyp"); o->box(FL_FLAT_BOX); o->shortcut(0x7a); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(1025)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(185, 245, 55, 47, "1"); o->box(FL_FLAT_BOX); o->shortcut(0x31); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(1)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(245, 245, 55, 47, "2"); o->box(FL_FLAT_BOX); o->shortcut(0x32); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(2)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(305, 245, 55, 47, "3"); o->box(FL_FLAT_BOX); o->shortcut(0x33); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(3)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(365, 245, 55, 47, "+"); o->box(FL_FLAT_BOX); o->shortcut(0x2b); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(67)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(185, 193, 55, 47, "4"); o->box(FL_FLAT_BOX); o->shortcut(0x34); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(4)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(245, 193, 55, 47, "5"); o->box(FL_FLAT_BOX); o->shortcut(0x35); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(5)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(305, 193, 55, 47, "6"); o->box(FL_FLAT_BOX); o->shortcut(0x36); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(6)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(365, 193, 55, 47, "-"); o->box(FL_FLAT_BOX); o->shortcut(0x2d); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(68)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(185, 141, 55, 47, "7"); o->box(FL_FLAT_BOX); o->shortcut(0x37); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(7)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(245, 141, 55, 47, "8"); o->box(FL_FLAT_BOX); o->shortcut(0x38); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(8)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(305, 141, 55, 47, "9"); o->box(FL_FLAT_BOX); o->shortcut(0x39); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(9)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(365, 141, 55, 47, "x"); o->box(FL_FLAT_BOX); o->shortcut(0x2a); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(80)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(185, 297, 55, 47, "%"); o->box(FL_FLAT_BOX); o->shortcut(0x25); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(75)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(245, 89, 55, 47, "("); o->box(FL_FLAT_BOX); o->shortcut(0x28); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(65)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(305, 89, 55, 47, ")"); o->box(FL_FLAT_BOX); o->shortcut(0x29); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(66)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(365, 89, 55, 47, "/"); o->box(FL_FLAT_BOX); o->shortcut(0x2f); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(81)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(185, 89, 55, 47, "DEL"); o->box(FL_FLAT_BOX); o->shortcut(0xff08); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(13)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(50, 254, 40, 26, "\317\200"); o->box(FL_FLAT_BOX); o->shortcut(0x77); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(19)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(95, 286, 40, 26, "ln"); o->box(FL_FLAT_BOX); o->shortcut(0x64); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(132)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(5, 254, 40, 26, "^"); o->box(FL_FLAT_BOX); o->shortcut(0x71); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(96)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(5, 286, 40, 26, "log"); o->box(FL_FLAT_BOX); o->shortcut(0x61); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(131)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(50, 286, 40, 26, "10^x"); o->box(FL_FLAT_BOX); o->shortcut(0x73); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(112)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(125, 219, 55, 30, "EXP"); o->box(FL_FLAT_BOX); o->shortcut(0x6d); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(11)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(140, 286, 40, 26, "e^x"); o->box(FL_FLAT_BOX); o->shortcut(0x66); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(113)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(5, 219, 55, 30, "\342\210\232x"); o->box(FL_FLAT_BOX); o->shortcut(0x62); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(116)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(65, 219, 55, 30, "+/-"); o->box(FL_FLAT_BOX); o->shortcut(0x6e); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(12)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(95, 254, 40, 26, "^2"); o->box(FL_FLAT_BOX); o->shortcut(0x65); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(115)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(95, 119, 85, 25, "C"); o->box(FL_FLAT_BOX); o->shortcut(0x6c); o->down_box(FL_FLAT_BOX); o->color(FL_INACTIVE_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->labelcolor(FL_BACKGROUND2_COLOR); o->callback((Fl_Callback*)cb_all, (void*)(14)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(65, 89, 55, 25, "MR"); o->box(FL_FLAT_BOX); o->shortcut(0x6f); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(17)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(5, 89, 55, 25, "MS"); o->box(FL_FLAT_BOX); o->shortcut(0x69); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(16)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(125, 89, 55, 25, "M+"); o->box(FL_FLAT_BOX); o->shortcut(0x70); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(18)); } // Fl_Button* o { b_ac = new Fl_Button(5, 119, 85, 25, "AC"); b_ac->box(FL_FLAT_BOX); b_ac->shortcut(0x6b); b_ac->down_box(FL_FLAT_BOX); b_ac->color(FL_INACTIVE_COLOR); b_ac->selection_color((Fl_Color)17); b_ac->labelsize(15); b_ac->labelcolor(FL_BACKGROUND2_COLOR); b_ac->callback((Fl_Callback*)cb_all, (void*)(15)); } // Fl_Button* b_ac { Fl_Button* o = new Fl_Button(5, 184, 55, 30, "asin"); o->box(FL_FLAT_BOX); o->shortcut(0x67); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(122)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(65, 184, 55, 30, "acos"); o->box(FL_FLAT_BOX); o->shortcut(0x68); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(123)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(125, 184, 55, 30, "atan"); o->box(FL_FLAT_BOX); o->shortcut(0x6a); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(124)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(5, 149, 55, 30, "sin"); o->box(FL_FLAT_BOX); o->shortcut(0x74); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(119)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(65, 149, 55, 30, "cos"); o->box(FL_FLAT_BOX); o->shortcut(0x79); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(120)); } // Fl_Button* o { b_equal = new Fl_Button(365, 297, 55, 47, "="); b_equal->box(FL_FLAT_BOX); b_equal->shortcut(0xff0d); b_equal->down_box(FL_FLAT_BOX); b_equal->color(FL_BACKGROUND2_COLOR); b_equal->selection_color((Fl_Color)17); b_equal->labelsize(15); b_equal->callback((Fl_Callback*)cb_all, (void*)(64)); } // Fl_Button* b_equal { Fl_Button* o = new Fl_Button(125, 149, 55, 30, "tan"); o->box(FL_FLAT_BOX); o->shortcut(0x75); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(121)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(50, 318, 40, 26, "x!"); o->box(FL_FLAT_BOX); o->shortcut(0x78); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(118)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(95, 318, 40, 26, "y\342\210\232x"); o->box(FL_FLAT_BOX); o->shortcut(0x63); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(97)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(140, 254, 40, 26, "1/x"); o->box(FL_FLAT_BOX); o->shortcut(0x72); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(117)); } // Fl_Button* o { Fl_Button* o = new Fl_Button(140, 318, 40, 26, "3\342\210\232x"); o->box(FL_FLAT_BOX); o->shortcut(0x76); o->down_box(FL_FLAT_BOX); o->color(FL_BACKGROUND2_COLOR); o->selection_color((Fl_Color)17); o->labelsize(15); o->callback((Fl_Callback*)cb_all, (void*)(133)); } // Fl_Button* o { i_varea = new Fl_Input(5, 26, 415, 42); i_varea->box(FL_RFLAT_BOX); i_varea->color((Fl_Color)206); i_varea->labelfont(4); i_varea->textfont(FL_COURIER_ITALIC); i_varea->textsize(30); } // Fl_Input* i_varea { bx_brackets = new Fl_Box(350, 71, 50, 14); bx_brackets->color((Fl_Color)206); bx_brackets->labelfont(4); bx_brackets->labelsize(12); bx_brackets->align(Fl_Align(FL_ALIGN_INSIDE)); } // Fl_Box* bx_brackets { bx_fmod = new Fl_Box(310, 71, 35, 14); bx_fmod->color((Fl_Color)206); bx_fmod->labelfont(4); bx_fmod->labelsize(12); bx_fmod->align(Fl_Align(FL_ALIGN_INSIDE)); } // Fl_Box* bx_fmod { bx_tmod = new Fl_Box(230, 71, 35, 14, "DEG"); bx_tmod->color((Fl_Color)206); bx_tmod->labelfont(4); bx_tmod->labelsize(12); bx_tmod->align(Fl_Align(FL_ALIGN_INSIDE)); } // Fl_Box* bx_tmod { bx_mem = new Fl_Box(270, 71, 35, 14); bx_mem->color((Fl_Color)206); bx_mem->labelfont(4); bx_mem->labelsize(12); bx_mem->align(Fl_Align(FL_ALIGN_INSIDE)); } // Fl_Box* bx_mem { bx_hyp = new Fl_Box(190, 71, 35, 14); bx_hyp->color((Fl_Color)206); bx_hyp->labelfont(4); bx_hyp->labelsize(12); bx_hyp->align(Fl_Align(FL_ALIGN_INSIDE)); } // Fl_Box* bx_hyp menu_bar = new MyMenuBar(0, 0, 425, 20); m_win->size_range(425, 285); m_win->end(); } // Fl_Double_Window* m_win #ifdef __linux__ m_win->icon((Fl_RGB_Image*) w_icon); #elif defined WIN32 m_win->icon((char*)LoadIcon(fl_display, MAKEINTRESOURCE(IDI_ICON))); #endif menu_bar->menu(menu_); menu_bar->box(FL_FLAT_BOX); menu_bar->down_box(FL_FLAT_BOX); menu_bar->color(FL_BACKGROUND2_COLOR); float lw = (float)i_varea->w(); float fs = (float)i_varea->textsize(); int nrofdigits = floor(1.6 * lw / fs); i_varea->value(calc.width(nrofdigits).c_str()); Fl::add_handler(missed_events); m_win->show(argc, argv); return Fl::run(); }
Fl_Double_Window* make_window() { Fl_Double_Window* w; { Fl_Double_Window* o = new Fl_Double_Window(400, 605); w = o; { undobutton = new Fl_Button(6, 25, 40, 25, "Undo"); undobutton->down_box(FL_DOWN_BOX); undobutton->callback((Fl_Callback*)undo_cb); } // Fl_Button* undobutton { forceslider = new Fl_Slider(206, 25, 75, 25, "Force"); forceslider->type(5); forceslider->selection_color((Fl_Color)1); forceslider->minimum(0.05); forceslider->value(0.5); forceslider->callback((Fl_Callback*)lerp_cb); forceslider->align(Fl_Align(FL_ALIGN_RIGHT)); } // Fl_Slider* forceslider { rgbmode = new Fl_Button(331, 25, 35, 25, "HSB"); rgbmode->labelsize(12); rgbmode->callback((Fl_Callback*)rgbmode_cb); rgbmode->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE)); } // Fl_Button* rgbmode { fnamebox = new Fl_Input(31, 60, 355, 25, "File:"); fnamebox->labeltype(FL_ENGRAVED_LABEL); fnamebox->labelsize(12); fnamebox->callback((Fl_Callback*)input_cb); fnamebox->when(FL_WHEN_ENTER_KEY_ALWAYS); } // Fl_Input* fnamebox { cshow.hsblbls[0] = new Fl_Box(30, 219, 80, 20, "Hue (L)"); cshow.hsblbls[0]->box(FL_FLAT_BOX); cshow.hsblbls[0]->color((Fl_Color)34); cshow.hsblbls[0]->labelfont(1); cshow.hsblbls[0]->labelsize(12); cshow.hsblbls[0]->labelcolor((Fl_Color)3); } // Fl_Box* cshow.hsblbls[0] { cshow.hsblbls[1] = new Fl_Box(115, 219, 75, 20, "Sat(M)"); cshow.hsblbls[1]->box(FL_FLAT_BOX); cshow.hsblbls[1]->color((Fl_Color)34); cshow.hsblbls[1]->labelfont(1); cshow.hsblbls[1]->labelsize(12); cshow.hsblbls[1]->labelcolor((Fl_Color)2); } // Fl_Box* cshow.hsblbls[1] { cshow.hsblbls[2] = new Fl_Box(195, 219, 75, 20, "Bright(R)"); cshow.hsblbls[2]->box(FL_FLAT_BOX); cshow.hsblbls[2]->color((Fl_Color)34); cshow.hsblbls[2]->labelfont(1); cshow.hsblbls[2]->labelsize(12); cshow.hsblbls[2]->labelcolor((Fl_Color)235); } // Fl_Box* cshow.hsblbls[2] { Fl_Box* o = new Fl_Box(275, 219, 80, 20, "Alpha(shift)"); o->box(FL_FLAT_BOX); o->color((Fl_Color)34); o->labelfont(1); o->labelsize(12); o->labelcolor(FL_BACKGROUND2_COLOR); } // Fl_Box* o { cmedit = new class CMedit(5, 239, 380, 270); cmedit->box(FL_FLAT_BOX); cmedit->color(FL_BACKGROUND_COLOR); cmedit->selection_color(FL_BACKGROUND_COLOR); cmedit->labeltype(FL_NORMAL_LABEL); cmedit->labelfont(0); cmedit->labelsize(14); cmedit->labelcolor(FL_FOREGROUND_COLOR); cmedit->align(Fl_Align(FL_ALIGN_CENTER)); cmedit->when(FL_WHEN_RELEASE); Fl_Group::current()->resizable(cmedit); } // class CMedit* cmedit { cshow.color = new colorpatch(62, 515, 50, 40); cshow.color->box(FL_DOWN_BOX); cshow.color->color(FL_BACKGROUND_COLOR); cshow.color->selection_color(FL_BACKGROUND_COLOR); cshow.color->labeltype(FL_NO_LABEL); cshow.color->labelfont(0); cshow.color->labelsize(14); cshow.color->labelcolor(FL_FOREGROUND_COLOR); cshow.color->align(Fl_Align(FL_ALIGN_CENTER)); cshow.color->when(FL_WHEN_RELEASE); } // colorpatch* cshow.color { cshow.cindex = new Fl_Value_Input(7, 530, 50, 25, " (index"); cshow.cindex->box(FL_FLAT_BOX); cshow.cindex->color((Fl_Color)16); cshow.cindex->maximum(0); cshow.cindex->step(1); cshow.cindex->textsize(12); cshow.cindex->callback((Fl_Callback*)report_cb); cshow.cindex->align(Fl_Align(FL_ALIGN_TOP)); } // Fl_Value_Input* cshow.cindex { cshow.hsba = new Fl_Output(117, 530, 120, 25, "HSBA"); cshow.hsba->box(FL_FLAT_BOX); cshow.hsba->color((Fl_Color)16); cshow.hsba->textsize(11); cshow.hsba->align(Fl_Align(FL_ALIGN_TOP)); } // Fl_Output* cshow.hsba { cshow.rgba = new Fl_Output(247, 530, 125, 25, "rgb"); cshow.rgba->box(FL_FLAT_BOX); cshow.rgba->color((Fl_Color)16); cshow.rgba->textsize(11); cshow.rgba->align(Fl_Align(FL_ALIGN_TOP)); } // Fl_Output* cshow.rgba { cshow.postscalein = new Fl_Value_Input(317, 570, 65, 25, "* Amax"); cshow.postscalein->callback((Fl_Callback*)ascale_cb); cshow.postscalein->align(Fl_Align(FL_ALIGN_TOP_LEFT)); } // Fl_Value_Input* cshow.postscalein { cshow.postexponin = new Fl_Value_Input(237, 570, 75, 25, "** expon )"); cshow.postexponin->callback((Fl_Callback*)ascale_cb); cshow.postexponin->align(Fl_Align(FL_ALIGN_TOP_LEFT)); } // Fl_Value_Input* cshow.postexponin { cshow.cmentin = new Fl_Value_Input(7, 570, 55, 25, "cmapsize"); cshow.cmentin->box(FL_ENGRAVED_BOX); cshow.cmentin->color((Fl_Color)25); cshow.cmentin->callback((Fl_Callback*)ncment_cb); cshow.cmentin->align(Fl_Align(FL_ALIGN_TOP_LEFT)); cshow.cmentin->when(FL_WHEN_RELEASE); } // Fl_Value_Input* cshow.cmentin { cshow.scaleout = new Fl_Output(137, 570, 95, 25, " Aout = ( Ain"); cshow.scaleout->box(FL_FLAT_BOX); cshow.scaleout->color((Fl_Color)16); cshow.scaleout->align(Fl_Align(FL_ALIGN_TOP_LEFT)); } // Fl_Output* cshow.scaleout { Fl_Menu_Bar* o = new Fl_Menu_Bar(0, 0, 400, 20); o->color((Fl_Color)46); o->menu(menu_); } // Fl_Menu_Bar* o o->end(); } // Fl_Double_Window* o return w; }
int main(int argc, char** argv) { // Check config option, if showing is disabled, exit Fl_Config conf("EDE Team", "etip"); if(argc == 2 && (!strcmp(argv[1], "-f") || !strcmp(argv[1], "--force"))) { // nothing, to simplify omiting those '!' } else { bool show = true; conf.set_section("Tips"); conf.read("Show", show, true); if (!show) return 0; } conf_global = &conf; srand(time(NULL)); fl_init_locale_support("etip", PREFIX"/share/locale"); Fl_Window* win = new Fl_Window(420, 169, _("Tips...")); win->shortcut(0xff1b); win->begin(); Fl_Group* gr = new Fl_Group(5, 5, 410, 130); gr->box(FL_DOWN_BOX); Fl_Box* img = new Fl_Box(5, 5, 70, 65); Fl_Image pix(hint_xpm); img->image(pix); Fl_Box* title = new Fl_Box(80, 10, 320, 25, random_txt(title_tips, TITLE_TIPS_NUM)); title->label_font(fl_fonts+1); title->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); title->box(FL_FLAT_BOX); Fl_Box* tiptxt = new Fl_Box(80, 45, 320, 75, random_txt(tiplist, TIPS_NUM)); tiptxt->align(FL_ALIGN_LEFT|FL_ALIGN_TOP|FL_ALIGN_INSIDE|FL_ALIGN_WRAP); tiptxt->box(FL_FLAT_BOX); gr->end(); Fl_Check_Button* ch = new Fl_Check_Button(5, 140, 150, 25, _(" Do not bother me")); show_check = ch; Fl_Button* prev = new Fl_Button(160, 140, 80, 25, "<-"); prev->label_font(fl_fonts+1); prev->callback(prev_cb, tiptxt); Fl_Button* next = new Fl_Button(245, 140, 80, 25, "->"); next->label_font(fl_fonts+1); next->callback(next_cb, tiptxt); Fl_Button* close = new Fl_Button(335, 140, 80, 25, _("&Close")); close->callback(close_cb, win); win->end(); win->set_modal(); win->show(); return Fl::run(); }
highOrderToolsWindow::highOrderToolsWindow(int deltaFontSize) { getMeshInfoForHighOrder(GModel::current(), meshOrder, complete, CAD); FL_NORMAL_SIZE -= deltaFontSize; int width = 3 * IW + 4 * WB; int height = 24 * BH; win = new paletteWindow (width, height, CTX::instance()->nonModalWindows ? true : false, "High order tools"); win->box(GMSH_WINDOW_BOX); int y = WB; int x = 2 * WB; box[0] = new Fl_Box(x, y, width - 4 * WB, BH); box[0]->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); y += BH; butt[1] = new Fl_Check_Button (x, y, width - 4 * WB, BH, "Only apply high order tools to visible entities"); butt[1]->type(FL_TOGGLE_BUTTON); butt[1]->value(1); y += BH; butt[3] = new Fl_Check_Button (x, y, width - 4 * WB, BH, "Show detailed log messages"); butt[3]->type(FL_TOGGLE_BUTTON); butt[3]->value(1); { y += BH / 2; Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 4 * WB, 2); b->box(FL_ENGRAVED_FRAME); b->labeltype(FL_NO_LABEL); } { y += BH; Fl_Box *b = new Fl_Box (x - WB, y, width, BH, "1. Generation of high order vertices"); b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE); } y += BH; value[0] = new Fl_Value_Input (x, y, IW, BH, "Polynomial order"); value[0]->minimum(1); value[0]->maximum(10); value[0]->step(1); value[0]->align(FL_ALIGN_RIGHT); value[0]->value(meshOrder); y += BH; butt[0] = new Fl_Check_Button (x, y, width - 4 * WB, BH, "Use incomplete elements"); butt[0]->type(FL_TOGGLE_BUTTON); butt[0]->value(!complete); butt[0]->callback(change_completeness_cb); y += BH; butt[2] = new Fl_Check_Button (x, y, width - 4 * WB, BH, "Use CAD model to curve mesh"); butt[2]->type(FL_TOGGLE_BUTTON); butt[2]->value(1); y += BH; push[0] = new Fl_Button (width - BB - 2 * WB, y, BB, BH, "Generate"); push[0]->callback(highordertools_runp_cb); { y += BH / 2; Fl_Box* b = new Fl_Box(x, y + BH - WB, width - 4 * WB, 2); b->box(FL_ENGRAVED_FRAME); b->labeltype(FL_NO_LABEL); } { y += BH; Fl_Box *b = new Fl_Box (x - WB, y, width, BH, "2. Regularization of high order elements"); b->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE); } y += BH; static Fl_Menu_Item menu_method[] = { {"Optimization", 0, 0, 0}, {"Elastic Analogy", 0, 0, 0}, {"Fast Curving", 0, 0, 0}, {0} }; choice[2] = new Fl_Choice (x, y, IW, BH, "Algorithm"); choice[2]->align(FL_ALIGN_RIGHT); choice[2]->menu(menu_method); choice[2]->callback(chooseopti_cb); y += BH; value[1] = new Fl_Value_Input (x, y, IW/2.0, BH); value[1]->minimum(0); value[1]->maximum(1); value[1]->step(.01); value[1]->align(FL_ALIGN_RIGHT); value[1]->value(CTX::instance()->mesh.hoThresholdMin); value[8] = new Fl_Value_Input (x+IW/2.0,y, IW/2.0, BH, "Target Jacobian range"); value[8]->minimum(1); value[8]->maximum(10); value[8]->step(.01); value[8]->align(FL_ALIGN_RIGHT); value[8]->value(CTX::instance()->mesh.hoThresholdMax); y += BH; value[2] = new Fl_Value_Input (x, y, IW, BH, "Number of layers"); value[2]->minimum(1); value[2]->maximum(20); value[2]->step(1); value[2]->align(FL_ALIGN_RIGHT); value[2]->value(CTX::instance()->mesh.hoNLayers); y += BH; value[7] = new Fl_Value_Input (x, y, IW, BH, "Distance factor"); value[7]->minimum(1); value[7]->maximum(20000); value[7]->step(1); value[7]->align(FL_ALIGN_RIGHT); value[7]->value(12); y += BH; static Fl_Menu_Item menu_objf[] = { {"Fixed", 0, 0, 0}, {"Free", 0, 0, 0}, {0} }; choice[0] = new Fl_Choice (x, y, IW, BH, "Boundary vertices"); choice[0]->menu(menu_objf); choice[0]->align(FL_ALIGN_RIGHT); y += BH; value[5] = new Fl_Value_Input (x, y, IW/2, BH); value[5]->align(FL_ALIGN_RIGHT); value[5]->value(1000.); value[6] = new Fl_Value_Input (x+IW/2,y, IW/2, BH, "W fixed / W free"); value[6]->align(FL_ALIGN_RIGHT); value[6]->value(1.); y += BH; value[3] = new Fl_Value_Input (x, y, IW, BH, "Maximum number of iterations"); value[3]->minimum(1); value[3]->maximum(10000); value[3]->step(10); value[3]->align(FL_ALIGN_RIGHT); value[3]->value(300); y += BH; value[4] = new Fl_Value_Input (x, y, IW, BH, "Max. number of optimization passes"); value[4]->minimum(1); value[4]->maximum(100); value[4]->step(1); value[4]->align(FL_ALIGN_RIGHT); value[4]->value(50); static Fl_Menu_Item menu_strategy[] = { {"Connected blobs", 0, 0, 0}, {"Adaptive one-by-one", 0, 0, 0}, {0} }; y += BH; choice[3] = new Fl_Choice (x, y, IW, BH, "Strategy"); choice[3]->menu(menu_strategy); choice[3]->align(FL_ALIGN_RIGHT); choice[3]->callback(chooseopti_strategy); y += BH; value[9] = new Fl_Value_Input (x, y, IW, BH, "Max. number of blob adaptation iter."); value[9]->minimum(1); value[9]->maximum(100); value[9]->step(1); value[9]->align(FL_ALIGN_RIGHT); value[9]->value(2); value[9]->deactivate(); y += BH; value[10] = new Fl_Value_Input (x, y, IW, BH, "Num. layer adaptation factor"); value[10]->align(FL_ALIGN_RIGHT); value[10]->minimum(1); value[10]->maximum(100); value[10]->step(1); value[10]->value(2); value[10]->deactivate(); y += BH; value[11] = new Fl_Value_Input (x, y, IW, BH, "Distance adaptation factor"); value[11]->align(FL_ALIGN_RIGHT); value[11]->minimum(1.); value[11]->maximum(100.); value[11]->value(2.); value[11]->deactivate(); y += 1.5*BH; push[1] = new Fl_Button (width - BB - 2 * WB, y, BB, BH, "Regularize"); push[1]->callback(highordertools_runopti_cb); // win->resizable(o); win->position(CTX::instance()->hotPosition[0], CTX::instance()->hotPosition[1]); win->end(); FL_NORMAL_SIZE += deltaFontSize; }
int main(int argc, char **argv) { // Check command-line options char *p; int a = 1; Fl::args(argc, argv, a); Fl::scheme(NULL); // NULL causes libr. to look up style in .Xdefaults memset(ExprEntry_str, '\0', sizeof(ExprEntry_str)); clear_content(); /* printf("fround(0.0) is %1.2lf\n", fround(0.0)); printf("fround(0.1) is %1.2lf\n", fround(0.1)); printf("fround(0.49) is %1.2lf\n", fround(0.49)); printf("fround(0.50) is %1.2lf\n", fround(0.50)); printf("fround(0.51) is %1.2lf\n", fround(0.51)); printf("fround(0.9) is %1.2lf\n", fround(0.9)); printf("fround(1.0) is %1.2lf\n", fround(1.0)); printf("fround(1.1) is %1.2lf\n", fround(1.1)); printf("fround(-0.1) is %1.2lf\n", fround(-0.1)); printf("fround(-0.4) is %1.2lf\n", fround(-0.4)); printf("fround(-0.5) is %1.2lf\n", fround(-0.5)); printf("fround(-0.51) is %1.2lf\n", fround(-0.51)); printf("fround(-0.9) is %1.2lf\n", fround(-0.9)); printf("fround(-1.0) is %1.2lf\n", fround(-1.0)); printf("fround(-1.1) is %1.2lf\n", fround(-1.1)); printf("fround(-1.4) is %1.2lf\n", fround(-1.4)); printf("fround(-1.5) is %1.2lf\n", fround(-1.5)); printf("fround(-1.6) is %1.2lf\n", fround(-1.6)); printf("fround(-1.9) is %1.2lf\n", fround(-1.9)); printf("\n"); printf("123.34 has %d significant digits\n", sig_digits(123.45)); printf("7 has %d significant digits\n", sig_digits(7)); printf("654.00001 has %d significant digits\n", sig_digits(654.00001)); printf("-123.34 has %d significant digits\n", sig_digits(-123.45)); printf("-7 has %d significant digits\n", sig_digits(-7)); printf("-654.00001 has %d significant digits\n", sig_digits(-654.00001)); printf("1.234e10 has %d significant digits\n", sig_digits(1.234e10)); printf("0.0001200560000 has %d significant digits\n", sig_digits(0.0001200560000)); printf("-1.20056e-4 has %d significant digits\n", sig_digits(-1.20056e-4)); //return 0; */ char num_str[8]; int i; for(i = 0; i < MAXENTRY; i++) { sprintf(num_str, "%d\n", i); strcat(RowLabels_str, num_str); } //printf("argc is %d\n", argc); fflush(0); char cmdline_expr[MAXENTRYLEN] = ""; char expr_prepped_str[MAXENTRYLEN] = ""; while (a < argc) { p = argv[a]; if (*p == '-' && *(p+1) == '-') { // OK, it's some kind of option char option = *(p+2); if (option == 't') { // Change terseness/verbosity threshold if (*(p+3)) { SayThreshold = *(p+3) - '0'; SAY(1, "Terseness level is %d\n", SayThreshold); } else if (a+1 < argc) { a++; p = argv[a]; SayThreshold = *p - '0'; SAY(1, "Terseness level is %d\n", SayThreshold); } } else if (option == 'd') { // Change angle encoding to degrees AngleUnitsAreDegrees = 1; SAY(1, "Angles expressed as degrees\n"); } else if (option == 'r') { // Change angle encoding to radians AngleUnitsAreDegrees = 0; SAY(1, "Angles expressed as radians\n"); } else if (option == 'p') { // Switch to Reverse Polish Notation (RPN) entry syntax InputMode = RPN_INPUT; SAY(1, "Input syntanx mode is RPN (Reverse Polish Notation)\n"); fflush(0); } else if (option == 'v') { // Print name and version update_main_win_title(); printf("%s\n", Title_str); fflush(0); } else if (option == 'f') { // Pre-load a specific workspace content file char filespec_str[MAXENTRYLEN] = ""; if (*(p+3)) { strcpy (CurrentFileSpec_str, (p+3)); } else { a++; if (*argv[a]) { strcpy (CurrentFileSpec_str, argv[a]); } } if (!*CurrentFileSpec_str) { fl_alert("File not specified!\n"); } } a++; } else { // assume the remainder of command-line is math expression while (a < argc) { strncat(cmdline_expr, argv[a], 32); strcat(cmdline_expr, " "); a++; } SAY(1, "Commandline expression is '%s'\n", cmdline_expr); if (strlen(cmdline_expr)) { int rc = calculate_expr(cmdline_expr, ExprEntry_str[Result], Result); if (rc == CALC_SUCCESS) { char result_str[64]; render_item(result_str, &ResultList[Result]); printf("%s = %s\n", ExprEntry_str[Result], result_str); return 0; } else { if (rc == CALC_UNBALANCED) { printf("Expression is unbalanced! Check parentheses carefully.\n"); } else if (rc == CALC_ERROR) { printf("Expression cannot be calculated!\n"); } return 1; } } } } //fl_register_images(); update_main_win_title(); MainWin_p = new Fl_Window(560,352, Title_str); MainWin_p->begin(); Fl_Scroll expr_win_scroll(6, 12, 546, 258); expr_win_scroll.begin(); Fl_Pack expr_win_group(6, 12, 546, 1024); expr_win_group.type(FL_HORIZONTAL); expr_win_group.begin(); RowLabels_p = new Fl_Multiline_Output(6, 12, 30, 1024 ); RowLabels_p->box(FL_FLAT_BOX); RowLabels_p->color(FL_BACKGROUND_COLOR); RowLabels_p->align(FL_ALIGN_RIGHT); RowLabels_p->value(RowLabels_str); WorkArea_p = new Fl_Multiline_Input(40, 10, 500, 1024 ); WorkArea_p->box(FL_FLAT_BOX); WorkArea_p->label(""); WorkArea_p->when(FL_WHEN_ENTER_KEY); WorkArea_p->callback(workarea_callback); WorkArea_p->take_focus(); update_results_display(); WorkArea_p->position(0,0); expr_win_group.end(); expr_win_scroll.end(); QuitBtn_p = new Fl_Button(30, 280, 60, 30, "Quit"); QuitBtn_p->callback(quit_callback); QuitBtn_p->shortcut(FL_Escape); OpenBtn_p = new Fl_Button(120, 280, 60, 30, "Open..."); OpenBtn_p->callback(open_callback); OpenBtn_p->shortcut(FL_CTRL + 'o'); SaveBtn_p = new Fl_Button(210, 280, 60, 30, "Save..."); SaveBtn_p->callback(save_callback); SaveBtn_p->deactivate(); SaveBtn_p->shortcut(FL_CTRL + 's'); ClearBtn_p = new Fl_Button(300, 280, 60, 30, "Clear"); ClearBtn_p->callback(clear_callback); ClearBtn_p->shortcut(FL_CTRL + 'c'); HintBtn_p = new Fl_Button(420, 280, 30, 30, "!"); HintBtn_p->callback(hint_callback); HintBtn_p->tooltip("Hints"); HintBtn_p->shortcut(FL_CTRL + 'i'); AboutBtn_p = new Fl_Button(460, 280, 30, 30, "a"); AboutBtn_p->callback(about_callback); AboutBtn_p->tooltip("About Flume"); AboutBtn_p->shortcut(FL_CTRL + 'a'); HelpBtn_p = new Fl_Button(500, 280, 30, 30, "?"); HelpBtn_p->callback(help_callback); HelpBtn_p->tooltip("Help (F1)"); HelpBtn_p->shortcut(FL_F + 1); Fl_Box* pAngleLabel = new Fl_Box(20, 325, 40, 12, "Angles:"); pAngleLabel->box(FL_FLAT_BOX); RadAngleBtn_p = new Fl_Round_Button(72, 324, 80, 16, "Radians"); RadAngleBtn_p->value(AngleUnitsAreDegrees ? 0 : 1); RadAngleBtn_p->callback(radians_callback); DegAngleBtn_p = new Fl_Round_Button(152, 324, 80, 16, "Degrees"); DegAngleBtn_p->value(AngleUnitsAreDegrees ? 1 : 0); DegAngleBtn_p->callback(degrees_callback); RpnModeChk_p = new Fl_Check_Button(280, 324, 96, 16, "RPN mode"); RpnModeChk_p->value((InputMode == RPN_INPUT) ? 1 : 0); RpnModeChk_p->callback(rpn_callback); TrackSigChk_p = new Fl_Check_Button(392, 324, 140, 16, "Track significance"); TrackSigChk_p->value(TrackSignificance); TrackSigChk_p->callback(track_sig_callback); MainWin_p->end(); if (*CurrentFileSpec_str) { if (!load_content(CurrentFileSpec_str)) { fl_alert("File not loadable!\n"); } } MainWin_p->show(argc, argv); Running = 1; while(Running && Fl::wait()); return 0; }
void ModelerUserInterface::pickGroupProperty(GroupProperty* group) { // Remove the event listeners for old controls // TODO: we really need to have a PropertyEditor class that handles this // automatically... if (currentGroup) { PropertyList* props = currentGroup->getProperties(); for (PropertyList::iterator iter = props->begin(); iter != props->end(); iter++) { if (RangeProperty* prop = dynamic_cast<RangeProperty*>(*iter)) { prop->unlisten((SignalListener)updateRangeSlider); } else if (RGBProperty* prop = dynamic_cast<RGBProperty*>(*iter)) { prop->unlisten((SignalListener)updateColorChooser); } else if (BooleanProperty* prop = dynamic_cast<BooleanProperty*>(*iter)) { prop->unlisten((SignalListener)updateCheckbox); } else if (ChoiceProperty* prop = dynamic_cast<ChoiceProperty*>(*iter)) { prop->unlisten((SignalListener)updateChoice); } } // Clear out the old controls m_controlsPack->clear(); currentGroup = NULL; } // Reset the scrollbar m_controlsScroll->position(0, 0); // If there's no group, exit if (!group) { m_controlsScroll->redraw(); return; } // Constants for slider dimensions const int packWidth = m_controlsPack->w(); const int textHeight = 20; const int sliderHeight = 20; const int chooserHeight = 100; const int buttonHeight = 20; // Show them // For each control, add appropriate objects to the user interface currentGroup = group; PropertyList* props = group->getProperties(); for (PropertyList::iterator iter = props->begin(); iter != props->end(); iter++) { // Ignore it if it's a group property (those belong in the tree). if (dynamic_cast<GroupProperty*>(*iter)) continue; // And now we'll create a UI element for the property. // The big if-statement below uses dynamic_cast<PropertyType*>(ptr), // to see if a property has a given type. dynamic_cast will // return 0 if ptr is not of type PropertyType. // Add a slider if the property is a RangeProperty if (RangeProperty* prop = dynamic_cast<RangeProperty*>(*iter)) { // Add the label Fl_Box *box = new Fl_Box(0, 0, packWidth, textHeight, (*iter)->getName()); box->labelsize(14); box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu) m_controlsPack->add(box); // Add the slider Fl_Value_Slider *slider = new Fl_Value_Slider(0, 0, packWidth, sliderHeight); slider->type(1); slider->range(prop->getMin(), prop->getMax()); slider->step(prop->getStep()); slider->value(prop->getValue()); m_controlsPack->add(slider); // Use the step size to determine the number of decimal places // shown in the slider's label. if (prop->getStep() > 0) { slider->precision((int)-log(prop->getStep())); } // Have the slider notify the program when it changes slider->callback((Fl_Callback*)SliderCallback, (void*) prop); // Have the property notify the slider when it changes prop->listen((SignalListener)updateRangeSlider, (void*) slider); // Add a color picker if the property is an RGB property } else if (RGBProperty* prop = dynamic_cast<RGBProperty*>(*iter)) { // Add the label Fl_Box *box = new Fl_Box(0, 0, packWidth, textHeight, (*iter)->getName()); box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); box->labelsize(14); box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu) m_controlsPack->add(box); // Add a color chooser Fl_Color_Chooser* chooser = new Fl_Color_Chooser(0, 0, packWidth, chooserHeight); chooser->rgb(prop->getRed(), prop->getGreen(), prop->getBlue()); m_controlsPack->add(chooser); // Have the chooser notify the program when it changes chooser->callback((Fl_Callback*)ColorPickerCallback, (void*) prop); // Remove any existing color chooser listeners on the property prop->unlisten((SignalListener)updateColorChooser); // Have the property notify the chooser when it changes prop->listen((SignalListener)updateColorChooser, (void*) chooser); // Add a checkbox if the property is a boolean property } else if (BooleanProperty* prop = dynamic_cast<BooleanProperty*>(*iter)) { // Add the checkbox -- no label needed! Fl_Check_Button* btn = new Fl_Check_Button(0, 0, packWidth, buttonHeight, prop->getName()); btn->labelsize(14); btn->type(FL_TOGGLE_BUTTON); btn->value(prop->getValue()); m_controlsPack->add(btn); // Have the button notify the program when it changes btn->callback((Fl_Callback*)ButtonCallback, (void*) prop); // Remove any existing color chooser listeners on the property prop->unlisten((SignalListener)updateCheckbox); // Have the property notify the chooser when it changes prop->listen((SignalListener)updateCheckbox, (void*) btn); // Add radio buttons if the property is a choice property } else if (ChoiceProperty* prop = dynamic_cast<ChoiceProperty*>(*iter)) { // Add the label Fl_Box *box = new Fl_Box(0, 0, packWidth, textHeight, (*iter)->getName()); box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); box->labelsize(14); box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu) m_controlsPack->add(box); // Add a group Fl_Pack* pack = new Fl_Pack(0, 0, packWidth, buttonHeight); pack->type(Fl_Pack::VERTICAL); pack->box(FL_THIN_DOWN_FRAME); pack->user_data((void*) prop); // Add the radio buttons const char* choices = prop->getLabels(); int start = 0, end = -1, index = 0; do { end++; if (choices[end] == 0 || choices[end] == '|') { string str(choices, start, end - start); Fl_Button* btn = new Fl_Round_Button(0, 0, packWidth, buttonHeight, prop->getName()); btn->type(FL_RADIO_BUTTON); btn->copy_label(str.c_str()); btn->value(prop->getValue() == index); // Have the button notify the program when it changes btn->callback((Fl_Callback*)ChoiceCallback, (void*)index); index++; start = end + 1; } } while (choices[end] != 0); pack->end(); m_controlsPack->add(pack); // Remove any existing choce listeners on the property prop->unlisten((SignalListener)updateChoice); // Have the property update the choices when it changes prop->listen((SignalListener)updateChoice, (void*) pack); } } m_controlsScroll->redraw(); }
Fl_Font_Browser::Fl_Font_Browser():Fl_Window(100,100,550-60,332-5,"Font Browser") { lst_Font = new Fl_Browser(15, 55-5, 195, 159); lst_Font->labelsize(12); lst_Font->textsize(12); lst_Font->callback((Fl_Callback*)cb_FontName_Selected, (void*)(lst_Font->parent())); lst_Font->type(FL_HOLD_BROWSER); txt_InputFont = new Fl_Input(15, 31-5, 195, 24, "Font:"); txt_InputFont->labelsize(12); txt_InputFont->textsize(12); txt_InputFont->align(FL_ALIGN_TOP_LEFT); txt_InputFont->when(FL_WHEN_ENTER_KEY); txt_InputFont->callback((Fl_Callback*)cb_txtInputFontName, (void*)(txt_InputFont->parent())); lst_Style = new Fl_Browser(215, 56-5, 155-60, 159); lst_Style->labelsize(12); lst_Style->type(FL_HOLD_BROWSER); lst_Style->textsize(12); lst_Style->callback((Fl_Callback*)cb_StyleSelected, (void*)(lst_Style->parent())); txt_InputStyle = new Fl_Input(215, 32-5, 155-60, 24, "Syle:"); txt_InputStyle->labelsize(12); txt_InputStyle->align(FL_ALIGN_TOP_LEFT); txt_InputStyle->textsize(12); txt_InputStyle->callback((Fl_Callback*)cb_txtInputFontStyle, (void*)(txt_InputStyle->parent())); lst_Size = new Fl_Browser(375-60, 56-5, 75, 159); lst_Size->labelsize(12); lst_Size->type(FL_HOLD_BROWSER); lst_Size->textsize(12); lst_Size->callback((Fl_Callback*)cb_FontSize_Selected, (void*)(lst_Size->parent())); txt_InputSize = new Fl_Input(375-60, 32-5, 75, 24, "Size:"); txt_InputSize->labelsize(12); txt_InputSize->align(FL_ALIGN_TOP_LEFT); txt_InputSize->textsize(12); txt_InputSize->callback((Fl_Callback*)cb_txtInputFontSize, (void*)(txt_InputSize->parent())); btn_OK =new Fl_Button(475-60, 35-5, 64, 20, "&OK"); btn_OK->shortcut(0x8006f); btn_OK->labelfont(1); btn_OK->labelsize(12); btn_OK->callback((Fl_Callback*)cb_okBtn_Red ); btn_Cancel =new Fl_Button(475-60, 60-5, 64, 20, "Cancel"); btn_Cancel->labelsize(12); btn_Cancel->callback((Fl_Callback*)cb_Cancel, (void *)(btn_Cancel->parent())); Fl_Box* o = new Fl_Box(15, 220-5, 20, 10, "Properties"); o->box(FL_BORDER_FRAME); o->labelsize(12); o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE); btn_Check1= new Fl_Check_Button(40-20, 250-5-5, 100, 15, "Strikethrough"); btn_Check1->down_box(FL_DOWN_BOX); btn_Check1->labelsize(12); btn_Check1->callback((Fl_Callback*)cb_Strikethrough, (void *)(btn_Check1->parent())); btn_Check2 = new Fl_Check_Button(40-20, 270-5-5, 100, 15, "Underline"); btn_Check2->down_box(FL_DOWN_BOX); btn_Check2->labelsize(12); btn_Check2->callback((Fl_Callback*)cb_UnderLine, (void *)(btn_Check2->parent())); btn_Color = new Fl_Button(40-20, 307-10-5, 90, 23, "Color:"); btn_Color->down_box(FL_BORDER_BOX); btn_Color->labelsize(12); btn_Color->align(FL_ALIGN_TOP_LEFT); btn_Color->color(FL_BLACK); btn_Color->callback((Fl_Callback*)cb_Color_Select, (void *)(lst_Size->parent())); { Fl_Group* o = new Fl_Group(130, 220-5, 256+180, 82, "Example"); o->box(FL_BORDER_FRAME); o->labelsize(12); o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE); { box_Example = new Fl_Font_Preview_Box(132-10, 241-5, 227+50+35+10, 48, "AaBbCcDdEeFfGgHhIi"); box_Example->box(FL_DOWN_BOX); box_Example->labelsize(12); box_Example->align(FL_ALIGN_WRAP|FL_ALIGN_CLIP|FL_ALIGN_CENTER|FL_ALIGN_INSIDE); } o->end(); } set_modal(); end(); // Initializations pickedsize = 14; // Font Size to be used // int k = Fl::set_fonts(0); // Nr of fonts available on the server for(int i= 0; i < k; i++) { int t; const char *name = Fl::get_font_name((Fl_Font)i,&t); char buffer[128]; // Load the font list .. Ignore the bold and italic types of the font if(!((t & FL_BOLD) ||(t & FL_ITALIC))) { sprintf(buffer, "%s",name); lst_Font->add(buffer); } } /* FL_Browser uses the symbol "@" as a formating char. There are some fonts that there names starts with char "@". We need to disable this */ lst_Font->format_char(0); // Sort the font Alphabetically ForwardSort(lst_Font); lst_Font->value(1); // Select the first font in the list lst_Style->value(1); lst_Font->do_callback(); // Do font selected callback .. to draw the preview lst_Style->do_callback(); this->callback_ = 0; // Initialize Widgets callback this->data_ = 0; // And the data }
stereogui::stereogui() { { stereo_calibration = new Fl_Window(785, 400, "Stereo Calibration"); stereo_calibration->labelsize(11); stereo_calibration->user_data((void*)(this)); { Fl_Group* o = new Fl_Group(10, 10, 850, 355); { window_tab = new Fl_Tabs(10, 10, 665, 285); window_tab->box(FL_UP_BOX); window_tab->labeltype(FL_NO_LABEL); { tab0 = new Fl_Group(25, 55, 660, 250, "Stereo "); tab0->labelsize(11); tab0->user_data((void*)(-1)); { Fl_Group* o = new Fl_Group(30, 55, 645, 245); { Fl_Group* o = new Fl_Group(30, 55, 320, 245); { Fl_Box* o = new Fl_Box(30, 55, 320, 240); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft0 = new calImageWindow(30, 55, 320, 240); calLeft0->box(FL_NO_BOX); calLeft0->color(FL_BACKGROUND_COLOR); calLeft0->selection_color(FL_BACKGROUND_COLOR); calLeft0->labeltype(FL_NO_LABEL); calLeft0->labelfont(0); calLeft0->labelsize(14); calLeft0->labelcolor(FL_FOREGROUND_COLOR); calLeft0->align(FL_ALIGN_CENTER); calLeft0->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft0 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(355, 55, 320, 245); { Fl_Box* o = new Fl_Box(355, 55, 320, 240); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight0 = new calImageWindow(355, 55, 320, 240); calRight0->box(FL_NO_BOX); calRight0->color(FL_BACKGROUND_COLOR); calRight0->selection_color(FL_BACKGROUND_COLOR); calRight0->labeltype(FL_NO_LABEL); calRight0->labelfont(0); calRight0->labelsize(14); calRight0->labelcolor(FL_FOREGROUND_COLOR); calRight0->align(FL_ALIGN_CENTER); calRight0->when(FL_WHEN_RELEASE); } // calImageWindow* calRight0 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab0->end(); } // Fl_Group* tab0 { tab1 = new Fl_Group(15, 45, 660, 250, " 1 "); tab1->labelsize(11); tab1->user_data((void*)(0)); tab1->hide(); tab1->deactivate(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 45, 320, 240); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft1 = new calImageWindow(20, 45, 320, 240); calLeft1->box(FL_NO_BOX); calLeft1->color(FL_BACKGROUND_COLOR); calLeft1->selection_color(FL_BACKGROUND_COLOR); calLeft1->labeltype(FL_NO_LABEL); calLeft1->labelfont(0); calLeft1->labelsize(14); calLeft1->labelcolor(FL_FOREGROUND_COLOR); calLeft1->align(FL_ALIGN_CENTER); calLeft1->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft1 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 245); { Fl_Box* o = new Fl_Box(345, 45, 320, 240); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight1 = new calImageWindow(345, 45, 320, 240); calRight1->box(FL_NO_BOX); calRight1->color(FL_BACKGROUND_COLOR); calRight1->selection_color(FL_BACKGROUND_COLOR); calRight1->labeltype(FL_NO_LABEL); calRight1->labelfont(0); calRight1->labelsize(14); calRight1->labelcolor(FL_FOREGROUND_COLOR); calRight1->align(FL_ALIGN_CENTER); calRight1->when(FL_WHEN_RELEASE); } // calImageWindow* calRight1 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab1->end(); } // Fl_Group* tab1 { tab2 = new Fl_Group(15, 35, 660, 260, " 2"); tab2->labelsize(11); tab2->user_data((void*)(1)); tab2->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft2 = new calImageWindow(20, 45, 320, 240); calLeft2->box(FL_NO_BOX); calLeft2->color(FL_BACKGROUND_COLOR); calLeft2->selection_color(FL_BACKGROUND_COLOR); calLeft2->labeltype(FL_NO_LABEL); calLeft2->labelfont(0); calLeft2->labelsize(14); calLeft2->labelcolor(FL_FOREGROUND_COLOR); calLeft2->align(FL_ALIGN_CENTER); calLeft2->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft2 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight2 = new calImageWindow(345, 45, 320, 240); calRight2->box(FL_NO_BOX); calRight2->color(FL_BACKGROUND_COLOR); calRight2->selection_color(FL_BACKGROUND_COLOR); calRight2->labeltype(FL_NO_LABEL); calRight2->labelfont(0); calRight2->labelsize(14); calRight2->labelcolor(FL_FOREGROUND_COLOR); calRight2->align(FL_ALIGN_CENTER); calRight2->when(FL_WHEN_RELEASE); } // calImageWindow* calRight2 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab2->end(); } // Fl_Group* tab2 { tab3 = new Fl_Group(15, 35, 660, 260, " 3"); tab3->labelsize(11); tab3->user_data((void*)(2)); tab3->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft3 = new calImageWindow(20, 45, 320, 240); calLeft3->box(FL_NO_BOX); calLeft3->color(FL_BACKGROUND_COLOR); calLeft3->selection_color(FL_BACKGROUND_COLOR); calLeft3->labeltype(FL_NO_LABEL); calLeft3->labelfont(0); calLeft3->labelsize(14); calLeft3->labelcolor(FL_FOREGROUND_COLOR); calLeft3->align(FL_ALIGN_CENTER); calLeft3->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft3 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight3 = new calImageWindow(345, 45, 320, 240); calRight3->box(FL_NO_BOX); calRight3->color(FL_BACKGROUND_COLOR); calRight3->selection_color(FL_BACKGROUND_COLOR); calRight3->labeltype(FL_NO_LABEL); calRight3->labelfont(0); calRight3->labelsize(14); calRight3->labelcolor(FL_FOREGROUND_COLOR); calRight3->align(FL_ALIGN_CENTER); calRight3->when(FL_WHEN_RELEASE); } // calImageWindow* calRight3 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab3->end(); } // Fl_Group* tab3 { tab4 = new Fl_Group(15, 35, 660, 260, " 4"); tab4->labelsize(11); tab4->user_data((void*)(3)); tab4->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft4 = new calImageWindow(20, 45, 320, 240); calLeft4->box(FL_NO_BOX); calLeft4->color(FL_BACKGROUND_COLOR); calLeft4->selection_color(FL_BACKGROUND_COLOR); calLeft4->labeltype(FL_NO_LABEL); calLeft4->labelfont(0); calLeft4->labelsize(14); calLeft4->labelcolor(FL_FOREGROUND_COLOR); calLeft4->align(FL_ALIGN_CENTER); calLeft4->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft4 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight4 = new calImageWindow(345, 45, 320, 240); calRight4->box(FL_NO_BOX); calRight4->color(FL_BACKGROUND_COLOR); calRight4->selection_color(FL_BACKGROUND_COLOR); calRight4->labeltype(FL_NO_LABEL); calRight4->labelfont(0); calRight4->labelsize(14); calRight4->labelcolor(FL_FOREGROUND_COLOR); calRight4->align(FL_ALIGN_CENTER); calRight4->when(FL_WHEN_RELEASE); } // calImageWindow* calRight4 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab4->end(); } // Fl_Group* tab4 { tab5 = new Fl_Group(15, 35, 660, 260, " 5"); tab5->labelsize(11); tab5->user_data((void*)(4)); tab5->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft5 = new calImageWindow(20, 45, 320, 240); calLeft5->box(FL_NO_BOX); calLeft5->color(FL_BACKGROUND_COLOR); calLeft5->selection_color(FL_BACKGROUND_COLOR); calLeft5->labeltype(FL_NO_LABEL); calLeft5->labelfont(0); calLeft5->labelsize(14); calLeft5->labelcolor(FL_FOREGROUND_COLOR); calLeft5->align(FL_ALIGN_CENTER); calLeft5->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft5 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight5 = new calImageWindow(345, 45, 320, 240); calRight5->box(FL_NO_BOX); calRight5->color(FL_BACKGROUND_COLOR); calRight5->selection_color(FL_BACKGROUND_COLOR); calRight5->labeltype(FL_NO_LABEL); calRight5->labelfont(0); calRight5->labelsize(14); calRight5->labelcolor(FL_FOREGROUND_COLOR); calRight5->align(FL_ALIGN_CENTER); calRight5->when(FL_WHEN_RELEASE); } // calImageWindow* calRight5 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab5->end(); } // Fl_Group* tab5 { tab6 = new Fl_Group(15, 35, 660, 260, " 6"); tab6->labelsize(11); tab6->user_data((void*)(5)); tab6->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft6 = new calImageWindow(20, 45, 320, 240); calLeft6->box(FL_NO_BOX); calLeft6->color(FL_BACKGROUND_COLOR); calLeft6->selection_color(FL_BACKGROUND_COLOR); calLeft6->labeltype(FL_NO_LABEL); calLeft6->labelfont(0); calLeft6->labelsize(14); calLeft6->labelcolor(FL_FOREGROUND_COLOR); calLeft6->align(FL_ALIGN_CENTER); calLeft6->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft6 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight6 = new calImageWindow(345, 45, 320, 240); calRight6->box(FL_NO_BOX); calRight6->color(FL_BACKGROUND_COLOR); calRight6->selection_color(FL_BACKGROUND_COLOR); calRight6->labeltype(FL_NO_LABEL); calRight6->labelfont(0); calRight6->labelsize(14); calRight6->labelcolor(FL_FOREGROUND_COLOR); calRight6->align(FL_ALIGN_CENTER); calRight6->when(FL_WHEN_RELEASE); } // calImageWindow* calRight6 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab6->end(); } // Fl_Group* tab6 { tab7 = new Fl_Group(15, 35, 660, 260, " 7"); tab7->labelsize(11); tab7->user_data((void*)(6)); tab7->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft7 = new calImageWindow(20, 45, 320, 240); calLeft7->box(FL_NO_BOX); calLeft7->color(FL_BACKGROUND_COLOR); calLeft7->selection_color(FL_BACKGROUND_COLOR); calLeft7->labeltype(FL_NO_LABEL); calLeft7->labelfont(0); calLeft7->labelsize(14); calLeft7->labelcolor(FL_FOREGROUND_COLOR); calLeft7->align(FL_ALIGN_CENTER); calLeft7->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft7 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight7 = new calImageWindow(345, 45, 320, 240); calRight7->box(FL_NO_BOX); calRight7->color(FL_BACKGROUND_COLOR); calRight7->selection_color(FL_BACKGROUND_COLOR); calRight7->labeltype(FL_NO_LABEL); calRight7->labelfont(0); calRight7->labelsize(14); calRight7->labelcolor(FL_FOREGROUND_COLOR); calRight7->align(FL_ALIGN_CENTER); calRight7->when(FL_WHEN_RELEASE); } // calImageWindow* calRight7 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab7->end(); } // Fl_Group* tab7 { tab8 = new Fl_Group(15, 35, 660, 260, " 8"); tab8->labelsize(11); tab8->user_data((void*)(7)); tab8->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft8 = new calImageWindow(20, 45, 320, 240); calLeft8->box(FL_NO_BOX); calLeft8->color(FL_BACKGROUND_COLOR); calLeft8->selection_color(FL_BACKGROUND_COLOR); calLeft8->labeltype(FL_NO_LABEL); calLeft8->labelfont(0); calLeft8->labelsize(14); calLeft8->labelcolor(FL_FOREGROUND_COLOR); calLeft8->align(FL_ALIGN_CENTER); calLeft8->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft8 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight8 = new calImageWindow(345, 45, 320, 240); calRight8->box(FL_NO_BOX); calRight8->color(FL_BACKGROUND_COLOR); calRight8->selection_color(FL_BACKGROUND_COLOR); calRight8->labeltype(FL_NO_LABEL); calRight8->labelfont(0); calRight8->labelsize(14); calRight8->labelcolor(FL_FOREGROUND_COLOR); calRight8->align(FL_ALIGN_CENTER); calRight8->when(FL_WHEN_RELEASE); } // calImageWindow* calRight8 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab8->end(); } // Fl_Group* tab8 { tab9 = new Fl_Group(15, 35, 660, 260, " 9"); tab9->labelsize(11); tab9->user_data((void*)(8)); tab9->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft9 = new calImageWindow(20, 45, 320, 240); calLeft9->box(FL_NO_BOX); calLeft9->color(FL_BACKGROUND_COLOR); calLeft9->selection_color(FL_BACKGROUND_COLOR); calLeft9->labeltype(FL_NO_LABEL); calLeft9->labelfont(0); calLeft9->labelsize(14); calLeft9->labelcolor(FL_FOREGROUND_COLOR); calLeft9->align(FL_ALIGN_CENTER); calLeft9->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft9 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight9 = new calImageWindow(345, 45, 320, 240); calRight9->box(FL_NO_BOX); calRight9->color(FL_BACKGROUND_COLOR); calRight9->selection_color(FL_BACKGROUND_COLOR); calRight9->labeltype(FL_NO_LABEL); calRight9->labelfont(0); calRight9->labelsize(14); calRight9->labelcolor(FL_FOREGROUND_COLOR); calRight9->align(FL_ALIGN_CENTER); calRight9->when(FL_WHEN_RELEASE); } // calImageWindow* calRight9 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab9->end(); } // Fl_Group* tab9 { tab10 = new Fl_Group(15, 35, 660, 260, " 10"); tab10->labelsize(11); tab10->user_data((void*)(9)); tab10->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft10 = new calImageWindow(20, 45, 320, 240); calLeft10->box(FL_NO_BOX); calLeft10->color(FL_BACKGROUND_COLOR); calLeft10->selection_color(FL_BACKGROUND_COLOR); calLeft10->labeltype(FL_NO_LABEL); calLeft10->labelfont(0); calLeft10->labelsize(14); calLeft10->labelcolor(FL_FOREGROUND_COLOR); calLeft10->align(FL_ALIGN_CENTER); calLeft10->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft10 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight10 = new calImageWindow(345, 45, 320, 240); calRight10->box(FL_NO_BOX); calRight10->color(FL_BACKGROUND_COLOR); calRight10->selection_color(FL_BACKGROUND_COLOR); calRight10->labeltype(FL_NO_LABEL); calRight10->labelfont(0); calRight10->labelsize(14); calRight10->labelcolor(FL_FOREGROUND_COLOR); calRight10->align(FL_ALIGN_CENTER); calRight10->when(FL_WHEN_RELEASE); } // calImageWindow* calRight10 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab10->end(); } // Fl_Group* tab10 { tab11 = new Fl_Group(15, 35, 660, 260, " 11"); tab11->labelsize(11); tab11->user_data((void*)(10)); tab11->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft11 = new calImageWindow(20, 45, 320, 240); calLeft11->box(FL_NO_BOX); calLeft11->color(FL_BACKGROUND_COLOR); calLeft11->selection_color(FL_BACKGROUND_COLOR); calLeft11->labeltype(FL_NO_LABEL); calLeft11->labelfont(0); calLeft11->labelsize(14); calLeft11->labelcolor(FL_FOREGROUND_COLOR); calLeft11->align(FL_ALIGN_CENTER); calLeft11->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft11 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight11 = new calImageWindow(345, 45, 320, 240); calRight11->box(FL_NO_BOX); calRight11->color(FL_BACKGROUND_COLOR); calRight11->selection_color(FL_BACKGROUND_COLOR); calRight11->labeltype(FL_NO_LABEL); calRight11->labelfont(0); calRight11->labelsize(14); calRight11->labelcolor(FL_FOREGROUND_COLOR); calRight11->align(FL_ALIGN_CENTER); calRight11->when(FL_WHEN_RELEASE); } // calImageWindow* calRight11 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab11->end(); } // Fl_Group* tab11 { tab12 = new Fl_Group(15, 35, 660, 260, " 12"); tab12->labelsize(11); tab12->user_data((void*)(11)); tab12->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft12 = new calImageWindow(20, 45, 320, 240); calLeft12->box(FL_NO_BOX); calLeft12->color(FL_BACKGROUND_COLOR); calLeft12->selection_color(FL_BACKGROUND_COLOR); calLeft12->labeltype(FL_NO_LABEL); calLeft12->labelfont(0); calLeft12->labelsize(14); calLeft12->labelcolor(FL_FOREGROUND_COLOR); calLeft12->align(FL_ALIGN_CENTER); calLeft12->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft12 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight12 = new calImageWindow(345, 45, 320, 240); calRight12->box(FL_NO_BOX); calRight12->color(FL_BACKGROUND_COLOR); calRight12->selection_color(FL_BACKGROUND_COLOR); calRight12->labeltype(FL_NO_LABEL); calRight12->labelfont(0); calRight12->labelsize(14); calRight12->labelcolor(FL_FOREGROUND_COLOR); calRight12->align(FL_ALIGN_CENTER); calRight12->when(FL_WHEN_RELEASE); } // calImageWindow* calRight12 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab12->end(); } // Fl_Group* tab12 { tab13 = new Fl_Group(15, 35, 660, 260, " 13"); tab13->labelsize(11); tab13->user_data((void*)(12)); tab13->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft13 = new calImageWindow(20, 45, 320, 240); calLeft13->box(FL_NO_BOX); calLeft13->color(FL_BACKGROUND_COLOR); calLeft13->selection_color(FL_BACKGROUND_COLOR); calLeft13->labeltype(FL_NO_LABEL); calLeft13->labelfont(0); calLeft13->labelsize(14); calLeft13->labelcolor(FL_FOREGROUND_COLOR); calLeft13->align(FL_ALIGN_CENTER); calLeft13->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft13 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight13 = new calImageWindow(345, 45, 320, 240); calRight13->box(FL_NO_BOX); calRight13->color(FL_BACKGROUND_COLOR); calRight13->selection_color(FL_BACKGROUND_COLOR); calRight13->labeltype(FL_NO_LABEL); calRight13->labelfont(0); calRight13->labelsize(14); calRight13->labelcolor(FL_FOREGROUND_COLOR); calRight13->align(FL_ALIGN_CENTER); calRight13->when(FL_WHEN_RELEASE); } // calImageWindow* calRight13 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab13->end(); } // Fl_Group* tab13 { tab14 = new Fl_Group(15, 35, 660, 260, " 14"); tab14->labelsize(11); tab14->user_data((void*)(13)); tab14->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft14 = new calImageWindow(20, 45, 320, 240); calLeft14->box(FL_NO_BOX); calLeft14->color(FL_BACKGROUND_COLOR); calLeft14->selection_color(FL_BACKGROUND_COLOR); calLeft14->labeltype(FL_NO_LABEL); calLeft14->labelfont(0); calLeft14->labelsize(14); calLeft14->labelcolor(FL_FOREGROUND_COLOR); calLeft14->align(FL_ALIGN_CENTER); calLeft14->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft14 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight14 = new calImageWindow(345, 45, 320, 240); calRight14->box(FL_NO_BOX); calRight14->color(FL_BACKGROUND_COLOR); calRight14->selection_color(FL_BACKGROUND_COLOR); calRight14->labeltype(FL_NO_LABEL); calRight14->labelfont(0); calRight14->labelsize(14); calRight14->labelcolor(FL_FOREGROUND_COLOR); calRight14->align(FL_ALIGN_CENTER); calRight14->when(FL_WHEN_RELEASE); } // calImageWindow* calRight14 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab14->end(); } // Fl_Group* tab14 { tab15 = new Fl_Group(15, 35, 660, 260, " 15"); tab15->labelsize(11); tab15->user_data((void*)(14)); tab15->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft15 = new calImageWindow(20, 45, 320, 240); calLeft15->box(FL_NO_BOX); calLeft15->color(FL_BACKGROUND_COLOR); calLeft15->selection_color(FL_BACKGROUND_COLOR); calLeft15->labeltype(FL_NO_LABEL); calLeft15->labelfont(0); calLeft15->labelsize(14); calLeft15->labelcolor(FL_FOREGROUND_COLOR); calLeft15->align(FL_ALIGN_CENTER); calLeft15->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft15 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight15 = new calImageWindow(345, 45, 320, 240); calRight15->box(FL_NO_BOX); calRight15->color(FL_BACKGROUND_COLOR); calRight15->selection_color(FL_BACKGROUND_COLOR); calRight15->labeltype(FL_NO_LABEL); calRight15->labelfont(0); calRight15->labelsize(14); calRight15->labelcolor(FL_FOREGROUND_COLOR); calRight15->align(FL_ALIGN_CENTER); calRight15->when(FL_WHEN_RELEASE); } // calImageWindow* calRight15 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab15->end(); } // Fl_Group* tab15 { tab16 = new Fl_Group(15, 35, 660, 260, " 16"); tab16->labelsize(11); tab16->user_data((void*)(15)); tab16->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft16 = new calImageWindow(20, 45, 320, 240); calLeft16->box(FL_NO_BOX); calLeft16->color(FL_BACKGROUND_COLOR); calLeft16->selection_color(FL_BACKGROUND_COLOR); calLeft16->labeltype(FL_NO_LABEL); calLeft16->labelfont(0); calLeft16->labelsize(14); calLeft16->labelcolor(FL_FOREGROUND_COLOR); calLeft16->align(FL_ALIGN_CENTER); calLeft16->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft16 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight16 = new calImageWindow(345, 45, 320, 240); calRight16->box(FL_NO_BOX); calRight16->color(FL_BACKGROUND_COLOR); calRight16->selection_color(FL_BACKGROUND_COLOR); calRight16->labeltype(FL_NO_LABEL); calRight16->labelfont(0); calRight16->labelsize(14); calRight16->labelcolor(FL_FOREGROUND_COLOR); calRight16->align(FL_ALIGN_CENTER); calRight16->when(FL_WHEN_RELEASE); } // calImageWindow* calRight16 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab16->end(); } // Fl_Group* tab16 { tab17 = new Fl_Group(15, 35, 660, 260, " 17"); tab17->labelsize(11); tab17->user_data((void*)(16)); tab17->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft17 = new calImageWindow(20, 45, 320, 240); calLeft17->box(FL_NO_BOX); calLeft17->color(FL_BACKGROUND_COLOR); calLeft17->selection_color(FL_BACKGROUND_COLOR); calLeft17->labeltype(FL_NO_LABEL); calLeft17->labelfont(0); calLeft17->labelsize(14); calLeft17->labelcolor(FL_FOREGROUND_COLOR); calLeft17->align(FL_ALIGN_CENTER); calLeft17->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft17 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight17 = new calImageWindow(345, 45, 320, 240); calRight17->box(FL_NO_BOX); calRight17->color(FL_BACKGROUND_COLOR); calRight17->selection_color(FL_BACKGROUND_COLOR); calRight17->labeltype(FL_NO_LABEL); calRight17->labelfont(0); calRight17->labelsize(14); calRight17->labelcolor(FL_FOREGROUND_COLOR); calRight17->align(FL_ALIGN_CENTER); calRight17->when(FL_WHEN_RELEASE); } // calImageWindow* calRight17 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab17->end(); } // Fl_Group* tab17 { tab18 = new Fl_Group(15, 35, 660, 260, " 18"); tab18->labelsize(11); tab18->user_data((void*)(17)); tab18->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft18 = new calImageWindow(20, 45, 320, 240); calLeft18->box(FL_NO_BOX); calLeft18->color(FL_BACKGROUND_COLOR); calLeft18->selection_color(FL_BACKGROUND_COLOR); calLeft18->labeltype(FL_NO_LABEL); calLeft18->labelfont(0); calLeft18->labelsize(14); calLeft18->labelcolor(FL_FOREGROUND_COLOR); calLeft18->align(FL_ALIGN_CENTER); calLeft18->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft18 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight18 = new calImageWindow(345, 45, 320, 240); calRight18->box(FL_NO_BOX); calRight18->color(FL_BACKGROUND_COLOR); calRight18->selection_color(FL_BACKGROUND_COLOR); calRight18->labeltype(FL_NO_LABEL); calRight18->labelfont(0); calRight18->labelsize(14); calRight18->labelcolor(FL_FOREGROUND_COLOR); calRight18->align(FL_ALIGN_CENTER); calRight18->when(FL_WHEN_RELEASE); } // calImageWindow* calRight18 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab18->end(); } // Fl_Group* tab18 { tab19 = new Fl_Group(15, 35, 660, 260, " 19"); tab19->labelsize(11); tab19->user_data((void*)(18)); tab19->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft19 = new calImageWindow(20, 45, 320, 240); calLeft19->box(FL_NO_BOX); calLeft19->color(FL_BACKGROUND_COLOR); calLeft19->selection_color(FL_BACKGROUND_COLOR); calLeft19->labeltype(FL_NO_LABEL); calLeft19->labelfont(0); calLeft19->labelsize(14); calLeft19->labelcolor(FL_FOREGROUND_COLOR); calLeft19->align(FL_ALIGN_CENTER); calLeft19->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft19 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight19 = new calImageWindow(345, 45, 320, 240); calRight19->box(FL_NO_BOX); calRight19->color(FL_BACKGROUND_COLOR); calRight19->selection_color(FL_BACKGROUND_COLOR); calRight19->labeltype(FL_NO_LABEL); calRight19->labelfont(0); calRight19->labelsize(14); calRight19->labelcolor(FL_FOREGROUND_COLOR); calRight19->align(FL_ALIGN_CENTER); calRight19->when(FL_WHEN_RELEASE); } // calImageWindow* calRight19 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab19->end(); } // Fl_Group* tab19 { tab20 = new Fl_Group(15, 35, 660, 260, " 20"); tab20->labelsize(11); tab20->user_data((void*)(19)); tab20->hide(); { Fl_Group* o = new Fl_Group(20, 45, 645, 245); { Fl_Group* o = new Fl_Group(20, 45, 320, 245); { Fl_Box* o = new Fl_Box(20, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calLeft20 = new calImageWindow(20, 45, 320, 240); calLeft20->box(FL_NO_BOX); calLeft20->color(FL_BACKGROUND_COLOR); calLeft20->selection_color(FL_BACKGROUND_COLOR); calLeft20->labeltype(FL_NO_LABEL); calLeft20->labelfont(0); calLeft20->labelsize(14); calLeft20->labelcolor(FL_FOREGROUND_COLOR); calLeft20->align(FL_ALIGN_CENTER); calLeft20->when(FL_WHEN_RELEASE); } // calImageWindow* calLeft20 o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 45, 320, 240); { Fl_Box* o = new Fl_Box(345, 50, 320, 235); o->box(FL_EMBOSSED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { calRight20 = new calImageWindow(345, 45, 320, 240); calRight20->box(FL_NO_BOX); calRight20->color(FL_BACKGROUND_COLOR); calRight20->selection_color(FL_BACKGROUND_COLOR); calRight20->labeltype(FL_NO_LABEL); calRight20->labelfont(0); calRight20->labelsize(14); calRight20->labelcolor(FL_FOREGROUND_COLOR); calRight20->align(FL_ALIGN_CENTER); calRight20->when(FL_WHEN_RELEASE); } // calImageWindow* calRight20 o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o tab20->end(); } // Fl_Group* tab20 window_tab->end(); } // Fl_Tabs* window_tab { Fl_Group* o = new Fl_Group(410, 30, 450, 300); { Fl_Button* o = load_button = new Fl_Button(685, 110, 90, 25, "Load both"); load_button->down_box(FL_DOWN_BOX); load_button->labelsize(11); load_button->callback((Fl_Callback*)cal_load_cb); o->user_data((void *)this); } // Fl_Button* load_button { Fl_Button* o = save_button = new Fl_Button(685, 180, 90, 25, "Save"); save_button->down_box(FL_DOWN_BOX); save_button->labelsize(11); save_button->callback((Fl_Callback*)cal_save_image_cb); o->user_data((void *)this); } // Fl_Button* save_button { Fl_Button* o = capture_button = new Fl_Button(685, 45, 90, 25, "Capture"); capture_button->down_box(FL_DOWN_BOX); capture_button->labelsize(11); capture_button->callback((Fl_Callback*)cal_capture_cb); o->user_data((void *)this); } // Fl_Button* capture_button { Fl_Button* o = save_all_button = new Fl_Button(685, 205, 90, 25, "Save All"); save_all_button->down_box(FL_DOWN_BOX); save_all_button->labelsize(11); save_all_button->callback((Fl_Callback*)cal_save_all_cb); o->user_data((void *)this); } // Fl_Button* save_all_button { Fl_Button* o = delete_button = new Fl_Button(685, 245, 90, 25, "Delete"); delete_button->down_box(FL_DOWN_BOX); delete_button->labelsize(11); delete_button->callback((Fl_Callback*)cal_delete_image); o->user_data((void *)this); } // Fl_Button* delete_button { Fl_Button* o = load_left_button = new Fl_Button(685, 85, 45, 25, "Load L"); load_left_button->down_box(FL_DOWN_BOX); load_left_button->labelsize(11); load_left_button->callback((Fl_Callback*)cal_load_left_cb); o->user_data((void *)this); } // Fl_Button* load_left_button { Fl_Button* o = load_right_button = new Fl_Button(730, 85, 45, 25, "Load R"); load_right_button->down_box(FL_DOWN_BOX); load_right_button->labelsize(11); load_right_button->callback((Fl_Callback*)cal_load_right_cb); o->user_data((void *)this); } // Fl_Button* load_right_button { Fl_Button* o = load_seq_button = new Fl_Button(685, 135, 90, 25, "Load sequence"); load_seq_button->down_box(FL_DOWN_BOX); load_seq_button->labelsize(11); load_seq_button->callback((Fl_Callback*)cal_load_seq_cb); o->user_data((void *)this); } // Fl_Button* load_seq_button { Fl_Button* o = stereo_button = new Fl_Button(685, 305, 90, 25, "Stereo"); stereo_button->down_box(FL_DOWN_BOX); stereo_button->labelsize(11); stereo_button->callback((Fl_Callback*)do_stereo_cb); o->user_data((void *)this); } // Fl_Button* stereo_button o->end(); } // Fl_Group* o o->end(); } // Fl_Group* o { info_message = new Fl_Output(20, 305, 490, 25); info_message->box(FL_BORDER_BOX); info_message->color(FL_BACKGROUND_COLOR); info_message->labelsize(11); info_message->textsize(11); } // Fl_Output* info_message { Fl_Group* o = new Fl_Group(20, 305, 655, 85); { Fl_Button* o = calibrate_button = new Fl_Button(525, 305, 75, 25, "Calibrate"); calibrate_button->down_box(FL_DOWN_BOX); calibrate_button->labelsize(11); calibrate_button->callback((Fl_Callback*)cal_calibrate_cb); o->user_data((void *)this); } // Fl_Button* calibrate_button { Fl_Button* o = save_params_button = new Fl_Button(610, 305, 65, 25, "Save params"); save_params_button->down_box(FL_DOWN_BOX); save_params_button->labelsize(11); save_params_button->callback((Fl_Callback*)cal_save_params_cb); o->user_data((void *)this); } // Fl_Button* save_params_button { Fl_Button* o = done_button = new Fl_Button(525, 335, 60, 25, "Done"); done_button->down_box(FL_DOWN_BOX); done_button->labelsize(11); done_button->callback((Fl_Callback*)cal_ok_cb); o->user_data((void *)this); } // Fl_Button* done_button { Fl_Button* o = epi_button = new Fl_Button(610, 335, 60, 25, "Epi check"); epi_button->down_box(FL_DOWN_BOX); epi_button->labelsize(11); epi_button->callback((Fl_Callback*)cal_epipolar_cb); o->user_data((void *)this); } // Fl_Button* epi_button o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(20, 340, 490, 60); { Fl_Box* o = new Fl_Box(20, 340, 290, 50); o->box(FL_ENGRAVED_FRAME); } // Fl_Box* o { fixed_aspect_button = new Fl_Check_Button(215, 340, 25, 25, "Fixed Aspect"); fixed_aspect_button->down_box(FL_DOWN_BOX); fixed_aspect_button->value(1); fixed_aspect_button->labelsize(11); fixed_aspect_button->callback((Fl_Callback*)cal_fixed_aspect_cb); } // Fl_Check_Button* fixed_aspect_button { fixed_kappa2_button = new Fl_Check_Button(30, 345, 25, 25, "Kappa2"); fixed_kappa2_button->down_box(FL_DOWN_BOX); fixed_kappa2_button->value(1); fixed_kappa2_button->labelsize(11); fixed_kappa2_button->callback((Fl_Callback*)cal_fixed_kappa2_cb); } // Fl_Check_Button* fixed_kappa2_button { fixed_kappa3_button = new Fl_Check_Button(85, 345, 25, 25, "Kappa3"); fixed_kappa3_button->down_box(FL_DOWN_BOX); fixed_kappa3_button->labelsize(11); fixed_kappa3_button->callback((Fl_Callback*)cal_fixed_kappa3_cb); } // Fl_Check_Button* fixed_kappa3_button { fixed_tau_button = new Fl_Check_Button(140, 345, 25, 25, "Tau1, Tau2"); fixed_tau_button->down_box(FL_DOWN_BOX); fixed_tau_button->labelsize(11); fixed_tau_button->callback((Fl_Callback*)cal_fixed_tau_cb); } // Fl_Check_Button* fixed_tau_button { zero_disparity_button = new Fl_Check_Button(215, 355, 25, 25, "Zero disparity"); zero_disparity_button->down_box(FL_DOWN_BOX); zero_disparity_button->value(1); zero_disparity_button->labelsize(11); zero_disparity_button->callback((Fl_Callback*)cal_zero_disparity_cb); } // Fl_Check_Button* zero_disparity_button o->end(); } // Fl_Group* o { Fl_Group* o = new Fl_Group(345, 340, 175, 270); { Fl_Box* o = new Fl_Box(345, 340, 150, 50, "label"); o->box(FL_ENGRAVED_FRAME); o->labeltype(FL_NO_LABEL); } // Fl_Box* o { user_check_size = new Fl_Value_Input(360, 360, 30, 20, "Size mm"); user_check_size->labelsize(11); user_check_size->maximum(1000); user_check_size->step(1); user_check_size->value(100); user_check_size->textsize(11); user_check_size->callback((Fl_Callback*)cal_check_size_cb); user_check_size->align(FL_ALIGN_TOP); } // Fl_Value_Input* user_check_size { user_check_x = new Fl_Value_Input(405, 360, 30, 20, "Ints X"); user_check_x->labelsize(11); user_check_x->maximum(100); user_check_x->step(1); user_check_x->value(8); user_check_x->textsize(11); user_check_x->callback((Fl_Callback*)cal_check_x_cb); user_check_x->align(FL_ALIGN_TOP); } // Fl_Value_Input* user_check_x { user_check_y = new Fl_Value_Input(445, 360, 30, 20, "Ints Y"); user_check_y->labelsize(11); user_check_y->maximum(100); user_check_y->step(1); user_check_y->value(6); user_check_y->textsize(11); user_check_y->callback((Fl_Callback*)cal_check_y_cb); user_check_y->align(FL_ALIGN_TOP); } // Fl_Value_Input* user_check_y o->end(); } // Fl_Group* o stereo_calibration->end(); } // Fl_Window* stereo_calibration }
InputWindow::InputWindow(int w, int h, const char *label, const char *defaultName, InputWindowType type, int folderIndex) : Fl_Window(MAX(w, 445), h, label), cbUseDefaultNames(NULL), ctFileChooser(NULL), userWindowStatus(OK), fileSelectionIndex(-1) { string = (char*)malloc(sizeof(char)*90); color(GUI_WINDOW_BGCOLOR); set_modal(); windowType = type; inputText = (char *) malloc(MAX_BUFFER_SIZE * sizeof(char)); if(type == InputWindow::FILE_INPUT) { strncpy(inputText, defaultName, MAX_BUFFER_SIZE - 1); inputText[MAX_BUFFER_SIZE - 1] = '\0'; char *extPtr = strrchr(inputText, '.'); if(extPtr != NULL) { *extPtr = '\0'; } char *filenameStartPtr = strrchr(inputText, '/'); int fnameStartPos; if(filenameStartPtr != NULL) { fnameStartPos = filenameStartPtr - inputText; } else { fnameStartPos = 0; } char saveDirInfo[MAX_BUFFER_SIZE]; snprintf(saveDirInfo, fnameStartPos + 1, "%s", inputText); sprintf(string, "Export to Directory: %s", saveDirInfo); input = new Fl_Input(25, 50, 235, 30); input->when(FL_WHEN_ENTER_KEY); input->value(filenameStartPtr + 1); Fl_Box *box = new Fl_Box(110, 20, 100, 30, (const char*)string); box->box(FL_NO_BOX); box->align(FL_ALIGN_CENTER); Fl_Box *fileExtBox = new Fl_Box(260,50,30,30,".csv"); Fl_Button *button = new Fl_Button(305, 50, 110, 30, "Export to CSV @->"); button->callback(InputCallback, (void*)0); button->set_active(); input->callback(InputCallback, (void*)0); callback(CloseCallback); } else if(type == InputWindow::FOLDER_INPUT) { std::string actualStructName = ExtractStructureNameFromCTName(defaultName); const char *actualStructNameCStr = actualStructName.c_str(); strncpy(inputText, actualStructNameCStr, actualStructName.size() + 1); ConfigParser::nullTerminateString(inputText, actualStructName.size()); sprintf(string, "Creating new folder for the CT structure %s", defaultName); input = new Fl_Input(160, 50, 250, 30, "@fileopen New Folder Name:"); input->when(FL_WHEN_ENTER_KEY); input->maximum_size(60); input->value(inputText); input->color(GUI_BGCOLOR); input->textcolor(GUI_BTEXT_COLOR); Fl_Box *box = new Fl_Box(50, 1, 350, 40, (const char*) string); box->box(FL_OSHADOW_BOX); box->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_WRAP); box->color(GUI_BGCOLOR); box->labelcolor(GUI_BTEXT_COLOR); Fl_Button *button = new Fl_Button(340, 50, 100, 30, "Add Folder @|>"); button->callback(InputCallback, (void*)0); button->labelcolor(GUI_BTEXT_COLOR); button->set_active(); input->callback(InputCallback, (void*)0); input->labelcolor(GUI_TEXT_COLOR); const char *cbText = " Use only default names for structure folders"; cbUseDefaultNames = new Fl_Check_Button(30, 100, 375, 30, cbText); cbUseDefaultNames->box(FL_ROUND_UP_BOX); cbUseDefaultNames->color(GUI_BGCOLOR); cbUseDefaultNames->labelcolor(GUI_BTEXT_COLOR); cbUseDefaultNames->down_color(GUI_WINDOW_BGCOLOR); cbUseDefaultNames->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_CENTER); callback(CloseCallback); } else { const char *windowDisplayMsg = "Which CT file structure for the organism\ndo you want to display?"; Fl_Box *box = new Fl_Box(75, 5, 300, 40, windowDisplayMsg); box->box(FL_RSHADOW_BOX); box->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_WRAP); box->color(GUI_BGCOLOR); box->labelcolor(GUI_BTEXT_COLOR); Fl_Button *displayButton = new Fl_Button(100, 100, 200, 30, "Display Zoomed Region @|>"); displayButton->callback(DisplayCTFileCallback, (void*)0); displayButton->color(GUI_BGCOLOR); displayButton->labelcolor(GUI_BTEXT_COLOR); displayButton->set_active(); //displayButton->shortcut(FL_Enter); Fl_Button *cancelButton = new Fl_Button(310, 100, 75, 30, "Cancel @1+"); cancelButton->callback(CancelCallback); cancelButton->color(GUI_BGCOLOR); cancelButton->labelcolor(GUI_BTEXT_COLOR); ctFileChooser = new Fl_Choice(175, 55, 215, 30, "Choose CT Structure: "); ctFileChooser->color(GUI_BGCOLOR); ctFileChooser->labelcolor(GUI_BTEXT_COLOR); StructureManager *structManager = RNAStructViz::GetInstance()->GetStructureManager(); Folder *curFolder = structManager->GetFolderAt(folderIndex); for(int s = 0; s < curFolder->structCount; s++) { RNAStructure *rnaStruct = structManager->GetStructure(curFolder->folderStructs[s]); const char *ctFileName = rnaStruct->GetFilename(); ctFileChooser->add(ctFileName); } ctFileChooser->value(0); } show(); if(type != InputWindow::FOLDER_INPUT || !GUI_USE_DEFAULT_FOLDER_NAMES) { show(); } else { show(); InputCallback((Fl_Widget *) cbUseDefaultNames, (void *) NULL); } }