From 1fbb602239fd810f3a563d6f39773e6e99d76079 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 14 Apr 2024 20:51:05 +0200 Subject: [PATCH] Sizes for all LATEX images --- fluid/documentation/CMakeLists.txt | 2 + fluid/documentation/Doxyfile.in | 3 +- fluid/documentation/src/index.dox | 5 ++ fluid/documentation/src/page_edit_window.dox | 20 +++---- .../src/page_functional_nodes.dox | 16 +++--- fluid/documentation/src/page_main_window.dox | 8 +-- .../documentation/src/page_setting_dialog.dox | 16 +++--- .../src/page_sourceview_panel.dox | 6 +-- fluid/documentation/src/page_tutorial.dox | 4 +- fluid/documentation/src/page_widget_panel.dox | 54 +++++++++---------- .../src/page_widgetbin_panel.dox | 2 +- 11 files changed, 71 insertions(+), 65 deletions(-) diff --git a/fluid/documentation/CMakeLists.txt b/fluid/documentation/CMakeLists.txt index 73852823cd..8a329470ce 100644 --- a/fluid/documentation/CMakeLists.txt +++ b/fluid/documentation/CMakeLists.txt @@ -99,6 +99,7 @@ if(FLTK_BUILD_FLUID_DOCS) set(GENERATE_FLUID_HTML YES) set(GENERATE_LATEX NO) set(LATEX_HEADER "") + set(HTML_INDEX "HTML_INDEX") set(DOXYFILE "Doxyfile") set(LOGFILE "${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE}_error.log") @@ -151,6 +152,7 @@ if(FLTK_BUILD_PDF_DOCS AND FLTK_BUILD_FLUID_DOCS) set(GENERATE_FLUID_HTML NO) set(GENERATE_LATEX YES) set(LATEX_HEADER "${CMAKE_CURRENT_BINARY_DIR}/fluid-book.tex") + set(HTML_INDEX "") set(DOXYFILE "Doxybook") set(LOGFILE "${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE}_error.log") diff --git a/fluid/documentation/Doxyfile.in b/fluid/documentation/Doxyfile.in index d34c3b02fe..06ea34cf30 100644 --- a/fluid/documentation/Doxyfile.in +++ b/fluid/documentation/Doxyfile.in @@ -639,8 +639,7 @@ GENERATE_DEPRECATEDLIST= YES # sections, marked by \if ... \endif and \cond # ... \endcond blocks. -ENABLED_SECTIONS = -# @DRIVER_DOCS@ +ENABLED_SECTIONS = @HTML_INDEX@ # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the diff --git a/fluid/documentation/src/index.dox b/fluid/documentation/src/index.dox index fc48be4b31..66aba6b614 100644 --- a/fluid/documentation/src/index.dox +++ b/fluid/documentation/src/index.dox @@ -2,6 +2,8 @@ /** + \if HTML_INDEX + \mainpage FLUID User Manual @@ -112,4 +114,7 @@
+ + \endif + */ diff --git a/fluid/documentation/src/page_edit_window.dox b/fluid/documentation/src/page_edit_window.dox index 568fce91c7..4edfdcc04f 100644 --- a/fluid/documentation/src/page_edit_window.dox +++ b/fluid/documentation/src/page_edit_window.dox @@ -5,7 +5,7 @@ \tableofcontents \image html edit_window.jpg "Layout Editor Window" - \image latex edit_window.jpg "Layout Editor Window" + \image latex edit_window.jpg "Layout Editor Window" width=10cm The Layout Editor window is used to interactively add groups and widgets, and resize and align them. The editor window already looks very much like the @@ -32,7 +32,7 @@ range of widgets, Ctrl-click will add widgets to the selection. \image html edit_select_multiple.jpg - \image latex edit_select_multiple.jpg + \image latex edit_select_multiple.jpg "" width=8cm Menu items are selected by clicking on the menu button and selecting it from the popup menu. Multiple menu items can only be selected in the widget browser @@ -66,14 +66,14 @@ \section edit_layout Layout Helpers \image html edit_overlap.jpg - \image latex edit_overlap.jpg + \image latex edit_overlap.jpg "" width=8cm In FLTK, the behavior of overlapping children of a group is undefined. If enabled in the settings, FLUID will show overlapping widgets in a group with a green hash pattern. \image html edit_outside.jpg - \image latex edit_outside.jpg + \image latex edit_outside.jpg "" width=8cm The behavior of widgets that reach outside the bounds of their parent group is also undefined. They may be visible, but confuse the user when they don't @@ -94,7 +94,7 @@ *Edit* > *Hide Guides* menu. \image html edit_snap_group.jpg - \image latex edit_snap_group.jpg + \image latex edit_snap_group.jpg "" width=8cm If a horizontal or vertical outline snaps to the group, the border of that group will highlight. If the outline snaps to the margin @@ -105,7 +105,7 @@ height of all tabs. \image html edit_snap_sibling.jpg - \image latex edit_snap_sibling.jpg + \image latex edit_snap_sibling.jpg "" width=8cm The selection can also snap to the outline of other widgets in the same group, or to the outline plus the Widget Gap. The outline that triggers the snap @@ -115,7 +115,7 @@ movement. Multiple rules may apply, but are not highlighted. \image html edit_snap_size.jpg - \image latex edit_snap_size.jpg + \image latex edit_snap_size.jpg "" width=10cm Widget size rules define a minimum size, and an increment value that may be applied multiple times to the size. For example, with a minimum width of 25 @@ -123,7 +123,7 @@ 55, etc. . \image html edit_snap_grid.jpg - \image latex edit_snap_grid.jpg + \image latex edit_snap_grid.jpg "" width=8cm The grid rule is the easiest to explain. All corners of a selection snap to a fixed grid. If the selected widgets are children of a window, they will snap @@ -133,7 +133,7 @@ \section edit_resize Live Resize \image html edit_select_group.jpg - \image latex edit_select_group.jpg + \image latex edit_select_group.jpg "" width=12cm The Resizable system within FLTK is smart, but not always obvious. When constructing a sophisticated GUI, it is helpful to organize widgets into @@ -145,7 +145,7 @@ To test the resizing behavior of a group, begin by selecting it: \image html edit_live_resize.jpg - \image latex edit_live_resize.jpg + \image latex edit_live_resize.jpg "" width=10cm Click on *Live Resize* in the widget panel. FLUID will generate a new window with all the resizing attributes inherited from the original design. This diff --git a/fluid/documentation/src/page_functional_nodes.dox b/fluid/documentation/src/page_functional_nodes.dox index 178affa792..be1d2a484b 100644 --- a/fluid/documentation/src/page_functional_nodes.dox +++ b/fluid/documentation/src/page_functional_nodes.dox @@ -28,7 +28,7 @@ created in the header, but no source code will be generated. \image html function_panel.png "Function/Method Properties" - \image latex function_panel.png "Function/Method Properties" + \image latex function_panel.png "Function/Method Properties" width=10cm ### Declaring a Function ### @@ -185,7 +185,7 @@ Code nodes can be added inside Functions, Code Blocks, and Widget Classes. \image html code_panel.png "Code Properties" - \image latex code_panel.png "Code Properties" + \image latex code_panel.png "Code Properties" width=12cm The Code Properties panel features a syntax-highlighting C++ code editor. Some basic bracket and braces match checking is done when closing the dialog. @@ -212,7 +212,7 @@ Code Blocks can contain widgets, code, or more code blocks. \image html codeblock_panel.png "Code Block Properties" - \image latex codeblock_panel.png "Code Block Properties" + \image latex codeblock_panel.png "Code Block Properties" width=10cm The two field expect the code before and after the `{ ... }` statements. The second field can be empty. @@ -231,7 +231,7 @@ Declarations can be added at the top level or inside classes and widget classes. \image html decl_panel.png "Declaration Properties" - \image latex decl_panel.png "Declaration Properties" + \image latex decl_panel.png "Declaration Properties" width=10cm Declaration nodes are quite flexible and can be a simple variable declaration such as `int i;`. But include statements are also allowed, as are type @@ -261,7 +261,7 @@ comments. \image html declblock_panel.png "Declaration Block Properties" - \image latex declblock_panel.png "Declaration Block Properties" + \image latex declblock_panel.png "Declaration Block Properties" width=10cm Users can select if the block is generated in the source file only, or in the header file as well. The two input fields are used to enter the line of code @@ -294,7 +294,7 @@ other classes. \image html class_panel.png "Class Properties" - \image latex class_panel.png "Class Properties" + \image latex class_panel.png "Class Properties" width=10cm The *Name:* and *Subclass of:* fields should be set to standard C++ class names. @@ -377,7 +377,7 @@ files even before the `// generated by FLUID ...` line. \image html comment_panel.png "Comment Properties" - \image latex comment_panel.png "Comment Properties" + \image latex comment_panel.png "Comment Properties" width=12cm Comment blocks are generated by adding `// ` to the start of each line unless the first line of a comment starts with `/``*`. In that case, FLUID assumes @@ -406,7 +406,7 @@ and Declaration Blocks. \image html data_panel.png "Data Properties" - \image latex data_panel.png "Data Properties" + \image latex data_panel.png "Data Properties" width=10cm At top level, or inside a Declaration Block, Data can be declared *in source file only*, *static in source file*, or *in source and extern in header*. diff --git a/fluid/documentation/src/page_main_window.dox b/fluid/documentation/src/page_main_window.dox index 27d6d58812..a73b2ae2af 100644 --- a/fluid/documentation/src/page_main_window.dox +++ b/fluid/documentation/src/page_main_window.dox @@ -5,7 +5,7 @@ \tableofcontents \image html main_window.png "Main Application Window" - \image latex main_window.png "Main Application Window" + \image latex main_window.png "Main Application Window" width=8cm A FLUID project is a hierarchy of nodes. Each node holds information to generate C++ source code which in turn generates the user interface that @@ -23,7 +23,7 @@ \section main_titlebar Title Bar \image html main_titlebar.jpg - \image latex main_titlebar.jpg + \image latex main_titlebar.jpg "" width=8cm The title bar shows the status of the project file, _function_panel.fl_ in this case, followed by an asterisk if the project was changed after it was saved. @@ -42,7 +42,7 @@ \section main_menubar Application Menu Bar \image html main_menubar.png - \image latex main_menubar.png + \image latex main_menubar.png "" width=8cm The menu bar is the true control center of FLUID. All actions start here. @@ -77,7 +77,7 @@ \section main_widget_browser Widget Tree View \image html main_browser.png - \image latex main_browser.png + \image latex main_browser.png "" width=8cm Widgets are stored in a hierarchy. You can open and close a level by clicking the "triangle" at the left of a widget. The leftmost widgets are the diff --git a/fluid/documentation/src/page_setting_dialog.dox b/fluid/documentation/src/page_setting_dialog.dox index accac554c5..d23d7c634e 100644 --- a/fluid/documentation/src/page_setting_dialog.dox +++ b/fluid/documentation/src/page_setting_dialog.dox @@ -5,7 +5,7 @@ \tableofcontents - \image latex w_settings.png + \image latex w_settings.png "Setting Dialog" width=10cm The settings dialog combines application preferences and project setting in a compact set of six tabs. @@ -36,7 +36,7 @@ \section setting_general Application Settings - \image latex w_settings_general_tab.png + \image latex w_settings_general_tab.png "" width=10cm __Scheme__: @@ -71,7 +71,7 @@ \section setting_project Project Settings - \image latex w_settings_project_tab.png + \image latex w_settings_project_tab.png "" width=10cm __Header File__, __Code File__: @@ -112,7 +112,7 @@ \section setting_layout Layout Preferences - \image latex w_settings_layout_tab.png + \image latex w_settings_layout_tab.png "" width=10cm Layouts are a collection of hints that help when interactively positioning and resizing widgets in the project window. Layouts come in a set of three for @@ -161,7 +161,7 @@ \section setting_shell Shell Commands - \image latex w_settings_shell_tab.png + \image latex w_settings_shell_tab.png "" width=10cm __Shell Command List__: @@ -227,7 +227,7 @@ to the I18N options. \image html w_settings_i18n_gnu.png - \image latex w_settings_i18n_gnu.png + \image latex w_settings_i18n_gnu.png "" width=10cm FLUID supports three methods of I18N: none, GNU gettext, and POSIX catgets. The "none" method is the @@ -280,7 +280,7 @@ standard I18N file for GNU gettext. \see [GNU gettext special cases](https://www.gnu.org/software/gettext/manual/html_node/Special-cases.html) \image html w_settings_i18n_psx.png - \image latex w_settings_i18n_psx.png + \image latex w_settings_i18n_psx.png "" width=10cm The "POSIX catgets" method uses the POSIX catgets function to retrieve a numbered message from a message catalog before @@ -326,7 +326,7 @@ The default set is 1 and rarely needs to be changed. \section setting_user User Interface Preferences - \image latex w_settings_user_tab.png + \image latex w_settings_user_tab.png "" width=10cm This tab lets users change the font and color of text in the widget browser. The settings are stored in the user preferences. diff --git a/fluid/documentation/src/page_sourceview_panel.dox b/fluid/documentation/src/page_sourceview_panel.dox index 9d09420f72..996da291b2 100644 --- a/fluid/documentation/src/page_sourceview_panel.dox +++ b/fluid/documentation/src/page_sourceview_panel.dox @@ -7,7 +7,7 @@ # The Code View Panel # \image html sourceview_panel.png "Code View Panel" - \image latex sourceview_panel.png "Code View Panel" + \image latex sourceview_panel.png "Code View Panel" width=12cm The Code View panel shows all code files that can be generated by FLUID. @@ -33,7 +33,7 @@ \section codeview_find Code View Find \image html cv_find_row.png - \image latex cv_find_row.png + \image latex cv_find_row.png "" width=12cm This group of buttons makes it easy to find any text in the Source, Header, or Project file. Press *Reveal* to select the widget that generated the indicated @@ -52,7 +52,7 @@ \section codeview_settings Code View Settings \image html cv_settings_row.png - \image latex cv_settings_row.png + \image latex cv_settings_row.png "" width=12cm __Refresh__: preview the code in the selected tab as it would be generated for the project in its current state diff --git a/fluid/documentation/src/page_tutorial.dox b/fluid/documentation/src/page_tutorial.dox index eabb25a4c8..25445edeb8 100644 --- a/fluid/documentation/src/page_tutorial.dox +++ b/fluid/documentation/src/page_tutorial.dox @@ -41,7 +41,7 @@ is left empty, FLUID will generate a `main(argc, argv)` function for us. \image html fluid4.png "the Function/Method Properties dialog" - \image latex fluid4.png "the Function/Method Properties dialog" + \image latex fluid4.png "the Function/Method Properties dialog" width=10cm Click OK to apply the changes you made in the Function Properties dialog. You can get this dialog back at any time by selecting the function in the @@ -98,7 +98,7 @@ close button in the window border is clicked. \image html 1of7GUIs.png "Task 1 of 7GUIs" - \image latex 1of7GUIs.png "Task 1 of 7GUIs" width=5cm + \image latex 1of7GUIs.png "Task 1 of 7GUIs" width=8cm The second tutorial will introduce callbacks by implementing task 1, "Counter", of 7GUIs. 7GUIs has been created as a spin-off of my master’s thesis diff --git a/fluid/documentation/src/page_widget_panel.dox b/fluid/documentation/src/page_widget_panel.dox index d68ce8fe36..3567aac149 100644 --- a/fluid/documentation/src/page_widget_panel.dox +++ b/fluid/documentation/src/page_widget_panel.dox @@ -7,7 +7,7 @@ # The Widget Properties Panel # \image html widget_panel.png "Widget Properties" - \image latex widget_panel.png "Widget Properties" + \image latex widget_panel.png "Widget Properties" width=12cm This panel is used to edit the properties of the currently selected widgets. It can be opened by double-clicking on a widget or by pressing `F1`. @@ -33,7 +33,7 @@ the defaults and will generate code for all attribute instead. \image html wLiveMode.png - \image latex wLiveMode.png + \image latex wLiveMode.png "" width=12cm Correctly resizing a window can be a complex task. It is easier to check resizing behavior on a more local level first. @@ -48,7 +48,7 @@ \section widget_panel_gui The GUI Tab \image html wp_gui_tab.png - \image latex wp_gui_tab.png + \image latex wp_gui_tab.png "" width=12cm The widget panel has three standard tabs that apply to all widgets. Some widget types, `Fl_Grid` and children of `Fl_Grid`, will create additional @@ -57,7 +57,7 @@ The GUI tab controls basic GUI settings, including label text and widget size. \image html wp_gui_label.png - \image latex wp_gui_label.png + \image latex wp_gui_label.png "" width=10cm The *Label* field can be any Unicode string and is stored as a static text. If internationalization is enabled, the corresponding modifiers are @@ -70,7 +70,7 @@ The pulldown menu offers some additional rendering styles for the label. \image html wp_gui_image.png - \image latex wp_gui_image.png + \image latex wp_gui_image.png "" width=10cm Add an image to the widget label here. The second row takes an optional image for rendering a deactivated widget. @@ -98,14 +98,14 @@ fall back to the full size image for high-dpi screens. \image html wp_gui_alignment.png - \image latex wp_gui_alignment.png + \image latex wp_gui_alignment.png "" width=10cm Control alignment of the label in relation to the widget position and size as well as the relation between the image and the label. The box on the right toggles between inside and outside label alignment. \image html wp_gui_size.png - \image latex wp_gui_size.png + \image latex wp_gui_size.png "" width=10cm Control the size and position of a widget here. The input fields react to vertical scroll wheel input for interactive positioning. @@ -130,34 +130,34 @@ | `cx`, `cy`, `cw`, `ch` | bounding box of all children | \image html wp_gui_values.png - \image latex wp_gui_values.png + \image latex wp_gui_values.png "" width=10cm Activate for widgets that can take numerical values, these input fields take floating point numbers. The generate lines like `o->minimum(2);` only if the corresponding value differs from the default value for this property. \image html wp_gui_flexp.png - \image latex wp_gui_flexp.png + \image latex wp_gui_flexp.png "" width=10cm This row is only visible for children of `Fl_Flex` widgets. It sets the width or height of a widget in horizontal or vertical Flex widget. If *fixed* is unchecked, this value is instead calculated by the Flex. \image html wp_gui_margins.png - \image latex wp_gui_margins.png + \image latex wp_gui_margins.png "" width=10cm This row is only visible for `Fl_Flex` widgets. It sets the various margins and the gap value for this widget. \image html wp_gui_sizerange.png - \image latex wp_gui_sizerange.png + \image latex wp_gui_sizerange.png "" width=10cm This row is only visible for top level windows. The field sets the minimum and maximum size range for windows. Use the *set* button to copy the current size. Set width and height to `0` to disable that aspect of the size range. \image html wp_gui_shortcut.png - \image latex wp_gui_shortcut.png + \image latex wp_gui_shortcut.png "" width=10cm This option is only visible for buttons and other widgets that can react to a shortcut key combination. FLUID does not check if a shortcut was already used @@ -167,7 +167,7 @@ created in a more compatible way across platforms. \image html wp_gui_xclass.png - \image latex wp_gui_xclass.png + \image latex wp_gui_xclass.png "" width=10cm This row is only visible for top level windows. Note that selecting *modal* and *non modal* together is undefined. @@ -178,7 +178,7 @@ see the effect. \image html wp_gui_attributes.png - \image latex wp_gui_attributes.png + \image latex wp_gui_attributes.png "" width=10cm Some additional attributes for all widget types. @@ -208,7 +208,7 @@ `show()`. \image html wp_gui_tooltip.png - \image latex wp_gui_tooltip.png + \image latex wp_gui_tooltip.png "" width=10cm The *Tooltip* field can be any Unicode string and is stored as a static text. If internationalization is enabled, the corresponding modifiers are @@ -218,16 +218,16 @@ \section widget_panel_style The Style Tab \image html wp_style_tab.png - \image latex wp_style_tab.png + \image latex wp_style_tab.png "Style Tab" width=12cm The Style tab is used to edit font styles and size, and the color of elements of the widget. \image html wp_style_label.png - \image latex wp_style_label.png + \image latex wp_style_label.png "" width=10cm \image html wp_style_text.png - \image latex wp_style_text.png + \image latex wp_style_text.png "" width=10cm The font pulldown menu provides a list of standard fonts. To enter the index of a user loaded font, an *extra code* field must be used. The *label color* @@ -239,7 +239,7 @@ text area. \image html wp_style_box.png - \image latex wp_style_box.png + \image latex wp_style_box.png "" width=10cm Select the up and down box for the give widget. The first six entries in the box and frame style list are influenced by the FLTK Scheme setting. Other @@ -270,13 +270,13 @@ \section widget_panel_cpp The C++ Tab \image html wp_cpp_tab.png - \image latex wp_cpp_tab.png + \image latex wp_cpp_tab.png "C++ Tab" width=12cm The C++ tab has various input field for adding C++ code at various places in the source and header file. \image html wp_cpp_class.png - \image latex wp_cpp_class.png + \image latex wp_cpp_class.png "" width=10cm If the class property is set, FLUID assumes that the user wants to instantiate a widget that is derived from the selected widget. For a derived widget, the @@ -294,7 +294,7 @@ be an `Fl_Toggle_Button` of an `Fl_Radio_Button`. \image html wp_cpp_name.png - \image latex wp_cpp_name.png + \image latex wp_cpp_name.png "" width=10cm The name field can be any valid C++ variable name. If the widget is inside a class, the pulldown menu lets the user select between *private*, *protected*, @@ -317,7 +317,7 @@ in the array must be the same type. \image html v_input.png - \image latex v_input.png + \image latex v_input.png "" width=10cm These four input fields can be used to add arbitrary code to different parts of the header and source file. A line can be divided into multiple lines @@ -342,14 +342,14 @@ code. \image html wComment.png - \image latex wComment.png + \image latex wComment.png "" width=10cm Comments are added to the source code before the widget constructor by adding `// ` in front of every line of the comment. The first few characters of a comment are also visible in the widget browser in the main window. \image html wp_cpp_callback.png - \image latex wp_cpp_callback.png + \image latex wp_cpp_callback.png "" width=10cm The callback field can be interpreted in two ways. If the callback text is only a single word, FLUID assumes that this is the name of an external callback @@ -381,7 +381,7 @@ \section widget_panel_grid The Grid Tab \image html wp_grid_tab.png - \image latex wp_grid_tab.png + \image latex wp_grid_tab.png "Grid Tab" width=12cm This tab is only available if the selected widget is an `Fl_Grid`. When editing a Grid widget, no other widgets should be selected. @@ -400,7 +400,7 @@ \section widget_panel_gridc The Grid Child Tab \image html wp_gridc_tab.png - \image latex wp_gridc_tab.png + \image latex wp_gridc_tab.png "Grid Child Tab" width=12cm This tab is only available if the selected widget is a child of an `Fl_Grid`. When editing a child of a Grid widget, no other widgets should be selected. diff --git a/fluid/documentation/src/page_widgetbin_panel.dox b/fluid/documentation/src/page_widgetbin_panel.dox index e5e7acb38d..48e003f913 100644 --- a/fluid/documentation/src/page_widgetbin_panel.dox +++ b/fluid/documentation/src/page_widgetbin_panel.dox @@ -7,7 +7,7 @@ # The Widget Bin Panel # \image html widgetbin_panel.png "Widget Bin" - \image latex widgetbin_panel.png "Widget Bin" + \image latex widgetbin_panel.png "Widget Bin" width=12cm The Widget Bin can be activated via the main menu: *Edit* > *Show Widget Bin* . FLUID will remember its