1998-10-06 22:21:25 +04:00
# data file for the Fltk User Interface Designer (fluid)
2008-09-19 01:11:28 +04:00
version 1.0300
1998-12-06 18:52:17 +03:00
header_name {.h}
2002-04-30 22:11:49 +04:00
code_name {.cxx}
2005-03-18 09:29:11 +03:00
comment {//
// "$Id$"
//
// Setting and shell dialogs for the Fast Light Tool Kit (FLTK).
//
2010-11-29 21:18:27 +03:00
// Copyright 1998-2010 by Bill Spitzak and others.
2005-03-18 09:29:11 +03:00
//
// 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
//
} {in_source in_header
}
2010-02-28 01:38:25 +03:00
decl {\#include <FL/Fl_Text_Buffer.H>} {public local
2003-04-01 23:58:08 +04:00
}
2010-02-28 01:38:25 +03:00
decl {\#include <FL/Fl_Text_Display.H>} {public local
2003-04-01 23:58:08 +04:00
}
2010-12-20 15:21:24 +03:00
decl {\#include <FL/filename.H>} {public local
2010-12-20 00:20:10 +03:00
}
2010-12-21 01:19:24 +03:00
decl {\#include <FL/Fl_Preferences.H>} {private global
}
decl {\#include <FL/fl_ask.H>} {private global
}
2010-02-28 01:38:25 +03:00
decl {extern void load_history();} {public local
2005-03-24 20:45:50 +03:00
}
2010-02-28 01:38:25 +03:00
decl {extern void redraw_browser();} {public local
2008-09-19 01:11:28 +04:00
}
2010-02-28 01:38:25 +03:00
decl {extern int show_comments;} {public local
2008-09-19 01:11:28 +04:00
}
2010-02-28 01:38:25 +03:00
decl {extern int show_coredevmenus;} {public local
}
2010-03-22 01:55:18 +03:00
decl {extern struct Fl_Menu_Item *dbmanager_item;} {public local
2010-02-28 01:38:25 +03:00
}
2010-11-12 14:55:10 +03:00
decl {extern Fl_Preferences fluid_prefs;} {public local
}
decl {Fl_Text_Buffer *shell_run_buffer;} {public local
}
2010-12-21 01:19:24 +03:00
Function {make_project_window()} {} {
2002-05-01 23:17:24 +04:00
Fl_Window project_window {
2010-11-12 14:55:10 +03:00
label {Project Settings} open
xywh {393 460 399 252} type Double
2002-05-01 14:36:08 +04:00
code0 {\#include <FL/Fl_Preferences.H>}
2005-04-21 23:03:46 +04:00
code1 {\#include <FL/Fl_Tooltip.H>} modal visible
1998-10-06 22:21:25 +04:00
} {
Fl_Button {} {
1999-01-27 00:59:41 +03:00
label Close
2002-05-31 23:27:56 +04:00
callback {project_window->hide();}
2010-11-12 14:55:10 +03:00
tooltip {Close this dialog.} xywh {328 216 60 25}
1998-10-06 22:21:25 +04:00
}
2005-09-09 15:36:36 +04:00
Fl_Tabs {} {open
2010-11-12 14:55:10 +03:00
xywh {10 10 378 195} selection_color 12
2000-04-24 22:22:50 +04:00
} {
2002-05-01 23:17:24 +04:00
Fl_Group {} {
2005-03-08 16:46:31 +03:00
label Output open
2010-11-12 14:55:10 +03:00
xywh {10 36 378 169} hide
2002-05-01 23:17:24 +04:00
} {
Fl_Box {} {
2010-11-12 14:55:10 +03:00
label {Use "name.ext" to set a file name or just ".ext" to set extension.}
xywh {100 49 236 49} align 144
2002-05-01 23:17:24 +04:00
}
Fl_Input header_file_input {
label {Header File:}
user_data 1 user_data_type {void*}
callback header_input_cb
2010-11-12 14:55:10 +03:00
tooltip {The name of the generated header file.} xywh {99 103 272 20} box THIN_DOWN_BOX labelfont 1 when 1 textfont 4
2002-05-01 23:17:24 +04:00
}
Fl_Input code_file_input {
label {Code File:}
user_data 1 user_data_type {void*}
callback code_input_cb
2010-11-12 14:55:10 +03:00
tooltip {The name of the generated code file.} xywh {100 128 272 20} box THIN_DOWN_BOX labelfont 1 when 1 textfont 4
2002-05-01 23:17:24 +04:00
}
2007-05-10 16:06:31 +04:00
Fl_Check_Button include_H_from_C_button {
2002-05-01 23:17:24 +04:00
label {Include Header from Code}
callback include_H_from_C_button_cb
2010-11-12 14:55:10 +03:00
tooltip {Include the header file from the code file.} xywh {100 153 272 20} down_box DOWN_BOX
2007-05-10 16:06:31 +04:00
}
Fl_Check_Button use_FL_COMMAND_button {
2010-11-12 14:55:10 +03:00
label {Menu shortcuts use FL_COMMAND}
2008-09-19 01:11:28 +04:00
callback use_FL_COMMAND_button_cb
2010-11-12 14:55:10 +03:00
tooltip {Replace FL_CTRL with FL_COMMAND when generating menu shortcut code.} xywh {100 176 272 20} down_box DOWN_BOX
2002-05-01 23:17:24 +04:00
}
2000-04-24 22:22:50 +04:00
}
2002-05-01 23:17:24 +04:00
Fl_Group {} {
label Internationalization open
2010-11-12 14:55:10 +03:00
xywh {10 36 378 169}
2002-05-01 23:17:24 +04:00
} {
Fl_Choice i18n_type_chooser {
label {Use:}
callback i18n_type_cb open
2010-11-12 14:55:10 +03:00
tooltip {Type of internationalization to use.} xywh {100 48 136 25} box THIN_UP_BOX down_box BORDER_BOX labelfont 1
2002-05-01 23:17:24 +04:00
} {
2005-03-20 03:51:02 +03:00
MenuItem {} {
2002-05-01 23:17:24 +04:00
label None
2010-11-12 14:55:10 +03:00
xywh {0 0 100 20}
2002-05-01 23:17:24 +04:00
}
2005-03-20 03:51:02 +03:00
MenuItem {} {
2010-12-20 00:20:10 +03:00
label {GNU gettext}
2010-11-12 14:55:10 +03:00
xywh {0 0 100 20}
2002-05-01 23:17:24 +04:00
}
2005-03-20 03:51:02 +03:00
MenuItem {} {
2002-05-01 23:17:24 +04:00
label {POSIX catgets}
2010-11-12 14:55:10 +03:00
xywh {0 0 100 20}
2002-05-01 23:17:24 +04:00
}
}
Fl_Input i18n_include_input {
label {\#include:}
callback i18n_text_cb
2010-11-12 14:55:10 +03:00
tooltip {The include file for internationalization.} xywh {100 78 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
2002-05-01 23:17:24 +04:00
}
Fl_Input i18n_file_input {
label {File:}
callback i18n_text_cb
2010-11-12 14:55:10 +03:00
tooltip {The name of the message catalog.} xywh {100 104 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
2002-05-01 23:17:24 +04:00
}
Fl_Input i18n_set_input {
label {Set:}
2010-12-21 01:19:24 +03:00
callback i18n_int_cb
2010-11-12 14:55:10 +03:00
tooltip {The message set number.} xywh {100 128 272 20} type Int box THIN_DOWN_BOX labelfont 1 textfont 4
2002-05-01 23:17:24 +04:00
}
Fl_Input i18n_function_input {
label {Function:}
callback i18n_text_cb
2010-11-12 14:55:10 +03:00
tooltip {The function to call to internationalize the labels and tooltips.} xywh {100 103 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
2005-03-08 16:46:31 +03:00
}
}
2000-04-24 22:22:50 +04:00
}
1998-10-06 22:21:25 +04:00
}
}
2000-04-24 22:22:50 +04:00
2010-02-28 01:38:25 +03:00
decl {extern void i18n_cb(Fl_Choice *,void *);} {public local
2002-05-01 14:36:08 +04:00
}
2002-04-30 22:11:49 +04:00
2010-02-28 01:38:25 +03:00
decl {void scheme_cb(Fl_Choice *, void *);} {public local
2005-03-20 03:51:02 +03:00
}
2010-11-12 14:55:10 +03:00
Function {make_settings_window()} {} {
2002-04-30 22:11:49 +04:00
Fl_Window settings_window {
2006-09-17 18:58:25 +04:00
label {GUI Settings} open
2010-04-12 09:18:38 +04:00
xywh {393 191 339 241} type Double non_modal visible
2002-04-30 22:11:49 +04:00
} {
2005-03-20 03:51:02 +03:00
Fl_Choice scheme_choice {
2010-02-28 01:38:25 +03:00
label {Scheme: }
2006-09-17 18:58:25 +04:00
callback scheme_cb open
2005-03-24 20:45:50 +03:00
xywh {116 10 115 25} down_box BORDER_BOX labelfont 1
2005-03-20 03:51:02 +03:00
code0 {int s;}
code1 {fluid_prefs.get("scheme", s, 0);}
code2 {scheme_choice->value(s);}
code3 {scheme_cb(0, 0);}
} {
MenuItem {} {
label Default
2005-11-04 01:16:52 +03:00
xywh {0 0 35 25}
2005-03-20 03:51:02 +03:00
}
MenuItem {} {
label None
2005-11-04 01:16:52 +03:00
xywh {0 0 35 25}
2005-03-20 03:51:02 +03:00
}
MenuItem {} {
label Plastic
2005-11-04 01:16:52 +03:00
xywh {0 0 35 25}
2005-03-20 03:51:02 +03:00
}
2006-09-17 18:58:25 +04:00
MenuItem {} {
label {GTK+}
xywh {10 10 35 25}
}
2005-03-19 11:38:21 +03:00
}
2010-11-12 14:55:10 +03:00
Fl_Group {} {open
2010-04-12 09:18:38 +04:00
xywh {116 43 220 126} labelfont 1 align 0
2005-03-20 03:51:02 +03:00
} {
2010-02-28 01:38:25 +03:00
Fl_Box {} {
label {Options: }
xywh {116 43 1 25} labelfont 1 align 4
}
2005-03-20 03:51:02 +03:00
Fl_Check_Button tooltips_button {
label {Show Tooltips}
callback {Fl_Tooltip::enable(tooltips_button->value());
fluid_prefs.set("show_tooltips", tooltips_button->value());}
2010-02-28 01:38:25 +03:00
xywh {116 43 113 25} down_box DOWN_BOX
2005-03-20 03:51:02 +03:00
code0 {int b;}
code1 {fluid_prefs.get("show_tooltips", b, 1);}
code2 {tooltips_button->value(b);}
code3 {Fl_Tooltip::enable(b);}
}
Fl_Check_Button completion_button {
label {Show Completion Dialogs}
callback {fluid_prefs.set("show_completion_dialogs", completion_button->value());}
2010-02-28 01:38:25 +03:00
xywh {116 68 186 25} down_box DOWN_BOX
2005-03-20 03:51:02 +03:00
code0 {int b;}
code1 {fluid_prefs.get("show_completion_dialogs", b, 1);}
code2 {completion_button->value(b);}
}
Fl_Check_Button openlast_button {
label {Open Previous File on Startup}
callback {fluid_prefs.set("open_previous_file", openlast_button->value());}
2010-02-28 01:38:25 +03:00
xywh {116 93 214 25} down_box DOWN_BOX
2005-03-20 03:51:02 +03:00
code0 {int b;}
code1 {fluid_prefs.get("open_previous_file", b, 0);}
code2 {openlast_button->value(b);}
}
Fl_Check_Button prevpos_button {
label {Remember Window Positions}
callback {fluid_prefs.set("prev_window_pos", prevpos_button->value());}
2010-02-28 01:38:25 +03:00
xywh {116 118 209 25} down_box DOWN_BOX
2005-03-20 03:51:02 +03:00
code0 {int b;}
code1 {fluid_prefs.get("prev_window_pos", b, 1);}
code2 {prevpos_button->value(b);}
}
2008-09-19 01:11:28 +04:00
Fl_Check_Button show_comments_button {
label {Show Comments in Browser}
callback {show_comments = show_comments_button->value();
fluid_prefs.set("show_comments", show_comments);
redraw_browser();}
2010-02-28 01:38:25 +03:00
xywh {116 143 209 25} down_box DOWN_BOX
2008-09-19 01:11:28 +04:00
code1 {fluid_prefs.get("show_comments", show_comments, 1);}
code2 {show_comments_button->value(show_comments);}
}
2005-03-24 20:45:50 +03:00
}
Fl_Spinner recent_spinner {
2010-02-28 01:38:25 +03:00
label {\# Recent Files: }
2005-03-24 20:45:50 +03:00
callback {fluid_prefs.set("recent_files", recent_spinner->value());
load_history();}
2010-04-12 09:18:38 +04:00
xywh {115 173 40 25} labelfont 1 when 1
2005-03-24 20:45:50 +03:00
code0 {int c;}
code1 {fluid_prefs.get("recent_files", c, 5);}
code2 {recent_spinner->maximum(10);}
code3 {recent_spinner->value(c);}
2002-04-30 22:11:49 +04:00
}
2008-09-19 01:11:28 +04:00
Fl_Button {} {
label Close
callback {settings_window->hide();}
2010-04-12 09:18:38 +04:00
tooltip {Close this dialog.} xywh {266 205 64 25}
2008-09-19 01:11:28 +04:00
}
2002-04-30 22:11:49 +04:00
}
}
2002-05-01 14:36:08 +04:00
2010-02-28 01:38:25 +03:00
Function {make_shell_window()} {} {
2002-05-01 14:36:08 +04:00
Fl_Window shell_window {
2010-11-12 14:55:10 +03:00
label {Shell Command} open
2010-02-28 01:38:25 +03:00
xywh {741 195 365 125} type Double visible
2002-05-01 14:36:08 +04:00
} {
2005-03-19 11:38:21 +03:00
Fl_Input shell_command_input {
label {Command:}
callback {fluid_prefs.set("shell_command", shell_command_input->value());}
xywh {10 27 347 25} labelfont 1 align 5
code0 {char buf[1024];}
code1 {fluid_prefs.get("shell_command", buf, "", sizeof(buf));}
code2 {shell_command_input->value(buf);}
2002-05-01 14:36:08 +04:00
}
2005-03-19 11:38:21 +03:00
Fl_Check_Button shell_writecode_button {
label {Write Code}
callback {fluid_prefs.set("shell_writecode", shell_writecode_button->value());}
xywh {128 61 93 19} down_box DOWN_BOX
code0 {int b;}
code1 {fluid_prefs.get("shell_writecode", b, 1);}
code2 {shell_writecode_button->value(b);}
}
Fl_Check_Button shell_writemsgs_button {
label {Write Messages}
callback {fluid_prefs.set("shell_writemsgs", shell_writemsgs_button->value());}
xywh {231 61 126 19} down_box DOWN_BOX
code0 {int b;}
code1 {fluid_prefs.get("shell_writemsgs", b, 0);}
code2 {shell_writemsgs_button->value(b);}
}
Fl_Check_Button shell_savefl_button {
label {Save .FL File}
callback {fluid_prefs.set("shell_savefl", shell_savefl_button->value());}
xywh {10 62 108 19} down_box DOWN_BOX
code0 {int b;}
code1 {fluid_prefs.get("shell_savefl", b, 1);}
code2 {shell_savefl_button->value(b);}
2002-05-01 14:36:08 +04:00
}
Fl_Return_Button {} {
label {Run Command}
callback do_shell_command
2005-03-19 11:38:21 +03:00
xywh {132 90 143 25}
}
Fl_Button {} {
label Cancel
2007-05-10 16:06:31 +04:00
callback {shell_window->hide();}
2005-03-19 11:38:21 +03:00
xywh {285 90 72 25}
2002-05-01 14:36:08 +04:00
}
}
Fl_Window shell_run_window {
2005-03-19 11:38:21 +03:00
label {Shell Command Output}
xywh {592 332 555 430} type Double hide resizable
2002-05-01 14:36:08 +04:00
} {
2005-03-19 11:38:21 +03:00
Fl_Text_Display shell_run_display {
xywh {10 10 535 375} box DOWN_BOX textfont 4 resizable
code0 {shell_run_buffer = new Fl_Text_Buffer();}
code1 {shell_run_display->buffer(shell_run_buffer);}
}
2002-05-01 14:36:08 +04:00
Fl_Return_Button shell_run_button {
label Close
callback {shell_run_window->hide();}
2005-03-19 11:38:21 +03:00
xywh {468 395 77 25}
2003-04-01 23:58:08 +04:00
}
2002-05-01 14:36:08 +04:00
}
}
2002-05-01 23:17:24 +04:00
2010-12-21 01:19:24 +03:00
Function {make_layout_window()} {} {
2002-05-01 23:17:24 +04:00
Fl_Window grid_window {
2008-09-19 01:11:28 +04:00
label {Layout Settings} open
2010-02-28 01:38:25 +03:00
xywh {760 427 285 245} type Double non_modal visible
2002-05-01 23:17:24 +04:00
} {
2005-03-19 11:38:21 +03:00
Fl_Input horizontal_input {
2005-09-09 15:36:36 +04:00
label x
2005-03-19 11:38:21 +03:00
user_data 1 user_data_type long
callback grid_cb
2005-09-09 15:36:36 +04:00
tooltip {Horizontal grid spacing.} xywh {106 10 50 25} type Int box THIN_DOWN_BOX align 8
2005-03-19 11:38:21 +03:00
code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
}
Fl_Input vertical_input {
2005-09-09 15:36:36 +04:00
label pixels
2005-03-19 11:38:21 +03:00
user_data 2 user_data_type long
callback grid_cb
2005-09-09 15:36:36 +04:00
tooltip {Vertical grid spacing.} xywh {166 10 50 25} type Int box THIN_DOWN_BOX align 8
2005-03-19 11:38:21 +03:00
code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
}
Fl_Input snap_input {
2005-09-09 15:36:36 +04:00
label {pixel snap}
2005-03-19 11:38:21 +03:00
user_data 3 user_data_type long
callback grid_cb
2005-09-09 15:36:36 +04:00
tooltip {Snap to grid within this many pixels.} xywh {106 45 50 25} type Int box THIN_DOWN_BOX align 8
2005-03-19 11:38:21 +03:00
code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
}
Fl_Check_Button guides_toggle {
label {Show Guides}
user_data 4 user_data_type long
callback guides_cb
2005-09-09 15:36:36 +04:00
tooltip {Show distance and alignment guides in overlay} xywh {106 80 110 25} down_box DOWN_BOX
2002-05-01 23:17:24 +04:00
}
Fl_Button {} {
label Close
callback {grid_window->hide();}
2005-11-04 01:16:52 +03:00
tooltip {Close this dialog.} xywh {215 210 60 25}
2005-09-09 15:36:36 +04:00
}
Fl_Box {} {
label {Grid:}
xywh {26 10 70 25} labelfont 1 align 24
}
Fl_Box {} {
label {Widget Size:}
xywh {-1 115 97 25} labelfont 1 align 24
}
Fl_Group {} {open
xywh {105 115 170 75}
} {
Fl_Round_Button {def_widget_size[0]} {
user_data 8 user_data_type long
2005-11-04 01:16:52 +03:00
callback default_widget_size_cb
2005-09-09 15:36:36 +04:00
xywh {105 115 70 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
label tiny
xywh {120 115 50 25} labelsize 8 align 20
}
Fl_Round_Button {def_widget_size[1]} {
user_data 11 user_data_type long
2005-11-04 01:16:52 +03:00
callback default_widget_size_cb
2005-09-09 15:36:36 +04:00
xywh {180 115 70 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
label small
xywh {195 115 50 25} labelsize 11 align 20
}
Fl_Round_Button {def_widget_size[2]} {
user_data 14 user_data_type long
2005-11-04 01:16:52 +03:00
callback default_widget_size_cb
2005-09-09 15:36:36 +04:00
xywh {105 140 70 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
label normal
xywh {120 140 50 25} align 20
}
Fl_Round_Button {def_widget_size[3]} {
user_data 18 user_data_type long
2005-11-04 01:16:52 +03:00
callback default_widget_size_cb
2005-09-09 15:36:36 +04:00
xywh {180 140 90 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
label medium
xywh {195 140 68 25} labelsize 18 align 20
}
Fl_Round_Button {def_widget_size[4]} {
user_data 24 user_data_type long
2005-11-04 01:16:52 +03:00
callback default_widget_size_cb
2005-09-09 15:36:36 +04:00
xywh {105 165 75 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
label large
xywh {120 165 64 25} labelsize 24 align 20
}
Fl_Round_Button {def_widget_size[5]} {
user_data 32 user_data_type long
2005-11-04 01:16:52 +03:00
callback default_widget_size_cb
2005-09-09 15:36:36 +04:00
xywh {180 165 95 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
label huge
xywh {195 165 76 25} labelsize 32 align 20
}
2002-05-01 23:17:24 +04:00
}
}
}
2005-03-18 09:29:11 +03:00
2010-12-21 01:19:24 +03:00
decl {int opt[10][2];} {
comment {Copy of all options in user and system mode} private local
}
Function {refreshUI()} {
comment {Update the UI using the values in the opt array} private return_type void
} {
code {int mode = wUserOrSystem->value();
wVisibleFocus->value(opt[Fl::OPTION_VISIBLE_FOCUS][mode]);
wArrowFocus->value(opt[Fl::OPTION_ARROW_FOCUS][mode]);
wShowTooltips->value(opt[Fl::OPTION_SHOW_TOOLTIPS][mode]);
wDNDText->value(opt[Fl::OPTION_DND_TEXT][mode]);} {}
}
Function {readPrefs()} {
comment {read all preferences and refresh the GUI} private return_type void
} {
code {// read all preferences and refresh the GUI
{
Fl_Preferences prefs(Fl_Preferences::SYSTEM, "fltk.org", "fltk");
Fl_Preferences opt_prefs(prefs, "options");
opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1], 2);
opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1], 2);
opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][1], 2);
opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1], 2);
}
{
Fl_Preferences prefs(Fl_Preferences::USER, "fltk.org", "fltk");
Fl_Preferences opt_prefs(prefs, "options");
opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0], 2);
opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0], 2);
opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][0], 2);
opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0], 2);
}
refreshUI();} {}
}
Function {writePrefs()} {
comment {write all preferences using the array} private return_type void
} {
code {// write all preferences using the array
{
Fl_Preferences prefs(Fl_Preferences::SYSTEM, "fltk.org", "fltk");
Fl_Preferences opt_prefs(prefs, "options");
if (opt[Fl::OPTION_ARROW_FOCUS][1]==2) opt_prefs.deleteEntry("ArrowFocus");
else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1]);
if (opt[Fl::OPTION_VISIBLE_FOCUS][1]==2) opt_prefs.deleteEntry("VisibleFocus");
else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1]);
if (opt[Fl::OPTION_DND_TEXT][1]==2) opt_prefs.deleteEntry("DNDText");
else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][1]);
if (opt[Fl::OPTION_SHOW_TOOLTIPS][1]==2) opt_prefs.deleteEntry("ShowTooltips");
else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1]);
}
{
Fl_Preferences prefs(Fl_Preferences::USER, "fltk.org", "fltk");
Fl_Preferences opt_prefs(prefs, "options");
if (opt[Fl::OPTION_ARROW_FOCUS][0]==2) opt_prefs.deleteEntry("ArrowFocus");
else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0]);
if (opt[Fl::OPTION_VISIBLE_FOCUS][0]==2) opt_prefs.deleteEntry("VisibleFocus");
else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0]);
if (opt[Fl::OPTION_DND_TEXT][0]==2) opt_prefs.deleteEntry("DNDText");
else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][0]);
if (opt[Fl::OPTION_SHOW_TOOLTIPS][0]==2) opt_prefs.deleteEntry("ShowTooltips");
else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0]);
}} {}
}
Function {show_global_settings_window()} {open return_type void
} {
code {if (!global_settings_window)
make_global_settings_window();
readPrefs();
refreshUI();
fl_message(
"WARNING!\\n\\n"
"The following dialog changes the user interface behavior\\n"
"of ALL FLTK applications, for the current user, or for \\n"
"ALL users on this machine.\\n\\n"
"Please choose these settings carefully, or reset\\n"
"user and system settings to \\"default\\".");
global_settings_window->show();} {selected
}
}
Function {make_global_settings_window()} {} {
Fl_Window global_settings_window {
label {FLTK Preferences} open
xywh {444 220 403 317} type Double color 50 visible
} {
Fl_Group {} {
label {Keyboard Focus Options} open
xywh {10 10 380 100} box GTK_DOWN_BOX labelfont 2 align 21
} {
Fl_Choice wVisibleFocus {
label {Visible Keyboard Focus:}
callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_VISIBLE_FOCUS][mode] = wVisibleFocus->value();} open
tooltip {OPTION_VISIBLE_FOCUS
If visible focus is switched on, FLTK will draw a dotted rectangle inside the widget that will receive the next keystroke. If switched off, no such indicator will be drawn and keyboard navigation is disabled.
Default is on.} xywh {245 40 100 25} down_box BORDER_BOX
} {
MenuItem {} {
label off
user_data 0 user_data_type long
xywh {10 10 31 20}
}
MenuItem {} {
label on
user_data 1 user_data_type long
xywh {10 10 31 20} divider
}
MenuItem {} {
label default
user_data 2 user_data_type long
xywh {10 10 31 20}
}
}
Fl_Choice wArrowFocus {
label {Arrow Keys move Focus:}
callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_ARROW_FOCUS][mode] = wArrowFocus->value();} open
tooltip {OPTION_ARROW_FOCUS
When switched on, moving the text cursor beyond the start or end of the text in a text widget will change focus to the next widget. When switched off, the cursor will stop at the end of the text. Pressing Tab or Ctrl-Tab will advance the keyboard focus. Switch this on, if you want the old behavior of FLTK 1.1.
Default is off.} xywh {245 75 100 25} down_box BORDER_BOX
} {
MenuItem {} {
label off
user_data 0 user_data_type long
xywh {0 0 31 20}
}
MenuItem {} {
label on
user_data 1 user_data_type long
xywh {0 0 31 20} divider
}
MenuItem {} {
label default
user_data 2 user_data_type long
xywh {0 0 31 20}
}
}
}
Fl_Group {} {
label {Tooltip Options} open
xywh {10 120 380 65} box GTK_DOWN_BOX labelfont 2 align 21
} {
Fl_Choice wShowTooltips {
label {Show Tooltips:}
callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_SHOW_TOOLTIPS][mode] = wShowTooltips->value();} open
tooltip {OPTION_SHOW_TOOLTIPS
If tooltips are enabled, hovering the mouse over a widget with a tooltip text will open a little tooltip window until the mouse leaves the widget. If disabled, no tooltip is shown.
Default is on.} xywh {245 150 100 25} down_box BORDER_BOX
} {
MenuItem {} {
label off
user_data 0 user_data_type long
xywh {10 10 31 20}
}
MenuItem {} {
label on
user_data 1 user_data_type long
xywh {10 10 31 20} divider
}
MenuItem {} {
label default
user_data 2 user_data_type long
xywh {10 10 31 20}
}
}
}
Fl_Group {} {
label {Drag And Drop Options} open
xywh {10 194 380 66} box GTK_DOWN_BOX labelfont 2 align 21
} {
Fl_Choice wDNDText {
label {Allow dragging Text:}
callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_DND_TEXT][mode] = wDNDText->value();} open
tooltip {OPTION_DND_TEXT
If text drag-and-drop is enabled, the user can select and drag text from any text widget. If disabled, no dragging is possible, however dropping text from other applications still works.
Default is on.} xywh {245 225 100 25} down_box BORDER_BOX
} {
MenuItem {} {
label off
user_data 0 user_data_type long
xywh {30 30 31 20}
}
MenuItem {} {
label on
user_data 1 user_data_type long
xywh {30 30 31 20} divider
}
MenuItem {} {
label default
user_data 2 user_data_type long
xywh {30 30 31 20}
}
}
}
Fl_Choice wUserOrSystem {
callback {refreshUI();} open
tooltip {Change settings for the current user, or default values for all users of this computer. Individual users can override system options, if they set their options to specific values (not 'default').} xywh {14 275 141 25} down_box BORDER_BOX
} {
MenuItem {} {
label {User Settings}
user_data 0 user_data_type long
xywh {0 0 31 20}
}
MenuItem {} {
label {System Settings}
user_data 1 user_data_type long
xywh {0 0 31 20}
}
}
Fl_Button {} {
label Cancel
callback {global_settings_window->hide();}
xywh {230 275 75 25}
}
Fl_Button {} {
label OK
callback {writePrefs();
global_settings_window->hide();}
xywh {315 275 75 25}
}
}
code {readPrefs();
Fl::option(Fl::OPTION_SHOW_TOOLTIPS,1); // make sure tooltips are on !} {}
}
2005-03-18 09:29:11 +03:00
comment {
//
// End of "$Id$".
//} {in_source in_header
}