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); }
/*-----------------------------------main------------------------------*/ int main (int argc, char **argv) { int h_menu; int x, y, w, h; int width = 600; int height = 400; window = new Fl_Window(width,height); h_menu = 30; Fl_Menu_Bar menubar (0,0,width,h_menu); menubar.menu(big_menu); menubar.callback(test_cb); menubar.color(FL_WHITE); menubar.selection_color(FL_BLUE); window->size_range(300,20); window->color(FL_GREEN); x = 170; y = 20 + h_menu; w = width - 190; h = height - h_menu - 40; Fl_Box *box = new Fl_Box (FL_BORDER_BOX, x,y,w,h, "Hello, World!"); box->color(FL_YELLOW); window->end(); window->show(argc, argv); window->make_current(); return Fl::run(); }
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; }
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; }
//==== 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(); }
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(); }
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 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(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; }
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); } }