diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2006-09-17 14:58:25 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2006-09-17 14:58:25 +0000 |
| commit | b4c1d3ef03084496a1899ba116ddcc7f6e5647c8 (patch) | |
| tree | 6f3360c7f796a013e0ea0b1cb1ddb4b1744c8ab9 | |
| parent | d63cf6e3153f6be5ef6586588cdbaf53e1ff532c (diff) | |
Implement new "gtk+" scheme which provides a Bluecurve look-n-feel.
Fix size and position of dialog controls in FLUID to match the HIG.
Add "GTK+" scheme to the list of selectable schemes in FLUID.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5438 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 13 | ||||
| -rw-r--r-- | FL/Enumerations.H | 11 | ||||
| -rw-r--r-- | fluid/about_panel.cxx | 2 | ||||
| -rw-r--r-- | fluid/about_panel.fl | 6 | ||||
| -rw-r--r-- | fluid/alignment_panel.cxx | 461 | ||||
| -rw-r--r-- | fluid/alignment_panel.fl | 22 | ||||
| -rw-r--r-- | fluid/alignment_panel.h | 6 | ||||
| -rw-r--r-- | fluid/fluid.cxx | 3 | ||||
| -rw-r--r-- | fluid/widget_panel.cxx | 509 | ||||
| -rw-r--r-- | fluid/widget_panel.fl | 206 | ||||
| -rw-r--r-- | fluid/widget_panel.h | 2 | ||||
| -rw-r--r-- | src/Fl_Button.cxx | 10 | ||||
| -rw-r--r-- | src/Fl_Choice.cxx | 7 | ||||
| -rw-r--r-- | src/Fl_Scroll.cxx | 2 | ||||
| -rw-r--r-- | src/Fl_Scrollbar.cxx | 28 | ||||
| -rw-r--r-- | src/Fl_Slider.cxx | 42 | ||||
| -rw-r--r-- | src/Fl_get_system_colors.cxx | 20 | ||||
| -rw-r--r-- | src/Makefile | 3 | ||||
| -rw-r--r-- | src/fl_boxtype.cxx | 10 | ||||
| -rw-r--r-- | src/fl_gtk.cxx | 134 |
20 files changed, 864 insertions, 633 deletions
@@ -1,5 +1,6 @@ CHANGES IN FLTK 1.1.8 + - Added the Bluecurve-inspired scheme "gtk+". - Implemented alpha blending for WIN32 - Updated documentation (STR #1420, STR #1421) - Fixed font caching issue (STR #1415) @@ -9,13 +10,13 @@ CHANGES IN FLTK 1.1.8 - Fixed latin-to-roman text conversion (STR #1411) - Fixed Cygwin timeout for "select" calls (STR #1151) - Improved Mac OS X subwindow handling (STR #1402) - - Fixed more inconsistencies between fl_draw - and fl_measure (STR #1408) - - Fixed fl_measure which mistook a trailing '@@' - for a symbol (STR #1406) + - Fixed more inconsistencies between fl_draw and + fl_measure (STR #1408) + - Fixed fl_measure which mistook a trailing '@@' for a + symbol (STR #1406) - Fixed GLUT behavior on window creation (STR #1403) - - Fixed OS X bug that would hide tooltips before - they were shown (STR #1392) + - Fixed OS X bug that would hide tooltips before they + were shown (STR #1392) - Fixed Fl_Tabs tooltip reappearing (STR #1324) - Added a new demo game called "Block Attack!" - Updated the Sudoku game to show a notice about Hard and diff --git a/FL/Enumerations.H b/FL/Enumerations.H index 0ed610131..944efda5c 100644 --- a/FL/Enumerations.H +++ b/FL/Enumerations.H @@ -177,6 +177,9 @@ enum Fl_Boxtype { // boxtypes (if you change these you must fix fl_boxtype.C): _FL_PLASTIC_UP_FRAME, _FL_PLASTIC_DOWN_FRAME, _FL_PLASTIC_THIN_UP_BOX, _FL_PLASTIC_THIN_DOWN_BOX, _FL_PLASTIC_ROUND_UP_BOX, _FL_PLASTIC_ROUND_DOWN_BOX, + _FL_GTK_UP_BOX, _FL_GTK_DOWN_BOX, + _FL_GTK_UP_FRAME, _FL_GTK_DOWN_FRAME, + _FL_GTK_ROUND_UP_BOX, _FL_GTK_ROUND_DOWN_BOX, FL_FREE_BOXTYPE }; extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX(); @@ -211,6 +214,14 @@ extern FL_EXPORT Fl_Boxtype fl_define_FL_PLASTIC_UP_BOX(); #define FL_PLASTIC_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+6) #define FL_PLASTIC_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_PLASTIC_UP_BOX()+7) +extern FL_EXPORT Fl_Boxtype fl_define_FL_GTK_UP_BOX(); +#define FL_GTK_UP_BOX fl_define_FL_GTK_UP_BOX() +#define FL_GTK_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+1) +#define FL_GTK_UP_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+2) +#define FL_GTK_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+3) +#define FL_GTK_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+4) +#define FL_GTK_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+5) + // conversions of box types to other boxtypes: inline Fl_Boxtype fl_down(Fl_Boxtype b) {return (Fl_Boxtype)(b|1);} inline Fl_Boxtype fl_frame(Fl_Boxtype b) {return (Fl_Boxtype)(b|2);} diff --git a/fluid/about_panel.cxx b/fluid/about_panel.cxx index 1eae20921..41b429629 100644 --- a/fluid/about_panel.cxx +++ b/fluid/about_panel.cxx @@ -278,7 +278,7 @@ Fl_Double_Window* make_about_panel() { { Fl_Box* o = new Fl_Box(10, 10, 115, 120); o->image(image_fluid); } // Fl_Box* o - { Fl_Box* o = new Fl_Box(135, 10, 170, 69, "FLTK User\nInterface Designer\nVersion 1.1.7"); + { Fl_Box* o = new Fl_Box(135, 10, 170, 69, "FLTK User\nInterface Designer\nVersion 1.1.8"); o->color((Fl_Color)12); o->selection_color(FL_DARK1); o->labelfont(1); diff --git a/fluid/about_panel.fl b/fluid/about_panel.fl index af0cfb98e..dab44cc68 100644 --- a/fluid/about_panel.fl +++ b/fluid/about_panel.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0107 +version 1.0108 header_name {.h} code_name {.cxx} comment {// @@ -28,7 +28,7 @@ comment {// // // http://www.fltk.org/str.php // -} {selected in_source in_header +} {in_source in_header } decl {void show_help(const char *name);} {public @@ -46,7 +46,7 @@ Function {make_about_panel()} {open Fl_Box {} { label {FLTK User Interface Designer -Version 1.1.7} +Version 1.1.8} selected xywh {135 10 170 69} color 12 selection_color 47 labelfont 1 labelsize 18 align 21 } Fl_Box {} { diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx index b0e089276..c4e253350 100644 --- a/fluid/alignment_panel.cxx +++ b/fluid/alignment_panel.cxx @@ -25,7 +25,7 @@ // http://www.fltk.org/str.php // -// generated by Fast Light User Interface Designer (fluid) version 1.0107 +// generated by Fast Light User Interface Designer (fluid) version 1.0108 #include "alignment_panel.h" @@ -59,112 +59,110 @@ Fl_Input *i18n_set_input=(Fl_Input *)0; Fl_Input *i18n_function_input=(Fl_Input *)0; Fl_Double_Window* make_project_window() { - Fl_Double_Window* w; - { Fl_Double_Window* o = project_window = new Fl_Double_Window(345, 185, "Project Settings"); - w = o; - { Fl_Button* o = new Fl_Button(293, 156, 42, 20, "Close"); + { project_window = new Fl_Double_Window(345, 190, "Project Settings"); + { Fl_Button* o = new Fl_Button(293, 160, 42, 20, "Close"); o->tooltip("Close this dialog."); o->labelsize(11); o->callback((Fl_Callback*)cb_Close); - } - { Fl_Tabs* o = new Fl_Tabs(10, 10, 325, 138); - o->selection_color((Fl_Color)4); + } // Fl_Button* o + { Fl_Tabs* o = new Fl_Tabs(10, 10, 325, 140); + o->selection_color((Fl_Color)12); o->labelsize(11); { Fl_Group* o = new Fl_Group(10, 30, 325, 116, "Output"); o->labelsize(11); { Fl_Box* o = new Fl_Box(20, 40, 304, 15, "Use \"name.ext\" to set name or just \".ext\" to set extension."); o->labelsize(11); o->align(132|FL_ALIGN_INSIDE); - } - { Fl_Input* o = header_file_input = new Fl_Input(96, 60, 228, 20, "Header File:"); - o->tooltip("The name of the generated header file."); - o->box(FL_THIN_DOWN_BOX); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)header_input_cb, (void*)(1)); - o->when(FL_WHEN_CHANGED); - } - { Fl_Input* o = code_file_input = new Fl_Input(97, 85, 227, 20, "Code File:"); - o->tooltip("The name of the generated code file."); - o->box(FL_THIN_DOWN_BOX); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)code_input_cb, (void*)(1)); - o->when(FL_WHEN_CHANGED); - } - { Fl_Light_Button* o = include_H_from_C_button = new Fl_Light_Button(166, 110, 158, 20, "Include Header from Code"); - o->tooltip("Include the header file from the code file."); - o->value(1); - o->labelsize(11); - o->callback((Fl_Callback*)include_H_from_C_button_cb); - } + } // Fl_Box* o + { header_file_input = new Fl_Input(96, 60, 228, 20, "Header File:"); + header_file_input->tooltip("The name of the generated header file."); + header_file_input->box(FL_THIN_DOWN_BOX); + header_file_input->labelfont(1); + header_file_input->labelsize(11); + header_file_input->textfont(4); + header_file_input->textsize(11); + header_file_input->callback((Fl_Callback*)header_input_cb, (void*)(1)); + header_file_input->when(FL_WHEN_CHANGED); + } // Fl_Input* header_file_input + { code_file_input = new Fl_Input(97, 85, 227, 20, "Code File:"); + code_file_input->tooltip("The name of the generated code file."); + code_file_input->box(FL_THIN_DOWN_BOX); + code_file_input->labelfont(1); + code_file_input->labelsize(11); + code_file_input->textfont(4); + code_file_input->textsize(11); + code_file_input->callback((Fl_Callback*)code_input_cb, (void*)(1)); + code_file_input->when(FL_WHEN_CHANGED); + } // Fl_Input* code_file_input + { include_H_from_C_button = new Fl_Light_Button(166, 110, 158, 20, "Include Header from Code"); + include_H_from_C_button->tooltip("Include the header file from the code file."); + include_H_from_C_button->value(1); + include_H_from_C_button->labelsize(11); + include_H_from_C_button->callback((Fl_Callback*)include_H_from_C_button_cb); + } // Fl_Light_Button* include_H_from_C_button o->end(); - } + } // Fl_Group* o { Fl_Group* o = new Fl_Group(10, 30, 325, 116, "Internationalization"); o->labelsize(11); o->hide(); - { Fl_Choice* o = i18n_type_chooser = new Fl_Choice(80, 42, 100, 20, "Use:"); - o->tooltip("Type of internationalization to use."); - o->box(FL_THIN_UP_BOX); - o->down_box(FL_BORDER_BOX); - o->labelfont(1); - o->labelsize(11); - o->textsize(11); - o->callback((Fl_Callback*)i18n_type_cb); - o->menu(menu_i18n_type_chooser); - } - { Fl_Input* o = i18n_include_input = new Fl_Input(80, 67, 245, 20, "#include:"); - o->tooltip("The include file for internationalization."); - o->box(FL_THIN_DOWN_BOX); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)i18n_text_cb); - } - { Fl_Input* o = i18n_file_input = new Fl_Input(80, 92, 245, 20, "File:"); - o->tooltip("The name of the message catalog."); - o->box(FL_THIN_DOWN_BOX); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)i18n_text_cb); - } - { Fl_Input* o = i18n_set_input = new Fl_Input(80, 117, 245, 20, "Set:"); - o->tooltip("The message set number."); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)i18n_text_cb); - } - { Fl_Input* o = i18n_function_input = new Fl_Input(80, 92, 245, 20, "Function:"); - o->tooltip("The function to call to internationalize the labels and tooltips."); - o->box(FL_THIN_DOWN_BOX); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)i18n_text_cb); - } + { i18n_type_chooser = new Fl_Choice(80, 42, 100, 20, "Use:"); + i18n_type_chooser->tooltip("Type of internationalization to use."); + i18n_type_chooser->box(FL_THIN_UP_BOX); + i18n_type_chooser->down_box(FL_BORDER_BOX); + i18n_type_chooser->labelfont(1); + i18n_type_chooser->labelsize(11); + i18n_type_chooser->textsize(11); + i18n_type_chooser->callback((Fl_Callback*)i18n_type_cb); + i18n_type_chooser->menu(menu_i18n_type_chooser); + } // Fl_Choice* i18n_type_chooser + { i18n_include_input = new Fl_Input(80, 67, 245, 20, "#include:"); + i18n_include_input->tooltip("The include file for internationalization."); + i18n_include_input->box(FL_THIN_DOWN_BOX); + i18n_include_input->labelfont(1); + i18n_include_input->labelsize(11); + i18n_include_input->textfont(4); + i18n_include_input->textsize(11); + i18n_include_input->callback((Fl_Callback*)i18n_text_cb); + } // Fl_Input* i18n_include_input + { i18n_file_input = new Fl_Input(80, 92, 245, 20, "File:"); + i18n_file_input->tooltip("The name of the message catalog."); + i18n_file_input->box(FL_THIN_DOWN_BOX); + i18n_file_input->labelfont(1); + i18n_file_input->labelsize(11); + i18n_file_input->textfont(4); + i18n_file_input->textsize(11); + i18n_file_input->callback((Fl_Callback*)i18n_text_cb); + } // Fl_Input* i18n_file_input + { i18n_set_input = new Fl_Input(80, 117, 245, 20, "Set:"); + i18n_set_input->tooltip("The message set number."); + i18n_set_input->type(2); + i18n_set_input->box(FL_THIN_DOWN_BOX); + i18n_set_input->labelfont(1); + i18n_set_input->labelsize(11); + i18n_set_input->textfont(4); + i18n_set_input->textsize(11); + i18n_set_input->callback((Fl_Callback*)i18n_text_cb); + } // Fl_Input* i18n_set_input + { i18n_function_input = new Fl_Input(80, 92, 245, 20, "Function:"); + i18n_function_input->tooltip("The function to call to internationalize the labels and tooltips."); + i18n_function_input->box(FL_THIN_DOWN_BOX); + i18n_function_input->labelfont(1); + i18n_function_input->labelsize(11); + i18n_function_input->textfont(4); + i18n_function_input->textsize(11); + i18n_function_input->callback((Fl_Callback*)i18n_text_cb); + } // Fl_Input* i18n_function_input o->end(); - } + } // Fl_Group* o o->end(); - } - o->set_modal(); - o->end(); - } - return w; + } // Fl_Tabs* o + project_window->set_modal(); + project_window->end(); + } // Fl_Double_Window* project_window + return project_window; } -Fl_Text_Buffer *shell_run_buffer; -void scheme_cb(Fl_Choice *, void *); +Fl_Text_Buffer *shell_run_buffer; +void scheme_cb(Fl_Choice *, void *); Fl_Double_Window *settings_window=(Fl_Double_Window *)0; @@ -174,6 +172,7 @@ Fl_Menu_Item menu_scheme_choice[] = { {"Default", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, {"Plastic", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, + {"GTK+", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, {0,0,0,0,0,0,0,0,0} }; @@ -214,70 +213,69 @@ load_history(); } Fl_Double_Window* make_settings_window() { - Fl_Double_Window* w; - { Fl_Double_Window* o = settings_window = new Fl_Double_Window(340, 225, "GUI Settings"); - w = o; - { Fl_Choice* o = scheme_choice = new Fl_Choice(116, 10, 115, 25, "Scheme:"); - o->down_box(FL_BORDER_BOX); - o->labelfont(1); - o->callback((Fl_Callback*)scheme_cb); - o->menu(menu_scheme_choice); + { settings_window = new Fl_Double_Window(340, 225, "GUI Settings"); + { scheme_choice = new Fl_Choice(116, 10, 115, 25, "Scheme:"); + scheme_choice->down_box(FL_BORDER_BOX); + scheme_choice->labelfont(1); + scheme_choice->callback((Fl_Callback*)scheme_cb); + scheme_choice->menu(menu_scheme_choice); int s; fluid_prefs.get("scheme", s, 0); scheme_choice->value(s); scheme_cb(0, 0); - } + } // Fl_Choice* scheme_choice { Fl_Group* o = new Fl_Group(116, 45, 215, 100, "Options:\n\n\n\n\n"); o->labelfont(1); o->align(FL_ALIGN_LEFT); - { Fl_Check_Button* o = tooltips_button = new Fl_Check_Button(116, 45, 113, 25, "Show Tooltips"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_tooltips_button); + { tooltips_button = new Fl_Check_Button(116, 45, 113, 25, "Show Tooltips"); + tooltips_button->down_box(FL_DOWN_BOX); + tooltips_button->callback((Fl_Callback*)cb_tooltips_button); int b; fluid_prefs.get("show_tooltips", b, 1); tooltips_button->value(b); Fl_Tooltip::enable(b); - } - { Fl_Check_Button* o = completion_button = new Fl_Check_Button(116, 70, 186, 25, "Show Completion Dialogs"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_completion_button); + } // Fl_Check_Button* tooltips_button + { completion_button = new Fl_Check_Button(116, 70, 186, 25, "Show Completion Dialogs"); + completion_button->down_box(FL_DOWN_BOX); + completion_button->callback((Fl_Callback*)cb_completion_button); int b; fluid_prefs.get("show_completion_dialogs", b, 1); completion_button->value(b); - } - { Fl_Check_Button* o = openlast_button = new Fl_Check_Button(116, 95, 215, 25, "Open Previous File on Startup"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_openlast_button); + } // Fl_Check_Button* completion_button + { openlast_button = new Fl_Check_Button(116, 95, 215, 25, "Open Previous File on Startup"); + openlast_button->down_box(FL_DOWN_BOX); + openlast_button->callback((Fl_Callback*)cb_openlast_button); int b; fluid_prefs.get("open_previous_file", b, 0); openlast_button->value(b); - } - { Fl_Check_Button* o = prevpos_button = new Fl_Check_Button(116, 120, 210, 25, "Remember Window Positions"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_prevpos_button); + } // Fl_Check_Button* openlast_button + { prevpos_button = new Fl_Check_Button(116, 120, 210, 25, "Remember Window Positions"); + prevpos_button->down_box(FL_DOWN_BOX); + prevpos_button->callback((Fl_Callback*)cb_prevpos_button); int b; fluid_prefs.get("prev_window_pos", b, 1); prevpos_button->value(b); - } + } // Fl_Check_Button* prevpos_button o->end(); - } + } // Fl_Group* o { Fl_Button* o = new Fl_Button(266, 190, 64, 25, "Close"); o->tooltip("Close this dialog."); o->callback((Fl_Callback*)cb_Close1); - } - { Fl_Spinner* o = recent_spinner = new Fl_Spinner(116, 155, 40, 25, "# Recent Files:"); - o->labelfont(1); - o->callback((Fl_Callback*)cb_recent_spinner); - o->when(FL_WHEN_CHANGED); + } // Fl_Button* o + { recent_spinner = new Fl_Spinner(116, 155, 40, 25, "# Recent Files:"); + recent_spinner->labelfont(1); + recent_spinner->value(1); + recent_spinner->callback((Fl_Callback*)cb_recent_spinner); + recent_spinner->when(FL_WHEN_CHANGED); int c; fluid_prefs.get("recent_files", c, 5); recent_spinner->maximum(10); recent_spinner->value(c); - } - o->set_non_modal(); - o->end(); - } - return w; + } // Fl_Spinner* recent_spinner + settings_window->set_non_modal(); + settings_window->end(); + } // Fl_Double_Window* settings_window + return settings_window; } Fl_Double_Window *shell_window=(Fl_Double_Window *)0; @@ -321,61 +319,58 @@ static void cb_shell_run_button(Fl_Return_Button*, void*) { } Fl_Double_Window* make_shell_window() { - Fl_Double_Window* w; - { Fl_Double_Window* o = shell_window = new Fl_Double_Window(365, 125, "Shell Command"); - w = o; - { Fl_Input* o = shell_command_input = new Fl_Input(10, 27, 347, 25, "Command:"); - o->labelfont(1); - o->callback((Fl_Callback*)cb_shell_command_input); - o->align(FL_ALIGN_TOP_LEFT); + { shell_window = new Fl_Double_Window(365, 125, "Shell Command"); + { shell_command_input = new Fl_Input(10, 27, 347, 25, "Command:"); + shell_command_input->labelfont(1); + shell_command_input->callback((Fl_Callback*)cb_shell_command_input); + shell_command_input->align(FL_ALIGN_TOP_LEFT); char buf[1024]; fluid_prefs.get("shell_command", buf, "", sizeof(buf)); shell_command_input->value(buf); - } - { Fl_Check_Button* o = shell_writecode_button = new Fl_Check_Button(128, 61, 93, 19, "Write Code"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_shell_writecode_button); + } // Fl_Input* shell_command_input + { shell_writecode_button = new Fl_Check_Button(128, 61, 93, 19, "Write Code"); + shell_writecode_button->down_box(FL_DOWN_BOX); + shell_writecode_button->callback((Fl_Callback*)cb_shell_writecode_button); int b; fluid_prefs.get("shell_writecode", b, 1); shell_writecode_button->value(b); - } - { Fl_Check_Button* o = shell_writemsgs_button = new Fl_Check_Button(231, 61, 126, 19, "Write Messages"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_shell_writemsgs_button); + } // Fl_Check_Button* shell_writecode_button + { shell_writemsgs_button = new Fl_Check_Button(231, 61, 126, 19, "Write Messages"); + shell_writemsgs_button->down_box(FL_DOWN_BOX); + shell_writemsgs_button->callback((Fl_Callback*)cb_shell_writemsgs_button); int b; fluid_prefs.get("shell_writemsgs", b, 0); shell_writemsgs_button->value(b); - } - { Fl_Check_Button* o = shell_savefl_button = new Fl_Check_Button(10, 62, 108, 19, "Save .FL File"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)cb_shell_savefl_button); + } // Fl_Check_Button* shell_writemsgs_button + { shell_savefl_button = new Fl_Check_Button(10, 62, 108, 19, "Save .FL File"); + shell_savefl_button->down_box(FL_DOWN_BOX); + shell_savefl_button->callback((Fl_Callback*)cb_shell_savefl_button); int b; fluid_prefs.get("shell_savefl", b, 1); shell_savefl_button->value(b); - } + } // Fl_Check_Button* shell_savefl_button { Fl_Return_Button* o = new Fl_Return_Button(132, 90, 143, 25, "Run Command"); o->callback((Fl_Callback*)do_shell_command); - } + } // Fl_Return_Button* o { Fl_Button* o = new Fl_Button(285, 90, 72, 25, "Cancel"); o->callback((Fl_Callback*)cb_Cancel); - } - o->end(); - } - { Fl_Double_Window* o = shell_run_window = new Fl_Double_Window(555, 430, "Shell Command Output"); - w = o; - { Fl_Text_Display* o = shell_run_display = new Fl_Text_Display(10, 10, 535, 375); - o->box(FL_DOWN_BOX); - o->textfont(4); - Fl_Group::current()->resizable(o); + } // Fl_Button* o + shell_window->end(); + } // Fl_Double_Window* shell_window + { shell_run_window = new Fl_Double_Window(555, 430, "Shell Command Output"); + { shell_run_display = new Fl_Text_Display(10, 10, 535, 375); + shell_run_display->box(FL_DOWN_BOX); + shell_run_display->textfont(4); + Fl_Group::current()->resizable(shell_run_display); shell_run_buffer = new Fl_Text_Buffer(); shell_run_display->buffer(shell_run_buffer); - } - { Fl_Return_Button* o = shell_run_button = new Fl_Return_Button(468, 395, 77, 25, "Close"); - o->callback((Fl_Callback*)cb_shell_run_button); - } - o->end(); - } - return w; + } // Fl_Text_Display* shell_run_display + { shell_run_button = new Fl_Return_Button(468, 395, 77, 25, "Close"); + shell_run_button->callback((Fl_Callback*)cb_shell_run_button); + } // Fl_Return_Button* shell_run_button + shell_run_window->end(); + } // Fl_Double_Window* shell_run_window + return shell_run_window; } Fl_Double_Window *grid_window=(Fl_Double_Window *)0; @@ -395,110 +390,108 @@ static void cb_Close2(Fl_Button*, void*) { Fl_Round_Button *def_widget_size[6]={(Fl_Round_Button *)0}; Fl_Double_Window* make_layout_window() { - Fl_Double_Window* w; - { Fl_Double_Window* o = grid_window = new Fl_Double_Window(285, 245, "Layout Settings"); - w = o; + { grid_window = new Fl_Double_Window(285, 245, "Layout Settings"); { Fl_Input* o = horizontal_input = new Fl_Input(106, 10, 50, 25, "x"); - o->tooltip("Horizontal grid spacing."); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->callback((Fl_Callback*)grid_cb, (void*)(1)); - o->align(FL_ALIGN_RIGHT); + horizontal_input->tooltip("Horizontal grid spacing."); + horizontal_input->type(2); + horizontal_input->box(FL_THIN_DOWN_BOX); + horizontal_input->callback((Fl_Callback*)grid_cb, (void*)(1)); + horizontal_input->align(FL_ALIGN_RIGHT); o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY); - } + } // Fl_Input* horizontal_input { Fl_Input* o = vertical_input = new Fl_Input(166, 10, 50, 25, "pixels"); - o->tooltip("Vertical grid spacing."); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->callback((Fl_Callback*)grid_cb, (void*)(2)); - o->align(FL_ALIGN_RIGHT); + vertical_input->tooltip("Vertical grid spacing."); + vertical_input->type(2); + vertical_input->box(FL_THIN_DOWN_BOX); + vertical_input->callback((Fl_Callback*)grid_cb, (void*)(2)); + vertical_input->align(FL_ALIGN_RIGHT); o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY); - } + } // Fl_Input* vertical_input { Fl_Input* o = snap_input = new Fl_Input(106, 45, 50, 25, "pixel snap"); - o->tooltip("Snap to grid within this many pixels."); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->callback((Fl_Callback*)grid_cb, (void*)(3)); - o->align(FL_ALIGN_RIGHT); + snap_input->tooltip("Snap to grid within this many pixels."); + snap_input->type(2); + snap_input->box(FL_THIN_DOWN_BOX); + snap_input->callback((Fl_Callback*)grid_cb, (void*)(3)); + snap_input->align(FL_ALIGN_RIGHT); o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY); - } - { Fl_Check_Button* o = guides_toggle = new Fl_Check_Button(106, 80, 110, 25, "Show Guides"); - o->tooltip("Show distance and alignment guides in overlay"); - o->down_box(FL_DOWN_BOX); - o->callback((Fl_Callback*)guides_cb, (void*)(4)); - } + } // Fl_Input* snap_input + { guides_toggle = new Fl_Check_Button(106, 80, 110, 25, "Show Guides"); + guides_toggle->tooltip("Show distance and alignment guides in overlay"); + guides_toggle->down_box(FL_DOWN_BOX); + guides_toggle->callback((Fl_Callback*)guides_cb, (void*)(4)); + } // Fl_Check_Button* guides_toggle { Fl_Button* o = new Fl_Button(215, 210, 60, 25, "Close"); o->tooltip("Close this dialog."); o->callback((Fl_Callback*)cb_Close2); - } + } // Fl_Button* o { Fl_Box* o = new Fl_Box(26, 10, 70, 25, "Grid:"); o->labelfont(1); o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE); - } + } // Fl_Box* o { Fl_Box* o = new Fl_Box(-1, 115, 97, 25, "Widget Size:"); o->labelfont(1); o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE); - } + } // Fl_Box* o { Fl_Group* o = new Fl_Group(105, 115, 170, 75); - { Fl_Round_Button* o = def_widget_size[0] = new Fl_Round_Button(105, 115, 70, 25); - o->type(102); - o->down_box(FL_ROUND_DOWN_BOX); - o->callback((Fl_Callback*)default_widget_size_cb, (void*)(8)); - } + { def_widget_size[0] = new Fl_Round_Button(105, 115, 70, 25); + def_widget_size[0]->type(102); + def_widget_size[0]->down_box(FL_ROUND_DOWN_BOX); + def_widget_size[0]->callback((Fl_Callback*)default_widget_size_cb, (void*)(8)); + } // Fl_Round_Button* def_widget_size[0] { Fl_Box* o = new Fl_Box(120, 115, 50, 25, "tiny"); o->labelsize(8); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - } - { Fl_Round_Button* o = def_widget_size[1] = new Fl_Round_Button(180, 115, 70, 25); - o->type(102); - o->down_box(FL_ROUND_DOWN_BOX); - o->callback((Fl_Callback*)default_widget_size_cb, (void*)(11)); - } + } // Fl_Box* o + { def_widget_size[1] = new Fl_Round_Button(180, 115, 70, 25); + def_widget_size[1]->type(102); + def_widget_size[1]->down_box(FL_ROUND_DOWN_BOX); + def_widget_size[1]->callback((Fl_Callback*)default_widget_size_cb, (void*)(11)); + } // Fl_Round_Button* def_widget_size[1] { Fl_Box* o = new Fl_Box(195, 115, 50, 25, "small"); o->labelsize(11); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - } - { Fl_Round_Button* o = def_widget_size[2] = new Fl_Round_Button(105, 140, 70, 25); - o->type(102); - o->down_box(FL_ROUND_DOWN_BOX); - o->callback((Fl_Callback*)default_widget_size_cb, (void*)(14)); - } + } // Fl_Box* o + { def_widget_size[2] = new Fl_Round_Button(105, 140, 70, 25); + def_widget_size[2]->type(102); + def_widget_size[2]->down_box(FL_ROUND_DOWN_BOX); + def_widget_size[2]->callback((Fl_Callback*)default_widget_size_cb, (void*)(14)); + } // Fl_Round_Button* def_widget_size[2] { Fl_Box* o = new Fl_Box(120, 140, 50, 25, "normal"); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - } - { Fl_Round_Button* o = def_widget_size[3] = new Fl_Round_Button(180, 140, 90, 25); - o->type(102); - o->down_box(FL_ROUND_DOWN_BOX); - o->callback((Fl_Callback*)default_widget_size_cb, (void*)(18)); - } + } // Fl_Box* o + { def_widget_size[3] = new Fl_Round_Button(180, 140, 90, 25); + def_widget_size[3]->type(102); + def_widget_size[3]->down_box(FL_ROUND_DOWN_BOX); + def_widget_size[3]->callback((Fl_Callback*)default_widget_size_cb, (void*)(18)); + } // Fl_Round_Button* def_widget_size[3] { Fl_Box* o = new Fl_Box(195, 140, 68, 25, "medium"); o->labelsize(18); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - } - { Fl_Round_Button* o = def_widget_size[4] = new Fl_Round_Button(105, 165, 75, 25); - o->type(102); - o->down_box(FL_ROUND_DOWN_BOX); - o->callback((Fl_Callback*)default_widget_size_cb, (void*)(24)); - } + } // Fl_Box* o + { def_widget_size[4] = new Fl_Round_Button(105, 165, 75, 25); + def_widget_size[4]->type(102); + def_widget_size[4]->down_box(FL_ROUND_DOWN_BOX); + def_widget_size[4]->callback((Fl_Callback*)default_widget_size_cb, (void*)(24)); + } // Fl_Round_Button* def_widget_size[4] { Fl_Box* o = new Fl_Box(120, 165, 64, 25, "large"); o->labelsize(24); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - } - { Fl_Round_Button* o = def_widget_size[5] = new Fl_Round_Button(180, 165, 95, 25); - o->type(102); - o->down_box(FL_ROUND_DOWN_BOX); - o->callback((Fl_Callback*)default_widget_size_cb, (void*)(32)); - } + } // Fl_Box* o + { def_widget_size[5] = new Fl_Round_Button(180, 165, 95, 25); + def_widget_size[5]->type(102); + def_widget_size[5]->down_box(FL_ROUND_DOWN_BOX); + def_widget_size[5]->callback((Fl_Callback*)default_widget_size_cb, (void*)(32)); + } // Fl_Round_Button* def_widget_size[5] { Fl_Box* o = new Fl_Box(195, 165, 76, 25, "huge"); o->labelsize(32); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - } + } // Fl_Box* o o->end(); - } - o->set_non_modal(); - o->end(); - } - return w; + } // Fl_Group* o + grid_window->set_non_modal(); + grid_window->end(); + } // Fl_Double_Window* grid_window + return grid_window; } // diff --git a/fluid/alignment_panel.fl b/fluid/alignment_panel.fl index dc7ad3ee1..d8a38e53f 100644 --- a/fluid/alignment_panel.fl +++ b/fluid/alignment_panel.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0107 +version 1.0108 header_name {.h} code_name {.cxx} comment {// @@ -44,17 +44,17 @@ Function {make_project_window()} {open } { Fl_Window project_window { label {Project Settings} - xywh {312 395 345 185} type Double + xywh {312 395 345 190} type Double code0 {\#include <FL/Fl_Preferences.H>} code1 {\#include <FL/Fl_Tooltip.H>} modal visible } { Fl_Button {} { label Close callback {project_window->hide();} - tooltip {Close this dialog.} xywh {293 156 42 20} labelsize 11 + tooltip {Close this dialog.} xywh {293 160 42 20} labelsize 11 } Fl_Tabs {} {open - xywh {10 10 325 138} selection_color 4 labelsize 11 + xywh {10 10 325 140} selection_color 12 labelsize 11 } { Fl_Group {} { label Output open @@ -144,12 +144,12 @@ decl {void scheme_cb(Fl_Choice *, void *);} {public Function {make_settings_window()} {open } { Fl_Window settings_window { - label {GUI Settings} + label {GUI Settings} open xywh {326 145 340 225} type Double non_modal visible } { Fl_Choice scheme_choice { label {Scheme:} - callback scheme_cb + callback scheme_cb open xywh {116 10 115 25} down_box BORDER_BOX labelfont 1 code0 {int s;} code1 {fluid_prefs.get("scheme", s, 0);} @@ -168,6 +168,10 @@ Function {make_settings_window()} {open label Plastic xywh {0 0 35 25} } + MenuItem {} { + label {GTK+} + xywh {10 10 35 25} + } } Fl_Group {} { label {Options: @@ -222,7 +226,7 @@ fluid_prefs.set("show_tooltips", tooltips_button->value());} label {\# Recent Files:} callback {fluid_prefs.set("recent_files", recent_spinner->value()); load_history();} - xywh {116 155 40 25} labelfont 1 when 1 + xywh {116 155 40 25} labelfont 1 when 1 value 1 code0 {int c;} code1 {fluid_prefs.get("recent_files", c, 5);} code2 {recent_spinner->maximum(10);} @@ -276,7 +280,7 @@ Function {make_shell_window()} {open } Fl_Button {} { label Cancel - callback {shell_window->hide();} + callback {shell_window->hide();} selected xywh {285 90 72 25} } } @@ -300,7 +304,7 @@ Function {make_shell_window()} {open Function {make_layout_window()} {open } { Fl_Window grid_window { - label {Layout Settings} selected + label {Layout Settings} xywh {676 337 285 245} type Double non_modal visible } { Fl_Input horizontal_input { diff --git a/fluid/alignment_panel.h b/fluid/alignment_panel.h index a02bd462c..fb2c96ace 100644 --- a/fluid/alignment_panel.h +++ b/fluid/alignment_panel.h @@ -25,7 +25,7 @@ // http://www.fltk.org/str.php // -// generated by Fast Light User Interface Designer (fluid) version 1.0107 +// generated by Fast Light User Interface Designer (fluid) version 1.0108 #ifndef alignment_panel_h #define alignment_panel_h @@ -61,8 +61,8 @@ Fl_Double_Window* make_project_window(); extern Fl_Menu_Item menu_i18n_type_chooser[]; extern void i18n_cb(Fl_Choice *,void *); extern Fl_Preferences fluid_prefs; -extern Fl_Text_Buffer *shell_run_buffer; -extern void scheme_cb(Fl_Choice *, void *); +extern Fl_Text_Buffer *shell_run_buffer; +extern void scheme_cb(Fl_Choice *, void *); extern Fl_Double_Window *settings_window; extern void scheme_cb(Fl_Choice*, void*); extern Fl_Choice *scheme_choice; diff --git a/fluid/fluid.cxx b/fluid/fluid.cxx index 49e287f5a..ef4182a3d 100644 --- a/fluid/fluid.cxx +++ b/fluid/fluid.cxx @@ -1682,6 +1682,9 @@ void scheme_cb(Fl_Choice *, void *) { case 2 : // Plastic Fl::scheme("plastic"); break; + case 3 : // GTK+ + Fl::scheme("gtk+"); + break; } fluid_prefs.set("scheme", scheme_choice->value()); diff --git a/fluid/widget_panel.cxx b/fluid/widget_panel.cxx index 1adf4c436..29d1c2029 100644 --- a/fluid/widget_panel.cxx +++ b/fluid/widget_panel.cxx @@ -25,7 +25,7 @@ // http://www.fltk.org/str.php // -// generated by Fast Light User Interface Designer (fluid) version 1.0107 +// generated by Fast Light User Interface Designer (fluid) version 1.0108 #include "widget_panel.h" @@ -47,26 +47,27 @@ Fl_Button *wLiveMode=(Fl_Button *)0; Fl_Double_Window* make_widget_panel() { Fl_Double_Window* w; - { Fl_Double_Window* o = new Fl_Double_Window(410, 355); + { Fl_Double_Window* o = new Fl_Double_Window(420, 360); w = o; o->labelsize(11); - w->hotspot(o); - { Fl_Tabs* o = new Fl_Tabs(5, 5, 400, 310); - o->selection_color((Fl_Color)4); + o->align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE); + o->hotspot(o); + { Fl_Tabs* o = new Fl_Tabs(10, 10, 400, 310); + o->selection_color((Fl_Color)12); o->labelsize(11); o->labelcolor(FL_BACKGROUND2_COLOR); o->callback((Fl_Callback*)cb_); o->when(FL_WHEN_NEVER); - { Fl_Group* o = new Fl_Group(5, 25, 400, 290, "GUI"); + { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "GUI"); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->when(FL_WHEN_NEVER); - { Fl_Group* o = new Fl_Group(90, 35, 300, 20, "Label:"); + { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 35, 180, 20); + { Fl_Input* o = new Fl_Input(95, 40, 190, 20); o->tooltip("The label text for the widget."); o->labelfont(1); o->labelsize(11); @@ -74,8 +75,8 @@ Fl_Double_Window* make_widget_panel() { o->callback((Fl_Callback*)label_cb); o->when(FL_WHEN_CHANGED); Fl_Group::current()->resizable(o); - } - { Fl_Choice* o = new Fl_Choice(270, 35, 120, 20); + } // Fl_Input* o + { Fl_Choice* o = new Fl_Choice(284, 40, 120, 20); o->tooltip("The label style for the widget."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); @@ -84,228 +85,228 @@ Fl_Double_Window* make_widget_panel() { o->textsize(11); o->callback((Fl_Callback*)labeltype_cb); o->menu(labeltypemenu); - } + } // Fl_Choice* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 60, 300, 20, "Image:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 65, 309, 20, "Image:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 60, 230, 20); + { Fl_Input* o = new Fl_Input(95, 65, 240, 20); o->tooltip("The active image for the widget."); o->labelfont(1); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)image_cb); Fl_Group::current()->resizable(o); - } - { Fl_Button* o = new Fl_Button(320, 60, 70, 20, "Browse..."); + } // Fl_Input* o + { Fl_Button* o = new Fl_Button(334, 65, 70, 20, "Browse..."); o->tooltip("Click to choose the active image."); o->labelsize(11); o->callback((Fl_Callback*)image_browse_cb); - } + } // Fl_Button* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 85, 300, 20, "Inactive:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 90, 309, 20, "Inactive:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 85, 230, 20); + { Fl_Input* o = new Fl_Input(95, 90, 240, 20); o->tooltip("The inactive image for the widget."); o->labelfont(1); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)inactive_cb); Fl_Group::current()->resizable(o); - } - { Fl_Button* o = new Fl_Button(320, 85, 70, 20, "Browse..."); + } // Fl_Input* o + { Fl_Button* o = new Fl_Button(334, 90, 70, 20, "Browse..."); o->tooltip("Click to choose the inactive image."); o->labelsize(11); o->callback((Fl_Callback*)inactive_browse_cb); - } + } // Fl_Button* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 110, 300, 20, "Alignment:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 115, 300, 20, "Alignment:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Button* o = new Fl_Button(90, 110, 45, 20, "Clip"); + { Fl_Button* o = new Fl_Button(95, 115, 45, 20, "Clip"); o->tooltip("Clip the label to the inside of the widget."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_CLIP)); o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE); - } - { Fl_Button* o = new Fl_Button(140, 110, 50, 20, "Wrap"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(145, 115, 50, 20, "Wrap"); o->tooltip("Wrap the label text."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_WRAP)); - } - { Fl_Button* o = new Fl_Button(195, 110, 65, 20, "Text/Image"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(200, 115, 65, 20, "Text/Image"); o->tooltip("Show the label text over the image."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TEXT_OVER_IMAGE)); - } - { Fl_Button* o = new Fl_Button(265, 110, 20, 20, "@-1<-"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(270, 115, 20, 20, "@-1<-"); o->tooltip("Left-align the label."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->labelcolor(FL_INACTIVE_COLOR); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_LEFT)); - } - { Fl_Button* o = new Fl_Button(290, 110, 20, 20, "@-1->"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(295, 115, 20, 20, "@-1->"); o->tooltip("Right-align the label."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->labelcolor(FL_INACTIVE_COLOR); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_RIGHT)); - } - { Fl_Button* o = new Fl_Button(315, 110, 20, 20, "@-18"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(320, 115, 20, 20, "@-18"); o->tooltip("Top-align the label."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->labelcolor(FL_INACTIVE_COLOR); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TOP)); - } - { Fl_Button* o = new Fl_Button(340, 110, 20, 20, "@-12"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(345, 115, 20, 20, "@-12"); o->tooltip("Bottom-align the label."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->labelcolor(FL_INACTIVE_COLOR); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_BOTTOM)); - } - { Fl_Button* o = new Fl_Button(365, 110, 20, 20, "@-3square"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(370, 115, 20, 20, "@-3square"); o->tooltip("Show the label inside the widget."); o->type(1); o->selection_color(FL_INACTIVE_COLOR); o->labelsize(11); o->labelcolor(FL_INACTIVE_COLOR); o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_INSIDE)); - } - { Fl_Box* o = new Fl_Box(390, 110, 0, 20); + } // Fl_Button* o + { Fl_Box* o = new Fl_Box(395, 115, 0, 20); o->labelsize(11); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 145, 300, 20, "Position:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 150, 300, 20, "Position:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Value_Input* o = widget_x_input = new Fl_Value_Input(90, 145, 55, 20, "X:"); - o->tooltip("The X position of the widget."); - o->labelsize(11); - o->maximum(2048); - o->step(1); - o->textsize(11); - o->callback((Fl_Callback*)x_cb); - o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = widget_y_input = new Fl_Value_Input(150, 145, 55, 20, "Y:"); - o->tooltip("The Y position of the widget."); - o->labelsize(11); - o->maximum(2048); - o->step(1); - o->textsize(11); - o->callback((Fl_Callback*)y_cb); - o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = widget_w_input = new Fl_Value_Input(210, 145, 55, 20, "Width:"); - o->tooltip("The width of the widget."); - o->labelsize(11); - o->maximum(2048); - o->step(1); - o->textsize(11); - o->callback((Fl_Callback*)w_cb); - o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = widget_h_input = new Fl_Value_Input(270, 145, 55, 20, "Height:"); - o->tooltip("The height of the widget."); - o->labelsize(11); - o->maximum(2048); - o->step(1); - o->textsize(11); - o->callback((Fl_Callback*)h_cb); - o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Light_Button* o = new Fl_Light_Button(330, 145, 55, 20, "Relative"); + { widget_x_input = new Fl_Value_Input(95, 150, 55, 20, "X:"); + widget_x_input->tooltip("The X position of the widget."); + widget_x_input->labelsize(11); + widget_x_input->maximum(2048); + widget_x_input->step(1); + widget_x_input->textsize(11); + widget_x_input->callback((Fl_Callback*)x_cb); + widget_x_input->align(FL_ALIGN_TOP_LEFT); + } // Fl_Value_Input* widget_x_input + { widget_y_input = new Fl_Value_Input(155, 150, 55, 20, "Y:"); + widget_y_input->tooltip("The Y position of the widget."); + widget_y_input->labelsize(11); + widget_y_input->maximum(2048); + widget_y_input->step(1); + widget_y_input->textsize(11); + widget_y_input->callback((Fl_Callback*)y_cb); + widget_y_input->align(FL_ALIGN_TOP_LEFT); + } // Fl_Value_Input* widget_y_input + { widget_w_input = new Fl_Value_Input(215, 150, 55, 20, "Width:"); + widget_w_input->tooltip("The width of the widget."); + widget_w_input->labelsize(11); + widget_w_input->maximum(2048); + widget_w_input->step(1); + widget_w_input->textsize(11); + widget_w_input->callback((Fl_Callback*)w_cb); + widget_w_input->align(FL_ALIGN_TOP_LEFT); + } // Fl_Value_Input* widget_w_input + { widget_h_input = new Fl_Value_Input(275, 150, 55, 20, "Height:"); + widget_h_input->tooltip("The height of the widget."); + widget_h_input->labelsize(11); + widget_h_input->maximum(2048); + widget_h_input->step(1); + widget_h_input->textsize(11); + widget_h_input->callback((Fl_Callback*)h_cb); + widget_h_input->align(FL_ALIGN_TOP_LEFT); + } // Fl_Value_Input* widget_h_input + { Fl_Light_Button* o = new Fl_Light_Button(335, 150, 55, 20, "Relative"); o->tooltip("If set, widgets inside a widget class of type Fl_Group are repositioned relat\ ive to the origin at construction time"); o->labelsize(11); o->callback((Fl_Callback*)wc_relative_cb); - } - { Fl_Box* o = new Fl_Box(389, 145, 1, 20); + } // Fl_Light_Button* o + { Fl_Box* o = new Fl_Box(394, 150, 1, 20); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 180, 300, 20, "Values:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Values:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Value_Input* o = new Fl_Value_Input(90, 180, 55, 20, "Size:"); + { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Size:"); o->tooltip("The size of the slider."); o->labelsize(11); o->step(0.010101); o->textsize(11); o->callback((Fl_Callback*)slider_size_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = new Fl_Value_Input(150, 180, 55, 20, "Minimum:"); + } // Fl_Value_Input* o + { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20, "Minimum:"); o->tooltip("The minimum value of the widget."); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)min_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = new Fl_Value_Input(210, 180, 55, 20, "Maximum:"); + } // Fl_Value_Input* o + { Fl_Value_Input* o = new Fl_Value_Input(215, 185, 55, 20, "Maximum:"); o->tooltip("The maximum value of the widget."); o->labelsize(11); o->value(1); o->textsize(11); o->callback((Fl_Callback*)max_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = new Fl_Value_Input(270, 180, 55, 20, "Step:"); + } // Fl_Value_Input* o + { Fl_Value_Input* o = new Fl_Value_Input(275, 185, 55, 20, "Step:"); o->tooltip("The resolution of the widget value."); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)step_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = new Fl_Value_Input(330, 180, 55, 20, "Value:"); + } // Fl_Value_Input* o + { Fl_Value_Input* o = new Fl_Value_Input(335, 185, 55, 20, "Value:"); o->tooltip("The current widget value."); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)value_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Box* o = new Fl_Box(390, 180, 0, 20); + } // Fl_Value_Input* o + { Fl_Box* o = new Fl_Box(395, 185, 0, 20); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 180, 300, 20, "Size Range:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Size Range:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); o->hide(); - { Fl_Value_Input* o = new Fl_Value_Input(90, 180, 55, 20, "Minimum Size:"); + { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Minimum Size:"); o->tooltip("The size of the slider."); o->labelsize(11); o->maximum(2048); @@ -313,8 +314,8 @@ ive to the origin at construction time"); o->textsize(11); o->callback((Fl_Callback*)min_w_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = new Fl_Value_Input(150, 180, 55, 20); + } // Fl_Value_Input* o + { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20); o->tooltip("The minimum value of the widget."); o->labelsize(11); o->maximum(2048); @@ -322,12 +323,12 @@ ive to the origin at construction time"); o->textsize(11); o->callback((Fl_Callback*)min_h_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Button* o = new Fl_Button(210, 180, 25, 20, "set"); + } // Fl_Value_Input* o + { Fl_Button* o = new Fl_Button(215, 185, 25, 20, "set"); o->labelsize(11); o->callback((Fl_Callback*)set_min_size_cb); - } - { Fl_Value_Input* o = new Fl_Value_Input(240, 180, 55, 20, "Maximum Size:"); + } // Fl_Button* o + { Fl_Value_Input* o = new Fl_Value_Input(245, 185, 55, 20, "Maximum Size:"); o->tooltip("The maximum value of the widget."); o->labelsize(11); o->maximum(2048); @@ -335,8 +336,8 @@ ive to the origin at construction time"); o->textsize(11); o->callback((Fl_Callback*)max_w_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Value_Input* o = new Fl_Value_Input(300, 180, 55, 20); + } // Fl_Value_Input* o + { Fl_Value_Input* o = new Fl_Value_Input(305, 185, 55, 20); o->tooltip("The resolution of the widget value."); o->labelsize(11); o->maximum(2048); @@ -344,17 +345,17 @@ ive to the origin at construction time"); o->textsize(11); o->callback((Fl_Callback*)max_h_cb); o->align(FL_ALIGN_TOP_LEFT); - } - { Fl_Button* o = new Fl_Button(360, 180, 25, 20, "set"); + } // Fl_Value_Input* o + { Fl_Button* o = new Fl_Button(365, 185, 25, 20, "set"); o->labelsize(11); o->callback((Fl_Callback*)set_max_size_cb); - } - { Fl_Box* o = new Fl_Box(390, 180, 0, 20); + } // Fl_Button* o + { Fl_Box* o = new Fl_Box(395, 185, 0, 20); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); - } - { Shortcut_Button* o = new Shortcut_Button(90, 205, 300, 20, "Shortcut:"); + } // Fl_Group* o + { Shortcut_Button* o = new Shortcut_Button(95, 210, 310, 20, "Shortcut:"); o->tooltip("The shortcut key for the widget."); o->box(FL_DOWN_BOX); o->color(FL_BACKGROUND2_COLOR); @@ -366,103 +367,103 @@ ive to the origin at construction time"); o->callback((Fl_Callback*)shortcut_in_cb); o->align(FL_ALIGN_LEFT); o->when(FL_WHEN_RELEASE); - } - { Fl_Group* o = new Fl_Group(90, 230, 300, 20, "X Class:"); + } // Shortcut_Button* o + { Fl_Group* o = new Fl_Group(95, 235, 300, 20, "X Class:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 230, 95, 20, ":"); + { Fl_Input* o = new Fl_Input(95, 235, 95, 20, ":"); o->tooltip("The X resource class."); o->labelfont(1); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)xclass_cb); Fl_Group::current()->resizable(o); - } - { Fl_Light_Button* o = new Fl_Light_Button(190, 230, 60, 20, "Border"); + } // Fl_Input* o + { Fl_Light_Button* o = new Fl_Light_Button(195, 235, 60, 20, "Border"); o->tooltip("Add a border around the window."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)border_cb); - } - { Fl_Light_Button* o = new Fl_Light_Button(255, 230, 55, 20, "Modal"); + } // Fl_Light_Button* o + { Fl_Light_Button* o = new Fl_Light_Button(260, 235, 55, 20, "Modal"); o->tooltip("Make the window modal."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)modal_cb); - } - { Fl_Light_Button* o = new Fl_Light_Button(315, 230, 75, 20, "Nonmodal"); + } // Fl_Light_Button* o + { Fl_Light_Button* o = new Fl_Light_Button(320, 235, 75, 20, "Nonmodal"); o->tooltip("Make the window non-modal."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)non_modal_cb); o->align(132|FL_ALIGN_INSIDE); - } + } // Fl_Light_Button* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 255, 305, 20, "Attributes:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 260, 305, 20, "Attributes:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Light_Button* o = new Fl_Light_Button(90, 255, 60, 20, "Visible"); + { Fl_Light_Button* o = new Fl_Light_Button(95, 260, 60, 20, "Visible"); o->tooltip("Show the widget."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)visible_cb); - } - { Fl_Light_Button* o = new Fl_Light_Button(155, 255, 60, 20, "Active"); + } // Fl_Light_Button* o + { Fl_Light_Button* o = new Fl_Light_Button(160, 260, 60, 20, "Active"); o->tooltip("Activate the widget."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)active_cb); - } - { Fl_Light_Button* o = new Fl_Light_Button(220, 255, 75, 20, "Resizable"); + } // Fl_Light_Button* o + { Fl_Light_Button* o = new Fl_Light_Button(225, 260, 75, 20, "Resizable"); o->tooltip("Make the widget resizable."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)resizable_cb); o->when(FL_WHEN_CHANGED); - } - { Fl_Light_Button* o = new Fl_Light_Button(300, 255, 70, 20, "Hotspot"); + } // Fl_Light_Button* o + { Fl_Light_Button* o = new Fl_Light_Button(305, 260, 70, 20, "Hotspot"); o->tooltip("Center the window under this widget."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)hotspot_cb); o->when(FL_WHEN_CHANGED); - } - { Fl_Box* o = new Fl_Box(390, 255, 0, 20); + } // Fl_Light_Button* o + { Fl_Box* o = new Fl_Box(395, 260, 0, 20); o->labelsize(11); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); - } - { Fl_Input* o = new Fl_Input(90, 280, 300, 20, "Tooltip:"); + } // Fl_Group* o + { Fl_Input* o = new Fl_Input(95, 285, 310, 20, "Tooltip:"); o->tooltip("The tooltip text for the widget."); o->labelfont(1); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)tooltip_cb); - } - { Fl_Box* o = new Fl_Box(90, 300, 300, 5); + } // Fl_Input* o + { Fl_Box* o = new Fl_Box(95, 305, 300, 5); o->labelsize(11); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); Fl_Group::current()->resizable(o); - } - { Fl_Group* o = new Fl_Group(5, 25, 400, 290, "Style"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "Style"); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->when(FL_WHEN_NEVER); o->hide(); - { Fl_Group* o = new Fl_Group(90, 35, 300, 20, "Label Font:"); + { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label Font:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Choice* o = new Fl_Choice(90, 35, 160, 20); + { Fl_Choice* o = new Fl_Choice(95, 40, 170, 20); o->tooltip("The style of the label text."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); @@ -471,8 +472,8 @@ ive to the origin at construction time"); o->callback((Fl_Callback*)labelfont_cb); Fl_Group::current()->resizable(o); o->menu(fontmenu); - } - { Fl_Value_Input* o = new Fl_Value_Input(250, 35, 50, 20); + } // Fl_Choice* o + { Fl_Value_Input* o = new Fl_Value_Input(264, 40, 50, 20); o->tooltip("The size of the label text."); o->labelsize(11); o->maximum(100); @@ -480,20 +481,20 @@ ive to the origin at construction time"); o->value(14); o->textsize(11); o->callback((Fl_Callback*)labelsize_cb); - } - { Fl_Button* o = new Fl_Button(300, 35, 90, 20, "Label Color"); + } // Fl_Value_Input* o + { Fl_Button* o = new Fl_Button(314, 40, 90, 20, "Label Color"); o->tooltip("The color of the label text."); o->labelsize(11); o->callback((Fl_Callback*)labelcolor_cb); - } + } // Fl_Button* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 60, 300, 20, "Box:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 65, 309, 20, "Box:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Choice* o = new Fl_Choice(90, 60, 210, 20); + { Fl_Choice* o = new Fl_Choice(95, 65, 219, 20); o->tooltip("The \"up\" box of the widget."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); @@ -502,20 +503,20 @@ ive to the origin at construction time"); o->callback((Fl_Callback*)box_cb); Fl_Group::current()->resizable(o); o->menu(boxmenu); - } - { Fl_Button* o = new Fl_Button(300, 60, 90, 20, "Color"); + } // Fl_Choice* o + { Fl_Button* o = new Fl_Button(314, 65, 90, 20, "Color"); o->tooltip("The background color of the widget."); o->labelsize(11); o->callback((Fl_Callback*)color_cb); - } + } // Fl_Button* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 85, 300, 20, "Down Box:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 90, 309, 20, "Down Box:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Choice* o = new Fl_Choice(90, 85, 210, 20); + { Fl_Choice* o = new Fl_Choice(95, 90, 219, 20); o->tooltip("The \"down\" box of the widget."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); @@ -524,20 +525,20 @@ ive to the origin at construction time"); o->callback((Fl_Callback*)down_box_cb); Fl_Group::current()->resizable(o); o->menu(boxmenu); - } - { Fl_Button* o = new Fl_Button(300, 85, 90, 20, "Select Color"); + } // Fl_Choice* o + { Fl_Button* o = new Fl_Button(314, 90, 90, 20, "Select Color"); o->tooltip("The selection color of the widget."); o->labelsize(11); o->callback((Fl_Callback*)color2_cb); - } + } // Fl_Button* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 110, 300, 20, "Text Font:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 115, 309, 20, "Text Font:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Choice* o = new Fl_Choice(90, 110, 160, 20); + { Fl_Choice* o = new Fl_Choice(95, 115, 170, 20); o->tooltip("The value text style."); o->box(FL_DOWN_BOX); o->down_box(FL_BORDER_BOX); @@ -546,8 +547,8 @@ ive to the origin at construction time"); o->callback((Fl_Callback*)textfont_cb); Fl_Group::current()->resizable(o); o->menu(fontmenu); - } - { Fl_Value_Input* o = new Fl_Value_Input(250, 110, 50, 20); + } // Fl_Choice* o + { Fl_Value_Input* o = new Fl_Value_Input(264, 115, 50, 20); o->tooltip("The value text size."); o->labelsize(11); o->maximum(100); @@ -555,31 +556,31 @@ ive to the origin at construction time"); o->value(14); o->textsize(11); o->callback((Fl_Callback*)textsize_cb); - } - { Fl_Button* o = new Fl_Button(300, 110, 90, 20, "Text Color"); + } // Fl_Value_Input* o + { Fl_Button* o = new Fl_Button(314, 115, 90, 20, "Text Color"); o->tooltip("The value text color."); o->labelsize(11); o->callback((Fl_Callback*)textcolor_cb); - } + } // Fl_Button* o o->end(); - } - { Fl_Box* o = new Fl_Box(90, 135, 300, 40); + } // Fl_Group* o + { Fl_Box* o = new Fl_Box(95, 140, 300, 40); o->labelsize(11); Fl_Group::current()->resizable(o); - } + } // Fl_Box* o o->end(); - } - { Fl_Group* o = new Fl_Group(5, 25, 400, 290, "C++"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "C++"); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->when(FL_WHEN_NEVER); o->hide(); - { Fl_Group* o = new Fl_Group(90, 35, 300, 20, "Class:"); + { Fl_Group* o = new Fl_Group(95, 40, 310, 20, "Class:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 35, 160, 20); + { Fl_Input* o = new Fl_Input(95, 40, 172, 20); o->tooltip("The widget subclass."); o->labelfont(1); o->labelsize(11); @@ -587,68 +588,68 @@ ive to the origin at construction time"); o->textsize(11); o->callback((Fl_Callback*)subclass_cb, (void*)(4)); Fl_Group::current()->resizable(o); - } - { Fl_Choice* o = new Fl_Choice(250, 35, 140, 20); + } // Fl_Input* o + { Fl_Choice* o = new Fl_Choice(265, 40, 140, 20); o->tooltip("The widget subtype."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); o->labelsize(11); o->callback((Fl_Callback*)subtype_cb); - } + } // Fl_Choice* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 60, 300, 20, "Name:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 65, 310, 20, "Name:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 60, 240, 20); + { Fl_Input* o = new Fl_Input(95, 65, 250, 20); o->tooltip("The name of the widget."); o->labelfont(1); o->labelsize(11); o->textsize(11); o->callback((Fl_Callback*)name_cb); Fl_Group::current()->resizable(o); - } - { Fl_Light_Button* o = new Fl_Light_Button(330, 60, 60, 20, "public"); + } // Fl_Input* o + { Fl_Light_Button* o = new Fl_Light_Button(345, 65, 60, 20, "public"); o->tooltip("Make the widget publicly accessible."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)name_public_cb); o->when(FL_WHEN_CHANGED); - } + } // Fl_Light_Button* o o->end(); - } - { Fl_Input* o = v_input[0] = new Fl_Input(90, 85, 300, 20, "Extra Code:"); - o->tooltip("Extra initialization code for the widget."); - o->labelfont(1); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)v_input_cb, (void*)(0)); - } - { Fl_Input* o = v_input[1] = new Fl_Input(90, 105, 300, 20); - o->tooltip("Extra initialization code for the widget."); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)v_input_cb, (void*)(1)); - } - { Fl_Input* o = v_input[2] = new Fl_Input(90, 125, 300, 20); - o->tooltip("Extra initialization code for the widget."); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)v_input_cb, (void*)(2)); - } - { Fl_Input* o = v_input[3] = new Fl_Input(90, 145, 300, 20); - o->tooltip("Extra initialization code for the widget."); - o->labelsize(11); - o->textfont(4); - o->textsize(11); - o->callback((Fl_Callback*)v_input_cb, (void*)(3)); - } - { CodeEditor* o = new CodeEditor(90, 170, 300, 90, "Callback:"); + } // Fl_Group* o + { v_input[0] = new Fl_Input(95, 90, 310, 20, "Extra Code:"); + v_input[0]->tooltip("Extra initialization code for the widget."); + v_input[0]->labelfont(1); + v_input[0]->labelsize(11); + v_input[0]->textfont(4); + v_input[0]->textsize(11); + v_input[0]->callback((Fl_Callback*)v_input_cb, (void*)(0)); + } // Fl_Input* v_input[0] + { v_input[1] = new Fl_Input(95, 110, 310, 20); + v_input[1]->tooltip("Extra initialization code for the widget."); + v_input[1]->labelsize(11); + v_input[1]->textfont(4); + v_input[1]->textsize(11); + v_input[1]->callback((Fl_Callback*)v_input_cb, (void*)(1)); + } // Fl_Input* v_input[1] + { v_input[2] = new Fl_Input(95, 130, 310, 20); + v_input[2]->tooltip("Extra initialization code for the widget."); + v_input[2]->labelsize(11); + v_input[2]->textfont(4); + v_input[2]->textsize(11); + v_input[2]->callback((Fl_Callback*)v_input_cb, (void*)(2)); + } // Fl_Input* v_input[2] + { v_input[3] = new Fl_Input(95, 150, 310, 20); + v_input[3]->tooltip("Extra initialization code for the widget."); + v_input[3]->labelsize(11); + v_input[3]->textfont(4); + v_input[3]->textsize(11); + v_input[3]->callback((Fl_Callback*)v_input_cb, (void*)(3)); + } // Fl_Input* v_input[3] + { CodeEditor* o = new CodeEditor(95, 175, 310, 90, "Callback:"); o->tooltip("The callback function or code for the widget. Use the variable name \'o\' to \ access the Widget pointer and \'v\' to access the user value."); o->box(FL_DOWN_BOX); @@ -664,13 +665,13 @@ access the Widget pointer and \'v\' to access the user value."); o->align(FL_ALIGN_LEFT); o->when(FL_WHEN_RELEASE); Fl_Group::current()->resizable(o); - } - { Fl_Group* o = new Fl_Group(90, 265, 300, 20, "User Data:"); + } // CodeEditor* o + { Fl_Group* o = new Fl_Group(95, 270, 310, 20, "User Data:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 265, 140, 20); + { Fl_Input* o = new Fl_Input(95, 270, 158, 20); o->tooltip("The user data to pass into the callback code."); o->labelfont(1); o->labelsize(11); @@ -678,8 +679,8 @@ access the Widget pointer and \'v\' to access the user value."); o->textsize(11); o->callback((Fl_Callback*)user_data_cb); Fl_Group::current()->resizable(o); - } - { Fl_Choice* o = new Fl_Choice(285, 265, 105, 20, "When:"); + } // Fl_Input* o + { Fl_Choice* o = new Fl_Choice(300, 270, 105, 20, "When:"); o->tooltip("When to call the callback function."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); @@ -688,15 +689,15 @@ access the Widget pointer and \'v\' to access the user value."); o->callback((Fl_Callback*)when_cb); o->when(FL_WHEN_CHANGED); o->menu(whenmenu); - } + } // Fl_Choice* o o->end(); - } - { Fl_Group* o = new Fl_Group(90, 290, 300, 20, "Type:"); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(95, 295, 310, 20, "Type:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(FL_ALIGN_LEFT); - { Fl_Input* o = new Fl_Input(90, 290, 140, 20); + { Fl_Input* o = new Fl_Input(95, 295, 158, 20); o->tooltip("The type of the user data."); o->labelfont(1); o->labelsize(11); @@ -704,58 +705,58 @@ access the Widget pointer and \'v\' to access the user value."); o->textsize(11); o->callback((Fl_Callback*)user_data_type_cb); Fl_Group::current()->resizable(o); - } - { Fl_Light_Button* o = new Fl_Light_Button(285, 290, 105, 20, "No Change"); + } // Fl_Input* o + { Fl_Light_Button* o = new Fl_Light_Button(300, 295, 105, 20, "No Change"); o->tooltip("Call the callback even if the value has not changed."); o->selection_color((Fl_Color)1); o->labelsize(11); o->callback((Fl_Callback*)when_button_cb); - } + } // Fl_Light_Button* o o->end(); - } + } // Fl_Group* o o->end(); - } + } // Fl_Group* o o->end(); Fl_Group::current()->resizable(o); - } - { Fl_Group* o = new Fl_Group(8, 321, 391, 24); + } // Fl_Tabs* o + { Fl_Group* o = new Fl_Group(9, 330, 400, 20); o->labelsize(11); - { Fl_Box* o = new Fl_Box(8, 325, 20, 20); + { Fl_Box* o = new Fl_Box(9, 330, 20, 20); o->labelsize(11); Fl_Group::current()->resizable(o); - } - { Fl_Button* o = new Fl_Button(231, 325, 99, 20, "Hide &Overlays"); + } // Fl_Box* o + { Fl_Button* o = new Fl_Button(240, 330, 99, 20, "Hide &Overlays"); o->tooltip("Hide the widget overlay box."); o->labelsize(11); o->labelcolor((Fl_Color)1); o->callback((Fl_Callback*)overlay_cb); - } - { Fl_Button* o = new Fl_Button(80, 325, 80, 20, "Revert"); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(66, 330, 80, 20, "Revert"); o->labelsize(11); o->callback((Fl_Callback*)revert_cb); o->hide(); - } - { Fl_Return_Button* o = new Fl_Return_Button(335, 325, 64, 20, "Close"); + } // Fl_Button* o + { Fl_Return_Button* o = new Fl_Return_Button(344, 330, 64, 20, "Close"); o->labelsize(11); o->callback((Fl_Callback*)ok_cb); - } - { Fl_Button* o = new Fl_Button(329, 325, 70, 20, "Cancel"); + } // Fl_Return_Button* o + { Fl_Button* o = new Fl_Button(339, 330, 70, 20, "Cancel"); o->labelsize(11); o->callback((Fl_Callback*)cancel_cb); o->hide(); - } - { Fl_Button* o = wLiveMode = new Fl_Button(142, 325, 84, 20, "Live &Mode"); - o->tooltip("Create a live duplicate of the selected widgets to test resizing and menu beh\ + } // Fl_Button* o + { wLiveMode = new Fl_Button(151, 330, 84, 20, "Live &Mode"); + wLiveMode->tooltip("Create a live duplicate of the selected widgets to test resizing and menu beh\ avior."); - o->type(1); - o->labelsize(11); - o->callback((Fl_Callback*)live_mode_cb); - } + wLiveMode->type(1); + wLiveMode->labelsize(11); + wLiveMode->callback((Fl_Callback*)live_mode_cb); + } // Fl_Button* wLiveMode o->end(); - } + } // Fl_Group* o o->size_range(o->w(), o->h()); o->end(); - } + } // Fl_Double_Window* o return w; } diff --git a/fluid/widget_panel.fl b/fluid/widget_panel.fl index 534e6f841..f76bf2673 100644 --- a/fluid/widget_panel.fl +++ b/fluid/widget_panel.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0107 +version 1.0108 header_name {.h} code_name {.cxx} comment {// @@ -33,31 +33,31 @@ comment {// Function {make_widget_panel()} {open } { - Fl_Window {} {open - xywh {353 184 410 355} type Double labelsize 11 resizable hotspot + Fl_Window {} {open selected + xywh {711 172 420 360} type Double labelsize 11 align 80 resizable hotspot code0 {o->size_range(o->w(), o->h());} visible } { Fl_Tabs {} { callback {propagate_load((Fl_Group *)o,v);} open - xywh {5 5 400 310} selection_color 4 labelsize 11 labelcolor 7 when 0 resizable + xywh {10 10 400 310} selection_color 12 labelsize 11 labelcolor 7 when 0 resizable } { Fl_Group {} { label GUI callback propagate_load - xywh {5 25 400 290} labelsize 11 when 0 resizable + xywh {10 30 400 290} labelsize 11 when 0 resizable } { Fl_Group {} { label {Label:} callback propagate_load - xywh {90 35 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 40 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback label_cb - tooltip {The label text for the widget.} xywh {90 35 180 20} labelfont 1 labelsize 11 when 1 textsize 11 resizable + tooltip {The label text for the widget.} xywh {95 40 190 20} labelfont 1 labelsize 11 when 1 textsize 11 resizable } Fl_Choice {} { callback labeltype_cb open - tooltip {The label style for the widget.} xywh {270 35 120 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 + tooltip {The label style for the widget.} xywh {284 40 120 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 code0 {extern Fl_Menu_Item labeltypemenu[];} code1 {o->menu(labeltypemenu);} } {} @@ -65,427 +65,427 @@ Function {make_widget_panel()} {open Fl_Group {} { label {Image:} callback propagate_load - xywh {90 60 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 65 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback image_cb - tooltip {The active image for the widget.} xywh {90 60 230 20} labelfont 1 labelsize 11 textsize 11 resizable + tooltip {The active image for the widget.} xywh {95 65 240 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Button {} { label {Browse...} callback image_browse_cb - tooltip {Click to choose the active image.} xywh {320 60 70 20} labelsize 11 + tooltip {Click to choose the active image.} xywh {334 65 70 20} labelsize 11 } } Fl_Group {} { label {Inactive:} callback propagate_load - xywh {90 85 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 90 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback inactive_cb - tooltip {The inactive image for the widget.} xywh {90 85 230 20} labelfont 1 labelsize 11 textsize 11 resizable + tooltip {The inactive image for the widget.} xywh {95 90 240 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Button {} { label {Browse...} callback inactive_browse_cb - tooltip {Click to choose the inactive image.} xywh {320 85 70 20} labelsize 11 + tooltip {Click to choose the inactive image.} xywh {334 90 70 20} labelsize 11 } } Fl_Group {} { label {Alignment:} callback propagate_load - xywh {90 110 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 115 300 20} labelfont 1 labelsize 11 align 4 } { Fl_Button {} { label Clip user_data FL_ALIGN_CLIP callback align_cb - tooltip {Clip the label to the inside of the widget.} xywh {90 110 45 20} type Toggle selection_color 8 labelsize 11 align 16 + tooltip {Clip the label to the inside of the widget.} xywh {95 115 45 20} type Toggle selection_color 8 labelsize 11 align 16 } Fl_Button {} { label Wrap user_data FL_ALIGN_WRAP - callback align_cb selected - tooltip {Wrap the label text.} xywh {140 110 50 20} type Toggle selection_color 8 labelsize 11 + callback align_cb + tooltip {Wrap the label text.} xywh {145 115 50 20} type Toggle selection_color 8 labelsize 11 } Fl_Button {} { label {Text/Image} user_data FL_ALIGN_TEXT_OVER_IMAGE callback align_cb - tooltip {Show the label text over the image.} xywh {195 110 65 20} type Toggle selection_color 8 labelsize 11 + tooltip {Show the label text over the image.} xywh {200 115 65 20} type Toggle selection_color 8 labelsize 11 } Fl_Button {} { label {@-1<-} user_data FL_ALIGN_LEFT callback align_cb - tooltip {Left-align the label.} xywh {265 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 + tooltip {Left-align the label.} xywh {270 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Button {} { label {@-1->} user_data FL_ALIGN_RIGHT callback align_cb - tooltip {Right-align the label.} xywh {290 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 + tooltip {Right-align the label.} xywh {295 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Button {} { label {@-18} user_data FL_ALIGN_TOP callback align_cb - tooltip {Top-align the label.} xywh {315 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 + tooltip {Top-align the label.} xywh {320 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Button {} { label {@-12} user_data FL_ALIGN_BOTTOM callback align_cb - tooltip {Bottom-align the label.} xywh {340 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 + tooltip {Bottom-align the label.} xywh {345 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Button {} { label {@-3square} user_data FL_ALIGN_INSIDE callback align_cb - tooltip {Show the label inside the widget.} xywh {365 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 + tooltip {Show the label inside the widget.} xywh {370 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Box {} { - xywh {390 110 0 20} labelsize 11 resizable + xywh {395 115 0 20} labelsize 11 resizable } } Fl_Group {} { label {Position:} callback propagate_load open - xywh {90 145 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 150 300 20} labelfont 1 labelsize 11 align 4 } { Fl_Value_Input widget_x_input { label {X:} callback x_cb - tooltip {The X position of the widget.} xywh {90 145 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The X position of the widget.} xywh {95 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input widget_y_input { label {Y:} callback y_cb - tooltip {The Y position of the widget.} xywh {150 145 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The Y position of the widget.} xywh {155 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input widget_w_input { label {Width:} callback w_cb - tooltip {The width of the widget.} xywh {210 145 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The width of the widget.} xywh {215 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input widget_h_input { label {Height:} callback h_cb - tooltip {The height of the widget.} xywh {270 145 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The height of the widget.} xywh {275 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Light_Button {} { label Relative callback wc_relative_cb - tooltip {If set, widgets inside a widget class of type Fl_Group are repositioned relative to the origin at construction time} xywh {330 145 55 20} labelsize 11 + tooltip {If set, widgets inside a widget class of type Fl_Group are repositioned relative to the origin at construction time} xywh {335 150 55 20} labelsize 11 } Fl_Box {} { - xywh {389 145 1 20} resizable + xywh {394 150 1 20} resizable } } Fl_Group {} { label {Values:} callback propagate_load - xywh {90 180 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 } { Fl_Value_Input {} { label {Size:} callback slider_size_cb - tooltip {The size of the slider.} xywh {90 180 55 20} labelsize 11 align 5 step 0.010101 textsize 11 + tooltip {The size of the slider.} xywh {95 185 55 20} labelsize 11 align 5 step 0.010101 textsize 11 } Fl_Value_Input {} { label {Minimum:} callback min_cb - tooltip {The minimum value of the widget.} xywh {150 180 55 20} labelsize 11 align 5 textsize 11 + tooltip {The minimum value of the widget.} xywh {155 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Value_Input {} { label {Maximum:} callback max_cb - tooltip {The maximum value of the widget.} xywh {210 180 55 20} labelsize 11 align 5 value 1 textsize 11 + tooltip {The maximum value of the widget.} xywh {215 185 55 20} labelsize 11 align 5 value 1 textsize 11 } Fl_Value_Input {} { label {Step:} callback step_cb - tooltip {The resolution of the widget value.} xywh {270 180 55 20} labelsize 11 align 5 textsize 11 + tooltip {The resolution of the widget value.} xywh {275 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Value_Input {} { label {Value:} callback value_cb - tooltip {The current widget value.} xywh {330 180 55 20} labelsize 11 align 5 textsize 11 + tooltip {The current widget value.} xywh {335 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Box {} { - xywh {390 180 0 20} resizable + xywh {395 185 0 20} resizable } } Fl_Group {} { label {Size Range:} callback propagate_load - xywh {90 180 300 20} labelfont 1 labelsize 11 align 4 hide + xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 hide } { Fl_Value_Input {} { label {Minimum Size:} callback min_w_cb - tooltip {The size of the slider.} xywh {90 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The size of the slider.} xywh {95 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input {} { callback min_h_cb - tooltip {The minimum value of the widget.} xywh {150 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The minimum value of the widget.} xywh {155 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Button {} { label set callback set_min_size_cb - xywh {210 180 25 20} labelsize 11 + xywh {215 185 25 20} labelsize 11 } Fl_Value_Input {} { label {Maximum Size:} callback max_w_cb - tooltip {The maximum value of the widget.} xywh {240 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The maximum value of the widget.} xywh {245 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input {} { callback max_h_cb - tooltip {The resolution of the widget value.} xywh {300 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 + tooltip {The resolution of the widget value.} xywh {305 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Button {} { label set callback set_max_size_cb - xywh {360 180 25 20} labelsize 11 + xywh {365 185 25 20} labelsize 11 } Fl_Box {} { - xywh {390 180 0 20} resizable + xywh {395 185 0 20} resizable } } Fl_Button {} { label {Shortcut:} callback shortcut_in_cb - tooltip {The shortcut key for the widget.} xywh {90 205 300 20} box DOWN_BOX color 7 selection_color 7 labelfont 1 labelsize 11 align 4 + tooltip {The shortcut key for the widget.} xywh {95 210 310 20} box DOWN_BOX color 7 selection_color 7 labelfont 1 labelsize 11 align 4 code0 {\#include "Shortcut_Button.h"} class Shortcut_Button } Fl_Group {} { label {X Class:} callback propagate_load - xywh {90 230 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 235 300 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { label {:} callback xclass_cb - tooltip {The X resource class.} xywh {90 230 95 20} labelfont 1 labelsize 11 textsize 11 resizable + tooltip {The X resource class.} xywh {95 235 95 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Light_Button {} { label Border callback border_cb - tooltip {Add a border around the window.} xywh {190 230 60 20} selection_color 1 labelsize 11 + tooltip {Add a border around the window.} xywh {195 235 60 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Modal callback modal_cb - tooltip {Make the window modal.} xywh {255 230 55 20} selection_color 1 labelsize 11 + tooltip {Make the window modal.} xywh {260 235 55 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Nonmodal callback non_modal_cb - tooltip {Make the window non-modal.} xywh {315 230 75 20} selection_color 1 labelsize 11 align 148 + tooltip {Make the window non-modal.} xywh {320 235 75 20} selection_color 1 labelsize 11 align 148 } } Fl_Group {} { label {Attributes:} callback propagate_load - xywh {90 255 305 20} labelfont 1 labelsize 11 align 4 + xywh {95 260 305 20} labelfont 1 labelsize 11 align 4 } { Fl_Light_Button {} { label Visible callback visible_cb - tooltip {Show the widget.} xywh {90 255 60 20} selection_color 1 labelsize 11 + tooltip {Show the widget.} xywh {95 260 60 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Active callback active_cb - tooltip {Activate the widget.} xywh {155 255 60 20} selection_color 1 labelsize 11 + tooltip {Activate the widget.} xywh {160 260 60 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Resizable callback resizable_cb - tooltip {Make the widget resizable.} xywh {220 255 75 20} selection_color 1 labelsize 11 when 1 + tooltip {Make the widget resizable.} xywh {225 260 75 20} selection_color 1 labelsize 11 when 1 } Fl_Light_Button {} { label Hotspot callback hotspot_cb - tooltip {Center the window under this widget.} xywh {300 255 70 20} selection_color 1 labelsize 11 when 1 + tooltip {Center the window under this widget.} xywh {305 260 70 20} selection_color 1 labelsize 11 when 1 } Fl_Box {} { - xywh {390 255 0 20} labelsize 11 resizable + xywh {395 260 0 20} labelsize 11 resizable } } Fl_Input {} { label {Tooltip:} callback tooltip_cb - tooltip {The tooltip text for the widget.} xywh {90 280 300 20} labelfont 1 labelsize 11 textsize 11 + tooltip {The tooltip text for the widget.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize 11 } Fl_Box {} { - xywh {90 300 300 5} labelsize 11 resizable + xywh {95 305 300 5} labelsize 11 resizable } } Fl_Group {} { label Style callback propagate_load - xywh {5 25 400 290} labelsize 11 when 0 hide + xywh {10 30 400 290} labelsize 11 when 0 hide } { Fl_Group {} { label {Label Font:} callback propagate_load open - xywh {90 35 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 40 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback labelfont_cb open - tooltip {The style of the label text.} xywh {90 35 160 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable + tooltip {The style of the label text.} xywh {95 40 170 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable code0 {extern Fl_Menu_Item fontmenu[];} code1 {o->menu(fontmenu);} } {} Fl_Value_Input {} { callback labelsize_cb - tooltip {The size of the label text.} xywh {250 35 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11 + tooltip {The size of the label text.} xywh {264 40 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11 } Fl_Button {} { label {Label Color} callback labelcolor_cb - tooltip {The color of the label text.} xywh {300 35 90 20} labelsize 11 + tooltip {The color of the label text.} xywh {314 40 90 20} labelsize 11 } } Fl_Group {} { label {Box:} callback propagate_load open - xywh {90 60 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 65 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback box_cb open - tooltip {The "up" box of the widget.} xywh {90 60 210 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable + tooltip {The "up" box of the widget.} xywh {95 65 219 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable code0 {extern Fl_Menu_Item boxmenu[];} code1 {o->menu(boxmenu);} } {} Fl_Button {} { label Color callback color_cb - tooltip {The background color of the widget.} xywh {300 60 90 20} labelsize 11 + tooltip {The background color of the widget.} xywh {314 65 90 20} labelsize 11 } } Fl_Group {} { label {Down Box:} callback propagate_load open - xywh {90 85 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 90 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback down_box_cb open - tooltip {The "down" box of the widget.} xywh {90 85 210 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable + tooltip {The "down" box of the widget.} xywh {95 90 219 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable code0 {extern Fl_Menu_Item boxmenu[];} code1 {o->menu(boxmenu);} } {} Fl_Button {} { label {Select Color} callback color2_cb - tooltip {The selection color of the widget.} xywh {300 85 90 20} labelsize 11 + tooltip {The selection color of the widget.} xywh {314 90 90 20} labelsize 11 } } Fl_Group {} { label {Text Font:} callback propagate_load open - xywh {90 110 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 115 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback textfont_cb open - tooltip {The value text style.} xywh {90 110 160 20} box DOWN_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable + tooltip {The value text style.} xywh {95 115 170 20} box DOWN_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable code0 {extern Fl_Menu_Item fontmenu[];} code1 {o->menu(fontmenu);} } {} Fl_Value_Input {} { callback textsize_cb - tooltip {The value text size.} xywh {250 110 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11 + tooltip {The value text size.} xywh {264 115 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11 } Fl_Button {} { label {Text Color} callback textcolor_cb - tooltip {The value text color.} xywh {300 110 90 20} labelsize 11 + tooltip {The value text color.} xywh {314 115 90 20} labelsize 11 } } Fl_Box {} { - xywh {90 135 300 40} labelsize 11 resizable + xywh {95 140 300 40} labelsize 11 resizable } } Fl_Group {} { label {C++} callback propagate_load - xywh {5 25 400 290} labelsize 11 when 0 hide + xywh {10 30 400 290} labelsize 11 when 0 hide } { Fl_Group {} { label {Class:} callback propagate_load - xywh {90 35 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 40 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { user_data 4 callback subclass_cb - tooltip {The widget subclass.} xywh {90 35 160 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable + tooltip {The widget subclass.} xywh {95 40 172 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable } Fl_Choice {} { callback subtype_cb open - tooltip {The widget subtype.} xywh {250 35 140 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11 + tooltip {The widget subtype.} xywh {265 40 140 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11 } {} } Fl_Group {} { label {Name:} callback propagate_load - xywh {90 60 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 65 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback name_cb - tooltip {The name of the widget.} xywh {90 60 240 20} labelfont 1 labelsize 11 textsize 11 resizable + tooltip {The name of the widget.} xywh {95 65 250 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Light_Button {} { label public callback name_public_cb - tooltip {Make the widget publicly accessible.} xywh {330 60 60 20} selection_color 1 labelsize 11 when 1 + tooltip {Make the widget publicly accessible.} xywh {345 65 60 20} selection_color 1 labelsize 11 when 1 } } Fl_Input {v_input[0]} { label {Extra Code:} user_data 0 callback v_input_cb - tooltip {Extra initialization code for the widget.} xywh {90 85 300 20} labelfont 1 labelsize 11 textfont 4 textsize 11 + tooltip {Extra initialization code for the widget.} xywh {95 90 310 20} labelfont 1 labelsize 11 textfont 4 textsize 11 } Fl_Input {v_input[1]} { user_data 1 callback v_input_cb - tooltip {Extra initialization code for the widget.} xywh {90 105 300 20} labelsize 11 textfont 4 textsize 11 + tooltip {Extra initialization code for the widget.} xywh {95 110 310 20} labelsize 11 textfont 4 textsize 11 } Fl_Input {v_input[2]} { user_data 2 callback v_input_cb - tooltip {Extra initialization code for the widget.} xywh {90 125 300 20} labelsize 11 textfont 4 textsize 11 + tooltip {Extra initialization code for the widget.} xywh {95 130 310 20} labelsize 11 textfont 4 textsize 11 } Fl_Input {v_input[3]} { user_data 3 callback v_input_cb - tooltip {Extra initialization code for the widget.} xywh {90 145 300 20} labelsize 11 textfont 4 textsize 11 + tooltip {Extra initialization code for the widget.} xywh {95 150 310 20} labelsize 11 textfont 4 textsize 11 } Fl_Text_Editor {} { label {Callback:} callback callback_cb - tooltip {The callback function or code for the widget. Use the variable name 'o' to access the Widget pointer and 'v' to access the user value.} xywh {90 170 300 90} box DOWN_BOX labelfont 1 labelsize 11 align 4 textfont 4 textsize 11 resizable + tooltip {The callback function or code for the widget. Use the variable name 'o' to access the Widget pointer and 'v' to access the user value.} xywh {95 175 310 90} box DOWN_BOX labelfont 1 labelsize 11 align 4 textfont 4 textsize 11 resizable code0 {\#include "CodeEditor.h"} class CodeEditor } Fl_Group {} { label {User Data:} callback propagate_load - xywh {90 265 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 270 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback user_data_cb - tooltip {The user data to pass into the callback code.} xywh {90 265 140 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable + tooltip {The user data to pass into the callback code.} xywh {95 270 158 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable } Fl_Choice {} { label {When:} callback when_cb open - tooltip {When to call the callback function.} xywh {285 265 105 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 when 1 + tooltip {When to call the callback function.} xywh {300 270 105 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 when 1 code0 {extern Fl_Menu_Item whenmenu[];} code1 {o->menu(whenmenu);} } {} @@ -493,50 +493,50 @@ Function {make_widget_panel()} {open Fl_Group {} { label {Type:} callback propagate_load - xywh {90 290 300 20} labelfont 1 labelsize 11 align 4 + xywh {95 295 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback user_data_type_cb - tooltip {The type of the user data.} xywh {90 290 140 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable + tooltip {The type of the user data.} xywh {95 295 158 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable } Fl_Light_Button {} { label {No Change} callback when_button_cb - tooltip {Call the callback even if the value has not changed.} xywh {285 290 105 20} selection_color 1 labelsize 11 + tooltip {Call the callback even if the value has not changed.} xywh {300 295 105 20} selection_color 1 labelsize 11 } } } } - Fl_Group {} { - xywh {8 321 391 24} labelsize 11 + Fl_Group {} {open + xywh {9 330 400 20} labelsize 11 } { Fl_Box {} { - xywh {8 325 20 20} labelsize 11 resizable + xywh {9 330 20 20} labelsize 11 resizable } Fl_Button {} { label {Hide &Overlays} callback overlay_cb - tooltip {Hide the widget overlay box.} xywh {231 325 99 20} labelsize 11 labelcolor 1 + tooltip {Hide the widget overlay box.} xywh {240 330 99 20} labelsize 11 labelcolor 1 } Fl_Button {} { label Revert callback revert_cb - xywh {80 325 80 20} labelsize 11 hide + xywh {66 330 80 20} labelsize 11 hide } Fl_Return_Button {} { label Close callback ok_cb - xywh {335 325 64 20} labelsize 11 + xywh {344 330 64 20} labelsize 11 } Fl_Button {} { label Cancel callback cancel_cb - xywh {329 325 70 20} labelsize 11 hide + xywh {339 330 70 20} labelsize 11 hide } Fl_Button wLiveMode { label {Live &Mode} callback live_mode_cb - tooltip {Create a live duplicate of the selected widgets to test resizing and menu behavior.} xywh {142 325 84 20} type Toggle labelsize 11 + tooltip {Create a live duplicate of the selected widgets to test resizing and menu behavior.} xywh {151 330 84 20} type Toggle labelsize 11 } } } diff --git a/fluid/widget_panel.h b/fluid/widget_panel.h index bdb7468c2..e4e0c5aaa 100644 --- a/fluid/widget_panel.h +++ b/fluid/widget_panel.h @@ -25,7 +25,7 @@ // http://www.fltk.org/str.php // -// generated by Fast Light User Interface Designer (fluid) version 1.0107 +// generated by Fast Light User Interface Designer (fluid) version 1.0108 #ifndef widget_panel_h #define widget_panel_h diff --git a/src/Fl_Button.cxx b/src/Fl_Button.cxx index 8a4536de0..7ba692162 100644 --- a/src/Fl_Button.cxx +++ b/src/Fl_Button.cxx @@ -3,7 +3,7 @@ // // Button widget for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -60,9 +60,13 @@ void Fl_Button::setonly() { // set this radio button on, turn others off void Fl_Button::draw() { if (type() == FL_HIDDEN_BUTTON) return; Fl_Color col = value() ? selection_color() : color(); -//if (col == FL_GRAY && Fl::belowmouse()==this) col = FL_LIGHT1; draw_box(value() ? (down_box()?down_box():fl_down(box())) : box(), col); - draw_label(); + if (labeltype() == FL_NORMAL_LABEL) { + Fl_Color c = labelcolor(); + labelcolor(fl_contrast(c, col)); + draw_label(); + labelcolor(c); + } else draw_label(); if (Fl::focus() == this) draw_focus(); } diff --git a/src/Fl_Choice.cxx b/src/Fl_Choice.cxx index 6361e03a4..338390a15 100644 --- a/src/Fl_Choice.cxx +++ b/src/Fl_Choice.cxx @@ -3,7 +3,7 @@ // // Choice widget for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -51,8 +51,8 @@ void Fl_Choice::draw() { fl_polygon(x1, y1 + 3, x1 + w1, y1 + w1 + 3, x1 + 2 * w1, y1 + 3); fl_polygon(x1, y1 + 1, x1 + w1, y1 - w1 + 1, x1 + 2 * w1, y1 + 1); } else { - draw_box(FL_DOWN_BOX, color()); - draw_box(FL_UP_BOX,X,Y,W,H,FL_GRAY); + draw_box(FL_DOWN_BOX, fl_lighter(color())); + draw_box(FL_UP_BOX,X,Y,W,H,color()); fl_color(active_r() ? labelcolor() : fl_inactive(labelcolor())); fl_polygon(x1, y1, x1 + w1, y1 + w1, x1 + 2 * w1, y1); @@ -103,7 +103,6 @@ Fl_Choice::Fl_Choice(int X, int Y, int W, int H, const char *l) textfont(FL_HELVETICA); box(FL_FLAT_BOX); down_box(FL_BORDER_BOX); - color(FL_BACKGROUND2_COLOR); } int Fl_Choice::value(const Fl_Menu_Item *v) { diff --git a/src/Fl_Scroll.cxx b/src/Fl_Scroll.cxx index 09bf543bf..0053385cc 100644 --- a/src/Fl_Scroll.cxx +++ b/src/Fl_Scroll.cxx @@ -3,7 +3,7 @@ // // Scroll widget for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public diff --git a/src/Fl_Scrollbar.cxx b/src/Fl_Scrollbar.cxx index 66547b469..4ee2dc786 100644 --- a/src/Fl_Scrollbar.cxx +++ b/src/Fl_Scrollbar.cxx @@ -3,7 +3,7 @@ // // Scroll bar widget for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -29,6 +29,7 @@ #include <FL/Fl_Scrollbar.H> #include <FL/fl_draw.H> #include <math.h> +#include "flstring.h" #define INITIALREPEAT .5 #define REPEAT .05 @@ -215,9 +216,15 @@ void Fl_Scrollbar::draw() { int w1 = (H-4)/3; if (w1 < 1) w1 = 1; int x1 = X+(H-w1-1)/2; int yy1 = Y+(H-2*w1-1)/2; - fl_polygon(x1, yy1+w1, x1+w1, yy1+2*w1, x1+w1, yy1); - x1 += (W-H); - fl_polygon(x1, yy1, x1, yy1+2*w1, x1+w1, yy1+w1); + if (Fl::scheme_ && !strcmp(Fl::scheme_, "gtk+")) { + fl_polygon(x1, yy1+w1, x1+w1, yy1+2*w1, x1+w1-1, yy1+w1, x1+w1, yy1); + x1 += (W-H); + fl_polygon(x1, yy1, x1+1, yy1+w1, x1, yy1+2*w1, x1+w1, yy1+w1); + } else { + fl_polygon(x1, yy1+w1, x1+w1, yy1+2*w1, x1+w1, yy1); + x1 += (W-H); + fl_polygon(x1, yy1, x1, yy1+2*w1, x1+w1, yy1+w1); + } } } else { // vertical if (H < 3*W) {Fl_Slider::draw(X,Y,W,H); return;} @@ -234,9 +241,16 @@ void Fl_Scrollbar::draw() { int w1 = (W-4)/3; if (w1 < 1) w1 = 1; int x1 = X+(W-2*w1-1)/2; int yy1 = Y+(W-w1-1)/2; - fl_polygon(x1, yy1+w1, x1+2*w1, yy1+w1, x1+w1, yy1); - yy1 += H-W; - fl_polygon(x1, yy1, x1+w1, yy1+w1, x1+2*w1, yy1); + if (Fl::scheme_ && !strcmp(Fl::scheme_, "gtk+")) { + fl_polygon(x1, yy1+w1, x1+w1, yy1+w1-1, x1+2*w1, yy1+w1, x1+w1, yy1); + yy1 += H-W; + fl_polygon(x1, yy1, x1+w1, yy1+1, x1+w1, yy1+w1); + fl_polygon(x1+w1, yy1+1, x1+2*w1, yy1, x1+w1, yy1+w1); + } else { + fl_polygon(x1, yy1+w1, x1+2*w1, yy1+w1, x1+w1, yy1); + yy1 += H-W; + fl_polygon(x1, yy1, x1+w1, yy1+w1, x1+2*w1, yy1); + } } } } diff --git a/src/Fl_Slider.cxx b/src/Fl_Slider.cxx index 874ffa102..be39e9ce8 100644 --- a/src/Fl_Slider.cxx +++ b/src/Fl_Slider.cxx @@ -3,7 +3,7 @@ // // Slider widget for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -29,6 +29,7 @@ #include <FL/Fl_Slider.H> #include <FL/fl_draw.H> #include <math.h> +#include "flstring.h" void Fl_Slider::_Fl_Slider() { slider_size_ = 0; @@ -148,6 +149,45 @@ void Fl_Slider::draw(int X, int Y, int W, int H) { draw_box(FL_THIN_DOWN_BOX, xsl+d, ysl+2, wsl-2*d, hsl-4,selection_color()); } else { if (wsl>0 && hsl>0) draw_box(box1, xsl, ysl, wsl, hsl, selection_color()); + + if (type()!=FL_HOR_FILL_SLIDER && type() != FL_VERT_FILL_SLIDER && + Fl::scheme_ && !strcmp(Fl::scheme_, "gtk+")) { + if (W>H && wsl>(hsl+8)) { + // Draw horizontal grippers + int yy, hh; + hh = hsl-8; + xx = xsl+(wsl-hsl-4)/2; + yy = ysl+3; + + fl_color(fl_darker(selection_color())); + fl_line(xx, yy+hh, xx+hh, yy); + fl_line(xx+6, yy+hh, xx+hh+6, yy); + fl_line(xx+12, yy+hh, xx+hh+12, yy); + + xx++; + fl_color(fl_lighter(selection_color())); + fl_line(xx, yy+hh, xx+hh, yy); + fl_line(xx+6, yy+hh, xx+hh+6, yy); + fl_line(xx+12, yy+hh, xx+hh+12, yy); + } else if (H>W && hsl>(wsl+8)) { + // Draw vertical grippers + int yy; + xx = xsl+4; + ww = wsl-8; + yy = ysl+(hsl-wsl-4)/2; + + fl_color(fl_darker(selection_color())); + fl_line(xx, yy+ww, xx+ww, yy); + fl_line(xx, yy+ww+6, xx+ww, yy+6); + fl_line(xx, yy+ww+12, xx+ww, yy+12); + + yy++; + fl_color(fl_lighter(selection_color())); + fl_line(xx, yy+ww, xx+ww, yy); + fl_line(xx, yy+ww+6, xx+ww, yy+6); + fl_line(xx, yy+ww+12, xx+ww, yy+12); + } + } } draw_label(xsl, ysl, wsl, hsl); diff --git a/src/Fl_get_system_colors.cxx b/src/Fl_get_system_colors.cxx index 0b630703c..bce9e2cbe 100644 --- a/src/Fl_get_system_colors.cxx +++ b/src/Fl_get_system_colors.cxx @@ -3,7 +3,7 @@ // // System color support for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -322,6 +322,24 @@ int Fl::reload_scheme() { set_boxtype(FL_THIN_DOWN_BOX, FL_PLASTIC_THIN_DOWN_BOX); set_boxtype(_FL_ROUND_UP_BOX, FL_PLASTIC_ROUND_UP_BOX); set_boxtype(_FL_ROUND_DOWN_BOX, FL_PLASTIC_ROUND_DOWN_BOX); + } else if (scheme_ && !strcasecmp(scheme_, "gtk+")) { + // Use a GTK+ inspired look-n-feel... + if (scheme_bg_) { + delete scheme_bg_; + scheme_bg_ = (Fl_Image *)0; + } + + set_boxtype(FL_UP_FRAME, FL_GTK_UP_FRAME); + set_boxtype(FL_DOWN_FRAME, FL_GTK_DOWN_FRAME); + set_boxtype(FL_THIN_UP_FRAME, FL_GTK_UP_FRAME); + set_boxtype(FL_THIN_DOWN_FRAME, FL_GTK_DOWN_FRAME); + + set_boxtype(FL_UP_BOX, FL_GTK_UP_BOX); + set_boxtype(FL_DOWN_BOX, FL_GTK_DOWN_BOX); + set_boxtype(FL_THIN_UP_BOX, FL_GTK_UP_BOX); + set_boxtype(FL_THIN_DOWN_BOX, FL_GTK_DOWN_BOX); + set_boxtype(_FL_ROUND_UP_BOX, FL_GTK_ROUND_UP_BOX); + set_boxtype(_FL_ROUND_DOWN_BOX, FL_GTK_ROUND_DOWN_BOX); } else { // Use the standard FLTK look-n-feel... if (scheme_bg_) { diff --git a/src/Makefile b/src/Makefile index 0df493d80..4397eb5f5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,7 +3,7 @@ # # Library makefile for the Fast Light Tool Kit (FLTK). # -# Copyright 1998-2005 by Bill Spitzak and others. +# Copyright 1998-2006 by Bill Spitzak and others. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public @@ -133,6 +133,7 @@ CPPFILES = \ fl_engraved_label.cxx \ fl_file_dir.cxx \ fl_font.cxx \ + fl_gtk.cxx \ fl_labeltype.cxx \ fl_line_style.cxx \ fl_oval_box.cxx \ diff --git a/src/fl_boxtype.cxx b/src/fl_boxtype.cxx index cb6aa0a7a..5e8f5e45c 100644 --- a/src/fl_boxtype.cxx +++ b/src/fl_boxtype.cxx @@ -3,7 +3,7 @@ // // Box drawing code for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -237,6 +237,14 @@ static struct { {fl_down_frame, 2,2,4,4,0}, // _FL_PLASTIC_DOWN_FRAME, {fl_up_box, 2,2,4,4,0}, // _FL_PLASTIC_THIN_UP_BOX, {fl_down_box, 2,2,4,4,0}, // _FL_PLASTIC_THIN_DOWN_BOX, + {fl_up_box, 2,2,4,4,0}, // _FL_PLASTIC_ROUND_UP_BOX, + {fl_down_box, 2,2,4,4,0}, // _FL_PLASTIC_ROUND_DOWN_BOX, + {fl_up_box, 2,2,4,4,0}, // _FL_GTK_UP_BOX, + {fl_down_box, 2,2,4,4,0}, // _FL_GTK_DOWN_BOX, + {fl_up_frame, 2,2,4,4,0}, // _FL_GTK_UP_FRAME, + {fl_down_frame, 2,2,4,4,0}, // _FL_GTK_DOWN_FRAME, + {fl_up_box, 2,2,4,4,0}, // _FL_GTK_ROUND_UP_BOX, + {fl_down_box, 2,2,4,4,0}, // _FL_GTK_ROUND_DOWN_BOX, {fl_up_box, 3,3,6,6,0}, // FL_FREE_BOX+0 {fl_down_box, 3,3,6,6,0}, // FL_FREE_BOX+1 {fl_up_box, 3,3,6,6,0}, // FL_FREE_BOX+2 diff --git a/src/fl_gtk.cxx b/src/fl_gtk.cxx new file mode 100644 index 000000000..cae03585f --- /dev/null +++ b/src/fl_gtk.cxx @@ -0,0 +1,134 @@ +// +// "$Id$" +// +// "GTK" drawing routines for the Fast Light Tool Kit (FLTK). +// +// These box types provide a GTK+ look, based on Red Hat's Bluecurve +// theme... +// +// Copyright 2006 by Michael Sweet. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +// Box drawing code for an obscure box type. +// These box types are in seperate files so they are not linked +// in if not used. + +#include <FL/Fl.H> +#include <FL/fl_draw.H> + +extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*); + + +static void gtk_up_frame(int x, int y, int w, int h, Fl_Color c) { + fl_color(fl_color_average(FL_WHITE, c, 0.5)); + fl_xyline(x + 2, y + 1, x + w - 3); + fl_yxline(x + 1, y + 2, y + h - 4); + + fl_color(fl_color_average(FL_BLACK, c, 0.5)); + fl_begin_loop(); + fl_vertex(x, y + 2); + fl_vertex(x + 2, y); + fl_vertex(x + w - 3, y); + fl_vertex(x + w - 1, y + 2); + fl_vertex(x + w - 1, y + h - 3); + fl_vertex(x + w - 3, y + h - 1); + fl_vertex(x + 2, y + h - 1); + fl_vertex(x, y + h - 3); + fl_end_loop(); +} + + +static void gtk_up_box(int x, int y, int w, int h, Fl_Color c) { + gtk_up_frame(x, y, w, h, c); + + fl_color(fl_color_average(FL_WHITE, c, 0.4)); + fl_xyline(x + 2, y + 2, x + w - 3); + fl_color(fl_color_average(FL_WHITE, c, 0.2)); + fl_xyline(x + 2, y + 3, x + w - 3); + fl_color(fl_color_average(FL_WHITE, c, 0.1)); + fl_xyline(x + 2, y + 4, x + w - 3); + fl_color(c); + fl_rectf(x + 2, y + 5, w - 4, h - 7); + fl_color(fl_color_average(FL_BLACK, c, 0.025)); + fl_xyline(x + 2, y + h - 4, x + w - 3); + fl_color(fl_color_average(FL_BLACK, c, 0.05)); + fl_xyline(x + 2, y + h - 3, x + w - 3); + fl_color(fl_color_average(FL_BLACK, c, 0.1)); + fl_xyline(x + 2, y + h - 2, x + w - 3); + fl_yxline(x + w - 2, y + 2, y + h - 3); +} + + +void gtk_down_frame(int x, int y, int w, int h, Fl_Color c) { + fl_color(fl_color_average(FL_BLACK, c, 0.5)); + fl_begin_loop(); + fl_vertex(x, y + 2); + fl_vertex(x + 2, y); + fl_vertex(x + w - 3, y); + fl_vertex(x + w - 1, y + 2); + fl_vertex(x + w - 1, y + h - 3); + fl_vertex(x + w - 3, y + h - 1); + fl_vertex(x + 2, y + h - 1); + fl_vertex(x, y + h - 3); + fl_end_loop(); + + fl_color(fl_color_average(FL_BLACK, c, 0.1)); + fl_xyline(x + 2, y + 1, x + w - 3); + fl_yxline(x + 1, y + 2, y + h - 3); + + fl_color(fl_color_average(FL_BLACK, c, 0.05)); + fl_yxline(x + 2, y + h - 2, y + 2, x + w - 2); +} + + +void gtk_down_box(int x, int y, int w, int h, Fl_Color c) { + gtk_down_frame(x, y, w, h, c); + + fl_color(c); + fl_rectf(x + 3, y + 3, w - 5, h - 4); + fl_yxline(x + w - 2, y + 3, y + h - 3); +} + + +void gtk_round_box(int x, int y, int w, int h, Fl_Color c) { + fl_color(c); + fl_pie(x, y, w, h, 0.0, 360.0); + fl_color(fl_color_average(FL_BLACK, c, 0.5)); + fl_arc(x, y, w, h, 0.0, 360.0); +} + + +Fl_Boxtype fl_define_FL_GTK_UP_BOX() { + fl_internal_boxtype(_FL_GTK_UP_BOX, gtk_up_box); + fl_internal_boxtype(_FL_GTK_DOWN_BOX, gtk_down_box); + fl_internal_boxtype(_FL_GTK_UP_FRAME, gtk_up_frame); + fl_internal_boxtype(_FL_GTK_DOWN_FRAME, gtk_down_frame); + fl_internal_boxtype(_FL_GTK_ROUND_UP_BOX, gtk_round_box); + fl_internal_boxtype(_FL_GTK_ROUND_DOWN_BOX, gtk_round_box); + + return _FL_GTK_UP_BOX; +} + + +// +// End of "$Id$". +// |
