diff options
Diffstat (limited to 'documentation/src/fluid.dox')
| -rw-r--r-- | documentation/src/fluid.dox | 141 |
1 files changed, 94 insertions, 47 deletions
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) |
