diff options
21 files changed, 104 insertions, 55 deletions
diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H index 1d1ab3b49..fdcdc2930 100644 --- a/FL/Fl_Window.H +++ b/FL/Fl_Window.H @@ -162,7 +162,7 @@ public: On a multi-screen system, the values computed by Fl::screen_xywh(int &X, int &Y, int &W, int &H, int n) can be used to - discover the coordinates of the area of screen #n. + discover the coordinates of the area of screen \#n. When these screens have various scale factor values, an \p (x, y) pair may not be enough to specify the targeted screen for the window, because the same \p (x,y) pair can belong to several screens. diff --git a/documentation/src/Fl_File_Chooser.jpg b/documentation/src/Fl_File_Chooser.jpg Binary files differindex 050227d58..4447a5f25 100644 --- a/documentation/src/Fl_File_Chooser.jpg +++ b/documentation/src/Fl_File_Chooser.jpg diff --git a/documentation/src/fltk-options.dox b/documentation/src/fltk-options.dox index a52d31426..047801507 100644 --- a/documentation/src/fltk-options.dox +++ b/documentation/src/fltk-options.dox @@ -41,6 +41,9 @@ tool called fltk-options. `fltk-options` is a hybrid app that is part of FLTK and can be installed on the target system. It includes an up-to-date man page. +\image html fluid-edit-global-fltk-settings.png "fltk-options Application" +\image latex fluid-edit-global-fltk-settings.png "fltk-options Application" width=10cm + When fltk-options is called without any command-line arguments, it opens in interactive mode and provides a user interface to view and alter all system and current user options. diff --git a/documentation/src/fluid-catgets.png b/documentation/src/fluid-catgets.png Binary files differindex 363f74a1a..e68b42c96 100644 --- a/documentation/src/fluid-catgets.png +++ b/documentation/src/fluid-catgets.png diff --git a/documentation/src/fluid-edit-global-fltk-settings.png b/documentation/src/fluid-edit-global-fltk-settings.png Binary files differindex 482c9eee5..fc9bd1d40 100644 --- a/documentation/src/fluid-edit-global-fltk-settings.png +++ b/documentation/src/fluid-edit-global-fltk-settings.png diff --git a/documentation/src/fluid-edit-gui-settings.png b/documentation/src/fluid-edit-gui-settings.png Binary files differindex 732ae3ed0..ce3cadc9d 100644 --- a/documentation/src/fluid-edit-gui-settings.png +++ b/documentation/src/fluid-edit-gui-settings.png diff --git a/documentation/src/fluid-edit-proj-settings.png b/documentation/src/fluid-edit-proj-settings.png Binary files differindex a499f627d..0b44bb199 100644 --- a/documentation/src/fluid-edit-proj-settings.png +++ b/documentation/src/fluid-edit-proj-settings.png diff --git a/documentation/src/fluid-gettext.png b/documentation/src/fluid-gettext.png Binary files differindex f961c6929..70845f035 100644 --- a/documentation/src/fluid-gettext.png +++ b/documentation/src/fluid-gettext.png diff --git a/documentation/src/fluid-layout-grid-and-size-settings.png b/documentation/src/fluid-layout-grid-and-size-settings.png Binary files differindex e10e0bc17..a9f441fd9 100644 --- a/documentation/src/fluid-layout-grid-and-size-settings.png +++ b/documentation/src/fluid-layout-grid-and-size-settings.png diff --git a/documentation/src/fluid.dox b/documentation/src/fluid.dox index 70cbee081..fb558a472 100644 --- a/documentation/src/fluid.dox +++ b/documentation/src/fluid.dox @@ -28,14 +28,15 @@ The Fast Light User Interface Designer, or FLUID, is a graphical editor that is used to produce FLTK source code. FLUID edits and saves its state in <tt>.fl</tt> files. These files are text, and you can (with care) edit them in a text editor, -perhaps to get some special effects. +perhaps to get some special effects. The <tt>.fl</tt> file format is explained +in detail in <tt>fluid/README_fl.txt</tt> FLUID can "compile" the <tt>.fl</tt> file into a <tt>.cxx</tt> and a <tt>.h</tt> file. The <tt>.cxx</tt> file defines all the objects from the <tt>.fl</tt> file and the <tt>.h</tt> file declares all the global ones. FLUID also supports localization (\ref fluid_i18n "Internationalization") -of label strings using message files and the GNU gettext or +of label strings and tooltips using message files and the GNU gettext or POSIX catgets interfaces. A simple program can be made by putting all your code (including a @@ -652,6 +653,33 @@ file is unnamed then FLUID will ask for a filename. \par Asks for a new filename and saves the file. +\par File/Save A Copy... + +\par +Save a copy of the <tt>.fl</tt> data to a different file. + +\par File/Revert... + +\par +Revert the <tt>.fl</tt> data to a previously saved state. + +\par File/New From Template... + +\par +Create a new user interface design from a previously saved template. +This can be useful for including a predefined enterprise copyright message +for projects, or for managing boilerplate code for repeating project code. + +\par File/Save As Template... + +\par +Save the current project as a starting point for future projects. + +\par File/Print... (Ctrl-P) + +\par +Generate a printout containing all currently open windows within your project. + \par File/Write Code (Ctrl+Shift+C) \par @@ -682,11 +710,11 @@ stripped, and ".txt", ".po", or ".msg" appended depending on the Exits FLUID. You are asked for confirmation if you have changed the current file. -\par Edit/Undo (Ctrl+z) +\par Edit/Undo (Ctrl+z) and Redo (Shift+Ctrl+z) \par -This isn't implemented yet. You should do save often so you can -recover from any mistakes you make. +FLUID saves the project state for undo and redo operations after every +major change. \par Edit/Cut (Ctrl+x) @@ -734,7 +762,7 @@ widgets in that group's parent. Repeatedly typing Ctrl+a will select larger and larger groups of widgets until everything is selected. -\par Edit/Open... (F1 or double click) +\par Edit/Properties... (F1 or double click) \par Displays the current widget in the attributes panel. If the @@ -777,7 +805,7 @@ selected widgets children of it. Deletes the parent group if all the children of a group are selected. -\par Edit/Overlays on/off (Ctrl+Shift+O) +\par Edit/Show or Hide Overlays (Ctrl+Shift+O) \par Toggles the display of the red overlays off, without changing @@ -785,46 +813,62 @@ the selection. This makes it easier to see box borders and how the layout looks. The overlays will be forced back on if you change the selection. -\par Edit/Project Settings... (Alt+p) +\par Edit/Show or Hide Guides (Ctrl+Shift+G) \par -Displays the project settings panel. +Guides can be used to arrange a widget layout easily and consistently. They +indicating preferred widget positions and sizes with user definable margins, +grids, and gap sizes. See the "Layout" tab in the "Settings" dialog. \par -Under the "Output" tab you control the extensions or names of the files -that are generated by FLUID. If you check the "Include Header from Code" -button the code file will include the header file automatically. +This menu item enables and disable guides and the snapping action when dragging +widgets and their borders. -\par -Under the "Internationalization" tab are the \ref fluid_i18n "internationalization" -options, described later in this chapter. +\par Edit/Show or Hide Restricted (Ctrl+Shift+R) -\image html fluid-edit-proj-settings.png "FLUID Project Settings Window" -\image latex fluid-edit-proj-settings.png "FLUID Project Settings Window" width=10cm +\par +It is recommended to ensure that user interface elements within FLTK do not +exceed the size of their container group or overlap with each other. +By activating this button, a hatch pattern is enabled, visually highlighting +areas where restricted or undefined behavior may occur. -\par Edit/GUI Settings... (Shift+Alt+p) +\par Edit/Show or Hide Widget Bin (Alt+B) \par -Displays the GUI Settings panel, used to control the user interface settings. +The widget bin provides quick access to all widget types supported by FLUID. +Layouts can be created by clicking on elements in the widget bin, or by dragging +them from the bin to their position within the layout. This button shows or +hides the widget bin. + +\par Edit/Show or Hide Source Code (Shift+Alt+S) -\image html fluid-edit-gui-settings.png "FLUID GUI Settings Window" -\image latex fluid-edit-gui-settings.png "FLUID GUI Settings Window" width=10cm +\par +This button shows or hides the source code preview window. Any change to the +layout or code in the layout editores can be previewed and verified immediatly +in the Code View window. -\par Edit/Global FLTK Settings... (Shift+Alt+g) +\par Edit/Settings... (Alt+p) \par -Displays the FLTK Global Settings ("Preferences") panel, used to control fluid's -user specific and/or system wide settings. +Displays the FLUID settings panel. The settings panel contains tabs for +general FLUID settings, project setting, layout preferences, custom shell +commands, and the internationalisation settings for <i>GNU Gettext</i> +and <i>POSIX catgets</i>. \par -Tooltips provide descriptions of each option. +Under the "Project" tab you control the extensions or names of the files +that are generated by FLUID. If you check the "Include Header from Code" +button the code file will include the header file automatically. \par -At the lower-right, "User Settings" causes changes to only affect the current user, -"System Settings" causes changes to be applied to all users on the current machine. +Under the "Locale" tab are the \ref fluid_i18n "internationalization" +options, described later in this chapter. + +\image html fluid-edit-gui-settings.png "FLUID General Settings Tab" +\image latex fluid-edit-gui-settings.png "FLUID General Settings Tab" width=10cm -\image html fluid-edit-global-fltk-settings.png "FLUID Global Settings Window" -\image latex fluid-edit-global-fltk-settings.png "FLUID Global Settings Window" width=10cm +\image html fluid-edit-proj-settings.png "FLUID Project Settings Tab" +\image latex fluid-edit-proj-settings.png "FLUID Project Settings Tab" width=10cm \par New/Code/Function @@ -908,10 +952,20 @@ Center all selected widgets relative to their parent widget Displays the grid settings panel. \par -This panel controls the grid that all widgets snap to when you move +This panel controls dimensions that all widgets snap to when you move and resize them, and for the "snap" which is how far a widget has to be dragged from its original position to actually change. +Layout preferences are defined using margins to parent groups and window, gaps +between widget, and /orr by overlaying a grid over a group or window. A layout +comes as a suite of three presets, one for the main application window, one +for dialog boxes, and one for toolboxes. + +FLUID comes with two include layout suites. `FLTK` was used to design FLUID and +other included apps, and `Grid` is a more ridgid grid layout. Users can add +more suites, import and export them, and include them into their <tt>.fl</tt> +project files. + \image html fluid-layout-grid-and-size-settings.png "FLUID Layout/Grid Settings Window" \image latex fluid-layout-grid-and-size-settings.png "FLUID Layout/Grid Settings Window" width=10cm @@ -926,20 +980,20 @@ is commonly used to run a 'make' script to compile the FLTK output. \par Run the shell command again. -\par Help/About FLUID +\par Help/Repid development with FLUID \par -Pops up a panel showing the version of FLUID. +Shows this chapter of the manual. -\par Help/On FLUID +\par Help/FLTK Programmers Manual \par -Shows this chapter of the manual. +Shows the contents page of the manual -\par Help/Manual +\par Help/About FLUID \par -Shows the contents page of the manual +Pops up a panel showing the version of FLUID. \subsection fluid_widget_panel The Widget Panel @@ -948,7 +1002,7 @@ will get the "widget attribute panel". When you change attributes using this panel, the changes are reflected immediately in the window. It is useful to hit the -"no overlay" button (or type Ctrl+Shift+O) to hide the +"Hide Overlays" button (or type Ctrl+Shift+O) to hide the red overlay so you can see the widgets more accurately, especially when setting the box type. @@ -962,13 +1016,6 @@ Selecting a different widget also makes the changes permanent. FLUID checks for simple syntax errors such as mismatched parenthesis in any code before saving any text. -"Revert" or "Cancel" put everything back -to when you last brought up the panel or hit OK. However in the -current version of FLUID, changes to "visible" -attributes (such as the color, label, box) are not undone by -revert or cancel. Changes to code like the callbacks are -undone, however. - <!-- NEW PAGE --> \image html fluid_widget_gui.png "The FLUID widget GUI attributes" @@ -1530,8 +1577,8 @@ to the I18N options. \subsection fluid_i18n_methods I18N Methods -FLUID supports three methods of I18N: use none, use GNU -gettext, and use POSIX catgets. The "use none" method is the +FLUID supports three methods of I18N: none, GNU +gettext, and POSIX catgets. The "none" method is the default and just passes the label strings as-is to the widget constructors. @@ -1579,7 +1626,7 @@ The **Static Function:** field names a macro that will mark static text fields for extraction with the `xgettext` tool. The default macro name is \p gettext_noop and will be defined as `#define gettext_noop(text) text` right after the `#include` statement. Fluid will do its best to call -`gettext` on static texts after the textdomain was set by the user. +`gettext` on static texts later, after the textdomain was set by the user. \see [GNU gettext special cases](https://www.gnu.org/software/gettext/manual/html_node/Special-cases.html) diff --git a/documentation/src/fluid1.png b/documentation/src/fluid1.png Binary files differindex 1c7909f6f..dbded1c3a 100644 --- a/documentation/src/fluid1.png +++ b/documentation/src/fluid1.png diff --git a/documentation/src/fluid2.png b/documentation/src/fluid2.png Binary files differindex d8d7e3a80..7c8faca2a 100644 --- a/documentation/src/fluid2.png +++ b/documentation/src/fluid2.png diff --git a/documentation/src/fluid3-cxx.png b/documentation/src/fluid3-cxx.png Binary files differindex ea148279d..57ed92d95 100644 --- a/documentation/src/fluid3-cxx.png +++ b/documentation/src/fluid3-cxx.png diff --git a/documentation/src/fluid3-gui.png b/documentation/src/fluid3-gui.png Binary files differindex 6d817c9fe..48d564c8a 100644 --- a/documentation/src/fluid3-gui.png +++ b/documentation/src/fluid3-gui.png diff --git a/documentation/src/fluid3-style.png b/documentation/src/fluid3-style.png Binary files differindex 200e40285..b7d02a2ab 100644 --- a/documentation/src/fluid3-style.png +++ b/documentation/src/fluid3-style.png diff --git a/documentation/src/fluid4.png b/documentation/src/fluid4.png Binary files differindex f2aba97db..60cec7458 100644 --- a/documentation/src/fluid4.png +++ b/documentation/src/fluid4.png diff --git a/documentation/src/fluid_widget_cxx.png b/documentation/src/fluid_widget_cxx.png Binary files differindex ff6085620..c5261fb56 100644 --- a/documentation/src/fluid_widget_cxx.png +++ b/documentation/src/fluid_widget_cxx.png diff --git a/documentation/src/fluid_widget_style.png b/documentation/src/fluid_widget_style.png Binary files differindex 78d869a7f..fd44a0fd0 100644 --- a/documentation/src/fluid_widget_style.png +++ b/documentation/src/fluid_widget_style.png diff --git a/fluid/Fd_Snap_Action.h b/fluid/Fd_Snap_Action.h index 7ceec2731..e15431cd1 100644 --- a/fluid/Fd_Snap_Action.h +++ b/fluid/Fd_Snap_Action.h @@ -37,7 +37,7 @@ enum { \brief Collection of layout settings. Presets contain default fonts and font sizes for labels and text. They - can be used to guide widget positions usung margins, grids, and gap sizes. + can be used to guide widget positions using margins, grids, and gap sizes. There are three Presets available in one Suite, marked "application", "dialog", and "toolbox". */ diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx index 4a0fa624e..53a02cb16 100644 --- a/fluid/alignment_panel.cxx +++ b/fluid/alignment_panel.cxx @@ -991,7 +991,7 @@ static void cb_Close(Fl_Button*, void*) { } Fl_Double_Window* make_settings_window() { - { Fl_Double_Window* o = settings_window = new Fl_Double_Window(340, 580, "GUI Settings"); + { Fl_Double_Window* o = settings_window = new Fl_Double_Window(340, 580, "FLUID Settings"); settings_window->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE)); { w_settings_tabs = new Fl_Tabs(10, 10, 320, 530); w_settings_tabs->selection_color((Fl_Color)12); @@ -1002,7 +1002,7 @@ Fl_Double_Window* make_settings_window() { o->image( image_general_64() ); o->labelsize(11); { scheme_choice = new Fl_Scheme_Choice(120, 78, 120, 25, "Scheme: "); - scheme_choice->box(FL_FLAT_BOX); + scheme_choice->box(FL_UP_BOX); scheme_choice->down_box(FL_BORDER_BOX); scheme_choice->color(FL_BACKGROUND_COLOR); scheme_choice->selection_color(FL_SELECTION_COLOR); @@ -1617,7 +1617,6 @@ nalize labels and tooltips, usually \"gettext_noop\" or \"N_\""); o->callback((Fl_Callback*)cb_Close); } // Fl_Button* o settings_window->set_non_modal(); - settings_window->resizable(settings_window); o->size_range(o->w(), o->h()); settings_window->end(); } // Fl_Double_Window* settings_window diff --git a/fluid/alignment_panel.fl b/fluid/alignment_panel.fl index 2d2bfff11..3a3b1f0d2 100644 --- a/fluid/alignment_panel.fl +++ b/fluid/alignment_panel.fl @@ -107,8 +107,8 @@ decl {void scheme_cb(Fl_Scheme_Choice *, void *);} {public local Function {make_settings_window()} {open } { Fl_Window settings_window { - label {GUI Settings} open - xywh {617 331 340 580} type Double align 80 resizable + label {FLUID Settings} open selected + xywh {617 331 340 580} type Double align 80 code0 {o->size_range(o->w(), o->h());} non_modal visible } { Fl_Tabs w_settings_tabs { @@ -116,7 +116,7 @@ Function {make_settings_window()} {open xywh {10 10 320 530} selection_color 12 labelsize 11 labelcolor 255 } { Fl_Group {} { - label General open selected + label General open image {icons/general_64.png} compress_image 1 xywh {10 60 320 480} labelsize 11 code0 {o->image()->scale(36, 24);} } { |
