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
This commit is contained in:
Michael R Sweet 2006-09-17 14:58:25 +00:00
parent d63cf6e315
commit b4c1d3ef03
20 changed files with 864 additions and 633 deletions

13
CHANGES
View File

@ -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

View File

@ -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);}

View File

@ -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);

View File

@ -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 {} {

View File

@ -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;
}
//

View File

@ -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 {

View File

@ -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;

View File

@ -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());

View File

@ -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;
}

View File

@ -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
}
}
}

View File

@ -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

View File

@ -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();
}

View File

@ -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) {

View File

@ -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

View File

@ -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);
}
}
}
}

View File

@ -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);

View File

@ -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_) {

View File

@ -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 \

View File

@ -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

134
src/fl_gtk.cxx Normal file
View File

@ -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$".
//