From fd791a068e39e06785adc44693f4c533d3d6c903 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Wed, 17 Apr 2024 17:51:32 +0200 Subject: [PATCH] Separate FLUID user documentation, screen shot automation (#936) * CMake integration, no autotiools * alignment panel is now correctly renamed to setting panel * source view is now correctly renamed to code view * Merge FLTK FLUID docs into FLUID user manual. * Add two simple entry tutorials * Remove FLUID chapter form FLTK docs. * GitHub action to generate HTML and PDF docs and make the available as artefacts --- .github/workflows/build_fluid_docs.yml | 84 + CMake/options.cmake | 6 + README.CMake.txt | 11 +- documentation/CMakeLists.txt | 2 +- documentation/Doxyfile.in | 1 - documentation/Makefile | 1 - documentation/src/examples.dox | 16 +- documentation/src/fltk-options.dox | 8 +- ...bal-fltk-settings.png => fltk-options.png} | Bin documentation/src/fluid-catgets.png | Bin 40651 -> 0 bytes documentation/src/fluid-edit-gui-settings.png | Bin 70258 -> 0 bytes .../src/fluid-edit-proj-settings.png | Bin 55000 -> 0 bytes documentation/src/fluid-gettext.png | Bin 44085 -> 0 bytes .../fluid-layout-grid-and-size-settings.png | Bin 88526 -> 0 bytes documentation/src/fluid-org.png | Bin 27580 -> 0 bytes documentation/src/fluid-org.xcf | Bin 110511 -> 0 bytes documentation/src/fluid.dox | 1760 ------------ documentation/src/fluid1.png | Bin 48759 -> 0 bytes documentation/src/fluid2.png | Bin 117079 -> 0 bytes documentation/src/fluid3-cxx.png | Bin 54533 -> 0 bytes documentation/src/fluid3-gui.png | Bin 77268 -> 0 bytes documentation/src/fluid3-style.png | Bin 52943 -> 0 bytes documentation/src/fluid4.png | Bin 36419 -> 0 bytes documentation/src/fluid_widget_cxx.png | Bin 55645 -> 0 bytes documentation/src/fluid_widget_gui.png | Bin 32441 -> 0 bytes documentation/src/fluid_widget_style.png | Bin 54373 -> 0 bytes documentation/src/index.dox | 5 - documentation/src/intro.dox | 11 + documentation/src/opengl.dox | 8 +- documentation/src/osissues.dox | 2 +- documentation/src/preface.dox | 1 - documentation/src/subclassing.dox | 4 +- fluid/CMakeLists.txt | 11 +- fluid/CodeEditor.h | 2 +- fluid/Fd_Snap_Action.cxx | 2 +- fluid/Fl_Function_Type.cxx | 22 +- fluid/Fl_Type.cxx | 14 +- fluid/Fl_Type.h | 2 +- fluid/Fl_Widget_Type.cxx | 10 +- fluid/Fl_Widget_Type.h | 1 + fluid/Fl_Window_Type.cxx | 2 +- fluid/Makefile | 9 +- fluid/autodoc.cxx | 602 ++++ fluid/autodoc.h | 59 + fluid/code.cxx | 62 +- fluid/code.h | 4 +- fluid/codeview_panel.cxx | 548 ++++ ...{sourceview_panel.fl => codeview_panel.fl} | 286 +- fluid/codeview_panel.h | 58 + fluid/custom_widgets.cxx | 2 +- fluid/documentation/CMakeLists.txt | 232 ++ fluid/documentation/Doxyfile.in | 2485 +++++++++++++++++ fluid/documentation/convert_doxyfile | 44 + fluid/documentation/copyright.dox.in | 1 + fluid/documentation/generated.dox.in | 6 + fluid/documentation/make_header | 63 + fluid/documentation/make_pdf | 41 + fluid/documentation/src/1of7GUIs.png | Bin 0 -> 32692 bytes .../documentation}/src/cubeview.png | Bin fluid/documentation/src/edit_live_resize.png | Bin 0 -> 71715 bytes fluid/documentation/src/edit_outside.png | Bin 0 -> 20358 bytes fluid/documentation/src/edit_overlap.png | Bin 0 -> 20462 bytes fluid/documentation/src/edit_select_group.png | Bin 0 -> 74343 bytes .../src/edit_select_multiple.png | Bin 0 -> 27736 bytes fluid/documentation/src/edit_snap_grid.png | Bin 0 -> 18025 bytes fluid/documentation/src/edit_snap_group.png | Bin 0 -> 15375 bytes fluid/documentation/src/edit_snap_sibling.png | Bin 0 -> 16034 bytes fluid/documentation/src/edit_snap_size.png | Bin 0 -> 14755 bytes fluid/documentation/src/edit_window.png | Bin 0 -> 72016 bytes fluid/documentation/src/flBox.png | Bin 0 -> 453 bytes fluid/documentation/src/flClass.png | Bin 0 -> 176 bytes fluid/documentation/src/flCode.png | Bin 0 -> 120 bytes fluid/documentation/src/flCodeBlock.png | Bin 0 -> 210 bytes fluid/documentation/src/flComment.png | Bin 0 -> 154 bytes fluid/documentation/src/flData.png | Bin 0 -> 212 bytes fluid/documentation/src/flDeclaration.png | Bin 0 -> 165 bytes .../documentation/src/flDeclarationBlock.png | Bin 0 -> 217 bytes fluid/documentation/src/flFunction.png | Bin 0 -> 200 bytes fluid/documentation/src/flWidgetClass.png | Bin 0 -> 202 bytes fluid/documentation/src/flWindow.png | Bin 0 -> 488 bytes fluid/documentation/src/fluid-128.png | Bin 0 -> 10179 bytes fluid/documentation/src/fluid-title.tex.in | 35 + fluid/documentation/src/fluid1.png | Bin 0 -> 41825 bytes fluid/documentation/src/fluid2.png | Bin 0 -> 101220 bytes fluid/documentation/src/fluid3-cxx.png | Bin 0 -> 44546 bytes fluid/documentation/src/fluid4.png | Bin 0 -> 31481 bytes fluid/documentation/src/fluid_flow_chart.png | Bin 0 -> 83226 bytes .../src/fluid_flow_chart_800.png | Bin 0 -> 41559 bytes .../src/fluid_gui_overview_800.png | Bin 0 -> 334048 bytes fluid/documentation/src/index.dox | 118 + fluid/documentation/src/main_titlebar.png | Bin 0 -> 14952 bytes fluid/documentation/src/page_appendices.dox | 92 + .../documentation/src/page_codeview_panel.dox | 76 + fluid/documentation/src/page_commandline.dox | 124 + fluid/documentation/src/page_edit_window.dox | 179 ++ .../src/page_functional_nodes.dox | 450 +++ fluid/documentation/src/page_interactive.dox | 57 + fluid/documentation/src/page_introduction.dox | 69 + fluid/documentation/src/page_main_window.dox | 371 +++ .../documentation/src/page_setting_dialog.dox | 338 +++ fluid/documentation/src/page_tutorial.dox | 534 ++++ fluid/documentation/src/page_widget_panel.dox | 429 +++ .../src/page_widgetbin_panel.dox | 34 + fluid/documentation/src/widgetbin_action.png | Bin 0 -> 232128 bytes fluid/factory.cxx | 9 +- fluid/factory.h | 4 +- fluid/file.cxx | 12 +- fluid/file.h | 10 +- fluid/fluid.cxx | 80 +- fluid/fluid.h | 5 +- fluid/makedepend | 285 +- ...alignment_panel.cxx => settings_panel.cxx} | 46 +- .../{alignment_panel.fl => settings_panel.fl} | 16 +- fluid/{alignment_panel.h => settings_panel.h} | 6 +- fluid/shell_command.cxx | 2 +- fluid/sourceview_panel.cxx | 542 ---- fluid/sourceview_panel.h | 55 - fluid/widget_panel.cxx | 407 +-- fluid/widget_panel.fl | 66 +- fluid/widget_panel.h | 24 + src/Fl_Input_Choice.cxx | 23 +- src/Fl_get_system_colors.cxx | 18 +- 122 files changed, 7954 insertions(+), 3050 deletions(-) create mode 100644 .github/workflows/build_fluid_docs.yml rename documentation/src/{fluid-edit-global-fltk-settings.png => fltk-options.png} (100%) delete mode 100644 documentation/src/fluid-catgets.png delete mode 100644 documentation/src/fluid-edit-gui-settings.png delete mode 100644 documentation/src/fluid-edit-proj-settings.png delete mode 100644 documentation/src/fluid-gettext.png delete mode 100644 documentation/src/fluid-layout-grid-and-size-settings.png delete mode 100644 documentation/src/fluid-org.png delete mode 100644 documentation/src/fluid-org.xcf delete mode 100644 documentation/src/fluid.dox delete mode 100644 documentation/src/fluid1.png delete mode 100644 documentation/src/fluid2.png delete mode 100644 documentation/src/fluid3-cxx.png delete mode 100644 documentation/src/fluid3-gui.png delete mode 100644 documentation/src/fluid3-style.png delete mode 100644 documentation/src/fluid4.png delete mode 100644 documentation/src/fluid_widget_cxx.png delete mode 100644 documentation/src/fluid_widget_gui.png delete mode 100644 documentation/src/fluid_widget_style.png create mode 100644 fluid/autodoc.cxx create mode 100644 fluid/autodoc.h create mode 100644 fluid/codeview_panel.cxx rename fluid/{sourceview_panel.fl => codeview_panel.fl} (61%) create mode 100644 fluid/codeview_panel.h create mode 100644 fluid/documentation/CMakeLists.txt create mode 100644 fluid/documentation/Doxyfile.in create mode 100755 fluid/documentation/convert_doxyfile create mode 100644 fluid/documentation/copyright.dox.in create mode 100644 fluid/documentation/generated.dox.in create mode 100755 fluid/documentation/make_header create mode 100755 fluid/documentation/make_pdf create mode 100644 fluid/documentation/src/1of7GUIs.png rename {documentation => fluid/documentation}/src/cubeview.png (100%) create mode 100644 fluid/documentation/src/edit_live_resize.png create mode 100644 fluid/documentation/src/edit_outside.png create mode 100644 fluid/documentation/src/edit_overlap.png create mode 100644 fluid/documentation/src/edit_select_group.png create mode 100644 fluid/documentation/src/edit_select_multiple.png create mode 100644 fluid/documentation/src/edit_snap_grid.png create mode 100644 fluid/documentation/src/edit_snap_group.png create mode 100644 fluid/documentation/src/edit_snap_sibling.png create mode 100644 fluid/documentation/src/edit_snap_size.png create mode 100644 fluid/documentation/src/edit_window.png create mode 100644 fluid/documentation/src/flBox.png create mode 100644 fluid/documentation/src/flClass.png create mode 100644 fluid/documentation/src/flCode.png create mode 100644 fluid/documentation/src/flCodeBlock.png create mode 100644 fluid/documentation/src/flComment.png create mode 100644 fluid/documentation/src/flData.png create mode 100644 fluid/documentation/src/flDeclaration.png create mode 100644 fluid/documentation/src/flDeclarationBlock.png create mode 100644 fluid/documentation/src/flFunction.png create mode 100644 fluid/documentation/src/flWidgetClass.png create mode 100644 fluid/documentation/src/flWindow.png create mode 100644 fluid/documentation/src/fluid-128.png create mode 100644 fluid/documentation/src/fluid-title.tex.in create mode 100644 fluid/documentation/src/fluid1.png create mode 100644 fluid/documentation/src/fluid2.png create mode 100644 fluid/documentation/src/fluid3-cxx.png create mode 100644 fluid/documentation/src/fluid4.png create mode 100644 fluid/documentation/src/fluid_flow_chart.png create mode 100644 fluid/documentation/src/fluid_flow_chart_800.png create mode 100644 fluid/documentation/src/fluid_gui_overview_800.png create mode 100644 fluid/documentation/src/index.dox create mode 100644 fluid/documentation/src/main_titlebar.png create mode 100644 fluid/documentation/src/page_appendices.dox create mode 100644 fluid/documentation/src/page_codeview_panel.dox create mode 100644 fluid/documentation/src/page_commandline.dox create mode 100644 fluid/documentation/src/page_edit_window.dox create mode 100644 fluid/documentation/src/page_functional_nodes.dox create mode 100644 fluid/documentation/src/page_interactive.dox create mode 100644 fluid/documentation/src/page_introduction.dox create mode 100644 fluid/documentation/src/page_main_window.dox create mode 100644 fluid/documentation/src/page_setting_dialog.dox create mode 100644 fluid/documentation/src/page_tutorial.dox create mode 100644 fluid/documentation/src/page_widget_panel.dox create mode 100644 fluid/documentation/src/page_widgetbin_panel.dox create mode 100644 fluid/documentation/src/widgetbin_action.png rename fluid/{alignment_panel.cxx => settings_panel.cxx} (99%) rename fluid/{alignment_panel.fl => settings_panel.fl} (99%) rename fluid/{alignment_panel.h => settings_panel.h} (97%) delete mode 100644 fluid/sourceview_panel.cxx delete mode 100644 fluid/sourceview_panel.h diff --git a/.github/workflows/build_fluid_docs.yml b/.github/workflows/build_fluid_docs.yml new file mode 100644 index 000000000..57b30aff3 --- /dev/null +++ b/.github/workflows/build_fluid_docs.yml @@ -0,0 +1,84 @@ +# +# This script builds the FLUID User Handbook as html directory and pdf +# document on a Linux machine. +# + +name: 'Build FLUID User Handbook' + +# This job must be called explicitly form the 'Actions' tab in GitHub +on: [workflow_dispatch] + +permissions: + contents: read + +jobs: + build-html: + runs-on: ubuntu-latest + +## This can also run on macOS, but BasicTeX will not generate the pdf document +# runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install prerequisites + run: | + sudo apt-get update -y + sudo apt-get install -y libwayland-dev wayland-protocols libdbus-1-dev libxkbcommon-dev libpango1.0-dev libgtk-3-dev + sudo apt-get install -y doxygen + sudo apt-get install -y doxygen-latex + sudo apt-get install -y xvfb + sudo apt-get install -y x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic x11-apps + +## Use the following line when 1.10.0 becomes available on Ubuntu. On 4/14/24 it's 1.9.2 +# sudo apt-get install -y doxygen=1.10.0 + +## xvfb creates a headless X server for us, so we can render snapshot with FLUID + +## We need at least Doxygen on macOS. BasicTeX is not enough though. +# brew install doxygen +# brew install --cask basictex +# eval "$(/usr/libexec/path_helper)" + + - name: Create Build Environment + run: cmake -E make_directory ${{github.workspace}}/build + + - name: Configure CMake + shell: bash + working-directory: ${{github.workspace}}/build + run: | + cmake $GITHUB_WORKSPACE \ + -D CMAKE_BUILD_TYPE=Debug \ + -D CMAKE_CXX_STANDARD=11 \ + -D CMAKE_CXX_EXTENSIONS=OFF \ + -D CMAKE_C_FLAGS_INIT="-Wall -Wunused" \ + -D CMAKE_CXX_FLAGS_INIT="-Wall -Wunused -Wsuggest-override" \ + -D FLTK_BUILD_FLTK_OPTIONS=OFF \ + -D FLTK_BUILD_FLUID=ON \ + -D FLTK_BUILD_GL=OFF \ + -D FLTK_BUILD_TEST=OFF \ + -D FLTK_BUILD_FLUID_DOCS=ON + + - name: Build + working-directory: ${{github.workspace}}/build + shell: bash + run: | + Xvfb :19 -screen 0 1024x768x16 & + export DISPLAY=:19 + cmake --build . --config Debug --target fluid_docs + cmake --build . --config Debug --target fluid_pdf + - name: Store html docs as an artifact + uses: actions/upload-artifact@v4 + with: + name: fluid-html + path: build/fluid/documentation/html + retention-days: 3 + overwrite: true + - name: Store pdf docs as an artifact + uses: actions/upload-artifact@v4 + with: + name: fluid-pdf + path: build/fluid/documentation/fluid.pdf + retention-days: 3 + overwrite: true + diff --git a/CMake/options.cmake b/CMake/options.cmake index b242c5f40..c1aa0dcea 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake @@ -459,6 +459,8 @@ endif() if(DOXYGEN_FOUND) option(FLTK_BUILD_HTML_DOCS "build html docs" ON) option(FLTK_INSTALL_HTML_DOCS "install html docs" OFF) + option(FLTK_BUILD_FLUID_DOCS "build FLUID docs" OFF) + option(FLTK_INSTALL_FLUID_DOCS "install FLUID docs" OFF) option(FLTK_INCLUDE_DRIVER_DOCS "include driver (developer) docs" OFF) mark_as_advanced(FLTK_INCLUDE_DRIVER_DOCS) @@ -473,6 +475,10 @@ if(FLTK_BUILD_HTML_DOCS OR FLTK_BUILD_PDF_DOCS) add_subdirectory(documentation) endif(FLTK_BUILD_HTML_DOCS OR FLTK_BUILD_PDF_DOCS) +if(FLTK_BUILD_FLUID_DOCS) + add_subdirectory(fluid/documentation) +endif(FLTK_BUILD_FLUID_DOCS) + ####################################################################### # Include optional Cairo support ####################################################################### diff --git a/README.CMake.txt b/README.CMake.txt index b117b6b9f..a915b3b23 100644 --- a/README.CMake.txt +++ b/README.CMake.txt @@ -325,6 +325,12 @@ FLTK_BUILD_PDF_DOCS - default ON You can safely leave these two options ON if you want to save build time because the docs are not built automatically. +FLTK_BUILD_FLUID_DOCS - default OFF + If this option is ON, the FLUID user documentation will be built. If + FLTK_BUILD_PDF_DOCS is ON, the FLUID documentation will be generated + in PDF forma. To generate the screen shots used in the handbook, + the CMake build mode must be set to "Debug". + FLTK_INCLUDE_DRIVER_DOCS - default OFF This option adds driver documentation to HTML and PDF docs (if ON). This option is marked as "advanced" since it is only useful for FLTK developers @@ -332,9 +338,10 @@ FLTK_INCLUDE_DRIVER_DOCS - default OFF options above is ON as well. FLTK_INSTALL_HTML_DOCS - default OFF +FLTK_INSTALL_FLUID_DOCS - default OFF FLTK_INSTALL_PDF_DOCS - default OFF - If these options are ON then the HTML and/or PDF docs are installed - when the 'install' target is executed, e.g. with `make install'. You + If these options are ON then the HTML, FLUID, and/or PDF docs are installed + when the 'install' target is executed, e.g. with `make install'. You need to select above options FLTK_BUILD_*_DOCS as well. diff --git a/documentation/CMakeLists.txt b/documentation/CMakeLists.txt index 4d7b5174a..cf9699449 100644 --- a/documentation/CMakeLists.txt +++ b/documentation/CMakeLists.txt @@ -52,7 +52,7 @@ if(GENERATE_DOCS) # find git revision # FIXME: This must also work with tarballs where git is not available. - # For now we just ignore errors and set GIT_REVISION = "unkown". + # For now we just ignore errors and set GIT_REVISION = "unknown". # In the future tarball/zip generation should create a file # that contains the git revision. diff --git a/documentation/Doxyfile.in b/documentation/Doxyfile.in index 130dd1845..56df6bdcd 100644 --- a/documentation/Doxyfile.in +++ b/documentation/Doxyfile.in @@ -794,7 +794,6 @@ INPUT = @CMAKE_CURRENT_SOURCE_DIR@/src/index.dox \ @CMAKE_CURRENT_SOURCE_DIR@/src/events.dox \ @CMAKE_CURRENT_SOURCE_DIR@/src/subclassing.dox \ @CMAKE_CURRENT_SOURCE_DIR@/src/opengl.dox \ - @CMAKE_CURRENT_SOURCE_DIR@/src/fluid.dox \ @CMAKE_CURRENT_SOURCE_DIR@/src/fltk-options.dox \ @CMAKE_CURRENT_SOURCE_DIR@/src/advanced.dox \ @CMAKE_CURRENT_SOURCE_DIR@/src/unicode.dox \ diff --git a/documentation/Makefile b/documentation/Makefile index 0b176246b..6760e4622 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -36,7 +36,6 @@ HTMLFILES = \ $(SRC_DOCDIR)/events.dox \ $(SRC_DOCDIR)/subclassing.dox \ $(SRC_DOCDIR)/opengl.dox \ - $(SRC_DOCDIR)/fluid.dox \ $(SRC_DOCDIR)/fltk-options.dox \ $(SRC_DOCDIR)/advanced.dox \ $(SRC_DOCDIR)/unicode.dox \ diff --git a/documentation/src/examples.dox b/documentation/src/examples.dox index fa7bcd9e3..992b85523 100644 --- a/documentation/src/examples.dox +++ b/documentation/src/examples.dox @@ -252,7 +252,7 @@ and shows OpenGL text. \subsection examples_CubeView CubeView \par -\c CubeView shows how to create a UI containing OpenGL with Fluid. +\c CubeView shows how to create a UI containing OpenGL with FLUID. \subsection examples_cursor cursor @@ -577,7 +577,7 @@ come in handy. They remember any kind of data between program launches. \subsection examples_radio radio \par -The \c radio tool was created entirely with fluid. It +The \c radio tool was created entirely with FLUID. It shows some of the available button types and tests radio button behavior. @@ -658,7 +658,7 @@ The \c table demo shows the features of the Fl_Table widget. \subsection examples_tabs tabs \par -The \c tabs tool was created with fluid. It tests +The \c tabs tool was created with FLUID. It tests correct hiding and redisplaying of tabs, navigation across tabs, resize behavior, and no unneeded redrawing of invisible widgets. @@ -733,13 +733,13 @@ font draws each of the Unicode code points ranging between U+0020 and U+FFFF. while the focus stays in the original window. -\subsection examples_fluid fluid +\subsection examples_fluid FLUID \par -\c fluid is not only a big test program, but also a very -useful visual UI designer. Many parts of \c fluid were -created using \c fluid. See the \link fluid Fluid Tutorial \endlink -for more details. +\c FLUID is not only a big test program, but also a very +useful visual UI designer. Many parts of \c FLUID were +created using \c FLUID. Check out the FLUID User Manual and +the tutorials that come with it at https://www.fltk.org/documentation.php . diff --git a/documentation/src/fltk-options.dox b/documentation/src/fltk-options.dox index 047801507..20365d12c 100644 --- a/documentation/src/fltk-options.dox +++ b/documentation/src/fltk-options.dox @@ -41,8 +41,8 @@ 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 +\image html fltk-options.png "fltk-options Application" +\image latex fltk-options.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 @@ -67,9 +67,9 @@ A full list of options can be found in the manual at Fl::Fl_Option. diff --git a/documentation/src/osissues.dox b/documentation/src/osissues.dox index faf7178b7..43e29463e 100644 --- a/documentation/src/osissues.dox +++ b/documentation/src/osissues.dox @@ -968,7 +968,7 @@ internally in the same way. \subsection osissues_mac_files Mac File System Specifics -\par Resource Forks +\par Resource Forks (OS X pre 10.6) FLTK does not access the resource fork of an application. However, a minimal resource fork must be created for OS X diff --git a/documentation/src/preface.dox b/documentation/src/preface.dox index 67304fbd2..0bfc54c55 100644 --- a/documentation/src/preface.dox +++ b/documentation/src/preface.dox @@ -31,7 +31,6 @@ This manual is organized into the following chapters and appendices: \li \ref events \li \ref subclassing \li \ref opengl -\li \ref fluid \li \ref fltk-options \li \ref advanced \li \ref unicode diff --git a/documentation/src/subclassing.dox b/documentation/src/subclassing.dox index bbf750b15..e37924bf9 100644 --- a/documentation/src/subclassing.dox +++ b/documentation/src/subclassing.dox @@ -40,9 +40,7 @@ The constructor should have the following arguments: MyClass(int x, int y, int w, int h, const char *label = 0); \endcode -This will allow the class to be used in -\ref fluid "FLUID" -without problems. +This will allow the class to be used in FLUID without problems. The constructor must call the constructor for the base class and pass the same arguments: diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt index bb3b9fe51..b9065616b 100644 --- a/fluid/CMakeLists.txt +++ b/fluid/CMakeLists.txt @@ -37,7 +37,8 @@ set(CPPFILES Fluid_Image.cxx about_panel.cxx align_widget.cxx - alignment_panel.cxx + settings_panel.cxx + autodoc.cxx code.cxx custom_widgets.cxx factory.cxx @@ -47,7 +48,7 @@ set(CPPFILES mergeback.cxx pixmaps.cxx shell_command.cxx - sourceview_panel.cxx + codeview_panel.cxx template_panel.cxx undo.cxx widget_browser.cxx @@ -71,19 +72,19 @@ set(HEADERFILES StyleParse.h about_panel.h align_widget.h - alignment_panel.h + settings_panel.h + autodoc.h code.h comments.h custom_widgets.h factory.h file.h - fluid.h function_panel.h mergeback.h print_panel.h pixmaps.h shell_command.h - sourceview_panel.h + codeview_panel.h template_panel.h undo.h widget_browser.h diff --git a/fluid/CodeEditor.h b/fluid/CodeEditor.h index 9886705aa..9cfa50abe 100644 --- a/fluid/CodeEditor.h +++ b/fluid/CodeEditor.h @@ -72,7 +72,7 @@ public: /** A widget derived from CodeEditor with highlighting for code blocks. - This widget is used by the SourceView system to show the design's + This widget is used by the codeview system to show the design's source and header code. The secondary highlighting show the text part that corresponds to the selected widget(s). */ diff --git a/fluid/Fd_Snap_Action.cxx b/fluid/Fd_Snap_Action.cxx index ffd944cd8..ce3d6f082 100644 --- a/fluid/Fd_Snap_Action.cxx +++ b/fluid/Fd_Snap_Action.cxx @@ -17,7 +17,7 @@ #include "Fd_Snap_Action.h" #include "Fl_Group_Type.h" -#include "alignment_panel.h" +#include "settings_panel.h" #include "shell_command.h" // get and set Fl_String preferences #include "file.h" diff --git a/fluid/Fl_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index 6dc9fc927..22bcf7265 100644 --- a/fluid/Fl_Function_Type.cxx +++ b/fluid/Fl_Function_Type.cxx @@ -1279,7 +1279,7 @@ void Fl_Data_Type::write_code1(Fd_Code_Writer& f) { int nData = -1; int uncompressedDataSize = 0; // path should be set correctly already - if (filename_ && !f.write_sourceview) { + if (filename_ && !f.write_codeview) { enter_project_dir(); FILE *f = fl_fopen(filename_, "rb"); leave_project_dir(); @@ -1395,8 +1395,8 @@ void Fl_Data_Type::write_code1(Fd_Code_Writer& f) { } } // if we are in interactive mode, we pop up a warning dialog - // giving the error: (batch_mode && !write_sourceview) ??? - if (message && !f.write_sourceview) { + // giving the error: (batch_mode && !write_codeview) ??? + if (message && !f.write_codeview) { if (batch_mode) fprintf(stderr, "FLUID ERROR: %s %s\n", message, fn); else @@ -1535,9 +1535,11 @@ BREAK2: */ void Fl_DeclBlock_Type::write_code1(Fd_Code_Writer& f) { const char* c = name(); - if (public_) - f.write_h("%s\n", c); - f.write_c("%s\n", c); + if (c && *c) { + if (public_) + f.write_h("%s\n", c); + f.write_c("%s\n", c); + } } /** @@ -1545,9 +1547,11 @@ void Fl_DeclBlock_Type::write_code1(Fd_Code_Writer& f) { */ void Fl_DeclBlock_Type::write_code2(Fd_Code_Writer& f) { const char* c = after; - if (public_) - f.write_h("%s\n", c); - f.write_c("%s\n", c); + if (c && *c) { + if (public_) + f.write_h("%s\n", c); + f.write_c("%s\n", c); + } } // ---- Fl_Comment_Type declaration diff --git a/fluid/Fl_Type.cxx b/fluid/Fl_Type.cxx index e1b184327..a649ea311 100644 --- a/fluid/Fl_Type.cxx +++ b/fluid/Fl_Type.cxx @@ -696,8 +696,8 @@ void Fl_Type::move_before(Fl_Type* g) { // write a widget and all its children: void Fl_Type::write(Fd_Project_Writer &f) { - if (f.write_sourceview()) proj1_start = (int)ftell(f.file()) + 1; - if (f.write_sourceview()) proj2_start = (int)ftell(f.file()) + 1; + if (f.write_codeview()) proj1_start = (int)ftell(f.file()) + 1; + if (f.write_codeview()) proj2_start = (int)ftell(f.file()) + 1; f.write_indent(level); f.write_word(type_name()); @@ -712,9 +712,9 @@ void Fl_Type::write(Fd_Project_Writer &f) { write_properties(f); if (parent) parent->write_parent_properties(f, this, true); f.write_close(level); - if (f.write_sourceview()) proj1_end = (int)ftell(f.file()); + if (f.write_codeview()) proj1_end = (int)ftell(f.file()); if (!is_parent()) { - if (f.write_sourceview()) proj2_end = (int)ftell(f.file()); + if (f.write_codeview()) proj2_end = (int)ftell(f.file()); return; } // now do children: @@ -722,9 +722,9 @@ void Fl_Type::write(Fd_Project_Writer &f) { Fl_Type *child; for (child = next; child && child->level > level; child = child->next) if (child->level == level+1) child->write(f); - if (f.write_sourceview()) proj2_start = (int)ftell(f.file()) + 1; + if (f.write_codeview()) proj2_start = (int)ftell(f.file()) + 1; f.write_close(level); - if (f.write_sourceview()) proj2_end = (int)ftell(f.file()); + if (f.write_codeview()) proj2_end = (int)ftell(f.file()); } void Fl_Type::write_properties(Fd_Project_Writer &f) { @@ -1092,7 +1092,7 @@ Fl_Type *Fl_Type::find_by_uid(unsigned short uid) { return NULL; } -/** Find a type node by using the sourceview text positions. +/** Find a type node by using the codeview text positions. \param[in] text_type 0=source file, 1=header, 2=.fl project file \param[in] crsr cursor position in text diff --git a/fluid/Fl_Type.h b/fluid/Fl_Type.h index 39a9bb30b..67e7c8965 100644 --- a/fluid/Fl_Type.h +++ b/fluid/Fl_Type.h @@ -146,7 +146,7 @@ public: // things that should not be public: Fl_Type *factory; const char *callback_name(Fd_Code_Writer& f); - // text positions of this type in code, header, and project file (see SourceView) + // text positions of this type in code, header, and project file (see codeview) int code_static_start, code_static_end; int code1_start, code1_end; int code2_start, code2_end; diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx index 310792d0c..485cb8d8f 100644 --- a/fluid/Fl_Widget_Type.cxx +++ b/fluid/Fl_Widget_Type.cxx @@ -24,7 +24,7 @@ #include "file.h" #include "code.h" #include "Fluid_Image.h" -#include "alignment_panel.h" +#include "settings_panel.h" #include "widget_panel.h" #include "undo.h" #include "mergeback.h" @@ -383,7 +383,7 @@ void name_public_cb(Fl_Choice* i, void* v) { /* Treating UNDO for text widget. Goal: we want to continuously update the UI while the user is typing text - (changing the label, in this case). Source View does deferred updates, and + (changing the label, in this case). Code View does deferred updates, and the widget browser and widget panel update on every keystroke. At the same time, we want to limit undo actions to few and logical units. @@ -2727,7 +2727,7 @@ void Fl_Widget_Type::open() { extern void redraw_overlays(); extern void check_redraw_corresponding_parent(Fl_Type*); extern void redraw_browser(); -extern void update_sourceview_position(); +extern void update_codeview_position(); // Called when ui changes what objects are selected: // p is selected object, null for all deletions (we must throw away @@ -2761,8 +2761,8 @@ void selection_changed(Fl_Type *p) { redraw_overlays(); // load the panel with the new settings: load_panel(); - // update the source viewer to show the code for the selected object - update_sourceview_position(); + // update the code viewer to show the code for the selected object + update_codeview_position(); } //////////////////////////////////////////////////////////////// diff --git a/fluid/Fl_Widget_Type.h b/fluid/Fl_Widget_Type.h index b1773a501..40470c544 100644 --- a/fluid/Fl_Widget_Type.h +++ b/fluid/Fl_Widget_Type.h @@ -127,5 +127,6 @@ public: void redraw(); }; +extern Fl_Window *the_panel; #endif // _FLUID_FL_WIDGET_TYPE_H diff --git a/fluid/Fl_Window_Type.cxx b/fluid/Fl_Window_Type.cxx index bc848ed75..b68af4406 100644 --- a/fluid/Fl_Window_Type.cxx +++ b/fluid/Fl_Window_Type.cxx @@ -25,7 +25,7 @@ #include "fluid.h" #include "widget_browser.h" #include "undo.h" -#include "alignment_panel.h" +#include "settings_panel.h" #include "file.h" #include "code.h" #include "widget_panel.h" diff --git a/fluid/Makefile b/fluid/Makefile index 75a785e71..eb5b8c192 100644 --- a/fluid/Makefile +++ b/fluid/Makefile @@ -31,7 +31,8 @@ CPPFILES = \ Fluid_Image.cxx \ about_panel.cxx \ align_widget.cxx \ - alignment_panel.cxx \ + settings_panel.cxx \ + autodoc.cxx \ code.cxx \ custom_widgets.cxx \ factory.cxx \ @@ -42,7 +43,7 @@ CPPFILES = \ mergeback.cxx \ pixmaps.cxx \ shell_command.cxx \ - sourceview_panel.cxx \ + codeview_panel.cxx \ template_panel.cxx \ undo.cxx \ widget_browser.cxx \ @@ -141,9 +142,9 @@ uninstall-osx: rebuild: fluid$(EXEEXT) echo 'Rebuilding fluid (.fl) and .cxx/.h files from .fl files ...' ./fluid$(EXEEXT) -u -c about_panel.fl - ./fluid$(EXEEXT) -u -c alignment_panel.fl + ./fluid$(EXEEXT) -u -c settings_panel.fl ./fluid$(EXEEXT) -u -c function_panel.fl ./fluid$(EXEEXT) -u -c print_panel.fl - ./fluid$(EXEEXT) -u -c sourceview_panel.fl + ./fluid$(EXEEXT) -u -c codeview_panel.fl ./fluid$(EXEEXT) -u -c template_panel.fl ./fluid$(EXEEXT) -u -c widget_panel.fl diff --git a/fluid/autodoc.cxx b/fluid/autodoc.cxx new file mode 100644 index 000000000..63818d8af --- /dev/null +++ b/fluid/autodoc.cxx @@ -0,0 +1,602 @@ +// +// Self-generate snapshots of user interface for FLUID documentation. +// +// Copyright 2024 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +#ifndef NDEBUG + +#include "autodoc.h" +#include "fluid.h" +#include "factory.h" +#include "widget_browser.h" +#include "widget_panel.h" +#include "Fl_Widget_Type.h" +#include "Fl_Window_Type.h" +#include "function_panel.h" +#include "settings_panel.h" +#include "codeview_panel.h" + +#include +#include +#include +#include +#include + +extern Fl_Double_Window *settings_window; + +/** \file autodoc.cxx + + \todo Implement a function to snapshot a window including decoration + - see: void Fl_Widget_Surface::draw_decorated_window(Fl_Window *win, int win_offset_x, int win_offset_y) + - see: void Fl_Widget_Surface::origin(int x, int y) + - see: void Fl_Widget_Surface::draw(Fl_Widget* widget, int delta_x, int delta_y) + - see: void Fl_Widget_Surface::print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x, int delta_y) + + \todo Implement a version that snaps multiple windows in a desktop style situation. + + \todo a version that takes snapshots of a range of menu items + + \todo implement FL_SNAP_TO_GROUP, possibly with a number on how many groups up in the hierarchy + */ + +/** \addtogroup fl_drawings + @{ + */ + +const int FL_SNAP_TO_WINDOW = 0x7f000000; + +static Fl_Box snap_clear_(0, 0, 0, 0); +Fl_Widget *FL_SNAP_AREA_CLEAR = &snap_clear_; + +static inline int fl_min(int a, int b) { return a < b ? a : b; } +static inline uchar fl_min(uchar a, uchar b) { return a < b ? a : b; } +static inline int fl_max(int a, int b) { return a > b ? a : b; } + +/** + Create a rect by providing a margin around a zero size rectangle. + \param[in] dx, dy positive integers, move margin up and left + \param[in] dr, db move margin to the right and down + */ +Fl_Margin::Fl_Margin(int dx, int dy, int dr, int db) + : Fl_Rect(-dx, -dy, dx+dr, dy+db) +{ +} + +/** + Convert an RGB image into an RGBA image. + \param[inout] image pointer to an RGB image, deletes the RGB image, returns the RGBA image + \return 0 if the image is now in RGBA format, or -1 if it can't be converted + */ +static int convert_RGB_to_RGBA(Fl_RGB_Image *&img) { + if (img->d() == 4) + return 0; + if (img->d() != 3) + return -1; + + // Copy pixel data from RGB to RGBA raw data + int img_w = img->w(); + int img_h = img->h(); + uchar *data = new uchar[img_w * img_h * 4], *dst = data; + int ld = img->ld(); if (ld == 0) ld = img_w * 3; + int i, j; + for (i=0; idata()[0] + i * ld; + for (j=0; jd() != 4) + return; + if (dx > img->w()) + return; + if (dx > 0) { + int max_x = dx, max_y = img->h(); + int ld = img->ld(); if (ld == 0) ld = img->w() * img->d(); + float a = 255/max_x; + for (int i = 0; i < max_x; i++) { + uchar *rgba = (uchar*)img->data()[0] + i * img->d(); + uchar alpha = static_cast(i * a); + for (int j = 0; j < max_y; j++) { + rgba[3] = fl_min(alpha, rgba[3]); + rgba += ld; + } + } + } +} + +/** + Blend the top lines of the alpha channel of an RBGA image to full transparency. + \param[in] img must be an RGBA image + \param[in] dy number of lines to blend + */ +void blend_alpha_top(const Fl_RGB_Image *img, int dy) { + if (img->d() != 4) + return; + if (dy > img->h()) + return; + if (dy > 0) { + int max_x = img->w(), max_y = dy; + int ld = img->ld(); if (ld == 0) ld = img->w() * img->d(); + float a = 255/max_y; + for (int i = 0; i < max_y; i++) { + uchar *rgba = (uchar*)img->data()[0] + i * ld; + uchar alpha = static_cast(i * a); + for (int j = 0; j < max_x; j++) { + rgba[3] = fl_min(alpha, rgba[3]); + rgba += 4; + } + } + } +} + +/** + Blend the right side lines of the alpha channel of an RBGA image to full transparency. + \param[in] img must be an RGBA image + \param[in] dx number of lines to blend + */ +void blend_alpha_right(const Fl_RGB_Image *img, int dx) { + if (img->d() != 4) + return; + if (dx > img->w()) + return; + if (dx > 0) { + int max_x = dx, max_y = img->h(); + int ld = img->ld(); if (ld == 0) ld = img->w() * img->d(); + float a = 255/max_x; + for (int i = 0; i < max_x; i++) { + uchar *rgba = (uchar*)img->data()[0] + (img->w()-i-1) * img->d(); + uchar alpha = static_cast(i * a); + for (int j = 0; j < max_y; j++) { + rgba[3] = fl_min(alpha, rgba[3]); + rgba += ld; + } + } + } +} + +/** + Blend the bottom lines of the alpha channel of an RBGA image to full transparency. + \param[in] img must be an RGBA image + \param[in] dy number of lines to blend + */ +void blend_alpha_bottom(const Fl_RGB_Image *img, int dy) { + if (img->d() != 4) + return; + if (dy > img->h()) + return; + if (dy > 0) { + int max_x = img->w(), max_y = dy; + int ld = img->ld(); if (ld == 0) ld = img->w() * img->d(); + float a = 255/max_y; + for (int i = 0; i < max_y; i++) { + uchar *rgba = (uchar*)img->data()[0] + (img->h()-i-1) * ld; + uchar alpha = static_cast(i * a); + for (int j = 0; j < max_x; j++) { + rgba[3] = fl_min(alpha, rgba[3]); + rgba += 4; + } + } + } +} + +/** + Take a snapshot of a number of widgets and save it as a png image. + + Draw a rectangular snapshot that fits around all widgets inside a window. + All widgets must be inside the same window. It's up to the caller to ensure + that widgets are visible. This includes children of `Fl_Tabs`. + + Outside labels of widgets are not taken into account, but a `frame` can be + provided to grow the snapshot rectangle. Setting individual parameters of the + frame to `FL_SNAP_TO_WINDOW` will extend the snapshot to the borders of the + top level window. + + Another `blend` frame can be added around the image that fades to full + transparency on selected sides. + + Use `Fl_Margin` to create `frame` and `blend` using positive integers to grow + the rectangle to the left, top, right, and bottom. + + The image can be scaled after all processing. Note that snapshot is always + created in FLTK resolution, even if the screen uses a higher resolution. + + \param[in] filename the snapshot will be written to this file in png format + \param[in] w draw a bounding box around all widgets in the NULL terminated list + \param[in] frame add a margin around the bounding box + \param[in] blend add another margin around the bounding box that fades to full transparency + \param[in] scale scale everything by this factor before saving it + \return the result of fl_write_png or -3 if another error occurred + */ +int fl_snapshot(const char *filename, Fl_Widget **w, + const Fl_Rect &frame, + const Fl_Rect &blend, + double scale) +{ + int i, min_x = 0, min_y = 0, max_x = 0, max_y = 0, bb_w, bb_h, img_w, img_h; + + // Get the bounding box for all widgets and make sure that all widgets are shown + for (i=0; w[i]; i++) { + int x, y; + Fl_Widget *ww = w[i]; + if (ww == FL_SNAP_AREA_CLEAR) { + min_x = max_x = 0; + min_y = max_y = 0; + } else { + ww->top_window_offset(x, y); + if (i==0) { + min_x = x; max_x = x + ww->w(); + min_y = y; max_y = y + ww->h(); + } else { + min_x = fl_min(min_x, x); max_x = fl_max(max_x, x + ww->w()); + min_y = fl_min(min_y, y); max_y = fl_max(max_y, y + ww->h()); + } + } + + // this does not help us with Fl_Tab groups + while (ww) { ww->show(); ww = ww->parent(); } + } + + // Check for special values in frame and adjust bounding box + Fl_Rect c_frame = frame; + if (frame.x() == -FL_SNAP_TO_WINDOW) c_frame.x(-min_x); + if (frame.y() == -FL_SNAP_TO_WINDOW) c_frame.y(-min_y); + if (frame.r() == FL_SNAP_TO_WINDOW) c_frame.r(w[0]->top_window()->w()-max_x); + if (frame.b() == FL_SNAP_TO_WINDOW) c_frame.b(w[0]->top_window()->h()-max_y); + + min_x += c_frame.x(); max_x += c_frame.r(); + min_y += c_frame.y(); max_y += c_frame.b(); + bb_w = max_x - min_x; bb_h = max_y - min_y; + img_w = bb_w + blend.w(); + img_h = bb_h + blend.h(); + + // Generate the Image Surface + Fl_Image_Surface *srfc = new Fl_Image_Surface(img_w, img_h); + Fl_Image_Surface::push_current(srfc); + + // Draw the background + fl_rectf(0, 0, img_w, img_h, 0x1395bf00); + + // Draw the top level window + srfc->draw(w[0]->top_window(), -blend.x()-min_x, -blend.y()-min_y); + Fl_Image_Surface::pop_current(); + Fl_RGB_Image *img = srfc->image(); + + // Do we want an alpha blended extension of the frame? + if ((blend.x()<0 || blend.y()<0 || blend.r()>0 || blend.b()>0)) { + if (convert_RGB_to_RGBA(img) == -1) { + delete img; + delete srfc; + return -3; + } + if (blend.x() < 0) blend_alpha_left(img, -blend.x()); + if (blend.y() < 0) blend_alpha_top(img, -blend.y()); + if (blend.r() > 0) blend_alpha_right(img, blend.r()); + if (blend.b() > 0) blend_alpha_bottom(img, blend.b()); + } + + // If scale is set, scale the image + if (scale != 1.0) { + Fl_Image::scaling_algorithm(FL_RGB_SCALING_BILINEAR); + Fl_RGB_Image *scaled_img = (Fl_RGB_Image*)img->copy(img->w()*scale, img->h()*scale); + delete img; + img = scaled_img; + } + + // Write the image to disk + int ret = fl_write_png(filename, img); + + // Clean up + delete img; + delete srfc; + return ret; +} + +/** + Take a snapshot of the size of the bounding box around two widgets and save it as a png image. + + \param[in] filename the snapshot will be written to this file in png format + \param[in] w1, w2 top left and bottom right widget + \param[in] frame add a margin around the bounding box + \param[in] blend add another margin around the bounding box that fades to full transparency + \param[in] scale scale everything by this factor before saving it + \return the result of fl_write_png or -3 if another error occurred + + \see fl_snapshot(const char*, Fl_Widget**, const Fl_Rect&, const Fl_Rect&, double) + */ +int fl_snapshot(const char *filename, Fl_Widget *w1, Fl_Widget *w2, + const Fl_Rect &frame, + const Fl_Rect &blend, + double scale) +{ + Fl_Widget *ww[3] = { w1, w2, NULL }; + return fl_snapshot(filename, ww, frame, blend, scale); +} + +/** + Take a snapshot of a widget inside its window and save it as a png image. + + \param[in] filename the snapshot will be written to this file in png format + \param[in] w snap this window, can also be a groups + \param[in] frame add a margin around the bounding box + \param[in] blend add another margin around the bounding box that fades to full transparency + \param[in] scale scale everything by this factor before saving it + \return the result of fl_write_png or -3 if another error occurred + + \see fl_snapshot(const char*, Fl_Widget**, const Fl_Rect&, const Fl_Rect&, double) + */ +int fl_snapshot(const char *filename, Fl_Widget *w, + const Fl_Rect &frame, + const Fl_Rect &blend, + double scale) +{ + Fl_Widget *ww[2] = { w, NULL }; + return fl_snapshot(filename, ww, frame, blend, scale); +} + +/** @} */ + + +void run_autodoc(const Fl_String &target_dir) { + // A list of all the margins we will use later + Fl_Margin win_margin(0, 0, 0, 0); + Fl_Margin win_blend(10, 10, 10, 10); + Fl_Margin tab_margin(FL_SNAP_TO_WINDOW, 32, FL_SNAP_TO_WINDOW, 4); + Fl_Margin xtab_margin(FL_SNAP_TO_WINDOW, 50, FL_SNAP_TO_WINDOW, 4); + Fl_Margin row_margin(FL_SNAP_TO_WINDOW, 4, FL_SNAP_TO_WINDOW, 4); + Fl_Margin xrow_margin(FL_SNAP_TO_WINDOW, 14, FL_SNAP_TO_WINDOW, 4); + Fl_Margin row_blend(0, 10, 0, 10); + +// Fl::scheme("gtk+"); + + // Create a silly project that contains all widgets that we want to document + new_project(false); + + /*Fl_Type *t_func = */ add_new_widget_from_user("Function", kAddAsLastChild, false); + Fl_Window_Type *t_win = (Fl_Window_Type*)add_new_widget_from_user("Fl_Window", kAddAsLastChild, false); + t_win->label("My Main Window"); + Fl_Widget_Type *t_grp = (Fl_Widget_Type*)add_new_widget_from_user("Fl_Group", kAddAsLastChild, false); + t_grp->public_ = 0; + Fl_Widget_Type *t_btn = (Fl_Widget_Type*)add_new_widget_from_user("Fl_Button", kAddAsLastChild, false); + t_btn->comment("Don't press this button!"); + t_btn->name("emergency_btn"); + ((Fl_Button*)t_btn->o)->shortcut(FL_COMMAND|'g'); + Fl_Type *t_sldr = add_new_widget_from_user("Fl_Slider", kAddAsLastChild, false); + Fl_Type *t_inp = add_new_widget_from_user("Fl_Input", kAddAsLastChild, false); + Fl_Type *t_flx = add_new_widget_from_user("Fl_Flex", kAddAsLastChild, false); + Fl_Type *t_flxc = add_new_widget_from_user("Fl_Button", kAddAsLastChild, false); + select_only(t_grp); + Fl_Type *t_grd = add_new_widget_from_user("Fl_Grid", kAddAsLastChild, false); + Fl_Type *t_grdc = add_new_widget_from_user("Fl_Button", kAddAsLastChild, false); + + widget_browser->rebuild(); + g_project.update_settings_dialog(); + + // TODO: FLUID overview + + // TODO: explain FLUID command line usage + + // TODO: take a snapshot of FLUID in a desktop situation + // (main, toolbar, document, widget editor, code view) + + // ---- main window + // explain titlebar + // explain menubar? + // explain widget browser + // explain widget browser entry + main_window->size(350, 320); + fl_snapshot((target_dir + "main_window.png").c_str(), main_window, win_margin, win_blend); + fl_snapshot((target_dir + "main_menubar.png").c_str(), main_menubar, row_margin, row_blend); + fl_snapshot((target_dir + "main_browser.png").c_str(), widget_browser, FL_SNAP_AREA_CLEAR, + Fl_Rect(0, 30, FL_SNAP_TO_WINDOW, 100), row_blend, 2.0); + + + // TODO: document view + // explain dnd + // explain selection, multiple selection, keyboard shortcuts + // explain mouse functionality and alignment + // explain live resize + // arrow: move by 1 + // shift: resize by one + // Meta: move by Widget Gap + // Shift Meta: resize by Widget Increment + + // ---- widget bin + // show grouping + // explain non-widget types and where they will be located + // explain widgets types an their dnd option + // explain menu arrays + // list exceptions (subwindow, scroll) + if (!widgetbin_panel) make_widgetbin(); + fl_snapshot((target_dir + "widgetbin_panel.png").c_str(), widgetbin_panel, win_margin, win_blend); + + // ---- code view + // explain functionality + // explain live update and choices + // show various tabs + // explain find and locate + if (!codeview_panel) make_codeview(); + update_codeview_cb(NULL, NULL); + cv_tab->value(cv_source_tab); + fl_snapshot((target_dir + "codeview_panel.png").c_str(), codeview_panel, win_margin, win_blend); + fl_snapshot((target_dir + "cv_find_row.png").c_str(), cv_find_row, row_margin, row_blend); + fl_snapshot((target_dir + "cv_settings_row.png").c_str(), cv_settings_row, row_margin, row_blend); + + // ---- settings dialog + // show and explain all tabs + fl_snapshot((target_dir + "w_settings.png").c_str(), settings_window, win_margin, win_blend); + fl_snapshot((target_dir + "w_settings_general_tab.png").c_str(), w_settings_general_tab, xtab_margin, row_blend); + w_settings_tabs->value(w_settings_project_tab); + fl_snapshot((target_dir + "w_settings_project_tab.png").c_str(), w_settings_project_tab, xtab_margin, row_blend); + w_settings_tabs->value(w_settings_layout_tab); + fl_snapshot((target_dir + "w_settings_layout_tab.png").c_str(), w_settings_layout_tab, xtab_margin, row_blend); + w_settings_tabs->value(w_settings_shell_tab); + w_settings_shell_list->value(1); + w_settings_shell_list->do_callback(); + fl_snapshot((target_dir + "w_settings_shell_tab.png").c_str(), w_settings_shell_tab, xtab_margin, row_blend); + w_settings_tabs->value(w_settings_i18n_tab); + i18n_type_chooser->value(1); + i18n_type_chooser->do_callback(); + fl_snapshot((target_dir + "w_settings_i18n_gnu.png").c_str(), i18n_type_chooser, i18n_gnu_static_function_input, row_margin, row_blend); + i18n_type_chooser->value(2); + i18n_type_chooser->do_callback(); + fl_snapshot((target_dir + "w_settings_i18n_psx.png").c_str(), i18n_type_chooser, i18n_pos_set_input, row_margin, row_blend); + w_settings_tabs->value(w_settings_user_tab); + fl_snapshot((target_dir + "w_settings_user_tab.png").c_str(), w_settings_user_tab, xtab_margin, row_blend); + + + // ---- dialog types + // list and show all non-widget types and their respective dialog boxes + + // -- ID_Function + Fl_Window *adoc_function_panel = make_function_panel(); + f_name_input->value("count_trees(const char *forest_name)"); + f_return_type_input->value("unsigned int"); + fl_snapshot((target_dir + "function_panel.png").c_str(), adoc_function_panel, win_margin, win_blend); + adoc_function_panel->hide(); + + // -- ID_Code + Fl_Window *adoc_code_panel = make_code_panel(); + code_input->buffer()->text("// increment user count\nif (new_user) {\n user_count++;\n}\n"); + fl_snapshot((target_dir + "code_panel.png").c_str(), adoc_code_panel, win_margin, win_blend); + adoc_code_panel->hide(); + + // -- ID_CodeBlock + Fl_Window *adoc_codeblock_panel = make_codeblock_panel(); + code_before_input->value("if (test())"); + code_after_input->value("// test widgets added..."); + fl_snapshot((target_dir + "codeblock_panel.png").c_str(), adoc_codeblock_panel, win_margin, win_blend); + adoc_codeblock_panel->hide(); + + // -- ID_Decl + Fl_Window *adoc_decl_panel = make_decl_panel(); + decl_class_choice->hide(); + decl_input->buffer()->text("const char *damage = \"'tis but a scratch\";"); + fl_snapshot((target_dir + "decl_panel.png").c_str(), adoc_decl_panel, win_margin, win_blend); + adoc_decl_panel->hide(); + + // -- ID_DeclBlock + Fl_Window *adoc_declblock_panel = make_declblock_panel(); + decl_before_input->value("#ifdef NDEBUG"); + decl_after_input->value("#endif // NDEBUG"); + fl_snapshot((target_dir + "declblock_panel.png").c_str(), adoc_declblock_panel, win_margin, win_blend); + adoc_declblock_panel->hide(); + + // -- ID_Class + Fl_Window *adoc_class_panel = make_class_panel(); + decl_class_choice->hide(); + c_name_input->value("Zoo_Giraffe"); + c_subclass_input->value("Zoo_Animal"); + fl_snapshot((target_dir + "class_panel.png").c_str(), adoc_class_panel, win_margin, win_blend); + adoc_class_panel->hide(); + + // -- ID_Widget_Class is handled like Fl_Window_Type + + // -- ID_Comment + Fl_Window *adoc_comment_panel = make_comment_panel(); + comment_input->buffer()->text("Make sure that the giraffe gets enough hay,\nbut the monkey can't reach it."); + fl_snapshot((target_dir + "comment_panel.png").c_str(), adoc_comment_panel, win_margin, win_blend); + adoc_comment_panel->hide(); + + // -- ID_Data + Fl_Window *adoc_data_panel = make_data_panel(); + data_class_choice->hide(); + data_input->value("emulated_ROM"); + data_filename->value("./ROM.bin"); + fl_snapshot((target_dir + "data_panel.png").c_str(), adoc_data_panel, win_margin, win_blend); + adoc_data_panel->hide(); + + + // ---- widget dialog + t_win->open(); // open the window + t_win->open(); // open the panel + select_only(t_win); + + // -- snapshot of the widget properties panel + fl_snapshot((target_dir + "widget_panel.png").c_str(), the_panel, win_margin, win_blend); + fl_snapshot((target_dir + "wLiveMode.png").c_str(), wLiveMode, row_margin, row_blend); + + // -- snapshot of the GUI tab + widget_tabs->value(wp_gui_tab); + fl_snapshot((target_dir + "wp_gui_tab.png").c_str(), wp_gui_tab, tab_margin, row_blend); + fl_snapshot((target_dir + "wp_gui_label.png").c_str(), wp_gui_label, row_margin, row_blend); + select_only(t_btn); + fl_snapshot((target_dir + "wp_gui_image.png").c_str(), widget_image_input, widget_deimage_input, row_margin, row_blend); + fl_snapshot((target_dir + "wp_gui_alignment.png").c_str(), wp_gui_alignment, row_margin, row_blend); + fl_snapshot((target_dir + "wp_gui_size.png").c_str(), widget_x_input, xrow_margin, row_blend); + select_only(t_sldr); + fl_snapshot((target_dir + "wp_gui_values.png").c_str(), wp_gui_values, xrow_margin, row_blend); + select_only(t_flxc); + fl_snapshot((target_dir + "wp_gui_flexp.png").c_str(), wp_gui_flexp, xrow_margin, row_blend); + select_only(t_flx); + fl_snapshot((target_dir + "wp_gui_margins.png").c_str(), wp_gui_margins, xrow_margin, row_blend); + select_only(t_win); + fl_snapshot((target_dir + "wp_gui_sizerange.png").c_str(), wp_gui_sizerange, xrow_margin, row_blend); + select_only(t_btn); + fl_snapshot((target_dir + "wp_gui_shortcut.png").c_str(), wp_gui_shortcut, row_margin, row_blend); + select_only(t_win); + fl_snapshot((target_dir + "wp_gui_xclass.png").c_str(), wp_gui_xclass, row_margin, row_blend); + select_only(t_btn); + fl_snapshot((target_dir + "wp_gui_attributes.png").c_str(), wp_gui_attributes, row_margin, row_blend); + fl_snapshot((target_dir + "wp_gui_tooltip.png").c_str(), wp_gui_tooltip, row_margin, row_blend); + + // -- snapshot of the style tab + widget_tabs->value(wp_style_tab); + select_only(t_inp); + fl_snapshot((target_dir + "wp_style_tab.png").c_str(), wp_style_tab, tab_margin, row_blend); + fl_snapshot((target_dir + "wp_style_label.png").c_str(), wp_style_label, row_margin, row_blend); + select_only(t_btn); + fl_snapshot((target_dir + "wp_style_box.png").c_str(), wp_style_box, wp_style_downbox, row_margin, row_blend); + select_only(t_inp); + fl_snapshot((target_dir + "wp_style_text.png").c_str(), wp_style_text, row_margin, row_blend); + + // -- snapshot of the C++ tab + widget_tabs->value(wp_cpp_tab); + select_only(t_btn); + fl_snapshot((target_dir + "wp_cpp_tab.png").c_str(), wp_cpp_tab, tab_margin, row_blend); + fl_snapshot((target_dir + "wp_cpp_class.png").c_str(), wp_cpp_class, row_margin, row_blend); + fl_snapshot((target_dir + "wp_cpp_name.png").c_str(), wp_cpp_name, row_margin, row_blend); + fl_snapshot((target_dir + "v_input.png").c_str(), v_input[0], v_input[3], row_margin, row_blend); + fl_snapshot((target_dir + "wComment.png").c_str(), wComment, row_margin, row_blend); + fl_snapshot((target_dir + "wp_cpp_callback.png").c_str(), wCallback, w_when_box, row_margin, row_blend); + + // -- snapshot of the Grid tab + select_only(t_grd); + widget_tabs->value(widget_tab_grid); + fl_snapshot((target_dir + "wp_grid_tab.png").c_str(), widget_tab_grid, tab_margin, row_blend); + + // -- snapshot of the Grid Child tab + select_only(t_grdc); + widget_tabs->value(widget_tab_grid_child); + fl_snapshot((target_dir + "wp_gridc_tab.png").c_str(), widget_tab_grid_child, tab_margin, row_blend); +} + + +#endif // NDEBUG diff --git a/fluid/autodoc.h b/fluid/autodoc.h new file mode 100644 index 000000000..060b166ab --- /dev/null +++ b/fluid/autodoc.h @@ -0,0 +1,59 @@ +// +// Widget snapshot header-only file for the Fast Light Tool Kit (FLTK). +// +// Copyright 2023-2024 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +/** + \file autodoc.h + \brief tools to take snapshots of UI elements for documentation purposes + */ + +#ifndef fl_screenshot_H +#define fl_screenshot_H + +#include "../src/Fl_String.H" + +#include +#include +#include + +/** Class to initialize a Rect by providing the margin around a rect. */ +class Fl_Margin : public Fl_Rect { +public: + Fl_Margin(int dx, int dy, int dr, int db); +}; + +int fl_snapshot(const char *filename, Fl_Widget **w, + const Fl_Rect &frame = Fl_Margin(4, 4, 4, 4), + const Fl_Rect &blend = Fl_Margin(4, 4, 4, 4), + double scale=1.0); + +int fl_snapshot(const char *filename, Fl_Widget *w1, Fl_Widget *w2, + const Fl_Rect &frame = Fl_Margin(4, 4, 4, 4), + const Fl_Rect &blend = Fl_Margin(4, 4, 4, 4), + double scale=1.0); + +int fl_snapshot(const char *filename, Fl_Widget *w, + const Fl_Rect &frame = Fl_Margin(4, 4, 4, 4), + const Fl_Rect &blend = Fl_Margin(4, 4, 4, 4), + double scale=1.0); + +extern const int FL_SNAP_TO_WINDOW; + +extern Fl_Widget *FL_SNAP_AREA_CLEAR; + +extern void run_autodoc(const Fl_String &target_dir); + +#endif + diff --git a/fluid/code.cxx b/fluid/code.cxx index eef2aac47..24088ca11 100644 --- a/fluid/code.cxx +++ b/fluid/code.cxx @@ -414,7 +414,7 @@ void Fd_Code_Writer::write_cstring(const char *s, int length) { } // if we are rendering to the source code preview window, and the text is // longer than four lines, we only render a placeholder. - if (write_sourceview && ((s==NULL) || (length>300))) { + if (write_codeview && ((s==NULL) || (length>300))) { if (length>=0) crc_printf("\" ... %d bytes of text... \"", length); else @@ -523,7 +523,7 @@ void Fd_Code_Writer::write_cdata(const char *s, int length) { varused = 1; return; } - if (write_sourceview) { + if (write_codeview) { if (length>=0) crc_printf("{ /* ... %d bytes of binary data... */ }", length); else @@ -707,11 +707,11 @@ Fl_Type* Fd_Code_Writer::write_code(Fl_Type* p) { // write all code that comes before the children code // (but don't write the last comment until the very end) if (!(p==Fl_Type::last && p->is_a(ID_Comment))) { - if (write_sourceview) p->code1_start = (int)ftell(code_file); - if (write_sourceview) p->header1_start = (int)ftell(header_file); + if (write_codeview) p->code1_start = (int)ftell(code_file); + if (write_codeview) p->header1_start = (int)ftell(header_file); p->write_code1(*this); - if (write_sourceview) p->code1_end = (int)ftell(code_file); - if (write_sourceview) p->header1_end = (int)ftell(header_file); + if (write_codeview) p->code1_end = (int)ftell(code_file); + if (write_codeview) p->header1_end = (int)ftell(header_file); } // recursively write the code of all children Fl_Type* q; @@ -730,11 +730,11 @@ Fl_Type* Fd_Code_Writer::write_code(Fl_Type* p) { } // write all code that come after the children - if (write_sourceview) p->code2_start = (int)ftell(code_file); - if (write_sourceview) p->header2_start = (int)ftell(header_file); + if (write_codeview) p->code2_start = (int)ftell(code_file); + if (write_codeview) p->header2_start = (int)ftell(header_file); p->write_code2(*this); - if (write_sourceview) p->code2_end = (int)ftell(code_file); - if (write_sourceview) p->header2_end = (int)ftell(header_file); + if (write_codeview) p->code2_end = (int)ftell(code_file); + if (write_codeview) p->header2_end = (int)ftell(header_file); for (q = p->next; q && q->level > p->level;) { if (is_class_member(q) || is_comment_before_class_member(q)) { @@ -752,11 +752,11 @@ Fl_Type* Fd_Code_Writer::write_code(Fl_Type* p) { } else { for (q = p->next; q && q->level > p->level;) q = write_code(q); // write all code that come after the children - if (write_sourceview) p->code2_start = (int)ftell(code_file); - if (write_sourceview) p->header2_start = (int)ftell(header_file); + if (write_codeview) p->code2_start = (int)ftell(code_file); + if (write_codeview) p->header2_start = (int)ftell(header_file); p->write_code2(*this); - if (write_sourceview) p->code2_end = (int)ftell(code_file); - if (write_sourceview) p->header2_end = (int)ftell(header_file); + if (write_codeview) p->code2_end = (int)ftell(code_file); + if (write_codeview) p->header2_end = (int)ftell(header_file); } return q; } @@ -772,8 +772,8 @@ Fl_Type* Fd_Code_Writer::write_code(Fl_Type* p) { \param[in] t filename of the header file \return 0 if the operation failed, 1 if it was successful */ -int Fd_Code_Writer::write_code(const char *s, const char *t, bool to_sourceview) { - write_sourceview = to_sourceview; +int Fd_Code_Writer::write_code(const char *s, const char *t, bool to_codeview) { + write_codeview = to_codeview; delete id_root; id_root = 0; indentation = 0; current_class = 0L; @@ -791,7 +791,7 @@ int Fd_Code_Writer::write_code(const char *s, const char *t, bool to_sourceview) header_file = f; } // Remember the last code file location for MergeBack - if (s && g_project.write_mergeback_data && !to_sourceview) { + if (s && g_project.write_mergeback_data && !to_codeview) { Fl_String proj_filename = g_project.projectfile_path() + g_project.projectfile_name(); int i, n = proj_filename.size(); for (i=0; iis_a(ID_Comment)) { - if (write_sourceview) { + if (write_codeview) { first_type->code1_start = first_type->code2_start = (int)ftell(code_file); first_type->header1_start = first_type->header2_start = (int)ftell(header_file); } // it is ok to write non-recursive code here, because comments have no children or code2 blocks first_type->write_code1(*this); - if (write_sourceview) { + if (write_codeview) { first_type->code1_end = first_type->code2_end = (int)ftell(code_file); first_type->header1_end = first_type->header2_end = (int)ftell(header_file); } @@ -835,7 +835,7 @@ int Fd_Code_Writer::write_code(const char *s, const char *t, bool to_sourceview) write_h_once("#include "); } if (t && g_project.include_H_from_C) { - if (to_sourceview) { + if (to_codeview) { write_c("#include \"CodeView.h\"\n"); } else if (g_project.header_file_name[0] == '.' && strchr(g_project.header_file_name.c_str(), '/') == NULL) { write_c("#include \"%s\"\n", fl_filename_name(t)); @@ -896,17 +896,17 @@ int Fd_Code_Writer::write_code(const char *s, const char *t, bool to_sourceview) } for (Fl_Type* p = first_type; p;) { // write all static data for this & all children first - if (write_sourceview) p->header_static_start = (int)ftell(header_file); - if (write_sourceview) p->code_static_start = (int)ftell(code_file); + if (write_codeview) p->header_static_start = (int)ftell(header_file); + if (write_codeview) p->code_static_start = (int)ftell(code_file); p->write_static(*this); - if (write_sourceview) p->code_static_end = (int)ftell(code_file); - if (write_sourceview) p->header_static_end = (int)ftell(header_file); + if (write_codeview) p->code_static_end = (int)ftell(code_file); + if (write_codeview) p->header_static_end = (int)ftell(header_file); for (Fl_Type* q = p->next; q && q->level > p->level; q = q->next) { - if (write_sourceview) q->header_static_start = (int)ftell(header_file); - if (write_sourceview) q->code_static_start = (int)ftell(code_file); + if (write_codeview) q->header_static_start = (int)ftell(header_file); + if (write_codeview) q->code_static_start = (int)ftell(code_file); q->write_static(*this); - if (write_sourceview) q->code_static_end = (int)ftell(code_file); - if (write_sourceview) q->header_static_end = (int)ftell(header_file); + if (write_codeview) q->code_static_end = (int)ftell(code_file); + if (write_codeview) q->header_static_end = (int)ftell(header_file); } // then write the nested code: p = write_code(p); @@ -918,12 +918,12 @@ int Fd_Code_Writer::write_code(const char *s, const char *t, bool to_sourceview) Fl_Type* last_type = Fl_Type::last; if (last_type && (last_type != Fl_Type::first) && last_type->is_a(ID_Comment)) { - if (write_sourceview) { + if (write_codeview) { last_type->code1_start = last_type->code2_start = (int)ftell(code_file); last_type->header1_start = last_type->header2_start = (int)ftell(header_file); } last_type->write_code1(*this); - if (write_sourceview) { + if (write_codeview) { last_type->code1_end = last_type->code2_end = (int)ftell(code_file); last_type->header1_end = last_type->header2_end = (int)ftell(header_file); } @@ -973,7 +973,7 @@ Fd_Code_Writer::Fd_Code_Writer() block_buffer_(NULL), block_buffer_size_(0), indentation(0), - write_sourceview(false), + write_codeview(false), varused_test(0), varused(0) { diff --git a/fluid/code.h b/fluid/code.h index bac7bc756..8581c90f8 100644 --- a/fluid/code.h +++ b/fluid/code.h @@ -68,7 +68,7 @@ public: int indentation; /// set if we write abbreviated file for the source code previewer /// (disables binary data blocks, for example) - bool write_sourceview; + bool write_codeview; /// silly thing to prevent declaring unused variables: /// When this symbol is on, all attempts to write code don't write /// anything, but set a variable if it looks like the variable "o" is used: @@ -100,7 +100,7 @@ public: void write_hc(const char *, int, const char*, const char*); void write_c_indented(const char *textlines, int inIndent, char inTrailwWith); Fl_Type* write_code(Fl_Type* p); - int write_code(const char *cfile, const char *hfile, bool to_sourceview=false); + int write_code(const char *cfile, const char *hfile, bool to_codeview=false); void write_public(int state); // writes pubic:/private: as needed void tag(int type, unsigned short uid); diff --git a/fluid/codeview_panel.cxx b/fluid/codeview_panel.cxx new file mode 100644 index 000000000..0ca8c0d3a --- /dev/null +++ b/fluid/codeview_panel.cxx @@ -0,0 +1,548 @@ +// +// Code dialogs for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2023 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +// generated by Fast Light User Interface Designer (fluid) version 1.0400 + +#include "codeview_panel.h" +#include "fluid.h" +#include "file.h" +#include "../src/flstring.h" +#include +#include +static char *cv_source_filename = NULL; +static char *cv_header_filename = NULL; +static char *cv_design_filename = NULL; +int cv_code_choice; +extern void select_only(Fl_Type *o); +extern void reveal_in_browser(Fl_Type *t); + +/** + Update the header and source code highlighting depending on the + currently selected object + + The Code View system offers an immediate preview of the code + files that will be generated by FLUID. It also marks the code + generated for the last selected item in the header and the source + file. +*/ +void update_codeview_position() { + if (!codeview_panel || !codeview_panel->visible()) + return; + if (cv_autoposition->value()==0) + return; + if (codeview_panel && codeview_panel->visible() && Fl_Type::current) { + int pos0 = 0, pos1 = 0; + if (cv_source->visible_r()) { + switch (cv_code_choice) { + case 0: // prolog: not yet (include statements) + pos0 = Fl_Type::current->code1_start; + pos1 = Fl_Type::current->code2_end; + break; + case 1: // static: callbacks, menu declarations + pos0 = Fl_Type::current->code_static_start; + pos1 = Fl_Type::current->code_static_end; + break; + case 2: // code: entire implementation block including children + pos0 = Fl_Type::current->code1_start; + pos1 = Fl_Type::current->code2_end; + break; + case 3: // code1: all implementation code before the children + pos0 = Fl_Type::current->code1_start; + pos1 = Fl_Type::current->code1_end; + break; + case 4: // code1: all implementation code before the children + pos0 = Fl_Type::current->code2_start; + pos1 = Fl_Type::current->code2_end; + break; + } + if (pos0>=0) { + if (pos1buffer()->line_end(pos0); + cv_source->buffer()->highlight(pos0, pos1); + int line = cv_source->buffer()->count_lines(0, pos0); + cv_source->scroll(line, 0); + } + } + if (cv_header->visible_r()) { + switch (cv_code_choice) { + case 0: // prolog: not yet (include statements) + case 1: // static: callbacks, menu declarations + pos0 = Fl_Type::current->header_static_start; + pos1 = Fl_Type::current->header_static_end; + break; + case 2: // code: entire implementation block including children + pos0 = Fl_Type::current->header1_start; + pos1 = Fl_Type::current->header2_end; + break; + case 3: // code1: all implementation code before the children + pos0 = Fl_Type::current->header1_start; + pos1 = Fl_Type::current->header1_end; + break; + case 4: // code1: all implementation code before the children + pos0 = Fl_Type::current->header2_start; + pos1 = Fl_Type::current->header2_end; + break; + } + if (pos0>=0) { + if (pos1buffer()->line_end(pos0); + cv_header->buffer()->highlight(pos0, pos1); + int line = cv_header->buffer()->count_lines(0, pos0); + cv_header->scroll(line, 0); + } + } + if (cv_project->visible_r()) { + switch (cv_code_choice) { + case 0: // prolog: not yet (include statements) + case 1: // static: callbacks, menu declarations + case 2: // code: entire implementation block including children + pos0 = Fl_Type::current->proj1_start; + pos1 = Fl_Type::current->proj2_end; + break; + case 3: // code1: all implementation code before the children + pos0 = Fl_Type::current->proj1_start; + pos1 = Fl_Type::current->proj1_end; + break; + case 4: // code1: all implementation code before the children + pos0 = Fl_Type::current->proj2_start; + pos1 = Fl_Type::current->proj2_end; + break; + } + if (pos0>=0) { + if (pos1buffer()->line_end(pos0); + cv_project->buffer()->highlight(pos0, pos1); + int line = cv_project->buffer()->count_lines(0, pos0); + cv_project->scroll(line, 0); + } + } + } +} + +/** + Callback to update the codeview position. +*/ +void update_codeview_position_cb(class Fl_Tabs*, void*) { + // make sure that the selected tab shows the current view + update_codeview_cb(0,0); + // highlight the selected widget in the selected tab + update_codeview_position(); +} + +/** + Generate a header, source, strings, or design file in a temporary directory + and load those into the Code Viewer widgets. +*/ +void update_codeview_cb(class Fl_Button*, void*) { + if (!codeview_panel || !codeview_panel->visible()) + return; + + if (!cv_source_filename) { + cv_source_filename = (char*)malloc(FL_PATH_MAX); + fl_strlcpy(cv_source_filename, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(cv_source_filename, "codeview_tmp.cxx", FL_PATH_MAX); + } + if (!cv_header_filename) { + cv_header_filename = (char*)malloc(FL_PATH_MAX); + fl_strlcpy(cv_header_filename, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(cv_header_filename, "codeview_tmp.h", FL_PATH_MAX); + } + if (!cv_design_filename) { + cv_design_filename = (char*)malloc(FL_PATH_MAX); + fl_strlcpy(cv_design_filename, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(cv_design_filename, "codeview_tmp.fl", FL_PATH_MAX); + } + + if (cv_project->visible_r()) { + write_file(cv_design_filename, false, true); + int top = cv_project->top_line(); + cv_project->buffer()->loadfile(cv_design_filename); + cv_project->scroll(top, 0); + } else if (cv_strings->visible_r()) { + static const char *exts[] = { ".txt", ".po", ".msg" }; + char fn[FL_PATH_MAX+1]; + fl_strlcpy(fn, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(fn, "strings", FL_PATH_MAX); + fl_filename_setext(fn, FL_PATH_MAX, exts[g_project.i18n_type]); + write_strings(fn); + int top = cv_strings->top_line(); + cv_strings->buffer()->loadfile(fn); + cv_strings->scroll(top, 0); + } else if (cv_source->visible_r() || cv_header->visible_r()) { + Fl_String code_file_name_bak = g_project.code_file_name; + g_project.code_file_name = cv_source_filename; + Fl_String header_file_name_bak = g_project.header_file_name; + g_project.header_file_name = cv_header_filename; + + // generate the code and load the files + Fd_Code_Writer f; + // generate files + if (f.write_code(cv_source_filename, cv_header_filename, true)) + { + // load file into source editor + int pos = cv_source->top_line(); + cv_source->buffer()->loadfile(cv_source_filename); + cv_source->scroll(pos, 0); + // load file into header editor + pos = cv_header->top_line(); + cv_header->buffer()->loadfile(cv_header_filename); + cv_header->scroll(pos, 0); + // update the source code highlighting + update_codeview_position(); + } + + g_project.code_file_name = code_file_name_bak; + g_project.header_file_name = header_file_name_bak; + } +} + +/** + This is called by the timer itself +*/ +void update_codeview_timer(void*) { + update_codeview_cb(0,0); +} + +void codeview_defer_update() { + // we will only update earliest 0.5 seconds after the last change, and only + // if no other change was made, so dragging a widget will not generate any + // CPU load + Fl::remove_timeout(update_codeview_timer, 0); + Fl::add_timeout(0.5, update_codeview_timer, 0); +} + +/** + Show or hide the source code preview. + The state is stored in the app preferences. +*/ +void codeview_toggle_visibility() { + if (!codeview_panel) { + make_codeview(); + codeview_panel->callback((Fl_Callback*)toggle_codeview_cb); + Fl_Preferences svp(fluid_prefs, "codeview"); + int autorefresh; + svp.get("autorefresh", autorefresh, 1); + cv_autorefresh->value(autorefresh); + int autoposition; + svp.get("autoposition", autoposition, 1); + cv_autoposition->value(autoposition); + int tab; + svp.get("tab", tab, 0); + if (tab>=0 && tabchildren()) cv_tab->value(cv_tab->child(tab)); + svp.get("code_choice", cv_code_choice, 2); + cv_code_choice_w->value(cv_code_choice_w->find_item_with_argument(cv_code_choice)); + if (!position_window(codeview_panel,"codeview_pos", 0, 320, 120, 550, 500)) return; + } + + if (codeview_panel->visible()) { + codeview_panel->hide(); + codeview_item->label("Show Code View"); + } else { + codeview_panel->show(); + codeview_item->label("Hide Code View"); + update_codeview_cb(0,0); + } +} + +Fl_Double_Window *codeview_panel=(Fl_Double_Window *)0; + +Fl_Tabs *cv_tab=(Fl_Tabs *)0; + +Fl_Group *cv_source_tab=(Fl_Group *)0; + +CodeViewer *cv_source=(CodeViewer *)0; + +CodeViewer *cv_header=(CodeViewer *)0; + +TextViewer *cv_strings=(TextViewer *)0; + +TextViewer *cv_project=(TextViewer *)0; + +Fl_Group *cv_find_row=(Fl_Group *)0; + +Fl_Button *cv_find_text_case=(Fl_Button *)0; + +Fl_Input *cv_find_text=(Fl_Input *)0; + +static void cb_cv_find_text(Fl_Input* o, void*) { + Fl_Text_Display *e = NULL; + if (cv_source->visible_r()) { + e = cv_source; + } else if (cv_header->visible_r()) { + e = cv_header; + } else if (cv_project->visible_r()) { + e = cv_project; + } + if (e) { + Fl_Text_Buffer *b = e->buffer(); + int pos = e->insert_position(); + int found = b->search_forward(pos, o->value(), &pos, cv_find_text_case->value()); + if (found) { + b->select(pos, pos + (int)strlen(o->value())); + e->insert_position(pos); + e->show_insert_position(); + } + } +} + +static void cb_(Fl_Button*, void*) { + Fl_Text_Display *e = NULL; + if (cv_source->visible_r()) { + e = cv_source; + } else if (cv_header->visible_r()) { + e = cv_header; + } else if (cv_project->visible_r()) { + e = cv_project; + } + if (e) { + const char *needle = cv_find_text->value(); + Fl_Text_Buffer *b = e->buffer(); + int pos = e->insert_position()-1; + if (pos < 0) pos = b->length()-1; + int found = b->search_backward(pos, needle, &pos, cv_find_text_case->value()); + if (!found) + found = b->search_backward(b->length()-1, needle, &pos, cv_find_text_case->value()); + if (found) { + b->select(pos, pos + (int)strlen(needle)); + e->insert_position(pos); + e->show_insert_position(); + } + } +} + +static void cb_1(Fl_Button*, void*) { + Fl_Text_Display *e = NULL; + if (cv_source->visible_r()) { + e = cv_source; + } else if (cv_header->visible_r()) { + e = cv_header; + } else if (cv_project->visible_r()) { + e = cv_project; + } + if (e) { + const char *needle = cv_find_text->value(); + Fl_Text_Buffer *b = e->buffer(); + int pos = e->insert_position() + 1; + if (pos+1 >= b->length()) pos = 0; + int found = b->search_forward(pos, needle, &pos, cv_find_text_case->value()); + if (!found && (pos > 0)) + found = b->search_forward(0, needle, &pos, cv_find_text_case->value()); + if (found) { + b->select(pos, pos + (int)strlen(needle)); + e->insert_position(pos); + e->show_insert_position(); + } + } +} + +static void cb_Reveal(Fl_Button*, void*) { + if (codeview_panel && codeview_panel->visible()) { + Fl_Type *node = NULL; + if (cv_source->visible_r()) + node = Fl_Type::find_in_text(0, cv_source->insert_position()); + else if (cv_header->visible_r()) + node = Fl_Type::find_in_text(1, cv_header->insert_position()); + else if (cv_project->visible_r()) + node = Fl_Type::find_in_text(2, cv_project->insert_position()); + if (node) { + select_only(node); + reveal_in_browser(node); + if (Fl::event_clicks()==1) // double click + node->open(); + } + } +} + +Fl_Group *cv_settings_row=(Fl_Group *)0; + +Fl_Light_Button *cv_autorefresh=(Fl_Light_Button *)0; + +Fl_Light_Button *cv_autoposition=(Fl_Light_Button *)0; + +Fl_Choice *cv_code_choice_w=(Fl_Choice *)0; + +static void cb_cv_code_choice_w(Fl_Choice* o, void*) { + cv_code_choice = (int)o->mvalue()->argument(); + update_codeview_position(); +} + +Fl_Menu_Item menu_cv_code_choice_w[] = { + {"prolog", 0, 0, (void*)(0), 16, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"static", 0, 0, (void*)(1), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"code", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"code 1", 0, 0, (void*)(3), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"code 2", 0, 0, (void*)(4), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {0,0,0,0,0,0,0,0,0} +}; + +Fl_Double_Window* make_codeview() { + { codeview_panel = new Fl_Double_Window(520, 515, "Code View"); + codeview_panel->callback((Fl_Callback*)toggle_codeview_cb); + codeview_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE)); + { cv_tab = new Fl_Tabs(10, 10, 500, 440); + cv_tab->selection_color((Fl_Color)4); + cv_tab->labelcolor(FL_BACKGROUND2_COLOR); + cv_tab->callback((Fl_Callback*)update_codeview_position_cb); + { cv_source_tab = new Fl_Group(10, 35, 500, 415, "Source"); + cv_source_tab->labelsize(13); + { CodeViewer* o = cv_source = new CodeViewer(10, 40, 500, 410); + cv_source->box(FL_DOWN_FRAME); + cv_source->color(FL_BACKGROUND2_COLOR); + cv_source->selection_color(FL_SELECTION_COLOR); + cv_source->labeltype(FL_NORMAL_LABEL); + cv_source->labelfont(0); + cv_source->labelsize(14); + cv_source->labelcolor(FL_FOREGROUND_COLOR); + cv_source->textfont(4); + cv_source->textsize(11); + cv_source->align(Fl_Align(FL_ALIGN_TOP)); + cv_source->when(FL_WHEN_RELEASE); + Fl_Group::current()->resizable(cv_source); + o->linenumber_width(60); + o->linenumber_size(o->Fl_Text_Display::textsize()); + } // CodeViewer* cv_source + cv_source_tab->end(); + Fl_Group::current()->resizable(cv_source_tab); + } // Fl_Group* cv_source_tab + { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Header"); + o->labelsize(13); + o->hide(); + { CodeViewer* o = cv_header = new CodeViewer(10, 40, 500, 410); + cv_header->box(FL_DOWN_FRAME); + cv_header->color(FL_BACKGROUND2_COLOR); + cv_header->selection_color(FL_SELECTION_COLOR); + cv_header->labeltype(FL_NORMAL_LABEL); + cv_header->labelfont(0); + cv_header->labelsize(14); + cv_header->labelcolor(FL_FOREGROUND_COLOR); + cv_header->textfont(4); + cv_header->textsize(11); + cv_header->align(Fl_Align(FL_ALIGN_TOP)); + cv_header->when(FL_WHEN_RELEASE); + Fl_Group::current()->resizable(cv_header); + o->linenumber_width(60); + o->linenumber_size(o->Fl_Text_Display::textsize()); + } // CodeViewer* cv_header + o->end(); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Strings"); + o->labelsize(13); + o->hide(); + { TextViewer* o = cv_strings = new TextViewer(10, 40, 500, 410); + cv_strings->box(FL_DOWN_FRAME); + cv_strings->color(FL_BACKGROUND2_COLOR); + cv_strings->selection_color(FL_SELECTION_COLOR); + cv_strings->labeltype(FL_NORMAL_LABEL); + cv_strings->labelfont(0); + cv_strings->labelsize(14); + cv_strings->labelcolor(FL_FOREGROUND_COLOR); + cv_strings->textfont(4); + cv_strings->textsize(11); + cv_strings->align(Fl_Align(FL_ALIGN_TOP)); + cv_strings->when(FL_WHEN_RELEASE); + Fl_Group::current()->resizable(cv_strings); + o->linenumber_width(60); + o->linenumber_size(o->Fl_Text_Display::textsize()); + } // TextViewer* cv_strings + o->end(); + } // Fl_Group* o + { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Project"); + o->labelsize(13); + o->hide(); + { TextViewer* o = cv_project = new TextViewer(10, 40, 500, 410); + cv_project->box(FL_DOWN_FRAME); + cv_project->color(FL_BACKGROUND2_COLOR); + cv_project->selection_color(FL_SELECTION_COLOR); + cv_project->labeltype(FL_NORMAL_LABEL); + cv_project->labelfont(0); + cv_project->labelsize(14); + cv_project->labelcolor(FL_FOREGROUND_COLOR); + cv_project->textfont(4); + cv_project->textsize(11); + cv_project->align(Fl_Align(FL_ALIGN_TOP)); + cv_project->when(FL_WHEN_RELEASE); + Fl_Group::current()->resizable(cv_project); + o->linenumber_width(60); + o->linenumber_size(o->Fl_Text_Display::textsize()); + } // TextViewer* cv_project + o->end(); + } // Fl_Group* o + cv_tab->end(); + Fl_Group::current()->resizable(cv_tab); + } // Fl_Tabs* cv_tab + { cv_find_row = new Fl_Group(10, 460, 500, 20); + { cv_find_text_case = new Fl_Button(244, 460, 25, 20, "aA"); + cv_find_text_case->type(1); + cv_find_text_case->labelsize(11); + } // Fl_Button* cv_find_text_case + { cv_find_text = new Fl_Input(40, 460, 200, 20, "Find:"); + cv_find_text->labelsize(11); + cv_find_text->textsize(11); + cv_find_text->callback((Fl_Callback*)cb_cv_find_text); + cv_find_text->when(FL_WHEN_RELEASE | FL_WHEN_ENTER_KEY_CHANGED); + } // Fl_Input* cv_find_text + { Fl_Button* o = new Fl_Button(273, 460, 25, 20, "<<"); + o->labelsize(11); + o->callback((Fl_Callback*)cb_); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(298, 460, 25, 20, ">>"); + o->labelsize(11); + o->callback((Fl_Callback*)cb_1); + } // Fl_Button* o + { Fl_Button* o = new Fl_Button(327, 460, 61, 20, "Reveal"); + o->labelsize(11); + o->callback((Fl_Callback*)cb_Reveal); + } // Fl_Button* o + { Fl_Box* o = new Fl_Box(490, 460, 20, 20); + Fl_Group::current()->resizable(o); + } // Fl_Box* o + cv_find_row->end(); + } // Fl_Group* cv_find_row + { cv_settings_row = new Fl_Group(10, 485, 500, 20); + { Fl_Button* o = new Fl_Button(10, 485, 61, 20, "Refresh"); + o->labelsize(11); + o->callback((Fl_Callback*)update_codeview_cb); + } // Fl_Button* o + { Fl_Light_Button* o = cv_autorefresh = new Fl_Light_Button(77, 485, 91, 20, "Auto-Refresh"); + cv_autorefresh->labelsize(11); + o->callback((Fl_Callback*)update_codeview_cb); + } // Fl_Light_Button* cv_autorefresh + { cv_autoposition = new Fl_Light_Button(172, 485, 89, 20, "Auto-Position"); + cv_autoposition->labelsize(11); + } // Fl_Light_Button* cv_autoposition + { cv_code_choice_w = new Fl_Choice(265, 485, 70, 20); + cv_code_choice_w->down_box(FL_BORDER_BOX); + cv_code_choice_w->labelsize(11); + cv_code_choice_w->textsize(11); + cv_code_choice_w->callback((Fl_Callback*)cb_cv_code_choice_w); + cv_code_choice_w->menu(menu_cv_code_choice_w); + } // Fl_Choice* cv_code_choice_w + { Fl_Box* o = new Fl_Box(375, 485, 80, 20); + Fl_Group::current()->resizable(o); + } // Fl_Box* o + { Fl_Button* o = new Fl_Button(460, 485, 50, 20, "Close"); + o->labelsize(11); + o->callback((Fl_Callback*)toggle_codeview_b_cb); + } // Fl_Button* o + cv_settings_row->end(); + } // Fl_Group* cv_settings_row + codeview_panel->size_range(384, 120); + codeview_panel->end(); + } // Fl_Double_Window* codeview_panel + return codeview_panel; +} + +// diff --git a/fluid/sourceview_panel.fl b/fluid/codeview_panel.fl similarity index 61% rename from fluid/sourceview_panel.fl rename to fluid/codeview_panel.fl index 2159a065a..51ac5f4ab 100644 --- a/fluid/sourceview_panel.fl +++ b/fluid/codeview_panel.fl @@ -26,7 +26,7 @@ decl {\#include "fluid.h"} {private local decl {\#include "file.h"} {private local } -decl {\#include "../src/flstring.h"} {private local +decl {\#include "../src/flstring.h"} {selected private local } decl {\#include } {private local @@ -35,16 +35,16 @@ decl {\#include } {private local decl {\#include } {private local } -decl {char *sv_source_filename = NULL;} {private local +decl {char *cv_source_filename = NULL;} {private local } -decl {char *sv_header_filename = NULL;} {private local +decl {char *cv_header_filename = NULL;} {private local } -decl {char *sv_design_filename = NULL;} {private local +decl {char *cv_design_filename = NULL;} {private local } -decl {int sv_code_choice;} {public local +decl {int cv_code_choice;} {public local } decl {extern void select_only(Fl_Type *o);} {private global @@ -53,23 +53,23 @@ decl {extern void select_only(Fl_Type *o);} {private global decl {extern void reveal_in_browser(Fl_Type *t);} {private global } -Function {update_sourceview_position()} { +Function {update_codeview_position()} { comment {Update the header and source code highlighting depending on the currently selected object -The Source View system offers an immediate preview of the code +The Code View system offers an immediate preview of the code files that will be generated by FLUID. It also marks the code generated for the last selected item in the header and the source file.} open return_type void } { - code {if (!sourceview_panel || !sourceview_panel->visible()) + code {if (!codeview_panel || !codeview_panel->visible()) return; - if (sv_autoposition->value()==0) + if (cv_autoposition->value()==0) return; - if (sourceview_panel && sourceview_panel->visible() && Fl_Type::current) { + if (codeview_panel && codeview_panel->visible() && Fl_Type::current) { int pos0 = 0, pos1 = 0; - if (sv_source->visible_r()) { - switch (sv_code_choice) { + if (cv_source->visible_r()) { + switch (cv_code_choice) { case 0: // prolog: not yet (include statements) pos0 = Fl_Type::current->code1_start; pos1 = Fl_Type::current->code2_end; @@ -93,14 +93,14 @@ file.} open return_type void } if (pos0>=0) { if (pos1buffer()->line_end(pos0); - sv_source->buffer()->highlight(pos0, pos1); - int line = sv_source->buffer()->count_lines(0, pos0); - sv_source->scroll(line, 0); + pos1 = cv_source->buffer()->line_end(pos0); + cv_source->buffer()->highlight(pos0, pos1); + int line = cv_source->buffer()->count_lines(0, pos0); + cv_source->scroll(line, 0); } } - if (sv_header->visible_r()) { - switch (sv_code_choice) { + if (cv_header->visible_r()) { + switch (cv_code_choice) { case 0: // prolog: not yet (include statements) case 1: // static: callbacks, menu declarations pos0 = Fl_Type::current->header_static_start; @@ -121,14 +121,14 @@ file.} open return_type void } if (pos0>=0) { if (pos1buffer()->line_end(pos0); - sv_header->buffer()->highlight(pos0, pos1); - int line = sv_header->buffer()->count_lines(0, pos0); - sv_header->scroll(line, 0); + pos1 = cv_header->buffer()->line_end(pos0); + cv_header->buffer()->highlight(pos0, pos1); + int line = cv_header->buffer()->count_lines(0, pos0); + cv_header->scroll(line, 0); } } - if (sv_project->visible_r()) { - switch (sv_code_choice) { + if (cv_project->visible_r()) { + switch (cv_code_choice) { case 0: // prolog: not yet (include statements) case 1: // static: callbacks, menu declarations case 2: // code: entire implementation block including children @@ -146,83 +146,83 @@ file.} open return_type void } if (pos0>=0) { if (pos1buffer()->line_end(pos0); - sv_project->buffer()->highlight(pos0, pos1); - int line = sv_project->buffer()->count_lines(0, pos0); - sv_project->scroll(line, 0); + pos1 = cv_project->buffer()->line_end(pos0); + cv_project->buffer()->highlight(pos0, pos1); + int line = cv_project->buffer()->count_lines(0, pos0); + cv_project->scroll(line, 0); } } }} {} } -Function {update_sourceview_position_cb(class Fl_Tabs*, void*)} { - comment {Callback to update the sourceview position.} open return_type void +Function {update_codeview_position_cb(class Fl_Tabs*, void*)} { + comment {Callback to update the codeview position.} open return_type void } { code {// make sure that the selected tab shows the current view - update_sourceview_cb(0,0); + update_codeview_cb(0,0); // highlight the selected widget in the selected tab - update_sourceview_position();} {} + update_codeview_position();} {} } -Function {update_sourceview_cb(class Fl_Button*, void*)} { +Function {update_codeview_cb(class Fl_Button*, void*)} { comment {Generate a header, source, strings, or design file in a temporary directory and load those into the Code Viewer widgets.} open return_type void } { - code {if (!sourceview_panel || !sourceview_panel->visible()) + code {if (!codeview_panel || !codeview_panel->visible()) return; - if (!sv_source_filename) { - sv_source_filename = (char*)malloc(FL_PATH_MAX); - fl_strlcpy(sv_source_filename, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(sv_source_filename, "source_view_tmp.cxx", FL_PATH_MAX); + if (!cv_source_filename) { + cv_source_filename = (char*)malloc(FL_PATH_MAX); + fl_strlcpy(cv_source_filename, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(cv_source_filename, "codeview_tmp.cxx", FL_PATH_MAX); } - if (!sv_header_filename) { - sv_header_filename = (char*)malloc(FL_PATH_MAX); - fl_strlcpy(sv_header_filename, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(sv_header_filename, "source_view_tmp.h", FL_PATH_MAX); + if (!cv_header_filename) { + cv_header_filename = (char*)malloc(FL_PATH_MAX); + fl_strlcpy(cv_header_filename, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(cv_header_filename, "codeview_tmp.h", FL_PATH_MAX); } - if (!sv_design_filename) { - sv_design_filename = (char*)malloc(FL_PATH_MAX); - fl_strlcpy(sv_design_filename, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(sv_design_filename, "source_view_tmp.fl", FL_PATH_MAX); + if (!cv_design_filename) { + cv_design_filename = (char*)malloc(FL_PATH_MAX); + fl_strlcpy(cv_design_filename, get_tmpdir().c_str(), FL_PATH_MAX); + fl_strlcat(cv_design_filename, "codeview_tmp.fl", FL_PATH_MAX); } - if (sv_project->visible_r()) { - write_file(sv_design_filename, false, true); - int top = sv_project->top_line(); - sv_project->buffer()->loadfile(sv_design_filename); - sv_project->scroll(top, 0); - } else if (sv_strings->visible_r()) { + if (cv_project->visible_r()) { + write_file(cv_design_filename, false, true); + int top = cv_project->top_line(); + cv_project->buffer()->loadfile(cv_design_filename); + cv_project->scroll(top, 0); + } else if (cv_strings->visible_r()) { static const char *exts[] = { ".txt", ".po", ".msg" }; char fn[FL_PATH_MAX+1]; fl_strlcpy(fn, get_tmpdir().c_str(), FL_PATH_MAX); fl_strlcat(fn, "strings", FL_PATH_MAX); fl_filename_setext(fn, FL_PATH_MAX, exts[g_project.i18n_type]); write_strings(fn); - int top = sv_strings->top_line(); - sv_strings->buffer()->loadfile(fn); - sv_strings->scroll(top, 0); - } else if (sv_source->visible_r() || sv_header->visible_r()) { + int top = cv_strings->top_line(); + cv_strings->buffer()->loadfile(fn); + cv_strings->scroll(top, 0); + } else if (cv_source->visible_r() || cv_header->visible_r()) { Fl_String code_file_name_bak = g_project.code_file_name; - g_project.code_file_name = sv_source_filename; + g_project.code_file_name = cv_source_filename; Fl_String header_file_name_bak = g_project.header_file_name; - g_project.header_file_name = sv_header_filename; + g_project.header_file_name = cv_header_filename; // generate the code and load the files Fd_Code_Writer f; // generate files - if (f.write_code(sv_source_filename, sv_header_filename, true)) + if (f.write_code(cv_source_filename, cv_header_filename, true)) { // load file into source editor - int pos = sv_source->top_line(); - sv_source->buffer()->loadfile(sv_source_filename); - sv_source->scroll(pos, 0); + int pos = cv_source->top_line(); + cv_source->buffer()->loadfile(cv_source_filename); + cv_source->scroll(pos, 0); // load file into header editor - pos = sv_header->top_line(); - sv_header->buffer()->loadfile(sv_header_filename); - sv_header->scroll(pos, 0); + pos = cv_header->top_line(); + cv_header->buffer()->loadfile(cv_header_filename); + cv_header->scroll(pos, 0); // update the source code highlighting - update_sourceview_position(); + update_codeview_position(); } g_project.code_file_name = code_file_name_bak; @@ -230,71 +230,71 @@ and load those into the Code Viewer widgets.} open return_type void }} {} } -Function {update_sourceview_timer(void*)} { +Function {update_codeview_timer(void*)} { comment {This is called by the timer itself } open return_type void } { - code {update_sourceview_cb(0,0);} {} + code {update_codeview_cb(0,0);} {} } -Function {sourceview_defer_update()} {open return_type void +Function {codeview_defer_update()} {open return_type void } { code {// we will only update earliest 0.5 seconds after the last change, and only // if no other change was made, so dragging a widget will not generate any // CPU load - Fl::remove_timeout(update_sourceview_timer, 0); - Fl::add_timeout(0.5, update_sourceview_timer, 0);} {} + Fl::remove_timeout(update_codeview_timer, 0); + Fl::add_timeout(0.5, update_codeview_timer, 0);} {} } -Function {sourceview_toggle_visibility()} { +Function {codeview_toggle_visibility()} { comment {Show or hide the source code preview. The state is stored in the app preferences. } open return_type void } { - code {if (!sourceview_panel) { - make_sourceview(); - sourceview_panel->callback((Fl_Callback*)toggle_sourceview_cb); - Fl_Preferences svp(fluid_prefs, "sourceview"); + code {if (!codeview_panel) { + make_codeview(); + codeview_panel->callback((Fl_Callback*)toggle_codeview_cb); + Fl_Preferences svp(fluid_prefs, "codeview"); int autorefresh; svp.get("autorefresh", autorefresh, 1); - sv_autorefresh->value(autorefresh); + cv_autorefresh->value(autorefresh); int autoposition; svp.get("autoposition", autoposition, 1); - sv_autoposition->value(autoposition); + cv_autoposition->value(autoposition); int tab; svp.get("tab", tab, 0); - if (tab>=0 && tabchildren()) sv_tab->value(sv_tab->child(tab)); - svp.get("code_choice", sv_code_choice, 2); - sv_code_choice_w->value(sv_code_choice_w->find_item_with_argument(sv_code_choice)); - if (!position_window(sourceview_panel,"sourceview_pos", 0, 320, 120, 550, 500)) return; + if (tab>=0 && tabchildren()) cv_tab->value(cv_tab->child(tab)); + svp.get("code_choice", cv_code_choice, 2); + cv_code_choice_w->value(cv_code_choice_w->find_item_with_argument(cv_code_choice)); + if (!position_window(codeview_panel,"codeview_pos", 0, 320, 120, 550, 500)) return; } - if (sourceview_panel->visible()) { - sourceview_panel->hide(); - sourceview_item->label("Show Source Code..."); + if (codeview_panel->visible()) { + codeview_panel->hide(); + codeview_item->label("Show Code View"); } else { - sourceview_panel->show(); - sourceview_item->label("Hide Source Code..."); - update_sourceview_cb(0,0); + codeview_panel->show(); + codeview_item->label("Hide Code View"); + update_codeview_cb(0,0); }} {} } -Function {make_sourceview()} {open +Function {make_codeview()} {open } { - Fl_Window sourceview_panel { + Fl_Window codeview_panel { label {Code View} - callback toggle_sourceview_cb open + callback toggle_codeview_cb open xywh {389 507 520 515} type Double align 80 resizable size_range {384 120 0 0} visible } { - Fl_Tabs sv_tab { - callback update_sourceview_position_cb open + Fl_Tabs cv_tab { + callback update_codeview_position_cb open xywh {10 10 500 440} selection_color 4 labelcolor 7 resizable } { - Fl_Group {} { + Fl_Group cv_source_tab { label Source open xywh {10 35 500 415} labelsize 13 resizable } { - Fl_Text_Editor sv_source { + Fl_Text_Editor cv_source { xywh {10 40 500 410} textfont 4 textsize 11 resizable code0 {\#include "CodeEditor.h"} code1 {o->linenumber_width(60);} @@ -306,7 +306,7 @@ Function {make_sourceview()} {open label Header open xywh {10 35 500 415} labelsize 13 hide } { - Fl_Text_Editor sv_header { + Fl_Text_Editor cv_header { xywh {10 40 500 410} textfont 4 textsize 11 resizable code0 {\#include "CodeEditor.h"} code1 {o->linenumber_width(60);} @@ -318,7 +318,7 @@ Function {make_sourceview()} {open label Strings open xywh {10 35 500 415} labelsize 13 hide } { - Fl_Text_Display sv_strings { + Fl_Text_Display cv_strings { xywh {10 40 500 410} textfont 4 textsize 11 resizable code1 {o->linenumber_width(60);} code2 {o->linenumber_size(o->Fl_Text_Display::textsize());} @@ -329,7 +329,7 @@ Function {make_sourceview()} {open label Project open xywh {10 35 500 415} labelsize 13 hide } { - Fl_Text_Display sv_project { + Fl_Text_Display cv_project { xywh {10 40 500 410} textfont 4 textsize 11 resizable code1 {o->linenumber_width(60);} code2 {o->linenumber_size(o->Fl_Text_Display::textsize());} @@ -337,27 +337,27 @@ Function {make_sourceview()} {open } } } - Fl_Group {} {open + Fl_Group cv_find_row {open xywh {10 460 500 20} } { - Fl_Button sv_find_text_case { + Fl_Button cv_find_text_case { label aA xywh {244 460 25 20} type Toggle labelsize 11 } - Fl_Input sv_find_text { + Fl_Input cv_find_text { label {Find:} callback {Fl_Text_Display *e = NULL; -if (sv_source->visible_r()) { - e = sv_source; -} else if (sv_header->visible_r()) { - e = sv_header; -} else if (sv_project->visible_r()) { - e = sv_project; +if (cv_source->visible_r()) { + e = cv_source; +} else if (cv_header->visible_r()) { + e = cv_header; +} else if (cv_project->visible_r()) { + e = cv_project; } if (e) { Fl_Text_Buffer *b = e->buffer(); int pos = e->insert_position(); - int found = b->search_forward(pos, o->value(), &pos, sv_find_text_case->value()); + int found = b->search_forward(pos, o->value(), &pos, cv_find_text_case->value()); if (found) { b->select(pos, pos + (int)strlen(o->value())); e->insert_position(pos); @@ -369,47 +369,47 @@ if (e) { Fl_Button {} { label {<<} callback {Fl_Text_Display *e = NULL; -if (sv_source->visible_r()) { - e = sv_source; -} else if (sv_header->visible_r()) { - e = sv_header; -} else if (sv_project->visible_r()) { - e = sv_project; +if (cv_source->visible_r()) { + e = cv_source; +} else if (cv_header->visible_r()) { + e = cv_header; +} else if (cv_project->visible_r()) { + e = cv_project; } if (e) { - const char *needle = sv_find_text->value(); + const char *needle = cv_find_text->value(); Fl_Text_Buffer *b = e->buffer(); int pos = e->insert_position()-1; if (pos < 0) pos = b->length()-1; - int found = b->search_backward(pos, needle, &pos, sv_find_text_case->value()); + int found = b->search_backward(pos, needle, &pos, cv_find_text_case->value()); if (!found) - found = b->search_backward(b->length()-1, needle, &pos, sv_find_text_case->value()); + found = b->search_backward(b->length()-1, needle, &pos, cv_find_text_case->value()); if (found) { b->select(pos, pos + (int)strlen(needle)); e->insert_position(pos); e->show_insert_position(); } -}} selected +}} xywh {273 460 25 20} labelsize 11 } Fl_Button {} { label {>>} callback {Fl_Text_Display *e = NULL; -if (sv_source->visible_r()) { - e = sv_source; -} else if (sv_header->visible_r()) { - e = sv_header; -} else if (sv_project->visible_r()) { - e = sv_project; +if (cv_source->visible_r()) { + e = cv_source; +} else if (cv_header->visible_r()) { + e = cv_header; +} else if (cv_project->visible_r()) { + e = cv_project; } if (e) { - const char *needle = sv_find_text->value(); + const char *needle = cv_find_text->value(); Fl_Text_Buffer *b = e->buffer(); int pos = e->insert_position() + 1; if (pos+1 >= b->length()) pos = 0; - int found = b->search_forward(pos, needle, &pos, sv_find_text_case->value()); + int found = b->search_forward(pos, needle, &pos, cv_find_text_case->value()); if (!found && (pos > 0)) - found = b->search_forward(0, needle, &pos, sv_find_text_case->value()); + found = b->search_forward(0, needle, &pos, cv_find_text_case->value()); if (found) { b->select(pos, pos + (int)strlen(needle)); e->insert_position(pos); @@ -420,14 +420,14 @@ if (e) { } Fl_Button {} { label Reveal - callback {if (sourceview_panel && sourceview_panel->visible()) { + callback {if (codeview_panel && codeview_panel->visible()) { Fl_Type *node = NULL; - if (sv_source->visible_r()) - node = Fl_Type::find_in_text(0, sv_source->insert_position()); - else if (sv_header->visible_r()) - node = Fl_Type::find_in_text(1, sv_header->insert_position()); - else if (sv_project->visible_r()) - node = Fl_Type::find_in_text(2, sv_project->insert_position()); + if (cv_source->visible_r()) + node = Fl_Type::find_in_text(0, cv_source->insert_position()); + else if (cv_header->visible_r()) + node = Fl_Type::find_in_text(1, cv_header->insert_position()); + else if (cv_project->visible_r()) + node = Fl_Type::find_in_text(2, cv_project->insert_position()); if (node) { select_only(node); reveal_in_browser(node); @@ -441,26 +441,26 @@ if (e) { xywh {490 460 20 20} resizable } } - Fl_Group {} {open + Fl_Group cv_settings_row {open xywh {10 485 500 20} } { Fl_Button {} { label Refresh - callback update_sourceview_cb + callback update_codeview_cb xywh {10 485 61 20} labelsize 11 } - Fl_Light_Button sv_autorefresh { + Fl_Light_Button cv_autorefresh { label {Auto-Refresh} xywh {77 485 91 20} labelsize 11 - code0 {o->callback((Fl_Callback*)update_sourceview_cb);} + code0 {o->callback((Fl_Callback*)update_codeview_cb);} } - Fl_Light_Button sv_autoposition { + Fl_Light_Button cv_autoposition { label {Auto-Position} xywh {172 485 89 20} labelsize 11 } - Fl_Choice sv_code_choice_w { - callback {sv_code_choice = (int)o->mvalue()->argument(); -update_sourceview_position();} open + Fl_Choice cv_code_choice_w { + callback {cv_code_choice = (int)o->mvalue()->argument(); +update_codeview_position();} open xywh {265 485 70 20} down_box BORDER_BOX labelsize 11 textsize 11 } { MenuItem {} { @@ -494,7 +494,7 @@ update_sourceview_position();} open } Fl_Button {} { label Close - callback toggle_sourceview_b_cb + callback toggle_codeview_b_cb xywh {460 485 50 20} labelsize 11 } } diff --git a/fluid/codeview_panel.h b/fluid/codeview_panel.h new file mode 100644 index 000000000..8fa566346 --- /dev/null +++ b/fluid/codeview_panel.h @@ -0,0 +1,58 @@ +// +// Code dialogs for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2023 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +// generated by Fast Light User Interface Designer (fluid) version 1.0400 + +#ifndef codeview_panel_h +#define codeview_panel_h +#include +extern int cv_code_choice; +void update_codeview_position(); +void update_codeview_position_cb(class Fl_Tabs*, void*); +void update_codeview_cb(class Fl_Button*, void*); +void update_codeview_timer(void*); +void codeview_defer_update(); +void codeview_toggle_visibility(); +#include +extern void toggle_codeview_cb(Fl_Double_Window*, void*); +extern Fl_Double_Window *codeview_panel; +#include +extern Fl_Tabs *cv_tab; +#include +extern Fl_Group *cv_source_tab; +#include "CodeEditor.h" +extern CodeViewer *cv_source; +extern CodeViewer *cv_header; +extern TextViewer *cv_strings; +extern TextViewer *cv_project; +extern Fl_Group *cv_find_row; +#include +extern Fl_Button *cv_find_text_case; +#include +extern Fl_Input *cv_find_text; +#include +extern Fl_Group *cv_settings_row; +#include +extern Fl_Light_Button *cv_autorefresh; +extern Fl_Light_Button *cv_autoposition; +#include +extern Fl_Choice *cv_code_choice_w; +extern void toggle_codeview_b_cb(Fl_Button*, void*); +Fl_Double_Window* make_codeview(); +extern Fl_Menu_Item menu_cv_code_choice_w[]; +#endif + +// diff --git a/fluid/custom_widgets.cxx b/fluid/custom_widgets.cxx index 99cfbbbdf..887e2ba14 100644 --- a/fluid/custom_widgets.cxx +++ b/fluid/custom_widgets.cxx @@ -55,7 +55,7 @@ int Widget_Bin_Button::handle(int inEvent) // fake a drag outside of the widget Fl::e_x = x()-1; Fl_Button::handle(inEvent); - // fake a buttton release + // fake a button release Fl_Button::handle(FL_RELEASE); // make it into a dnd event const char *type_name = (const char*)user_data(); diff --git a/fluid/documentation/CMakeLists.txt b/fluid/documentation/CMakeLists.txt new file mode 100644 index 000000000..fb2fac442 --- /dev/null +++ b/fluid/documentation/CMakeLists.txt @@ -0,0 +1,232 @@ +# +# CMakeLists.txt to build docs for the FLTK project using CMake (www.cmake.org) +# +# Copyright 1998-2024 by Bill Spitzak and others. +# +# This library is free software. Distribution and use rights are outlined in +# the file "COPYING" which should have been included with this file. If this +# file is missing or damaged, see the license at: +# +# https://www.fltk.org/COPYING.php +# +# Please see the following page on how to report bugs and issues: +# +# https://www.fltk.org/bugs.php +# + +set(DOCS) +set(GIT_REVISION "") +set(YEAR "") +set(CURRENT_DATE "") + +#------------------------------------------------ +# generate files used for both HTML and PDF docs +#------------------------------------------------ + +if(FLTK_BUILD_FLUID_DOCS OR FLTK_BUILD_PDF_DOCS) + + # create required variables + + execute_process(COMMAND date "+%Y" + OUTPUT_VARIABLE YEAR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + # note: current locale is used for abbreviated month + execute_process(COMMAND date "+%b %d, %Y" + OUTPUT_VARIABLE CURRENT_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + # find git revision + + # FIXME: This must also work with tarballs where git is not available. + # For now we just ignore errors and set GIT_REVISION = "unknown". + # In the future tarball/zip generation should create a file + # that contains the git revision. + + execute_process(COMMAND + git rev-parse --short=10 HEAD + OUTPUT_VARIABLE GIT_REVISION + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${FLTK_SOURCE_DIR} + ERROR_QUIET + ) + + # set to "'unknown'" if git is not available + if(GIT_REVISION STREQUAL "") + set(GIT_REVISION "'unknown'") + endif() + + # Find "short" doxygen version if it was built from Git + # Note: this is still needed in CMake 3.12.0 but later CMake versions + # (notably 3.25) remove the Git revision in 'DOXYGEN_VERSION'. + # Todo: Find the "first good" CMake version and remove this redundant + # code once we require this as our minimal version and replace the + # variable DOXYGEN_VERSION_SHORT with DOXYGEN_VERSION below. + + if(DOXYGEN_FOUND) + # strip trailing git revision if doxygen was built from source + string(REGEX REPLACE " .*$" "" DOXYGEN_VERSION_SHORT ${DOXYGEN_VERSION}) + endif(DOXYGEN_FOUND) + + # configure copyright.dox (includes current year) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/copyright.dox.in + ${CMAKE_CURRENT_BINARY_DIR}/copyright.dox + @ONLY + ) + + # configure generated.dox (includes date and versions) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/generated.dox.in + ${CMAKE_CURRENT_BINARY_DIR}/generated.dox + @ONLY + ) + +endif(FLTK_BUILD_FLUID_DOCS OR FLTK_BUILD_PDF_DOCS) + +#------------------------------- +# build FLUID html documentation +#------------------------------- + +if(FLTK_BUILD_FLUID_DOCS) + + #list(APPEND DOCS html) + + # generate Doxygen file "Doxyfile" + + set(GENERATE_FLUID_HTML YES) + set(GENERATE_LATEX NO) + set(LATEX_HEADER "") + set(FL_HTML_INDEX "FL_HTML_INDEX") + set(DOXYFILE "Doxyfile") + set(LOGFILE "${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE}_error.log") + + # configure Doxygen input file for HTML docs (Doxyfile.in) + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in + ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE}.in + @ONLY + ) + + # convert Doxyfile to used doxygen version + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/convert_doxyfile + ${DOXYGEN_EXECUTABLE} + ${DOXYFILE}.in + ${DOXYFILE} + ${LOGFILE} + BYPRODUCTS ${LOGFILE} + COMMENT "Converting ${DOXYFILE} to doxygen version ${DOXYGEN_VERSION_SHORT}" VERBATIM + ) + + # generate screen shot using FLUID --autodoc target_dir + # generate HTML documentation + + add_custom_target(fluid_docs + COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/src/ + COMMAND fltk::fluid -scheme gtk+ --autodoc ${CMAKE_CURRENT_BINARY_DIR}/src/ + COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE} + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating HTML documentation" VERBATIM + ) + add_dependencies(fluid_docs fltk::fluid) + +endif(FLTK_BUILD_FLUID_DOCS) + +#-------------------------- +# build pdf documentation +#-------------------------- + +if(FLTK_BUILD_PDF_DOCS AND FLTK_BUILD_FLUID_DOCS) + + # generate Doxygen input file "Doxybook" + + set(GENERATE_FLUID_HTML NO) + set(GENERATE_LATEX YES) + set(LATEX_HEADER "${CMAKE_CURRENT_BINARY_DIR}/fluid-book.tex") + set(FL_HTML_INDEX "FL_NO_HTML_INDEX") + set(DOXYFILE "Doxybook") + set(LOGFILE "${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE}_error.log") + + # configure Doxygen input file for PDF docs (Doxybook.in) + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in + ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE}.in + @ONLY + ) + + # convert Doxybook to current doxygen version + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/convert_doxyfile + ${DOXYGEN_EXECUTABLE} + ${DOXYFILE}.in + ${DOXYFILE} + ${LOGFILE} + BYPRODUCTS ${LOGFILE} + COMMENT "Converting ${DOXYFILE} to doxygen version ${DOXYGEN_VERSION_SHORT}" VERBATIM + ) + + # generate LaTeX title fluid-title.tex + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/src/fluid-title.tex.in + ${CMAKE_CURRENT_BINARY_DIR}/fluid-title.tex + @ONLY + ) + + # generate fluid.pdf + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fluid.pdf + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/make_header + ${DOXYGEN_EXECUTABLE} + ${CMAKE_CURRENT_BINARY_DIR}/fluid-title.tex + ${CMAKE_CURRENT_BINARY_DIR}/fluid-book.tex + COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE} + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/make_pdf + COMMAND cp -f latex/refman.pdf fluid.pdf + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE} + ${CMAKE_CURRENT_BINARY_DIR}/fluid-title.tex + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating FLUID PDF documentation" VERBATIM + ) + + # add target 'pdf' + + add_custom_target(fluid_pdf + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fluid.pdf + ) + add_dependencies(fluid_pdf fluid_docs) + +endif(FLTK_BUILD_PDF_DOCS AND FLTK_BUILD_FLUID_DOCS) + +#--------------------------------------- +# install FLUID html + pdf documentation +#--------------------------------------- + +if(FLTK_INSTALL_FLUID_DOCS AND FLTK_BUILD_FLUID_DOCS) + + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html + DESTINATION ${FLTK_DATADIR}/doc/fltk/fluid + ) + +endif(FLTK_INSTALL_FLUID_DOCS AND FLTK_BUILD_FLUID_DOCS) + +if(FLTK_INSTALL_PDF_DOCS AND FLTK_BUILD_PDF_DOCS AND FLTK_BUILD_FLUID_DOCS) + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fluid.pdf + DESTINATION ${FLTK_DATADIR}/doc/fltk/ + ) + +endif(FLTK_INSTALL_PDF_DOCS AND FLTK_BUILD_PDF_DOCS AND FLTK_BUILD_FLUID_DOCS) diff --git a/fluid/documentation/Doxyfile.in b/fluid/documentation/Doxyfile.in new file mode 100644 index 000000000..f625dd52a --- /dev/null +++ b/fluid/documentation/Doxyfile.in @@ -0,0 +1,2485 @@ +# Doxyfile 1.8.14 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "FLUID for FLTK @FLTK_VERSION@" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = NO + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines (in the resulting output). You can put ^^ in the value part of an +# alias to insert a newline as if a physical newline was in the original file. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = @FL_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 +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = NO + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/src/index.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_introduction.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_commandline.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_interactive.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_main_window.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_widgetbin_panel.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_edit_window.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_functional_nodes.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_widget_panel.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_setting_dialog.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_codeview_panel.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_tutorial.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/src/page_appendices.dox + +# @FLTK_SOURCE_DIR@/fluid + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: https://www.gnu.org/software/libiconv/) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +FILE_PATTERNS = *.H \ + *.h \ + *.c \ + *.cxx \ + *.dox + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = +# @FLTK_SOURCE_DIR@/src/drivers/ + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = +# */src/*_win32.cxx \ +# */src/*_mac.cxx \ +# */src/*_x.cxx \ +# */src/xdg* \ +# */src/text-input* + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = +# @CMAKE_CURRENT_SOURCE_DIR@/../test \ +# @CMAKE_CURRENT_SOURCE_DIR@/../examples \ +# @CMAKE_CURRENT_BINARY_DIR@ \ +# @CMAKE_CURRENT_SOURCE_DIR@ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = *.cxx \ + *.h \ + *.H \ + *.fl + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/src \ + @CMAKE_CURRENT_BINARY_DIR@/src + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see https://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = +# fl_ \ +# FL_ \ +# Fl_ + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = @GENERATE_FLUID_HTML@ + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generate light mode output, DARK always +# generate dark mode output, AUTO_LIGHT automatically set the mode according to +# the user preference, use light mode if no preference is set (the default), +# AUTO_DARK automatically set the mode according to the user preference, use +# dark mode if no preference is set and TOGGLE allow to user to switch between +# light and dark mode via a button. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +# Note: since doxygen 1.9.5 + +HTML_COLORSTYLE = TOGGLE + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via Javascript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have Javascript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: https://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = YES + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://doc.qt.io/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://doc.qt.io/qt-4.8/qthelpproject.html#virtual-folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://doc.qt.io/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = YES + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANSPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# https://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/ + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /
- + [Prev] - Programming with FLUID + Using OpenGL diff --git a/documentation/src/fluid-edit-global-fltk-settings.png b/documentation/src/fltk-options.png similarity index 100% rename from documentation/src/fluid-edit-global-fltk-settings.png rename to documentation/src/fltk-options.png diff --git a/documentation/src/fluid-catgets.png b/documentation/src/fluid-catgets.png deleted file mode 100644 index e68b42c96d5ddf2b455f93ed946f23a8ec18df9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40651 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 diff --git a/documentation/src/fluid-edit-gui-settings.png b/documentation/src/fluid-edit-gui-settings.png deleted file mode 100644 index ce3cadc9d6e566ce8ae23e25554b4d592feb5e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70258 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 P0DiK(WMf7%!A1Qa2+ejE diff --git a/documentation/src/fluid-edit-proj-settings.png b/documentation/src/fluid-edit-proj-settings.png deleted file mode 100644 index 0b44bb199d0cb944883d2ddc61597e767391c457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55000 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%0D!IA`C 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 diff --git a/documentation/src/fluid-gettext.png b/documentation/src/fluid-gettext.png deleted file mode 100644 index 70845f035fa12af028aee556b2bb99beccd13f6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44085 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 F{{hCd+#vt} diff --git a/documentation/src/fluid-layout-grid-and-size-settings.png b/documentation/src/fluid-layout-grid-and-size-settings.png deleted file mode 100644 index a9f441fd9b8cd02b27f80c499316e6604e40b578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88526 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 diff --git a/documentation/src/fluid-org.xcf b/documentation/src/fluid-org.xcf deleted file mode 100644 index 09e98e67c33fc9ba8dc51613259f9f593cecf012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110511 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 aKj--A-xvH|w|hzQHrpe9{}|hS+W!mn>pZ&v diff --git a/documentation/src/fluid.dox b/documentation/src/fluid.dox deleted file mode 100644 index ebfdaaafe..000000000 --- a/documentation/src/fluid.dox +++ /dev/null @@ -1,1760 +0,0 @@ -/** - - - - - \page fluid Programming with FLUID - -This chapter shows how to use the Fast Light User-Interface Designer -("FLUID") to create your GUIs. - -Subchapters: - -\li \ref fluid_what_is_fluid -\li \ref fluid_fluid_under_unix -\li \ref fluid_fluid_under_windows -\li \ref fluid_compiling_fl_files -\li \ref fluid_tutorial -\li \ref fluid_references -\li \ref fluid_templates -\li \ref fluid_i18n -\li \ref fluid_limitations -\li \ref fluid_hotkeys -\li \ref fluid_licenses - -\section fluid_what_is_fluid What is FLUID? - -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 .fl files. These files -are text, and you can (with care) edit them in a text editor, -perhaps to get some special effects. The .fl file format is explained -in detail in fluid/README_fl.txt - -FLUID can "compile" the .fl file into a -.cxx and a .h file. The .cxx file -defines all the objects from the .fl file and the -.h file declares all the global ones. FLUID also -supports localization (\ref fluid_i18n "Internationalization") -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 -\p main() function) into the .fl file and thus making the -.cxx file a -single source file to compile. Most programs are more complex than -this, so you write other .cxx files that call the FLUID functions. -These .cxx files must -\p \#include -the .h file or they can -\p \#include -the .cxx file so it still appears to be a single source file. - - \image html fluid-org.png "FLUID organization" - \image latex fluid-org.png "FLUID organization" width=12cm - -Normally the FLUID file defines one or more functions or classes which -output C++ code. Each function defines one or more FLTK -windows and all the widgets that go inside those windows. - -Widgets created by FLUID are either "named", "complex named" or -"unnamed". A named widget has a legal C++ variable identifier as its -name (i.e. only alphanumeric and underscore). In this case FLUID -defines a global variable or class member that will point at the widget -after the function defining it is called. A complex named object has -punctuation such as '.' or '->' or any other symbols -in its name. In this case FLUID assigns a pointer to the widget to the name, -but does not attempt to declare it. This can be used to get the widgets into -structures. An unnamed widget has a blank name and no pointer is stored. - -Widgets may either call a named callback function that you write in -another source file, or you can supply a small piece of C++ source and -FLUID will write a private callback function into the .cxx file. - -\section fluid_fluid_under_unix Running FLUID Under UNIX - -To run FLUID under UNIX, type: - -\code -fluid filename.fl & -\endcode - -to edit the .fl file filename.fl. -If the file does not exist -you will get an error pop-up, but if you dismiss it you will be editing -a blank file of that name. You can run FLUID without any name, in -which case you will be editing an unnamed blank setup (but you can use -save-as to write it to a file). - -You can provide any of the standard FLTK switches before the filename: - -\code --display host:n.n --geometry WxH+X+Y --title windowtitle --name classname --iconic --fg color --bg color --bg2 color --scheme schemename -\endcode - -Changing the colors may be useful to see what your interface -will look at if the user calls it with the same switches. -Similarly, using "-scheme plastic" will show how the interface -will look using the "plastic" scheme. - -In the current version, if you don't put FLUID into the -background with '&' then you will be able to abort FLUID by -typing CTRL-C on the terminal. It will exit -immediately, losing any changes. - -\section fluid_fluid_under_windows Running FLUID Under Microsoft Windows - -To run FLUID under Windows, double-click on the \e FLUID.exe -file. You can also run FLUID from the Command Prompt window. -FLUID always runs in the background under Windows. - -\section fluid_compiling_fl_files Compiling .fl Files - -FLUID can also be called as a command-line -"compiler" to create the .cxx and .h -file from a .fl file. To do this type: - -\code -fluid -c filename.fl -\endcode - -This is the same as the menu 'File/Write Code...'. -It will read the filename.fl file and write -filename.cxx and filename.h. Any leading -directory on filename.fl will be stripped, so they are -always written to the current directory. If there are any errors -reading or writing the files, FLUID will print the error and -exit with a non-zero code. You can use the following lines in a -makefile to automate the creation of the source and header -files: - -\code -my_panels.h my_panels.cxx: my_panels.fl - fluid -c my_panels.fl -\endcode - -Most versions of make support rules that cause .fl -files to be compiled: - -\code -.SUFFIXES: .fl .cxx .h -.fl.h .fl.cxx: - fluid -c $< -\endcode - -If you use - -\code -fluid -cs filename.fl -\endcode - -FLUID will also write the "strings" for internationalization in file -'filename.txt' (menu: 'File/Write Strings...'). - -Finally there is another option which is useful for program developers -who have many .fl files and want to upgrade them to the current FLUID -version. FLUID will read the \p filename.fl file, save it, and exit -immediately. This writes the file with current syntax and options and -the current FLTK version in the header of the file. Use - -\code -fluid -u filename.fl -\endcode - -to 'upgrade' \p filename.fl . You may combine this with '-c' or '-cs'. - -\note All these commands overwrite existing files w/o warning. You should -particularly take care when running 'fluid -u' since this overwrites the -original .fl source file. - - -\section fluid_tutorial A Short Tutorial - -FLUID is an amazingly powerful little program. However, this -power comes at a price as it is not always obvious how to -accomplish seemingly simple tasks with it. This tutorial will -show you how to generate a complete user interface class with -FLUID that is used for the CubeView program provided with FLTK. - -\image html cubeview.png "CubeView demo" -\image latex cubeview.png "CubeView demo" width=10cm - -The window is of class CubeViewUI, and is completely generated by FLUID, -including class member functions. The central display of the cube is a -separate subclass of Fl_Gl_Window called CubeView. CubeViewUI manages -CubeView using callbacks from the various sliders and rollers to -manipulate the viewing angle and zoom of CubeView. - -At the completion of this tutorial you will (hopefully) understand how to: - --# Use FLUID to create a complete user interface class, including - constructor and any member functions necessary. --# Use FLUID to set callback member functions of custom widget classes. --# Subclass an Fl_Gl_Window to suit your purposes. - -\subsection fluid_cubeview The CubeView Class - -The CubeView class is a subclass of Fl_Gl_Window. It has methods for -setting the zoom, the \e x and \e y pan, and the rotation angle -about the \e x and \e y axes. - -You can safely skip this section as long as you realize that CubeView -is a sublass of Fl_Gl_Window and will respond to calls from -CubeViewUI, generated by FLUID. - -\par The CubeView Class Definition - -Here is the CubeView class definition, as given by its header file -"test/CubeView.h": -
- - -\code -#include -#include -#include - -class CubeView : public Fl_Gl_Window { - -public: - CubeView(int x, int y, int w, int h, const char *l = 0); - - // This value determines the scaling factor used to draw the cube. - double size; - - /* Set the rotation about the vertical (y) axis. - * - * This function is called by the horizontal roller in - * CubeViewUI and the initialize button in CubeViewUI. - */ - void v_angle(double angle) { vAng = angle; } - - // Return the rotation about the vertical (y) axis. - double v_angle() const { return vAng; } - - /* Set the rotation about the horizontal (x) axis. - * - * This function is called by the vertical roller in - * CubeViewUI and the initialize button in CubeViewUI. - */ - - void h_angle(double angle) { hAng = angle; } - - // The rotation about the horizontal (x) axis. - double h_angle() const { return hAng; } - - /* Sets the x shift of the cube view camera. - * - * This function is called by the slider in CubeViewUI - * and the initialize button in CubeViewUI. - */ - void panx(double x) { xshift = x; } - - /* Sets the y shift of the cube view camera. - * - * This function is called by the slider in CubeViewUI - * and the initialize button in CubeViewUI. - */ - void pany(double y) { yshift = y; } - - /* The widget class draw() override. - * - * The draw() function initializes Gl for another round of - * drawing, then calls specialized functions for drawing each - * of the entities displayed in the cube view. - */ - void draw(); - -private: - /* Draw the cube boundaries. - * - * Draw the faces of the cube using the boxv[] vertices, - * using GL_LINE_LOOP for the faces. - */ - void drawCube(); - - double vAng, hAng; - double xshift, yshift; - - float boxv0[3]; float boxv1[3]; - float boxv2[3]; float boxv3[3]; - float boxv4[3]; float boxv5[3]; - float boxv6[3]; float boxv7[3]; -}; -\endcode - -\par The CubeView Class Implementation - -Here is the CubeView implementation. It is very similar to the -"CubeView" demo included with FLTK. -
- - -\code -#include "CubeView.h" -#include - -CubeView::CubeView(int x, int y, int w, int h, const char *l) - : Fl_Gl_Window(x, y, w, h, l) -{ - Fl::use_high_res_GL(1); - vAng = 0.0; - hAng = 0.0; - size = 10.0; - xshift = 0.0; - yshift = 0.0; - - /* The cube definition. These are the vertices of a unit cube - * centered on the origin.*/ - - boxv0[0] = -0.5; boxv0[1] = -0.5; boxv0[2] = -0.5; - boxv1[0] = 0.5; boxv1[1] = -0.5; boxv1[2] = -0.5; - boxv2[0] = 0.5; boxv2[1] = 0.5; boxv2[2] = -0.5; - boxv3[0] = -0.5; boxv3[1] = 0.5; boxv3[2] = -0.5; - boxv4[0] = -0.5; boxv4[1] = -0.5; boxv4[2] = 0.5; - boxv5[0] = 0.5; boxv5[1] = -0.5; boxv5[2] = 0.5; - boxv6[0] = 0.5; boxv6[1] = 0.5; boxv6[2] = 0.5; - boxv7[0] = -0.5; boxv7[1] = 0.5; boxv7[2] = 0.5; -} - -void CubeView::drawCube() { -/* Draw a colored cube */ -#define ALPHA 0.5 - glShadeModel(GL_FLAT); - - glBegin(GL_QUADS); - glColor4f(0.0, 0.0, 1.0, ALPHA); - glVertex3fv(boxv0); - glVertex3fv(boxv1); - glVertex3fv(boxv2); - glVertex3fv(boxv3); - - glColor4f(1.0, 1.0, 0.0, ALPHA); - glVertex3fv(boxv0); - glVertex3fv(boxv4); - glVertex3fv(boxv5); - glVertex3fv(boxv1); - - glColor4f(0.0, 1.0, 1.0, ALPHA); - glVertex3fv(boxv2); - glVertex3fv(boxv6); - glVertex3fv(boxv7); - glVertex3fv(boxv3); - - glColor4f(1.0, 0.0, 0.0, ALPHA); - glVertex3fv(boxv4); - glVertex3fv(boxv5); - glVertex3fv(boxv6); - glVertex3fv(boxv7); - - glColor4f(1.0, 0.0, 1.0, ALPHA); - glVertex3fv(boxv0); - glVertex3fv(boxv3); - glVertex3fv(boxv7); - glVertex3fv(boxv4); - - glColor4f(0.0, 1.0, 0.0, ALPHA); - glVertex3fv(boxv1); - glVertex3fv(boxv5); - glVertex3fv(boxv6); - glVertex3fv(boxv2); - glEnd(); - - glColor3f(1.0, 1.0, 1.0); - glBegin(GL_LINES); - glVertex3fv(boxv0); - glVertex3fv(boxv1); - - glVertex3fv(boxv1); - glVertex3fv(boxv2); - - glVertex3fv(boxv2); - glVertex3fv(boxv3); - - glVertex3fv(boxv3); - glVertex3fv(boxv0); - - glVertex3fv(boxv4); - glVertex3fv(boxv5); - - glVertex3fv(boxv5); - glVertex3fv(boxv6); - - glVertex3fv(boxv6); - glVertex3fv(boxv7); - - glVertex3fv(boxv7); - glVertex3fv(boxv4); - - glVertex3fv(boxv0); - glVertex3fv(boxv4); - - glVertex3fv(boxv1); - glVertex3fv(boxv5); - - glVertex3fv(boxv2); - glVertex3fv(boxv6); - - glVertex3fv(boxv3); - glVertex3fv(boxv7); - glEnd(); -} // drawCube - -void CubeView::draw() { - if (!valid()) { - glLoadIdentity(); - glViewport(0, 0, pixel_w(), pixel_h()); - glOrtho(-10, 10, -10, 10, -20050, 10000); - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - } - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - - glPushMatrix(); - - glTranslatef((GLfloat)xshift, (GLfloat)yshift, 0); - glRotatef((GLfloat)hAng, 0, 1, 0); - glRotatef((GLfloat)vAng, 1, 0, 0); - glScalef(float(size), float(size), float(size)); - - drawCube(); - - glPopMatrix(); -} -\endcode - -\subsection fluid_cubeview_ui The CubeViewUI Class - -We will completely construct a window to display and control the -CubeView defined in the previous section using FLUID. - -\par Defining the CubeViewUI Class - -Once you have started FLUID, the first step in defining a class is to -create a new class within FLUID using the New->Code->Class -menu item. Name the class "CubeViewUI" and leave the subclass blank. -We do not need any inheritance for this window. You should see the -new class declaration in the FLUID browser window. - -\image html fluid1.png "FLUID file for CubeView" -\image latex fluid1.png "FLUID file for CubeView" width=10cm - -\par Adding the Class Constructor - -Click on the CubeViewUI class in the FLUID window and add a new method -by selecting New->Code->Function/Method. The name of the -function will also be CubeViewUI. FLUID will understand that this will -be the constructor for the class and will generate the appropriate -code. Make sure you declare the constructor public. - -Then add a window to the CubeViewUI class. Highlight the name of -the constructor in the FLUID browser window and click on -New->Group->Window. In a similar manner add the -following to the CubeViewUI constructor: - -\li A horizontal roller named \p hrot -\li A vertical roller named \p vrot -\li A horizontal slider named \p xpan -\li A vertical slider named \p ypan -\li A horizontal value slider named \p zoom - -None of these additions need be public. And they shouldn't be -unless you plan to expose them as part of the interface for -CubeViewUI. - -When you are finished you should have something like this: - -\image html fluid2.png "FLUID window containing CubeView demo" -\image latex fluid2.png "FLUID window containing CubeView demo" width=10cm - -We will talk about the \p show() method that is highlighted -shortly. - -\par Adding the CubeView Widget - -What we have is nice, but does little to show our cube. We have already -defined the CubeView class and we would like to show it within the -CubeViewUI. - -The CubeView class inherits the Fl_Gl_Window class, which -is created in the same way as an Fl_Box widget. Use -New->Other->Box to add a square box to the main window. -This will be no ordinary box, however. - -The Box properties window will appear. The key to letting CubeViewUI -display CubeView is to enter CubeView in the Class: text -entry box. This tells FLUID that it is not an Fl_Box, but a -similar widget with the same constructor. - -In the Extra Code: field enter \#include "CubeView.h" - -This \p \#include is important, as we have just included -CubeView as a member of CubeViewUI, so any public CubeView methods are -now available to CubeViewUI. - -\image html fluid3-cxx.png "CubeView methods" -\image latex fluid3-cxx.png "CubeView methods" width=10cm - -\par Defining the Callbacks - -Each of the widgets we defined before adding CubeView can have -callbacks that call CubeView methods. You can call an external -function or put a short amount of code in the Callback -field of the widget panel. For example, the callback for the -\p ypan slider is: - -\code -cube->pany(((Fl_Slider *)o)->value()); -cube->redraw(); -\endcode - -We call cube->redraw() after changing the value to update -the CubeView window. CubeView could easily be modified to do this, but -it is nice to keep this exposed. In the case where you may want to do -more than one view change only redrawing once saves a lot of time. - -There is no reason to wait until after you have added CubeView to -enter these callbacks. FLUID assumes you are smart enough not to refer -to members or functions that don't exist. - -\par Adding a Class Method - -You can add class methods within FLUID that have nothing to do with the -GUI. As an example add a show function so that CubeViewUI can actually -appear on the screen. - -Make sure the top level CubeViewUI is selected and select -New->Code->Function/Method. Just use the name -\p show(). We don't need a return value here, and since we will -not be adding any widgets to this method FLUID will assign it a return -type of \p void. - -\image html fluid4.png "CubeView constructor" -\image latex fluid4.png "CubeView constructor" width=10cm - -Once the new method has been added, highlight its name and select -New->Code->Code. Enter the method's code in the code window. - -\subsection fluid_addconst Adding Constructor Initialization Code - -If you need to add code to initialize a class, for example setting -initial values of the horizontal and vertical angles in the -CubeView, you can simply highlight the constructor and select -New->Code->Code. Add any required code. - -\subsection fluid_gencode Generating the Code - -Now that we have completely defined the CubeViewUI, we have to generate -the code. There is one last trick to ensure this all works. Open the -preferences dialog from Edit->Preferences. - -At the bottom of the preferences dialog box is the key: -"Include Header from Code". -Select that option and set your desired file -extensions and you are in business. You can include the CubeViewUI.h -(or whatever extension you prefer) as you would any other C++ class. - - - -\section fluid_references FLUID Reference - -The following sections describe each of the windows in FLUID. - -\subsection fluid_browser The Widget Browser - -The main window shows a menu bar and a scrolling browser of -all the defined widgets. The name of the .fl file being -edited is shown in the window title. - -The 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 \e parents, and all the widgets -listed below them are their \e children. Parents don't have to have -any children. - -The top level of the hierarchy is composed of \e functions and -\e classes. Each of these will produce a single C++ public function -or class in the output .cxx file. Calling the function or -instantiating the class will create all of the child widgets. - -The second level of the hierarchy contains the \e windows. -Each of these produces an instance of class Fl_Window. - -Below that are either \e widgets (subclasses of Fl_Widget) or -\e groups of widgets (including other groups). Plain groups are for -layout, navigation, and resize purposes. Tab groups provide the -well-known file-card tab interface. - -Widgets are shown in the browser by either their \e name (such -as "main_panel" in the example), or by their \e type -and \e label (such as "Button "the green""). - -You \e select widgets by clicking on their names, which highlights -them (you can also select widgets from any displayed window). You can -select many widgets by dragging the mouse across them, or by using -Shift+Click to toggle them on and off. To select no widgets, click in -the blank area under the last widget. Note that hidden children may -be selected even when there is no visual indication of this. - -You \e open widgets by double-clicking on them, or (to open several -widgets you have picked) by typing the F1 key. A control panel will appear -so you can change the widget(s). - -\subsection fluid_menu_items Menu Items - -The menu bar at the top is duplicated as a pop-up menu on any -displayed window. The shortcuts for all the menu items work in any -window. The menu items are: - -\par File/Open... (Ctrl+o) - -\par -Discards the current editing session and reads in a different -.fl file. You are asked for confirmation if you have -changed the current file. - -\par -FLUID can also read .fd files produced by the Forms -and XForms "fdesign" programs. It is best to -File/Merge them instead of opening them. FLUID does not -understand everything in a .fd file, and will print a -warning message on the controlling terminal for all data it does -not understand. You will probably need to edit the resulting -setup to fix these errors. Be careful not to save the file -without changing the name, as FLUID will write over the -.fd file with its own format, which fdesign cannot read! - -\par File/Insert... (Ctrl+i) - -\par -Inserts the contents of another .fl file, without -changing the name of the current .fl file. All the -functions (even if they have the same names as the current ones) -are added, and you will have to use cut/paste to put the widgets -where you want. - -\par File/Save (Ctrl+s) - -\par -Writes the current data to the .fl file. If the -file is unnamed then FLUID will ask for a filename. - -\par File/Save As... (Ctrl+Shift+S) - -\par -Asks for a new filename and saves the file. - -\par File/Save A Copy... - -\par -Save a copy of the .fl data to a different file. - -\par File/Revert... - -\par -Revert the .fl 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 -"Compiles" the data into a .cxx and .h -file. These are exactly the same as the files you get when you run -FLUID with the \c -c switch. - -\par -The output file names are the same as the .fl file, with -the leading directory and trailing ".fl" stripped, and -".h" or ".cxx" appended. - -\par File/Write Strings (Ctrl+Shift+W) - -\par -Writes a message file for all of the text labels defined in -the current file. - -\par -The output file name is the same as the .fl file, -with the leading directory and trailing ".fl" -stripped, and ".txt", ".po", or ".msg" appended depending on the -\ref fluid_i18n "Internationalization Mode". - -\par File/Quit (Ctrl+q) - -\par -Exits FLUID. You are asked for confirmation if you have -changed the current file. - -\par Edit/Undo (Ctrl+z) and Redo (Shift+Ctrl+z) - -\par -FLUID saves the project state for undo and redo operations after every -major change. - -\par Edit/Cut (Ctrl+x) - -\par -Deletes the selected widgets and all of their children. -These are saved to a "clipboard" file and can be -pasted back into any FLUID window. - -\par Edit/Copy (Ctrl+c) - -\par -Copies the selected widgets and all of their children to the -"clipboard" file. - -\par Edit/Paste (Ctrl+v) - -\par -Pastes the widgets from the clipboard file. - -\par -If the widget is a window, it is added to whatever function -is selected, or contained in the current selection. - -\par -If the widget is a normal widget, it is added to whatever -window or group is selected. If none is, it is added to the -window or group that is the parent of the current selection. - -\par -To avoid confusion, it is best to select exactly one widget -before doing a paste. - -\par -Cut/paste is the only way to change the parent of a -widget. - -\par Edit/Select All (Ctrl+a) - -\par -Selects all widgets in the same group as the current selection. - -\par -If they are all selected already then this selects all -widgets in that group's parent. Repeatedly typing Ctrl+a will -select larger and larger groups of widgets until everything is -selected. - -\par Edit/Properties... (F1 or double click) - -\par -Displays the current widget in the attributes panel. If the -widget is a window and it is not visible then the window is -shown instead. - -\par Edit/Sort - -\par -Sorts the selected widgets into left to right, top to bottom order. -You need to do this to make navigation keys in FLTK work correctly. -You may then fine-tune the sorting with "Earlier" and "Later". -This does not affect the positions of windows or functions. - -\par Edit/Earlier (F2) - -\par -Moves all of the selected widgets one earlier in order among -the children of their parent (if possible). This will affect -navigation order, and if the widgets overlap it will affect how -they draw, as the later widget is drawn on top of the earlier -one. You can also use this to reorder functions, classes, and -windows within functions. - -\par Edit/Later (F3) - -\par -Moves all of the selected widgets one later in order among -the children of their parent (if possible). - -\par Edit/Group (F7) - -\par -Creates a new Fl_Group and make all the currently -selected widgets children of it. - -\par Edit/Ungroup (F8) - -\par -Deletes the parent group if all the children of a group are -selected. - -\par Edit/Show or Hide Overlays (Ctrl+Shift+O) - -\par -Toggles the display of the red overlays off, without changing -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/Show or Hide Guides (Ctrl+Shift+G) - -\par -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 -This menu item enables and disable guides and the snapping action when dragging -widgets and their borders. - -\par Edit/Show or Hide Restricted (Ctrl+Shift+R) - -\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/Show or Hide Widget Bin (Alt+B) - -\par -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) - -\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/Settings... (Alt+p) - -\par -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 GNU Gettext -and POSIX catgets. - -\par -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 -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-proj-settings.png "FLUID Project Settings Tab" -\image latex fluid-edit-proj-settings.png "FLUID Project Settings Tab" width=10cm - -\par New/Code/Function - -\par -Creates a new C function. You will be asked for a name for -the function. This name should be a legal C++ function -template, without the return type. You can pass arguments which -can be referred to by code you type into the individual widgets. - -\par -If the function contains any unnamed windows, it will be -declared as returning an Fl_Window pointer. The unnamed window -will be returned from it (more than one unnamed window is -useless). If the function contains only named windows, it will -be declared as returning nothing (\c void ). - -\par -It is possible to make the .cxx output be a -self-contained program that can be compiled and executed. This -is done by deleting the function name so -\p main(argc,argv) is used. The function will call -\p show() on all the windows it creates and then call -\p Fl::run(). This can also be used to test resize -behavior or other parts of the user interface. - -\par -You can change the function name by double-clicking on the -function. - -\par New/Window - -\par -Creates a new Fl_Window widget. The window is added -to the currently selected function, or to the function -containing the currently selected item. The window will appear, -sized to 100x100. You can resize it to whatever size you -require. - -\par -The widget panel will also appear and is described later in -this chapter. - -\par New/... - -\par -All other items on the New menu are subclasses of -Fl_Widget. Creating them will add them to the -currently selected group or window, or the group or window -containing the currently selected widget. The initial -dimensions and position are chosen by copying the current -widget, if possible. - -\par -When you create the widget you will get the widget's control -panel, which is described later in this chapter. - -\par Layout/Align/... - -\par -Align all selected widgets to the first widget in the selection. - -\par Layout/Space Evenly/... - -\par -Space all selected widgets evenly inside the selected space. -Widgets will be sorted from first to last. - -\par Layout/Make Same Size/... - -\par -Make all selected widgets the same size as the first selected widget. - -\par Layout/Center in Group/... - -\par -Center all selected widgets relative to their parent widget - -\par Layout/Grid and Size Settings... (Ctrl+g) - -\par -Displays the grid settings panel. - -\par -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 .fl -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 - -\par Shell/Execute Command... (Alt+x) - -\par -Displays the shell command panel. The shell command -is commonly used to run a 'make' script to compile the FLTK output. - -\par Shell/Execute Again (Alt+g) - -\par -Run the shell command again. - -\par Help/Repid development with FLUID - -\par -Shows this chapter of the manual. - -\par Help/FLTK Programmers Manual - -\par -Shows the contents page of the manual - -\par Help/About FLUID - -\par -Pops up a panel showing the version of FLUID. - -\subsection fluid_widget_panel The Widget Panel - -When you double-click on a widget or a set of widgets you -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 -"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. - -If you have several widgets selected, they may have different -values for the fields. In this case the value for \e one of -the widgets is shown. But if you change this value, \e all -of the selected widgets are changed to the new value. - -Hitting "OK" makes the changes permanent. -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. - - - -\image html fluid_widget_gui.png "The FLUID widget GUI attributes" -\image latex fluid_widget_gui.png "The FLUID widget GUI attributes" width=10cm - -\section fluid_widget_attributes GUI Attributes - -\par Not all fields in the Widget attributes dialog will be visible -for all types of widgets. - -\par Label (text field) - -\par -String to print next to or inside the button. You can put -newlines into the string to make multiple lines. The easiest way -is by typing Ctrl+j. - -\par -\ref common_labels "Symbols" -can be added to the label using the at sign ("@"). - -\par Label (pull down menu) - -\par -How to draw the label. Normal, shadowed, engraved, and -embossed change the appearance of the text. - -\par Image - -\par -The active image for the widget. Click on the -\b Browse... button to pick an image file using the file -chooser. - -\par Inactive - -\par -The inactive image for the widget. Click on the -\b Browse... button to pick an image file using the file -chooser. - -\par Alignment (buttons) - -\par -Where to draw the label. The arrows put it on that side of the -widget, you can combine them to put it in the corner. The "box" -button puts the label inside the widget, rather than outside. - -\par -The \b clip button clips the label to the widget box, the -\b wrap button wraps any text in the label, and the -text image button puts the text over the image instead of under -the image. - -\par Position (text fields) - -\par -The position fields show the current position and size of the -widget box. Enter new values to move and/or resize a widget. - -\par -These fields understand basic math and variables. -Appending +10 to the X coordinate will move a widget 10 units -to the right without having to reenter the value. -Entering the formula w+3 in the Width field will widen all -selected Widgets by 3 units. -The formula py+i*20 in the Y field will order all selected -widgets vertically in their group by increments of 20 units. - -\par - - - - - - - -
NameValue
`i` zero based counter of selected widgets
`x`, `y`, `w`, `h` position and size of the current widget
`px`, `py`, `pw`, `ph` dimensions of the parent widget
`sx`, `sy`, `sw`, `sh` dimensions of the previous sibling
`cx`, `cy`, `cw`, `ch` bounding box of all children
- -\par Values (text fields) - -\par -The values and limits of the current widget. Depending on the -type of widget, some or all of these fields may be inactive. - -\par Shortcut - -\par -The shortcut key to activate the widget. Click on the -shortcut button and press any key sequence to set the shortcut. - -\par Attributes (buttons) - -\par -The \b Visible button controls whether the widget is -visible (on) or hidden (off) initially. Don't change this for -windows or for the immediate children of a Tabs group. - -\par -The \b Active button controls whether the widget is -activated (on) or deactivated (off) initially. Most widgets -appear greyed out when deactivated. - -\par -The \b Resizable button controls whether the window is -resizeable. In addition all the size changes of a window or -group will go "into" the resizable child. If you have -a large data display surrounded by buttons, you probably want -that data area to be resizable. You can get more complex -behavior by making invisible boxes the resizable widget, or by -using hierarchies of groups. Unfortunately the only way to test -it is to compile the program. Resizing the FLUID window is -\e not the same as what will happen in the user program. - -\par -The \b Hotspot button causes the parent window to be -positioned with that widget centered on the mouse. This -position is determined when the FLUID function is called, -so you should call it immediately before showing the window. If -you want the window to hide and then reappear at a new position, -you should have your program set the hotspot itself just before -\p show(). - -\par -The \b Border button turns the window manager border on -or off. On most window managers you will have to close the -window and reopen it to see the effect. - -\par X Class (text field) - -\par -The string typed into here is passed to the X window manager -as the class. This can change the icon or window decorations. -On most (all?) window managers you will have to close the window -and reopen it to see the effect. - -\image html fluid_widget_style.png "The FLUID widget Style attributes" -\image latex fluid_widget_style.png "The FLUID widget Style attributes" width=10cm - -\subsection fluid_style_attributes Style Attributes - -\par Label Font (pulldown menu) - -\par -Font to draw the label in. Ignored by symbols, bitmaps, and -pixmaps. Your program can change the actual font used by these -"slots" in case you want some font other than the 16 -provided. - -\par Label Size (pulldown menu) - -\par -Pixel size (height) for the font to draw the label in. -Ignored by symbols, bitmaps, and pixmaps. To see the result -without dismissing the panel, type the new number and then Tab. - -\par Label Color (button) - -\par -Color to draw the label. Ignored by pixmaps (bitmaps, -however, do use this color as the foreground color). - -\par Box (pulldown menu) - -\par -The boxtype to draw as a background for the widget. - -\par -Many widgets will work, and draw faster, with a -"frame" instead of a "box". A frame does -not draw the colored interior, leaving whatever was already -there visible. Be careful, as FLUID may draw this ok but the -real program may leave unwanted stuff inside the widget. - -\par -If a window is filled with child widgets, you can speed up -redrawing by changing the window's box type to -"NO_BOX". FLUID will display a checkerboard for any -areas that are not colored in by boxes. Note that this -checkerboard is not drawn by the resulting program. Instead -random garbage will be displayed. - -\par Down Box (pulldown menu) - -\par -The boxtype to draw when a button is pressed or for some -parts of other widgets like scrollbars and valuators. - -\par Color (button) - -\par -The color to draw the box with. - -\par Select Color (button) - -\par -Some widgets will use this color for certain parts. FLUID -does not always show the result of this: this is the color -buttons draw in when pushed down, and the color of input fields -when they have the focus. - -\par Text Font, Size, and Color - -\par -Some widgets display text, such as input fields, pull-down -menus, and browsers. - -\image html fluid_widget_cxx.png "The FLUID widget C++ attributes" -\image latex fluid_widget_cxx.png "The FLUID widget C++ attributes" width=10cm - -\subsection fluid_cpp_attributes C++ Attributes - -\par Class - -\par -This is how you use your own subclasses of -Fl_Widget. Whatever identifier you type in here will -be the class that is instantiated. - -\par -In addition, no \p \#include header file is put in the -.h file. You must provide a \p \#include line as -the first line of the "Extra Code" which declares your -subclass. - -\par -The class must be similar to the class you are spoofing. It -does not have to be a subclass. It is sometimes useful to -change this to another FLTK class. For windows you can select either -\p Single or \p Double in the drop-down box right to the "Class:" field -to get a normal window (Fl_Window) or a double-buffered window -(Fl_Double_Window), respectively. - -\par Type (upper-right pulldown menu) - -\par -Some classes have subtypes that modify their appearance or behavior. -You pick the subtype off of this menu. - -\par Name (text field) - -\par -Name of a variable to declare, and to store a pointer to this -widget into. This variable will be of type "*". If the name is -blank then no variable is created. - -\par -You can name several widgets with "name[0]", "name[1]", "name[2]", etc. -This will cause FLUID to declare an array of pointers. The array -is big enough that the highest number found can be stored. All widgets -in the array must be the same type. - -\par Public (button) - -\par -Controls whether the widget is publicly accessible. When -embedding widgets in a C++ class, this controls whether the -widget is \p public or \p private in the class. -Otherwise it controls whether the widget is declared -\p static or global (\p extern ). - -\par Extra Code (text fields) - -\par -These four fields let you type in literal lines of code to -dump into the .h or .cxx files. - -\par -If the text starts with a \# or the word -\p extern then FLUID thinks this is an "include" -line, and it is written to the .h file. If the same -include line occurs several times then only one copy is -written. - -\par -All other lines are "code" lines. The current -widget is pointed to by the local variable \p o. The -window being constructed is pointed to by the local variable -\p w. You can also access any arguments passed to the -function here, and any named widgets that are before this one. - -\par -FLUID will check for matching parenthesis, braces, and -quotes, but does not do much other error checking. Be careful -here, as it may be hard to figure out what widget is producing -an error in the compiler. If you need more than four lines you -probably should call a function in your own .cxx -code. - -\par Callback (text field) - -\par -This can either be the name of a function, or a small snippet -of code. If you enter anything other than letters, numbers, and the -underscore then FLUID treats it as code. - -\par -A name refers to a function in your own code. It must be -declared as void name(*,void*). - -\par -A code snippet is inserted into a static function in the -.cxx output file. The function prototype is -void name(class *o, void *v) -so that you can refer to the widget as \p o and the \p user_data() -as \p v. FLUID will check for matching parenthesis, braces, -and quotes, but does not do much other error checking. Be -careful here, as it may be hard to figure out what widget is -producing an error in the compiler. - -\par -If the callback is blank then no callback is set. - -\par User Data (text field) - -\par -This is a value for the \p user_data() of the widget. -If blank the default value of zero is used. This can be any -piece of C code that can be cast to a \p void pointer. - -\par Type (text field) - -\par -The \p void* in the callback function prototypes is -replaced with this. You may want to use \p long for old -XForms code. Be warned that anything other than \p void* -is not guaranteed to work! However on most architectures other -pointer types are ok, and \p long is usually ok, too. - -\par When (pulldown menu) - -\par -When to do the callback. This can be \b Never, -\b Changed, \b Release, or \b Enter Key. The value of -Enter Key is only useful for text input fields. - -\par -There are other rare but useful values for the -\p when() field that are not in the menu. You should use -the extra code fields to put these values in. - -\par No Change (button) - -\par -The No Change button means the callback is done on the -matching event even if the data is not changed. - -\section fluid_selecting_moving Selecting and Moving Widgets - -Double-clicking a window name in the browser will display it, -if not displayed yet. From this display you can select widgets, -sets of widgets, and move or resize them. To close a window -either double-click it or type \c ESC. - -To select a widget, click it. To select several widgets drag -a rectangle around them. Holding down shift will toggle the -selection of the widgets instead. - -You cannot pick hidden widgets. You also cannot choose some -widgets if they are completely overlapped by later widgets. Use -the browser to select these widgets. - -The selected widgets are shown with a red "overlay" -line around them. You can move the widgets by dragging this -box. Or you can resize them by dragging the outer edges and -corners. Hold down the Alt key while dragging the mouse to -defeat the snap-to-grid effect for fine positioning. - -If there is a tab box displayed you can change which child is -visible by clicking on the file tabs. The child you pick is -selected. - -The arrow, tab, and shift+tab keys "navigate" the -selection. Left, right, tab, or shift+tab move to the next or -previous widgets in the hierarchy. Hit the right arrow enough -and you will select every widget in the window. Up/down widgets -move to the previous/next widgets that overlap horizontally. If -the navigation does not seem to work you probably need to -"Sort" the widgets. This is important if you have -input fields, as FLTK uses the same rules when using arrow keys -to move between input fields. - -To "open" a widget, double click it. To open -several widgets select them and then type F1 or pick -"Edit/Open" off the pop-up menu. - -Type Ctrl+o to temporarily toggle the overlay off without -changing the selection, so you can see the widget borders. - -You can resize the window by using the window manager border -controls. FLTK will attempt to round the window size to the -nearest multiple of the grid size and makes it big enough to -contain all the widgets (it does this using illegal X methods, -so it is possible it will barf with some window managers!). -Notice that the actual window in your program may not be -resizable, and if it is, the effect on child widgets may be -different. - -The panel for the window (which you get by double-clicking -it) is almost identical to the panel for any other Fl_Widget. -There are three extra items: - -\section fluid_images Image Labels - -The \e contents of the image files in the \b Image -and \b Inactive text fields are written to the .cxx -file. If many widgets share the same image then only one copy is -written. Since the image data is embedded in the generated -source code, you need only distribute the C++ code and not the -image files themselves. - -However, the \e filenames are stored in the .fl -file so you will need the image files as well to read the -.fl file. Filenames are relative to the location of the -.fl file and not necessarily the current directory. We -recommend you either put the images in the same directory as the -.fl file, or use absolute path names. - -\par Notes for All Image Types - -\par -FLUID runs using the default visual of your X server. This -may be 8 bits, which will give you dithered images. You may get -better results in your actual program by adding the code -"Fl::visual(FL_RGB)" to your code right before the -first window is displayed. - -\par -All widgets with the same image on them share the same code -and source X pixmap. Thus once you have put an image on a -widget, it is nearly free to put the same image on many other -widgets. - -\par -If you edit an image at the same time you are using it in FLUID, -the only way to convince FLUID to read the image file again is to -remove the image from all widgets that are using it or re-load the -.fl file. - -\par -Don't rely on how FLTK crops images that are outside the -widget, as this may change in future versions! The cropping of -inside labels will probably be unchanged. - -\par -To more accurately place images, make a new "box" -widget and put the image in that as the label. - -\par XBM (X Bitmap) Files - -\par -FLUID reads X bitmap files which use C source code to define -a bitmap. Sometimes they are stored with the ".h" or -".bm" extension rather than the standard -".xbm" extension. - -\par -FLUID writes code to construct an Fl_Bitmap image and use it -to label the widget. The '1' bits in the bitmap are drawn using -the label color of the widget. You can change this color in the -FLUID widget attributes panel. The '0' bits are transparent. - -\par -The program "bitmap" on the X distribution does an -adequate job of editing bitmaps. - -\par XPM (X Pixmap) Files - -\par -FLUID reads X pixmap files as used by the \p libxpm -library. These files use C source code to define a pixmap. The -filenames usually have the ".xpm" extension. - -\par -FLUID writes code to construct an Fl_Pixmap image and use it -to label the widget. The label color of the widget is ignored, -even for 2-color images that could be a bitmap. XPM files can -mark a single color as being transparent, and FLTK uses this -information to generate a transparency mask for the image. - -\par -We have not found any good editors for small iconic pictures. -For pixmaps we have used -
XPaint -and the KDE icon editor. - -\par BMP Files - -\par -FLUID reads Windows BMP image files which are often used in -Windows applications for icons. FLUID converts BMP files into -(modified) XPM format and uses an Fl_BMP_Image image to label the -widget. Transparency is handled the same as for XPM files. All -image data is uncompressed when written to the source file, so -the code may be much bigger than the .bmp file. - -\par GIF Files - -\par -FLUID reads GIF image files which are often used in HTML -documents to make icons. FLUID converts GIF files into -(modified) XPM format and uses an Fl_GIF_Image image to label the -widget. Transparency is handled the same as for XPM files. All -image data is uncompressed when written to the source file, so -the code may be much bigger than the .gif file. Only -the first image of an animated GIF file is used. - -\par JPEG Files - -\par -If FLTK is compiled with JPEG support, FLUID can read JPEG -image files which are often used for digital photos. FLUID uses -an Fl_JPEG_Image image to label the widget, and writes -uncompressed RGB or grayscale data to the source file. - -\par PNG (Portable Network Graphics) Files - -\par -If FLTK is compiled with PNG support, FLUID can read PNG -image files which are often used in HTML documents. FLUID uses a -Fl_PNG_Image image to label the widget, and writes uncompressed -RGB or grayscale data to the source file. PNG images can provide -a full alpha channel for partial transparency, and FLTK supports -this as best as possible on each platform. - -\section fluid_templates FLUID Templates - -\par -Fluid can store a number of project templates. Project templates -are great for storing often used boilerplate code for fast access. -A common use would be projects with readily prepared copyright messages. - -\par -A sample template for FLTK projects is included with Fluid. - -\par -Choose "File > New From Template..." to create a new project -based on a template file. In the template dialog, select one of -the existing templates. All occurrences of the word -"@INSTANCE@" in the template are replaced with the text in -the "Instance" field. To create the new project click "New". - -\par -To add your current project as a new template, choose -"File > Save As Template...", fill in a name, and click "Save". - -\par -To delete a template, open the template dialog using -"New from Template" or "Save As Template", then select any -existing template, and click "Delete Template". - -\section fluid_i18n Internationalization with FLUID - -FLUID supports internationalization (I18N for short) of label -strings and tooltips used by widgets. The GNU gettext option also -supports deferred translation of statically initialised menu item -labels. The preferences window (Ctrl+p) provides access -to the I18N options. - -\subsection fluid_i18n_methods I18N Methods - -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. - -The "GNU gettext" method uses GNU gettext (or a similar -text-based I18N library) to retrieve a localized string before -calling the widget constructor. - -The "POSIX catgets" method uses the POSIX catgets function to -retrieve a numbered message from a message catalog before -calling the widget constructor. - -\subsection fluid_gettext_i18n Using GNU gettext for I18N - -FLUID's code support for GNU gettext is limited to calling a -function or macro to retrieve the localized label; you still -need to call \p setlocale() and \p textdomain() or -\p bindtextdomain() to select the appropriate language and -message file. - -To use GNU gettext for I18N, open the preferences window and -choose "GNU gettext" from the \b Use: chooser. Four new input -fields will then appear to control the include file and -function/macro names to use when retrieving localized label -strings in dynamic allocation and static initialisation. - - \image html fluid-gettext.png "Internationalization using GNU gettext" - \image latex fluid-gettext.png "Internationalization using GNU gettext" width=10cm - -The \b \#include -field controls the header file to include for -I18N; by default this is \b , the -standard I18N file for GNU gettext. - -If the \b Conditional: field contains a macro name, i18n will only be compiled -into the product if this macro is defined. The build system should define the -macro only if all required headers and libraries are available. If the macro -is not defined, no headers are included and `gettext` passes text through -untranslated. - -The \b Function: field controls the function (or macro) that -will retrieve the localized message; by default the -\p gettext function will be called. - -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 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) - -\subsection fluid_catgets_i18n Using POSIX catgets for I18N - -FLUID's code support for POSIX catgets allows you to use a -global message file for all interfaces or a file specific to -each .fl file; you still need to call -\p setlocale() to select the appropriate language. - -To use POSIX catgets for I18N, open the preferences window -and choose "POSIX catgets" from the \b Use: chooser. Three new -input fields will then appear to control the include file, -catalog file, and set number for retrieving the localized label -strings. - - \image html fluid-catgets.png "Internationalization using POSIX catgets" - \image latex fluid-catgets.png "Internationalization using POSIX catgets" width=10cm - -The \b \#include -field controls the header file to include for -I18N; by default this is \b , the -standard I18N file for POSIX catgets. - -The \b File: field controls the name of the catalog file -variable to use when retrieving localized messages; by default -the file field is empty which forces a local (static) catalog -file to be used for all of the windows defined in your -.fl file. - -The \b Set: field controls the set number in the catalog file. -The default set is 1 and rarely needs to be changed. - -\section fluid_limitations Known Limitations - -Declaration Blocks can be used to temporarily block out already -designed code using \#if 0 and \#endif -type construction. This will effectively avoid compilation of -blocks of code. However, static code and data generated by this -segment (menu items, images, include statements, etc.) will still -be generated and likely cause compile-time warnings. - -\section fluid_hotkeys Keyboard Shortcuts - -On Apple computers, use the Apple Command key instead of Ctrl. - - - - - - - - - - - - - - - - - - - widget bin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Key ComboFunction
`F1` widget properties dialog
`F2` move widget earlier in tree
`F3` move widget later in tree
`F7` group widgets
`F8` ungroup widgets
`Delete` delete selected widgets
`Ctrl-1..9` load project from history
`Alt-1` label text tiny
`Alt-2` lLabel text small
`Alt-3` label text normal
`Alt-4` label text medium
`Alt-5` label text large
`Alt-6` label text huge
`Ctrl-A` select all
`Shift-Ctrl-A` select none
`Alt-B`
`Ctrl-C` copy widgets
`Shift-Ctrl-C` generate C code
`Ctrl-G` grid setting dialog
`Alt-G` execute again
`Shift-Alt-G` FLTK settings dialog
`Ctrl-I` insert design into project
`Ctrl-N` new design
`Shift-Ctrl-N` new design from template
`Ctrl-O` open design file
`Shift-Ctrl-O` toggle overlays
`Ctrl-P` print all windows
`Alt-P` project settings
`Shift-Alt-P` Fluid settings dialog
`Ctrl-Q` quit Fluid
`Ctrl-S` save design
`Shift-Ctrl-S` save design with new name
`Shift-Alt-S` source view window
`Ctrl-U` duplicate widgets
`Ctrl-V` paste widgets
`Shift-Ctrl-W` write text strings
`Ctrl-X` cut selected Widgets
`Alt-X` show 'execute command' dialog
`Ctrl-Z` undo
`Shift-Ctrl-Z` redo
Key ComboFunction in interactive Window
`LMB` select one widget
`Shift-LMB` extend widget selection
`Shift-LMB-Drag` window only: resize proportional
`Tab` select next
`Shift-Tab` select previous
`Arrow` move by one unit
`Shift-Arrow` resize by one unit
`Ctrl-Arrow` move by grid units
`Shift-Ctrl-Arrow` resize by grid units
- -\section fluid_licenses Licenses - -FLUID uses graphical images based on the Zendesk Garden Stroke icon set: -https://github.com/zendeskgarden. -Garden Stroke is licensed under the Apache License, Version 2.0: -https://www.apache.org/licenses/LICENSE-2.0.html. - -\htmlonly -
- - - - - - -
- - [Prev] - Using OpenGL - - - [Index] - - - FLTK Runtime Options - [Next] - -
-\endhtmlonly - -*/ diff --git a/documentation/src/fluid1.png b/documentation/src/fluid1.png deleted file mode 100644 index dbded1c3a701c275759ee94ee16c0455be8a322f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48759 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�Q9U7I9O;pZJiCrEc-TR<$b(p83=8L4@hr0c z>GcRK6m3M2VCRIvanhow!4_+04InlQp4>EA&DgSRg&9>EOWK%<>5JErN2f4(Q6>!@ zO@iSg+D+csi-~JoXY%558p(^AFpdWU@~W1vMi#x=3w%1ej_#a=bae2Jn4F1XveaBD zzI-~zAY2l%kYae2E{oSu3i);%B?TYJP>DM7$U+s)gchGXVqyt%0Ggx`BhlJjhg_X? zE=7m0Qe;Q@caUO7xbnxRqimh!W?>zFKO9P!yH-IUGpf-=y>&oT&-XqqAuL_e-AYRd zNHZf;s|uJOiq0iHpXO&*~yVfAxwn=YIbEdhg2@bE6E0+(e%b z-K^HWf(VrAs*VZAy{rRRv$mo@$^kLkmD_&0Y-e|;pv5SI%u0B4Xj|CEUl2t42z88y zo&L;r*49enuRm;`;`Mjl9f$;`OuYObj%V}q>$zi8;Sc^i4oIOIj(Uih9Lhc;1=+wJ zhuSlYlyuuS z@8M;vb4#DIN*LSa?Ejvi!<6htsb)V^>qGw|?3a?I6`7O$&$d6pZW=fB9UEY4MNp2O z8jyB>`|lsvn4NK@yik>i`fH!tGP>)a__}2Izi$xc0MMN16H`ns_!L@yWgp_;NEB_)aOgvYnT9&uqp?g;m+g%cp{^VEi2$K+mpS44`f zhWtAVAz3u@OmZnC+9A);Zk2pgvuTzrbVW%WGMK^a{xk$$CCoST5B+ZJjiGD+e2&x^ zOU4Z^D!Wr#1iD|%tQDMUWC#4}9F`S`ku%|=%zLit14LmpDJA|+^4NO)& zmq4mXIgY{O50wOjIbyE9+_bEb1(fK#41J^UsHOYwc!Jy+!w~AX)DlQAc>WTOS6l z(Pe@_*NA#ypkVg_)D4QqykZWrQEcCF#7>*tnT(8r=}M$&1K4 ze|~ZQ#SqObDryC27WuD0xKu(AU3VJ#JNWG50f<*QB&w^0zg6_wd>wP>-HnhK6P3xWX&4O~zVHZIphj z52sB3?53Li|3|NZO`iTv*aB~jsH!taS8-NI^fTq*uMW4ddsRl{>h3=#@(>v%SLN3} zt1b`N&9v~Z8b2!brBf`O+Yt(=UwcO0VG>enrp`GThIyWbD z0{&f};fh+uo`7`6AyD*uEFfy1z*6wI-bQ~>eOL0Jm&Sf|?l+G|rvx9DiAP$v4^m>8 z@Dao5B|U7G9IJ|;i=R%#3Q{lk?d9lM3?M$A4W6|H*~bxBA!kf9hMNVEi8S}2`>jiE zp!ThU?Xr~Uy7rYZ}eK-QuN3 z@FCbjw7ov_mi_r}CHe~KlQDR18_tOZNk&LV;@(4g4UmLya4T|Xtq8hj>HLi(v#?^A zbvulRj7!mDFc8ghB)dwvS&P0#hMuda-BCJMH+#la5SU)0Wh1Nz3p`!6hhdROThbz) zjaNTzgT@E5t;}0^)aY|*|K7S8mkA2gQwiV^lHs1@%iGerYCN@ z>#Sc^Xvz8RiOoIL>Vul^*M$1ha(84wDpN4A$f zI*qn9_+jPcid^S$^Big$8B~~Z$Y%U7YRYV5JK8^plA#R3Wc+obiHL*DnRgQIzMMIf z5c*dgtWTsQHxBebFPEqx5oIm^VsRqGfVb)o~0g*vi_3o zvbLt{%O>$`BD470vnL>=oihT2^;eZRUyC^MW#by<6oi+GDLU)Qoap=RHw{ndH;r-? zg4M$^DbOIpByj#=8U5R?Lw)&39ftHWXYowBwFYL+RPGqaCe zUkfEYp}N5+iq)OHL28SMafRZWm0kY33d^FUisGcY!oZt1C^9t$vic5Wd?Sc^NE`2v z^7^ZHj^pcqpFPi(LVB-ZpZ@%$M~7k+AytZX_~5MR3szY=g|8mt{0NGYbLI2P#a<>H z5+>&cgrc=WjPq&pf{D{@6vB6uGlzy%3Elxhj<2`ZP}A`Z_`)^T%Wwid_NWXwbqmvX z|6SQb?0ZfTcN0b9#Miz^mgM^4HK%RYZAUPep(8bF)BKTo(V+&H(JQqlPTXtzF#-FO zreKfFCKTuTb3?FLZSxop)oI>z;83!q{&=BP*xz9=<1Ps?v&4*AWkqEm*l+Wsyx)^C z#46aK9ULw*&{rlgOdbxo5{_?)elO>zE;`Mk+!FY@V_lTaL8xNBEATGut>`$#QAHq* zz7^UXxhXucM?tYG&xuenT`F7$=pG5_@#xoC07#ZgTBJZrcKoQ1_rvu`dK%3hc!5~Uw)+- zevbZDF1au}aZKAU;a+hhc?TH_1c!!qlMfZ5_74G15p~Q zZuCTFa{rFxTt>9N#4rahMWaTRz(h>q8;wcou??_2!8|pBWW0Hp+^i7%;ES7*(TgN8 z=LVB8LdoWT`yW1?@Xvh$To9SS$9-YVl)%%crTYV#7L%K1i|;=qXTSO9eq&8BhK*qZ z2a~A!%b8LIJ6+qm)2ag9o3~k;FdmevG5oAokuoHXb;~jKp`D{)<=!9@2O0b5{af^? z{|s20+Ad9#Am5^0rJ2HVPUV4Pw z+TNPlxbN02!C4Ju1$`3J39?j4`XCU7wLY6EFZCmXYg5x4b+Rx*pL;5;TFU(=+Tyzu z0LGi5hk@w*5ej7ZcCMBE5aYw`kn6>e<bElLBCZkYem=ga0s_%r9hPI@2fVH z6zUTrBKHTmt!8AKoUA=<#V|Lm3lv)oTFn?lP9B28FhwC-55G6DE05rOuNCb$SumaS z>ffOEdAi@aRp_ZBadiOGmc?tl-I7MwZZ$SN^?U<1KuO0}(%66K&v3f=q)atWb*l1v zF11@O1&hUghlF~uF2WL@Og8g-5!f`2wXr?I>z)RwV|hfSUg#5Au!hd(wkm!cAWn$L zT$(=l_xJZdC=R`|rDkWVa40_{&&|4;VkeIVMiO%>5qN&!Hq7`s*D#)IoZDtboK;{X zyVc=sE^BLIf-vj9xstzLmf-~2G~t|Ao+W?GEZ@cl&IrdTExV^mk>J=Nk--5A^ayzrcq->l5&QF`jegpiZv}Y};TpUE$qo+YRfz zDeXC=FGTL|VG0(-Q7-NvS<=f{P9my)a^f)gKrvMwvOstb?J+@E&tbV3t`tqZOH4jzd1pah5RnO8Z+ zqvnLdU*nLPgV#`VEDaR_m%9ni3r2Pr0WWx>1iZR{5Ua_e56J zKPh&UE(-7;)^!Oh`%vhM7A!@f)|4XFb^2GY_g^RxF@Jmf51wvMB15LhWKo+~%A;FbJn}7G z_<}yzy1(gSS5)&rHB-vF*Y@9znGemIuEm^MvhWNsJDcE^hrAh0bXe|^4f)Z591%zL z9q)H2Eo?XQOLpaHaXYwkDW3>c3&WT_&b&CSi$2iu6BRepI17Kp_m`;s3)%bE>>8F+hW8J3uAD5W?SSex` zY9QTiC2lva6t$F+GCgGsI-a$f(|$noVmP_&_sgc5%xo7*`uoaJhJ&w+0>^Gko+IY( zNu(z;+eEzB>%&_AvAFpBb9d= zBX=EK^Hn~H`;tN8wQH2xQv;aV;zqwN>ZzooB&XUT+-s+EWA~lV^D4Eh=k8CJ5+mZ3 z?4hH~dF9&Iqa~;{-R}A7jP(ZJ%or!6l0HaFL5zmIfc|M643myiDq8N%PM#S03ZT~S z@;B@Sfs&P|PA-|`Ht*Dta*d4rj~1ECY7C5ixlQXd7vwsDyWE|b8G(JcA;?BgnvOJ_ zS_yI;x_WoBy>E|Yp>UK(k~F{?YQ^Q841Q7%`bU|O_j(5&3i4WA#a2mG3k*C9x>vKS zCXp-^#=M!yPV89!>2g-`H+Qd9NjReHoPhA_W4d7VblPpwT0JlO6IOU`d6 zQ}dE4m!nCEGE_Q9hXKfT$^Qycs=Q*GF}iSL*%9JAsKEH-blXb7jIe)}s!F?n>b#cl z@Avbe2hI%!Qj9v-eFVgjN9zG5``3?_nE#y*yIIbAEyE8IEUw=ET#T2q=o&0Jx44Ao zIHwqmD%Xp0_&`lDp%JXi4o;Cp!BCu77+P zD1-H-FU%J`3}IjxY=z6#XAT|K2q$kq^%4+8eU-f$##!+C0%Q#{QUt=Ra#GAm`K_s# z<$)`XRkvkVCm)j-?@vD(wtpxj-Y5&=$fH~>6tW`~7Oq&hqx-JZ11vda)7aHkqQCNC z+x;_E-wDMcZq)7z0a+#Th=@@+sw#fUP|~j;#mb#?DjHj)6^7MYJjL8U`zw)BD|;N8J(9N7j~G$NIpSlFKVxwrzZ$k;?sxYk8i zgenE;x!+ci{TUt`*SFWbf1bnQv`0rNuKIA3QUl$;uum;>T(_^jYUxr;U1P8Elo>e~ zP6_Z^Ft(?~`Jx&7?{crY>(v^t_b4S0 zEGD96HjTPM1Br9E!uA8xm=(&dXj^?-0h>qLLnC4{DH>#N`X^SG!Ol#wG2EEv>WG-% zzNjVSP%w%1BE9`*6xhefG|@+!m<-qh<_VlI5ilQ(m^UJd#2a{i zE$$DLW1^$w7z075U=ma3rl>R?js#{8R>$Zxhd1R4tKkEufacOn@tNYby-RW^iE2_~ zz}DUxq>3%uABoy#k=q>^LIft`U`Er-Jf59t{N8*|B65tHkwtQUc|OBmLD@1|JUUSP zBzldNO8nO1>uDBs^}=SB2<_<$MJy#7x0xWzGIvo42JuI5XXf4*oFRv|nba53M!tOq zZ#0;q!JO`*CM}xMP?G(k7fT<``6)IzAk3vWK$(WvSWDu*KcaseMx$1QSJoXk8!l)j zUrH)LBR?jg^~5=R3IbAwWKbuw`yHqd?G7m=1XgFP*j(cIYHoxugfXd>w&G~Qs^(rO z+0v*DTd9w4was3+IjE%GOYRVLBN}(u_F|d99|@0DCTGKdAHd#dXsnh;$UhF$C8)z! zjEvn@--!7Uv!E2%sxEccX2jlt#zcf;m>DyMVKhSeV)ou__hFeCVHJY})GJx8@(v{1>VcBoriR&WOrX#cI;dWi6C62Gav2|cfMp@7p~XdblvaUD zf@1CaY-q~Q;64Au@IkAdYza&~>-k zC~;z6W-|qsT7mj+P7=Kd?Q%{gJG@`Gn{SFepo(W2xpxbXH{z=Cs(eN|nIMjm2d}pv z$D){w{Jk1FFZ%*%NIfh&qJ2h4nFHvE;bmBe#@_o)p+g!#JWW(&CG~y1i=Eh$_EIrB z5QdNIhn${as!N+nC}W?Fg*{{_4_%0@)Zm7hs~e9*coDw1u%pUn+jyiVBa~0t*n}j( znAO-x^iph<5S7~h=-`)1AUwmT61aP{p{vGC7~>38#wOJ6v@;^!c_XGo;}B7Lz;%y`V|*8RK>m!jg}a7>NrUq1Pss7;Hz z{Guuw>-Ck}Qo4aTT=+dpp?@l~2iE{XIyY`#T`g!dCxA0#7uFNDFBHX6;7_XaN8WR= zNf8S=Gyzl6+UXbJRGM1G!it&97l#Hx({g@c*uwO~VajDbY8P&~L?aRB|1F0@(VU*- z_ulXW?~@j+4xsB(ZC)wPmC1JZkttl9ru&MPaDB(MC9%BNun8J#@*Gz7qMW#QV69q! z9OpaL-`B=rd!uCeVzBa@`QIV4DmEc2ZFV|0%%$}KgWqFuyR+HM#t}Z*`!r!$ckip?QlVvLt?y-BM-P4YfcrS7|LV!{p zR}|mml3g5Fr&B9-Km=O(pf*PB*0BhX>2lr}SX?V38Qq;+g+ilmWiuHmASMi`(UQwY zb8ofcb!qVy#WocmD!mwFp1AwqBK5;qIG>QAOln*i-@qo*W7!Qi=6iyFH1cJ$}QneE@n8vi?L|4;K(C(5;si2;59Y6F^=xo z=`o_Q#H8#el)U#OgcVft0FUroAynM(^Cq@tgaP|2u1Fm1n8#I5)Slw9nQ?^jUF^j& z`_0m-YX(YD1xpQ=oSW(04^G$2g-Rkv1ho^G9XT?5H)53P3pdiKa>jJ7A?%EZk;wg- z^gL2ztn;SeQ&y(KPA+~q6fDJatkx-w)csJ;%*G>$qOxl!#qBDJbH{D0pyMi5?UTfm zdlwf2ZM@!ii9{xm8WT^6jpxA5NGDRG_^QJ&D6T=2VNMjZK-5f6u>KywrZ!B1yO0vk zVO6VA*hF6GFR)FV@&(Hi8D1yLQ(`+fNl(nRn{fr{G-}CKuYcB5$Ks;Mp0s?yDRSk| z_;SB+o%^3jb8H!L*?D}7T=UbADfjmbivV=;O%`|-+H5-%AErRP`J$^FC3Bp|Vy|MQcvMIcE25z}2y?@9~WThH%1T;C*Ty0P@ zCBC3idz?Llk&{=u%5(H{+b@w^o*tyzK#7D_hli^}!_w>3l@(NsC0%cJqNv$LW$;dC z)%1#KyoUd`g2S@?FBZW0T%=@?^EP{-<(r=)Js<6?WfQ0HY&cP-6J@DyZH^Ut$S8}B z|F^r^bUC6Ob`L(YafZOV;YS>gs`NG^sG>E+9#(vK5v%;U-=N6mj$kHn$ms8vGEa>M z1LGG@kPAnGm0Mkgel_I{oGrY;j*`lK(8p(xPLv*#r>UWCNm}Ybt-l%RpD)&ZAF1-iZv1k!fqNculqP+;1|8N?M@Mn$5162Ko| zhh1p-k@hk57Md*yB^|+QuYHa|+4(-dcH+i!oh)ym$ilt!N#C)d=7vl-!o=WS@(XL; zLVzcN$iWX;zttW%;0uHVN#AKTF1>WBBPyVdI*|r6DX2gj@MTNi^d$xV_c%qE4)$LD z&Q&*M@dr>~E1KK9gx45;Y%^y@-%pJFBbwebysnwp(0z+*{nxvW@&9O3ZZgZ^?vS7Z zM1y4}8)`MoP=#ev!dI6;J?M#00hxEP2B_Omh6~!HVOg*KbO*WhHE%RE7Sa8LEV1xh4Pu1)v$1$k@7z@ zYnm)CsL1jPpY-#5ZQlWdg?#kCazJW4(rL8bRrN6tM%3U0{>>HqSo!cWXLMryhUlDG zB@LyxPbn0>IBZ@WA<^V^6~0;GZ{z*0A0BUBP~O+-+X;QMnNk-J|F7 zLCfw0AMqFTQwF9xoEi3n^a5 z3flqloRnaz{UR|ZLm)9-Omse}P_dD>x$=6&J<1%#Xn+)R!KuzSolEw%fdTg5H9zuzYgWNB%xh5R=O zxUhN1_{t-3&ik-PBGJ62725vIu?Y5)*l&bEtE-CX1U{WxvuoI`x;b>@5_@U;FQh2E zoEW-C_>@CHS&haW5KzGHEv8zVLQE*37=t!`3gMV24?l~hy%S_XDcdAO5(2PSu%MhJY zqyhu0sJG4u#I}hdh$ak=ryNG0`u5hQOBoCfMkFj@65sCxQl7B0fIUJkHmnCumTL8 z6Zg3a{MT5H>?G!4!)Us!k4&BHZe4%8?+kI3P7$5#S?6>VnA_rLK3p}Fba|=i1q^^j z#$;*Kh>#UDGPHfff4S#$g;zd$q+_c%06LK;f`uIjNYAJU5?P6T5a8G9&(9AJ-UcF~ zsG$#kcT?1ZyJvbsLgvI-XIrLaSJltI1^gyLJ4<2ouH9q+C$_o)ao%bw^AYyOHMq8% z@?la4*9;_(R2>820BsskhsQJ`c8M|^r@+g@{(3||U$9T2vvLwP4PL}% zlyQ)!12PvI8I{%M{yP<_g*A2U`Htld%@MdH?GmX+(e$rqbR;)38!vto#DKn);p;hu zBY^W=#3M_?swC(X59A+c5_QN2l=O>^!y)>lcO`y5@_?%KL*(<@QrZZxU}7{yXeCTEmb6v zghM+TW2^}V?}Qc|O+EZgC^7gx5GindkzVVZ!7{D$C|OtqPoF^bF7*~N23{@t%lGvO@=9r z@iZYM>9a}<8`7LW7Gth~yAdcBB7{V%4csG1u7-MM;KDsgDL5}CQRP$)th+N?q}%w* zhFnHu?_!Cqp(IZuOWhbw*a_i!(pM@k<8=!~KV50y-sed|rs7(4aV1|#cqD0=@t9sH zPMv!e{iyKN+(s{WrMm35m}Aw}?)-3CE8?k#^I!@q5!g)L6W1c6qFrF)CNrYrg0d&! zml!HH-w{kwk{;EUINYoXgbP9SXa~)Q(;}jf?sN{F3AL>nhHJqW{}gTvcyL8Sa7;F6;+V zT01|j=Ks{m`Sexx!vCE7KOyMl`ZRin_~E`K`-T6QgUK`;Ta(SGz`HsZ@2Q73k$BWR z`XepPB2C46%3ItqRKZ}>@F@#I#mc6aEY-mM<-av(dlC|>jF6h59Uad?^a840KCXaq z9OB9a`>!UWR5EqHWKYKy+wm_7!?t?9Xe|v|%k&f?(VrbY%Ko3yh%ronjISN?-@8j- zCXsEE_p`w@+V3|q?cQvgId}_iZuYD`GKWNY?r?4U2|Dhh$NwwL4yd*El>XX1_UpL$ zd_RMIjp}C`{%BXbDUm}8dgl!y0n@ui|LbTQz6sMJnxEqV@~5Rw_}PoAHx1%}c*R-P z%5!Y`q&m&QGZZh&$@tC zLq3IV4STihpvw)kYI_{rq&>?&9^gUr#hV8y5e8ha_ai6&6JU{}TVROUw}-rWM_tw# z&hQgX6B+M^X7%7bTG7{yZn>qqRM@R~1J*OFSiW=|dzB)}{lDtL4MmUz?go>c1^?$@ z{#gdI1ECek#nxHf!4-P&(EYHm*x$ZVcXA0@-*=@7Ogf(1?s|%ptNE$njr#VW3*`fbTekMv;mr>3hCRl*hHXmB zow9lJ4(JZyRr-NHQbl2Cgf?jEeaA`B$J3;s2MG|P10Y0)alE=XhUBz|{dhGx37@50* zUvAj%S-?Pe2e?qi%KWdBJi?soB0bwSxTkC{arsy zh>iZQBf{&fRo#4VT8Jj!9@!fF9mmU#tShp}F0`>If!V`^k+u!owA2EmsQOfJxXcx$>yuXy#zh}GupFMhvgRR_5@7x%6SfY9`Ig-_t#btzn z;n@H*K30ISc>wherxZp@Bf|`pZ?O&PH=ZLC3VxVG9q~}`-TDObwAu+cs0j7w+}A{~~()Wt_|*GIaWxsA82EtjmA;$N(GS_R!f$ zoVdZ@jHOie?IO2nQ}1K$Z1$|W0wF}l2wOs?Nz}Z|>lfeDF>o19=2HF$Cgx|caWC1C z$$TN(-h<36vygq$u;=&XmD(NVJ)9?D3)82QBqMeF7IgNUy;$`yz=@{g;4ManD2$`7 zjKVoSy5u3IH)*Ik6-Y~efVMIUTt7)3|Nh?lRIP^HCk$1Y?E2}#?i?iJrUho`z5*Mj zi~eIbV6E6gf!R%yZSt}@8ya<~^bVYX_BkKmmQ7oK`$S8m**n~2-a~qV%t0-b_;wsx z4nho$Eru8Ye(Y!4s38XAtvtasNZ(C`rgj>E?GTgo%zRn2-JhdI6ez09I!;%dU}3mS zG=|2uS%DvV4Ev*TM-pj8YLkH#r$;01Y@}oc_ZPfFKZ!dn_pe(fZE(yH`-Xg;z`;G7 z={K|pItkp9YSh4cm#rF661_Uuu_M;}vSPTmxF&}wWc0naPA+`6&?%Ti=J;{P_30{1 z_RszclaCwoJXlt1;R_#u!Hn%wl>Wu!aPK0m@`-E`yu!-B_RhG8*0h*=M+i`eiJO5o z3I@$;fk3qHv$Zp*L>!tqWA8&KMB?#uhH{= zo>=C=qjUeabqDhEL-9wtMwEW}1H5CkIS>BoG$zd)Hp-^lVkCV_cCV>`fr62tz*`5p zlUQEmsW@+zVOXRO_Q$nySnqCR{41(vj%Vfa#ph(v*`rT3*VUz=_joUmRc@pFOj#s5 zOVAW)b&Ek(B|p#PL_dVS+^)$&^{ethJecZEktO|`b*p6ghnSA`Z}s9M$8MF=p5}?z zugrKHto5s!kAyy!c;po6+@UIBvtUwg#>Ffp%fZ4X^Y7}&1&+6R_wQ9|5P)pUonZ0e z%!Z(~otvEG_X?Oh4qzI=d94GiA-iXQ!HNRR<9)u)jdUwC?a}>6a_mRWP}zhf$*;*m zx2MvdssGtcS%^ABr^cK)V$bKrvxx4QJyPoiM@)Hvcv8UX>ip2^ONTom_eC;ZDnBn7 z6F8ync8-WCz=6E6jz0(a>*)nL*23W}=VJt@NVAKkKY!7nro5tgJ%#-*8ioKPgA@q* zhFJ>O%Ci?VJ+eOeaul8$!0(1sbOI$U)L!n7G0d)IQk(!tSdy(uW3UhPUu~u^`>i(| zwbsU$Txt*l+2HTRzRC^l)Nq&srJZAJn2 z_NQCT-~9KYo>>Hm0XCP_`NLNqamR2%NUqK_c{QMuSAG80xdx55>bBO}UC7@}EsI`} z`*$%71Nqb$KK;A?9pf6fPLBZSRJi4qUt@Gmhr=tgjA)N3C$(>9-vV6E$DVz%&af#{ zOCi>3_e{czxYRtV>ds7SuA~E=PI_4c6c*+Ai(t<^PM7K2Q<=*nmcV?(YLroD#~(97 z2YWSx_Cy)+ypnxp4wA_VH?b|Hn5&*0nUYvfYy>34a$`w_E*e|HfHaPw5@0);ViETt zp*&U@3j#?X_tpORxk}^ZsP46LJ!$I5$@zN92ZLLg2!IzvFW49^J1?aiFD5m)oq>tY z2g8}9%ourDQ%42zNkfHz28#WW7OevcjfG++@wf{uHHZ7+P%SHAablvgXyo5$whxeX z^KqbHY7D{BUyxaWs26CIexT5Ib$#erBIbKMD8aY=Y<8^dMZ8C3-WkQUwh_oM+4%bqOcEYP_@o^b*E z5KA(lg#jy@bo*DgI;(iMP>f-}6iXldV-b*x#e%EPA!E3zAM~?GF*vEu&diuMbnWuA z05`cUqcAJ=1SZ%=Kcv;Pxa<0PaN9*9lP zdB_Cd%>h75t24}6??`-B0rzTRrhZY8W8O@yko@qM#Ge(hN*o5kXs~}%*}ccWS`hl~ zIV}@SnelS$*`}jcE%`GKsh2#=K%9`=XT~b8wt-9L+&s#4N=3SrdT)i-gii_4{%$$m zviBfLaLI-u!z|~ykFidyEdl0}pzA%04+vDLLIlc6&PJ6fm0;@U8{rayOmj6e!;TMTg%cv^7`#n##gnbxeOBpa@rb1e|VhcCCy+TF)} zY!A{AXcu<2$>gw_aWDOH5EFor-DQ!-wNu=DSC%Yn%Hs1_N+zGmN9D`ACuPn)jiR3_*hWaiZ$I*nY zH@3k?1>ajWWG84vkbCdIDS@hGYf1aNA;+_7t4jDH@!}a)Z%Ngz-R9|k7IpnQObKc2 z`r-y7vJ;jc?*TRktg_(MOI|LcHU<9?-zlIqHLxG=9xeHzJi}3pi#FbFW3w=*zbH!* z#|LWpYNCIvk_!QfweSfR`h`+*<|OAyu|-0;%h?oYKQ6N~2LV}j-hTQIai;}7UQUh# zt*gU`FSBbSDHgMzQM_oSR=J6|%wZ%^c}$Tvkl7QUC7s%rL5B$zgj&i?Z^LbEVi>~41NPN-Iu7IkkQ4dXgp%hvS;rN3ICVGx&J;6q9#KOf7|EA+1io&OMi);6 zfkVH<+@w!Sk&eNSjoEL>=e`C@M00v&o?f2ci7qvb?f<5ur6H zVta{@WrUn4fz}f)5Ak|MmME&Zq0Y6@=SOR;|99Y-WM0%31KZk2L!REZfpzJg`kZ!} zm_1R!sByub%2!vd`bk1=PZ)$|c(9Oh^IjZGU@ubHoodv)ExBV`6BB|U3kKJj0Ys7HpA@A0Puj{nHZ zZqSlSqr`qjMQvbU`{)S45F;&#A`M2>cq@wxR(Nz~^NkKQywA`Yd$Is-tb zwr|Tm7eXMM3Epont(9nHE#E@SeA^7_wWJ1r5~&>^v^&~6e2ghl=hK+2P72BR_WFIv z6`JdCw0hz{_Od^w!nnj9h_H($4;Pmd3i@{?Rfd~)b;X{ zwZBK9lme5n1}7%^`!(1yZ@%%0fCaCI48vPAc}bKt!_bEZ-!mnPpS#R3F z+KN(S*(p+eAMO6%WxrLe&RWe}a~7?SxHU*Qd-}~}QLr;}sm+%dtpvNLZv={_nWVObnU&B<4Le z6sGFNg7XC)9pA%)#(UvZPpI!}-ll|It=xdzPqCru25RRw{;Wx#{m=YlyTH_Pq8F5J zCT-yARev`SL?++Ra)W$Su;aTSDbNCEjZqwN=R2Ps2ac{`5jJ0@#p;TeenY*wpI-;b zCA`F+eLC$=7r=j{!GGWc4p?NT=?NzP!a|Ix1&=8WTQ7StXC()ej8#+iZs&|~)u9B& z44LqC=O}G`&e~AQ^<)+gzB?r17*vy1o0 zGI;G0UP8{S?ZlM{YwR`1kl9f(}3ir+N}R{5u23BB{o%50ouCU^7C zpkT1o_ZoW&lHK-kfsZtgrNe}>9@`^53Z?y;gXr(pyAWLGY`Y@%TpNS8nZ<%oHlAxr zBr@}#c1Lwi%dI-l2KQ=?;Dz-4@9*rX&k#y6QEdw*ywVr*$8JZH4`TFmBnNF;{>W@v zE}rn#cR-2O+HYSd88kY zWGV_{D-d~+rp5$96Wt|v2;(L4t~@+=&f!ytmc#MOdS9(9exhOuI)1XMQ2d)`_Fbh` zp7nP!d41b%7 diff --git a/documentation/src/fluid2.png b/documentation/src/fluid2.png deleted file mode 100644 index 7c8faca2ace570c3f605cad7cd26b975cea9e028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117079 zcmZ^~1ymftvOkQwdvFOBWN}>}KyVN4Zoz#axH}=ZJ0!u~ZE<&Zce1#XKe_VmJ@0$p z)R{B2)%ELYsk2?(Qxl=AD20wfi~1n}pjGsRRlNrP^9t zTvVbUMN9mY60nuMGjB{h1vb0n|#vhbP3@;gV#$8Y(&@$G1+OG@8qN3eEZb8>e4sB4Qg+lv-Y*d5ZSO&z9(L1T$ z?A_Kd$VoDHIwuMDr(S6n#_r;>;~uX(E?ig~N3a-W6%{eZM`&lPk5JMdQA|QWuaocK z*GaW2^uB-pW#m$=OJ{LaB-V;-EA>^1-ak)J(E0s(b?9$ua0|!2t_t#|r?;acq&F3C zkI=RC3F^yP>Vz|$zZYg#Q3BZ3b3EMPPyibGM=pZ=Bs44=v|JUulp{1I1lkWNlr20E zlnO5<9U@ah5oLG4|R z=}_QDfp~*mmP`1)Jg&rul1*3jLtueEdV`It-yG1Bu_c zWQTHf6o`EIq^Op`wS7*GKs_Q>=#=P$9fBPcC)y?yJ?;wZg}~O3ldg8KPe1Mj8j!>x z>aGiMtKdTHS?}58`HS~EUy2S4KXO0Rjfmepe)N;bUT`FVf&oh5G=*6E*eFP}!9u}0 zV0bW@81EKrytElMOL#>ur3sKdrpdo4y(vaZ+?KilyEXjfJ&sJ6nfT@Vka)QF@IU?Q zLR|e_LtPVQ6&^onP?3Bm8-m`2t4VCj)Dv4*5?1JtIj6!@o@KPa^N=Ny_%u{hR&-j- z^|?Z|g%MT_{TKXP0=hB~qKh9=7K79Dl|H1yljN1DTa_X|`7(ewsAE`aa z&lGCUfa>1W*)9_=8|dJkL7$OjDe{&)P2wJ+JQ91+zL35kza)GRpHob#{P0;nU#CK+ z#7p(2o>*c`KBkmMjzy{b)7g(@w|dQEJU17&?3Rx{)n3hyPB&kVUx?Ar5o6e5c!!D!z)|&4KnoaTnl=ke#?_zaL@8+9wi+ zER!om9txF)8y`iK4U0P^{$#!~!6pa9iKcf;2F)O}hoXrC#3QyOdpJV@i#oQffi3n+E$zT@2ipLf=$2M)=U*H6;8}fx<(#}&3u>%v%uqw z)&8|)QA1E0Vj``Q#yFerj3eQ0pAD5^;{VS=als`)KTahRn9i3jLag z1)q|W!O`mJ^H|@U#QEp5>60(V>4z zn7VPUaWCW(^t$o{O6x++BQuMto6R$|JyB;#hc~sFVU6*PU9I4!pK%d!gO+hhm@j>S-Z~F;me?5Bs5Cm%@8WA|?xcLfFJp8_ZWxw11O!|7C0Q&a<;_P2 zv^p2J7h{_uoT9cX`cL}hwn=cLk=c>I;yji-DQ$4Ie+|8g4t(cfsWX}>a&^hPrv0u~ zaZDqFCDn&3{u@z7lgLFWrMxoLq0%#jJ{H}at<(+01sx`Qaz;(Y(`VYJCkj) zT0b<>11Nu|z~94z;m1&82v~I&o5NeJ4ou9PrnmQL>Etd`Tmk5MEe`M8v>$5>Q&s=~ zgI8aP)5w1Bm*=7feG#}oKpMs+o97eLlQ&W9u<`o@~h1sdhfKrdoHfVsNw`>x2C?uGylYalWw9*?>|$ zTyZSKw$l|88@u_1|i-CrDjxVSu-&$5% zIv!^qV?*yl8+N(}GDw7oZIl+X7Qap(nmsUP>3T77(%ALdc12wC;fnm`pHE6)4h4~h~})&LZp;O5VMb9-ObxDRaVI|csetQ=44 zc&y!c^`JMB#MmXQC~jPLc-|&<(o_G*+&sd6k^mU#~sgS*)Hk0b2e%i}nZcV!DuH z0CkoXtpMI-uT8rV>j{w?Wxl0Hjz@fRM+=^3*1I!O`rwL`PRp0qdci;MUbJQ6jFt9W z1`g=I!g@KhrM~7r6`k&Nl?IA%y)Hg3U*1%U_`J5w6D};gNWNM?&W=3(utKc_zPX_hEB!RHple8Y%@%T5RRa z(Y4YJbq#_-;1O3Yi5s2m35x0iF<`gf$u0-C%D&Ciap7n+b?aybR z_?VTMC?N0$W8zrc#Q%j!UK1+s=P#i~v{yzNmuJJr*AjU1`OYOjXdie~R!U$s_FD{_ zY_26^p`ZZu;f+Uvf``U|f_>wl-v|nt7z+L$JQS2HG|B()pP?E4r2_*66=n?u_b(lt zx98tW`t5#0|LY0+JroM@?HA759h?jEZ*7>BT-bl}&^2#mP@<~hGBR&ZRa0kkb9)yn z2iGKwQm!`vvZJ)N3ltP8?%x|4Dm|0vEeM~tR?~9TQjixgb+BVKHghmBX9d|g{;dZJ z2oiW>?aW<`DM5C&_AUY-A?kl<2)yxs#QPTs-Yv zjX^B-E;RqFhwS8I#^AK2fLf5QIJuYZ~Y{;f+e;582@NXXkKAXEZ z*t-24Lv?#=SK&8%|CjiGqqP156XyLl=D&si8=&ND{nj+&zjlP#|7GL9W&c}W`~NcV z-@<-4F3D5#H6GM_}%K+vaIi2iF5^?xjN zy~L2Hu*8;Vp~V1s9?GIs0hf4XTCc);OAJbV2<|G3?%q6V%xd@&aBy&_?V$u>lvHp? z->|-atGV$LKJe)DICypbeZH1_O2;|0c4Rr8$UJeSu{!D?GKC28Cnj-9+=uPXbI6I5Sck8xL&Vt~S=Sy6XmhYMJlpWok; zBVv=lf&VxC%Khl$(>_9DHgY&s(9=)iK>Cfh>GAfKC#o)Zi$(xUQ%jCcpXn&ybUeI~ z{=MCrXq^pM*I15H&cedFjitw=S$2pQj*uJbC*7&&iLe@3!2m?1H4)XS{+t+pe2`cv z9UnfZ#-4hZa!ANIV3gsX;C9lIcewH_$XhXn1E!ZFJ1pnAaXoyxI8RJ}(;f-fK z*XQ^8aM1otpliE@!h`aaQLjGr`BT8Z>6~%Wq{UfWTzt{Cb_|>^5e4IHwcQ)Rs(Wlx zP2^S={D7K`kt47pZk*HZfk9?BmRD}B4l*i)(<5^%Fw}?M8#HDsm}D(_%gO}U#Y&heH01pMw&Rp4?Mpj>YTN9O>D8~kTv7C*)O%&uT0B1 z9!S(q5I(_uA+kyQ!UL_{G;>F~LB=qEYI*XV)-(A<6ng-@md0Ts6?-eR^N$dz$Mc1S z@#1@C{T8m#Y$3tZ>H%^CNx$!47TNbADwO}AToDHU%Q4kig|kBGm&iRP@V%31kMGm( zcj=k{UM3GIm8si)=JPm9{d=liXV#S2cutprC2c-McCBWsUxu>Z_>x0*5`BwvVya^r zpzAw*$B~M{5}Wp*ZF7=w{}AB|=*yph@FHoqVUqa@k1U@T?4J?-RI@eFuK4^;eW_OC z`I9&l2}*S)_W-V`huqPgk{0!69MpM$03)t|RN?GtBgh+S66zV+tPucFY``ylby$@aE17DX7KIAa4 zB{D#D?)1l!kt8!~;~Z<2YmvWAC~tx@OR?1oT!Wtg;q+Emb(HfMlf|4+>dO%Au9=@& zm3NiD5_@gsO_cvHv}=#2xlO=#6(0K>kmikgT*Xg4JrPBEy_l$z6!544a}>+U-e%v; z5Mi{l`AAXU%}-s0msE@jGYS9FpA`6jJdvZHzVcb;Js0;k6fayTmz+SNJMi~J^sl{0 zo1)eO1F!cYS0|^7L$h`zEpEoEO-}Cat!vra=u9fboQGL{SF)mI->je|mLg^ZZ8R~E zD~_=>b@p`jT>SG|0;Oc89oxGnn2JS$vSFgD6K(pl4V4B2_tVy0wc1KrzyW;5ke&m5 zJR%gl$xI?)?v@8Z#*Zm~sUeJ&=?L{I-Fyx8u{_G2)yz?E{TT4!D@wT< zr|O6B56D_59?8dOo+}|@MRoPPXxJpj#I0`qOmUWc=E81nt>)DDEgWr_GS#vAh-G;^@s6m4aCW6KV~#7;GPk>D zxK01pz(48rsD(@^D&{(VbpQc={jxPa@*eukDSL(88ldRlWgg4HL6gK$cNjUEoS`p2 zsrR601ya|BX9!j3FSp>w&qUYM77hD-MXeaB81#s7Z|pIh66v5 z$2vDT`xL`j9>AAeq4{VGlHjrXj=r>WtJ6ANJ?5@(4r55kf;zVsE*TYi_}A zJx3%c-!p9R4Ob~b5@K1}?)MQ$5=80?&t|xi|EoyL8fJ&Se?zSc;OA zlB?W>wsfq2Bb)9WZdCAq)7vnV7xlpV5I^Y0uqC&=)ws2QVriSku6>FP_}A4P7ZRY&Ib^ zC&7>N5|klJ*=`bkLt>mSLfDVIof=7?T69;j^V{0g98l)J;0goU zAl_QWn#f-`*yH_qtyOU?dWcEMaWmcWGoc!`eK%NT@xccn2Zj)v&SexqkFvS~dA>ly z9*BG@blf?5T><#c-*aYMRzm)7AuxAu2WK1{sVKF6245271@|GcFrGcWz9>rg38!g1_5T z7oA5~vM8C*`t$pukl^V@T8PvIB!M zVWNd>5M@~+nNO_SmP{2k%v1C;2R12ucT3TflsDBkyJ#4|5aKok;=R7Fy-vI4m%Kab z;5xad)$`gvuTM|Ku{Ed!%t&#MvjbU#Y%O=z}%|+QqPza7gpZ5zI^3f?O4_( zJw!oA9Z3qd&FFni1qrTU z=BgKA8;h`XUGH*^b<}QCOn-BIK=**q%k|9GlyLk8lV6yV*9jKR+LgbA0ZcB%Xhk zWJhkBo<+ztKzcMc+wLFwwvbhWH?t&3RPivFg(``Zy5lyba~3~AMF9=<6IQHw~tCS&gsYP8Pmc4YK+WQok%8RXHZuX|e}a=)&EoQD%xdhRbs zn#~iOzYs3lHepEc75GWQ@`=PI$jX)!!0l}P9Of`QiY9C0^nC^$gxF@HWT^HxZW6)H zbK;qTLIsdO`y?0!Mn1-hU|rP`#T$hWb}24_yc6?^o5pqs8vLNdG#)#hImlw2Y(V5z z-fCCQTo+TAi!6yAp8vt7CJ5Oe)7*v|1wb)kBrYLf8dLNXFGY_0^}M;H(#LjtlYd?c zT-KQmd#!9EaPnSCm;q7#g5!bVwoHA~-+9aet0L$ zmuM4;wX2wAAJ)w}jBB6Xt?2{0l;Aby^QIFhTNp_Skofu@1q~X7lJhtWlVU4@$Xovu zG60`+q{JhtQ8^xrDNBr7QeSk1Mzg2vs3NP}k4?~1h6ZM-9H+idfrpb^-tGJKGTT-X2`-@qs(S0lr%6tcbGpl0{b*ckWi)38Lc|}k1s&|6MZWS6 zLq?(;(tj%*nAJ%j5ZCwvd7jt}GkG}nA|<}}!RNiUY41?@-fvYc7<^4){!Vjt3rA4g zce{x3sK~~|5bLE?sSQ`XTGM3*^ff(+W!#ttTxz$yZSC$Bt9LTzwMeX5`}*U&$@O9V zhDPL8ALD3EQm1^ji*d7jyQElo^lIyA zzt>KD5To#c(%b;1;>Zfe-aG0Z;@<(12zH9GmP9}iuFSDW_;@SqK>VriP_t=`K(GjQ!W zfzk?S7|6>MAgqdQGGxaef#HG9k)8X z=7oK`c7M`l1R_#+PoA9DP6$_M)nad2V|(%qSF`8(-EH`Fj>HFH3NJb}A7p=RLvvGs zR2R+ww5LbLcq_mCbzw1-uAQ>A8}#B+He;DhLxqc}rVzV8ms!(7ZR|8@h6WA38H6%b z22pu(Jo2*j#G8S8o*XRy&qVLhtPebyIKLD!&T1fb!=vrtTG`bDAgP}RV8pb$qpW{i zGGrybGY(7?bkoK9pi!0T0G;@i0EYk-uihDAviO2efWhzxXs_#?s1@yb8l z6E>Q<0!OJwzz9H+&%fUW@ytT@y10V$OMGVAgP9>EzrC@%vflf*(~l#!yA=l!O&AKF zU6mf2ia5?4USn|o616qTmCxPU0qPZ180j{uP_oUv)rQY){n&)o1mb`=Cjab+)A;fc z45qdZcvH*7>6V#C9R8JRg}2YR&|?llf0J0AG14Z>@Yp*~8EB7aIC@h3{Mg~IpBA>3wN?NPZgr1y8 zX8Mc=$UIz^Y0$8OSJ%*D&fD({M5ycjKtDabliEgN2u38qR|!Sl}pN@kJ=>KR|99x#z2NoxjF9DwBHiXZ-5G z^zHx=Tia79@+%DZFt#h!-)gZO-VKd{pwFo-fhhxVJl0aNY)vrYkRPfTB6BjYnJ71#&VW0@zgwyo6Z}@nG4LuI&ZAtko z_lAr5eKWt-uG;baDe`w`H;QK@oXTnv2sZov$y?OoA=s3<`Rq4%Yfzn=PS27FxQ|aHDfqEsrS(EC+`VWKKmAK5jZm6w;m*kZG-U zEVL)j-n>l#a9PvZFIFW?FVhT*gDOWLUeNoUZ#JH)hGEwKA z$SN1{jW+&CCSe?J`xZ30CSDhfjH0yKHUq+K&2HDfIy{Y4Nt6nWdOH@gOpo~zWQ!V_ z5m@oaFn=%2(0nrCMHu;2WL;gXpZLh{uIRnps{rmsq%a%ab8Xb9m8KrmhSG(&BeBaql}t@GFv0F_=CeteD>9z7b|H=BxzYQsi`Le#n6Nkl+=eMdb>p(A{|Xo`^_nD*dQ zL0pv1F;nt;(^V|o=$)9AoxNqx!!_@KBi4t?GEiS!WNzIILh_IJh9R>a-c?6f3?+TD zmpjfa_)L_wxG6nA&o%D+?dviHIE0FR7r13j&g2|aV$-HJv}3RYb+K`1^JmSPX2!&2 z@<5~CR@-6=aJ0Pv%-KDGBH4rA@T^1uy%T;Xmb3|7DhS#QGDHKMBUKF*$ZJBj1sH)K z#xAXGBF%XXUr6?JFKXEUu)W**xsS#(hofwzOp^$$SSjZm0VPp~Cu0!)lCwF7?CbaE z_n1M@XL)E>G%-9NukdHeXjn@SmIQHTK)~l%@pT#Pfz6LAgIJqW^qW`~cC?tVvS=#- zg(49!;=wSZ$Q#ET+yWswq3ud|%<&dSK@TboD#Y70ONqn7F05%T^`u)rNV1XhQ!xSu zOacNc3&{62FQ`c^`xsZqfMqFlV}*`qQdyzoxAL0Vm z&uYbjj)7F2dY;`ZDJe>-PvaBmoFQUh8S_gwRc|X5f2Y~heA~-}o0O^%X2Hi$xia(=r92p@oHpzO*;+fw4cZhc>2slk zbs~Wg&N0T&!1$o9t`eZ*&;t9rvJ<{}$75ARyP1+*9QaUbc!3-y^&lS=i28>%Ryr6v z_bJv(o?+JT4Oz0oM%Q##Xot@^ro_zATIhwRGg!kXE)zlr!(IKi;VT+a4ix555+Mx3 zDWulSp_v}^N$~OT3GkS-lZ14&(gj4OY35Wr_dSvgZ24ue$anAAww3v~Tg>qw0;fN*FUZBtskinHsBV1E6xo=KuL$FnqFwb@Ak3xco%bl}UN1^4cZmWKgUu z2+*y;v+ZwTk`guzpc!pSDis${M2WydP>Oy{f>bXcP*(r7P60 zkhOWY<56VdVRf?Yds!3G5(U9ZaSU3%94sQvTf`=GxfGgS`%@^7U-Y#?5N!AW%$H&` zHpDhS8~%QxdEsSK^c^DP8|7db(=1pXDVZODrJzfN?0d!8;G6)|@l3=G`_?mHG!UBg zOa*g~WRLjW((LT+Jq(HG0Iu<)BE@|K-4~jN2$-NO7>JjIIZ3g*L|-Bt9Tr+F$ChuN zWwKhLi?3l-QW1vRl_JC{v1U-3d9fNcQxMe*a=IU8zm-Qs5c^Hb-0_2T2b7vm*RT#o zr`X8LiS|kz3E;cZQj&wtdqSX)2=LnRfI1?CoR&b2o$ry_+G#42%iyzF{0=r{)HaSF zW~@5&$p=*2E@&(oKa-5w(bd%JnNGYAyrER zL)J6J7Ey)mcn{M!sx2{twv_!#sQ%2~0n6;@vBO+;x?1mZs^9)Sh|GBxCOxdWw(TvG zPm6~8>|+i>G|tV<;|HkEHJnZ;s`ijf6$~uQ`-xxcA`ECzYbe?w+qWgkF#_6#90qU% z!yNM6PI#4-2q;PZVfAS=GPXom7)Z#mC-=ByrTYh)3JeNaE#=7d@c~X|z)eegFXNfu zO|d*fs|7-5HAEsi9=f*EsJ;lkVZqot9A%^>?|@nd0_i+IiD#ZJ|0%EraS3dDnB>x* z(Fq2zUwuQofugmefI?5N2>CtV&2fClCT^MgfjHixKv;c|zLlw4DBkm9_5ECA|a0 z?Yo%VC~TG}!wsJ_=?>G@v#k@NhepOz^j%6B6%rFezHuyV8#v6XeXSlGFC-wm%N(9W zb|~!W`En@s0k>SSH87RCue3V^bD0YUUBIEDMl?$jG@8*kR#i__u# zP~(URz|tY2@(&!@hdL3It#Nb|<}AO8px;kT@@-&xZvEZxm8x^b%lgZ&DO$mi!?at( zY*+HJ-NcYFe7rMTJvE$H?nj+gPD|lKux02P3g^(dFoo&0o|%W|MCOA(p>Ka|^v9hn z_vI-ofsMFtl=pOL-?oZA$Ck;b`itq4Sder~+6=tK;a%H5##G(gsWO;(LdOX!Ty+N> z;pzJc8uJ*Ii4lL--(>lnqqq*XHQ^;j3}e@d$&P)9ij|$%{xz3WGsf3-H;UMgBMN}7 ztjcVjiNu@LvCx?CpYEsV zjy4g25Eo)?FK6)_m}u^KV>6iH50}u{A9-AGi5m5~4F`$Q-VGuoTFo2yI3oD^hdt!M z)iM^4%HCoKo^GP>CT{mh7=-tReMMCx-e9mLttNPZ{IEV`= zu`62*eo&zp;fdst6}eIF>dpZUPcHmj-9Es7&}lfriX;TX&|>e6g-94XSw2`e9Za>N zqSo5lvzwzn3efPV@dqf?cjC+0Y#10TzXOqdl(1+uk_F$_7Wj z72BD^sNFYP?E$5z_kf3pc`g6E+Tp7EhY=4wLCdV=F?;eY`2GWeWom1mzQECZ z9*a>ehad?TQ{A@Y)R1LDc~vZlc;c_KUH!ol-wV*|I#()MAKDMDMg>q=Jh2_0$QnGn z4=0M<)hT6v0=|c$2GfsHM{J9c@t|rodu;f`v5h$H!1v-?v|E;K0qh?jAxi|R)1c<~ zzPZ7D;6PHao=U`Yuv@zKu(@75GG=Vg4~&~hz@es7X00N@j`pnGk9ET3gFXpJNO7x9 zCq?awG#`psMh0SN9BR*{C$3{i^F_pdAmv@<1d3@z~E!+XoI@kgELB(sT}A z)z3{Cm<&Rz?9Ql;aGL1m?iMg<7?H5!?SQ=nBbsjfhiE$u|LS^f30i4Q<15a+HCWar z?DaMNV1Dn(#YLk1Wdz(lc!^NHmX*az@F!`~EF zY~RNt4w@{R8~niFGfk3$rjMbB6^6oHg^~tokQ){jI_>=vF3?syL?pWPd5=4^Gwugrd(7I3P-oduqiuzJa*#cpNt*jmr z7BiJq3e^?GlInUd@ZgBjXqby;!XkA9ZV4A3vT0c1;p=IOSu^QI^aNqYbfDL{5bKB= z#qK52;4zdi`y*-M8QT~57hlJB8;SRTVHN7{A1r#mh3pg4536Kne9~%qUwD+jBhnT< zkROJhLBbP>lD!2-TIM}TC0s1-X%$+;_jPINGNxm-x7!H=6!4U%BFsrOUY!!CzC@_! zCFd8DW5miNMdmo>SUXWdLfRoF>*E+^X|-^{9$a(Fi7M;^?O@f<{%+H}i8FL*$N4JK zx-O|c<)V^TXJ3il&oXVktuczS3ny+z3sF;s+Lnkn7?vv!O-gjIgk`zJPZ2Z9OqP7d z2oM6Zn0Ys3mCsfGJB{R?;t>9;St5rCpAeO7^7(Ex%(y7LaNv4$z*Um@H`G5^3-8XD zvy-Ss5qx9ymq3%Ei1(|PEf{Urm`BmLzyVWtdue6u{seC16OJnaS}{{Slp;<^{e2FX zZ2Hd(3qi;R^u>%^i43`J>cS_O7{0-s(u59?8@r`?D%nJx2~v7)YLdd9iByJm445LJ z<*vi#&eS~-O^~q^O|oukLvxwGNBciibMtEy2C)2*I0%K^4N|`5@UQ69VPxQdS-rlu zGl#0PWk7z2CXtEZ6v0bWGkD7rZ7Ub^5r9p-8NV&{jyp!=eeT(>*a@VL{0s-=L19YW!$(AT+6poVGZ2<7Sy8FK=$M1!t=|{=)PG@8OcN&AePx za@nRb_ZMhDKcJG&EyQq`#0$^gunwco*h|dI_xZ~F^1>NU`Q5|buxpZ}&^wV)OTGxa< z+sTC?sRGCf=12xn3Ruq8>fxMX0#D3^zC^rkeAfFpK2Op3g>XK96emTfJ5N~l%Cuu#EfNufTo_z^J=1wG~Ly7Cb7G5og8JSjY}KTJBNboVxs{rXU@B{Qz}rK$5MI}=eEN25K`Uok$p5=F zr*GDRyo7rvaU!$7t+v9MM^B{K)pwLLy}*dX=M*!WGsJIg-ZVLRkI

>;88V@cgiSuT}(dMg|as%mioe&pvCuB?&3wWz(2-p8Y)0FDT_vm)hGq zIN2RxTu-9t`2|;5`Z%}Wch4@EE24akJLzBdVdqX&m?-m}TS>k(~NtL}QVO zkui!1*)URo)_-n2dC%l%pVZws0_NXjlK?YV_bbVcD)i&267S;Hjin)O+23R=ZbnM; zcjYU*m&si%x!3a0^p(nlh9XLz5r*I;*1qdm({K3KuS_+DObBI!*nk2S#&-z2_`cAB@{6i#9m8e=bHu%3xQrA#|W z;F$q&xVn!e@5jdkO@{M>hO@GU6ngZK3_V2qQXK`GADsSnV@%>UQtqXS;;n1brt{}K zMqXL}Z8C?!-i%{&) zw8BMx{R%j9Oapjz20y?ftYgMIto2$m=iNQkQMF+2fr8j--m4+<^=xHYc_u*)Px@bU zNP%K@Ia&dAi}`yg?d-G&zJgDD^L^foh?%1D-~Rn7@Mjz>wz5<_Q7Yqd34(4e#Gf8> zsH|s_VPR=?>#ZP!4c&mxY}ef8Zu;5ldUU&dJ8AOUHO_$uU$RomWPyP@crSVV%Tc|B zQ+O7IX#{Qy@`2%_>!37bkAi#>ByllO4_0KQ$pY=6h#+*4MP8ps$IeQK+DJcm8ls4;Cs- z4jX7#=80Z6Gp+TuTu2o#q9j;WZ4(q>B)RB%%Wujp?T5)Rd?oHb?+^9vR$h7rG3pCH zKopCdyGj%3iK;hdZg*OORbRjY%9Qd-Ryl_YF0Vg({}dj0Vn6N=6zHXaCzEdG4<5@j zOHWUhGen-$7FTQqift<|C%zgw4;2}MgJU=Y@DuvN^|mj;40|cx2KZ{YvJX{d<38nl z_Od;EHl8&Kxb4$R43Nr=dZ4Y1;PVU-$m$cE;goAkVZ*97o|20Kvk$b>$vZ4_qh;_3 z1KGcLYBf38f&MU3psd(d*Xvt;;Z58f_~@U|srYudN>lX#`7uBe!yw;>al^CED0f8( zf(t)S3%~g_bDzRR^yGI-uMI;TdKU3IuMB}-bI;Av9wJUu3zuN2|6i_4u&8X+7Z%q~*pE1jm&0{V0mnV`h?szMiw zOBX{CcaiOLoaT7Otr<4f@9-`evlJCmX`Mauy5cUhzrSC(_80%`vQ#rieExibh!#T^ z;!IP8is7rd{7ADF0{d%q)RpwaK|(Rdu&SORyW|k0l7ZxHr8YDlnWI-wtip>sVN@_5 zK2Z6Pz`kCq_Xn;Z-$A|k{$qtV3H-ge5o)8FNI_TVN0FH3`8Af4g-vvA)$@-O? z2-QZUr_O`3t>Tjkj2plE9f}^o^^4fQ>5?Jpr5X&ba?bOnr=lVcuni;Fw*i zIO4_nfFFmJsf%<`(ooT6#)wO7@iF)}b0K$~uiUnsC*#K8dpod325-ooT*`{Vd-vdR zgX~i^iN{JM!!nXY(29>EIDSr=EK? zjM^wv5|Uz?clPn#Osiz2WwTSO6JKb)>%%T~GOn*v$1sDE`PbtV8!5JJV9`yzQ1?+e zAkzf+iSVI4WX^`Y=$2W@zy7{pA{gZh0{zGm4VS&v+2IVEH{nYa~UQrN_1 z0ftU94Q8^AIQu7B-T^;Df|Bq(kc&zk9`tad6`G!r@uHH2`U8cM$PB%X?#Fgl7k1ng(v@m6O72r8^S#p( zyYg0|lB!=)aQ)f_*NoPTgVBz(sz3*` zq%2dIrf^J6AUy^7p~K@e23wzDK4!;qIfBF7$en5K_7^3-=~(b(lBAwBN>nT{?=&*g zIf`tQKEzU1Mi-GcD?f8KG&y#T?xT)a%m(-qDoF!w&M+bOc9T_Q+v{xr=AVYTx?sPT z6T_{ypa>n8Uh%ZyougUXg(=|&@1L-)k+?Qy7IWXwh{>A?kU73~g&# zH~nWvyO6Cw-OU6sseMN5!_`4ZhQp&25x-X=i?X|=_n6g4z2NSO#?l#(23)f@0ydT+ zC2d&t(k<8-#*t_h%-r#=-_U$keVHCJl;5cUpQOLqg5vo1iTrA==Nmib4xlap&DknY zk@d?hvlfk(4?-(w%u(w6CSPhGT5*Q_1FYfB=;-cW%UKe;Oso7gF)a9r+GPsJmWxEXEvFTc5mk9l9Q+>8X!&_QkK z$>V)U0_h)BD>doq9c_|@3E5k__vGmB#86v^RM3lhZZUl?YSDI>q?mTg#RsyaZ;5m2 z`Py46qM3zR<04jeTn;lycygNbBIS61S^A+f_ht#VWeMez;xU;ow*`iK=;NBZytmuw z95>NyXhBYEuPBzYRqWj+c1_G$5Z9*uvNQV5r*`9!^3#`J4YyS-X*4wD#=Q^=KRqFj zbJeYy5di7{xrZ0sC1#!;%~(>94S z4xrQdMgTA%&Gxy~HuT>PLF+TF9pgbQkczu?u~RLUzYtC5bud``Qd$oFp;8cuYG{Z( zu@Hug1q0}~HvzpR%16n59}b{Lr33g*WBMM`Z1KD7-@~AcUmZ-`N%)SiG`cr?Kdb>rvZ^s)lMoAnp5GQ*4n90!&CHXE}ga@*n8Im zoEvMbbf41zE`&raQz&m};R{O~SaTLVB(_LeHQ2X>d7pBhJ1$}z(3FI3)FMof znO`o?uIVtC3DgsjA-OO2ccHv(-S*lK-%xQLhw>-lycle9o_FbA^l&^kp4RW4y>W~a z%YXa*d1BS81KlBr98VH}H#?rrT}b~tO!yIm1Q9rm!>@atluO8AxCNJZ8zK9Fo0{~J zryKPdd{PQF{%Uzg*I(qmv_&}$?#LRPswH!UT;OXgd1t!bWW}J8(DWmUE>Y~jq6J^R zeMUlzA$-5-xE(?NDA$uY^}ICUyYJ2BygTUl=jBe&PiBhn9IV@MnCpFr;=PZ0h2(qR z`R7SQ)1G05P|9bYzKIu*Tc;yCrMpJ?&_&o!JZ_-Q;_R(=tv##FEj+Fd}UoTTSo6HH{ zzEUAlx@V`5jyg#w2F~+bGKdQRQIzt!aOn*9(q`C6`{6ngR0W;hg$%X69ixpMw{{uh z4B+^@d3iH?23;BOcy>(cW zQP;jL-6bgujEXb}NDVnC!YD{f36dfmL&wl1Ez;efbeH5HpmZo*!_eIw-_7&9@B8}> z{^dBBx!L#HYp?6PuKjmBLt7{{XnN4g)&{p^rB5p`QU3#z67*&aMW!`vW2_ZXlgo0{ z&o|1XSz=yUoqhVZpJ~m>X_B8ZKozq(Rq8m;y3srD@&t zgHV{kE(FKfV-q{mBduH}CX`lXiF-GXLKCWOFG}_X?0euxhIrh3HMi$tk|?q1Xmm$|4RY}Pm?7b(V(QWMPf4aRv~E zmvUSql$DW-#1g2C5SSjC(2E1lc9C7LLpI9WPoREYg?4f?_fl4;cQ`Q##@?5Np@nvw zwkUM>n(ih@fE8WKFkaeEd~^*OLaYju{o4Dv*BXVzkayO4)-uoAO_F9Gw+8z-op2HX z@p?uE1OLMtQQ;G8ZRwcuTf3DO5H(zCk6cLNHvzfk2L!BQL;Ty!-$>fCke0&ZP$4oH z6RUlcm*+5uGhXm%kcl1}DV7Ypmof^yDdTEm^X4Ll5^;4>?lbpODJhc85i|Es+0Wfg zr`Msfm8MF$f_u$JgR=S|Y`=AzoPG?YGrCMZ*?$%UNj>GMn?$ZjD#P4Izw}F^g3j)7 z2xXW_>!`K`G4;eGdC1z`&7RLyQ=~>lVQ~B1XkzPfDt7PfrdAsv9+O*EJu_X~&5m8C zR@L^sJfA zq7e2fd}ID-m8XhcH;^L|jkNS6D9-n4R8-k_e3L!U{i*f_-Kp$9gFeNe25d{sPo$qc zOs5{YlJWCir0cucwI4j=?^57+aC3ga|82BH$b|FV;OUGVScOy-@hpyDOPCTnhfWC@ z)0N81pq-^t;zm65O0luwI)%qIGpCMS)Mi>xE1?4q#?+9zU%_|u+b~ zmRzFUu}sH#w*gJ+6ES#$_S|c!=US^+n|(8Bba4SJDY`+atL+?P5SJDEOVEPb zdUi;^$H6zEY{}Ef&a0pk23gy}beF^1{bk>+O1EF(`?_`3It^#@o;UQcDCieb_?09< zfOr^u7B5KXboeM40Ev7|+E9#-3Ta`TWgZs|6Yf3reB7YcIDjZl& zhrzerwpbdL^P0Zay2P@3{K>BMVs$@=7tyh{0uaTU@&Xc$gQ9DJTxAV8lg`39ndiUQ znnAr6Q*{M@vQ-Qa2VJDG4(?|u6V0r8J~t;B{b}NN*GFC?vHg#knc5IuhtHeVbM{ww zeWt1x-S^Gre$fw2`>LXkGVc(JtQ6l;o#xkCE zEgk5o7^U8tPPwc&jE_h8+^*#&^oYMt@3Hfk_BJ?BK2cb?Gc15QVl%C2^Efi<6{kn9 zxQXOD_nMl=Bo}*1Q{x86hQAzs{mSnXztl!vEE2pkZ_91rz#e^f-UFTW@a-bs>b$$% zyTjF?^5{kQb3s1?0-gQ0C0RP$SHAYA`+<~7_I-FX*7of!n;PYZV%)9TMiqwo?kn;7 z(c=29vv3$xVGit;^DNVSHCc&>N;Il5>#rZ%jc-}BpkLVG4j%4|3!wpFrkaCc(xoSook z^+f_p)KkP!>VnfsX5@n#ELUL+?G*3Zqs$r6PP+>@Nt{)bsC|t;GZ`85x`H6=4j%ON zbbV`P;nt;)F-*)PXsPF)9{W#;>@OFOyIZFD7;r!gPXc+vpl$-VfM3(8i(22mfSnNN znDW4hNU?o)RQP zeDVSewp5x_I{;lXadAiHa~?3{wTjv7n-gh#JLuXvws!l6EpvNChhZ|p7~e3%(B8=Q z@o;6DiTmxYYugsA(`Cvu@nH~c+F_L7YBqQOK6?*C?ZsHZqg-+ZgK@f5EC&5cdHN`C zi-E@^pgz&wtY6hixs&(Rlvm5TG>_5!*UQ_S__q-C%AL&E9;yvPzj>a^Q2lFE-4g;#sKTsyCkD}Y7n@E`Z zJ@--^`W?6Y@7t@ryy0n?*e6y4j3qL14hVWvVc~ z$;#bGwD)onMW;ti|AJH>!w+%4#iJ4bX(m|W^KpaNZILm=FUCaZ9<&1&Q(9{jR*thCl9W{-5wIh`yrNxWZYoH^sKA)Qe*vE)>q zMS72R2X5>MVMY%;58vH)OkFtx+o)mDjiIK8zXv57DIx`*ZdX-8=Qo(W_Q6)T_-p#H zU6ocp7zPi-NsZ*ad90WqcF7I%n5`Q1`kr5x09>xWIF0Vok5y9cO}X+as=gIO$H?>+UY0h*E8ea%Fk7^#0dFd z5age0BmG4|XmP+-`B2PZMJw6*-a5|Eb?v&zx!h+Mud$x`a`J+Uc}Tgq*EYyKxQBrR z3?nK~{9YvQ>^Z(a70IG6C6Sm-&g7AKOx1_L%Gn>!SK`YA5jUJC(H{RG|6q{eU6w?> zB^uWf>ET$HEF3d)iuY*~xOQ}zv_h4i#zfY;;S_<)YuS~2a6~}j1w7<1)&~!-vH^wf_V-oZ@;=N4d)TtX^Fsc)}AB`Hv&{ zx5zHBewN$62OAi5utdG;!o_cWR~CyojN97n;1!eZ7c5o6({JNOmx200;^-%6%l?vL zO+q-zJ;&Xz606n7Br+&jET^98{lUZ5a}vnDCWx(+o-IH5a-VtJ0fdV$d}$qwI`ElP zm0KnSc2Hi;qURRKJ^`-lY+gFj@q+4dgGnvs9lAa)8k!Z%Ibj5mNclqFnB@AR;k+iyuuP5+fA*Jnq>w{%qKwVbTq&pEgzZ&T zR<|`@_$&8S0{rJR-TcvS4P_`Ve|7si7RQC?Yd7NXcE`BjAvX}BJDuwLDImz91Ffb< zl*>yI`%n75CJ~fguiv5~ct}5Bh4ZiC(^P0=NkH^CvzmXY!RI`v36*?Tle*k@V<#RW*wy&Y}aRt$TK$kJP|B7v|5pj(M zyGlTwGv|^yHgbU$8BvdplCU->pmnVW{1Nn?n}+sQ{pH0&t%&K4oo6nrsdg_)^}A;0 zA%f-4Y*XJT3~|pT3pHmy|7lFoj7PKJy@S9M#%IrRA5J}SB?s~kRDng1@YVnPIxp#A z6fFntTdW|y&#J2tY`wy~zbkx?)QEVeE69tU+k2qR6`WP&^QpQkRIGviZ{HV~VR@0W zYrjx^_Uw~Ng9@uJ%QbLdaiOJRe<~l2I(^1{`Ga)Fe)+)`5iemj=*gGX!}#(B=}!5G zoRIi+X7I%qBC*ZKvlU8*dA`i-?8Tt2j?F-6?BJ3&aeI;Kl9v%V#XmbXu$-3k3aIo- z47H0oU_I2obD?oE`%eO=9ve!^K0eH0C+(u?ii3@@?^@G9y#0NF~ouOnXOEH|zzY_`WZbgcKewZ{;CoNjGUq z1>6`5Nrws)7gU1;Pt8cl^F(yI*5&kSbKj!+gc7rq?JeVy$(vKFftI=vT z#)k}WGJJ}9v>*6NVpJDVT#Cn3^N+gpeSx0n=sCYqzsWcc$l{M_Pr3G)+oLd&O7kDi zIyL_KvmJvYe5>NY4}~X(sppL&S8hmFpCf`DNXXQpY6(Ilqz{5a78Qhp`-S2hx^WKy7E%;sMcBr!U>5!Uk>FFt0Ek>M+pefD-i zDLCl>x!d3UPh?VIs84HJXFH*yYk36KarFUN5SvnZH<0aKt5dl(&}2g|c0R&;)RZQU zWd6pw@et0NyrjoG-E288%gUD9VKuYjtXj?-Yg|!8vY>hIt}aw5D$1voeeqetp^5{O=Jv5gMzKd0Q z7WedsTcqUfR{KL=9Cad%2dxw z%u6hNgLEbs;aSon{OZYWH^*2)i2dv=pk{4Bi#UvOv4|}X@`pwnKTqU=cTw)C(8E!FMyA|byc2p8v+O>Ku`^h9b#Gm(RcO6qOn#b~?WwgDX zDPFUHvUy0G+oN0ezob{!>y7<^80F_lm|BqGm9&c4bFID6(r>I7T@Ii`H4iD&gVu~< z+xdAuu6>tEv=YzPD0m=PCb+wd;#^4#;B-6RXP5YmH_8{x=aUrBUW~1KVlsJAHP@vf z5{%>g5&8_2(aAEPyTj_xEmnSY#Glv6l9}UdpxKhIg zif60`YO6QP#l)-|YrU+pl7|jX;W%oTI`X)h(o{Bvd|&;?bYBcplqJ4O zmKG(ien2+KJq=Q5|0bX0A~N-fvfhI{!Qr*!r5q!2F}(IQZ%UWfE=Sq0Zz8QKsfCQ- zA2j|=7QxOKlYA>xZIb44K)pQ<6Q(?&mVpJKehtRQAOX1O2sPq@KVuPV(7Hi|=>nb` zvfJ1Fil_ML$%QJ72cJ}XVf1m3gdwUzX+-28dYv|!%=CwH3!O4bH*(0t=2Bj_J)059 zZn5~Il{4DqcTcnk1er?mAdKTeKDVs*8)>93#gU9qLjo7`EoQ+whBXMWFgdyIC@sj! zcpC=CX0wm`7sHqOM3^+fE|$>%Q@AEE_nnXU{@3u%yb=90nh*`Py<+0l?xzNYhz8}>RP7eA$$%&qC`X0q+bhOz;&@64VH|R zl=FDgo^Ki4v5ITD=IT^;Bo46P(xh$)v5HT}5Ha39v)L-8kM#DS@B1(;T8{g00o!w3 zP5K4aEn5VJrmf9U%k)PuVq`Gh=IIB+rNJNMA4Jz&DlJiYR8NvbmHT$V`ETVZOv$Z@ zlW<8hJ@T;X)l&bKcB_Kj(%f%DS}dZTD(l@m5EYP3L*_F20FnR&?&rtvFnH z-%4))@y9!s8Hq;uGbb2Cso6h!y@QqNphg;4c$tMjtf=Z6je2hRVsJ-_I#DyVzdrwE z5+$wHy18`ZPi^Mc_&F+_U+H{Ad4$eXMd{)^E>z@E90qUNIia^YWAE8tRobKovbC6v zVk))EU!TKU^*_}M3Z@{#4&O4OV4m~>BbgGL5Al@Krd731IA9I+N;ZDXX2n8KKRkVF zx(x<1^c4A+i0J-ULkz3LU$W7ZcO9QQVNgLOPFU-uQbQYPA6?nsgLa97T{I}^1y|T7 zWDY4GbjV|s#3tNecr2LYj;A8v^4~$-PjkB8P7_Fz%CKI(}!TK$|r1FBkuH=!c zZf0ZC*r1v6EH}t!mf#j6HRZ#&Qfwt6s%3uJO4r5d)A@c=#cTwg&}Rx>^A(oI>d)?x zHsjkhg%Z%+C#i0SY_++#c_AFj`w?*z8DbHuHGGImq=+#4rvtZymCeDQCu)&dI3m5J zT%h8715r>sD|F%pBYc#pO}^|WKO5NlmHnT?ImVlxTPCg-@%B5tEYYB_lRz<};A|2O$9 z#)@ycu2hEolYfuY1bM60E*!G>azDB;f_7CK(JEin9%BFK2J$#k3t;o6_2?X*6P9asF>{A@zcz0c+|^LjS_e zTk&bxi}M3z(*q49iwF%66Sqm?zIH6;KI0ayvWc5}8XMn1FmKrtCXEy~nStrcG8E1zDPTpM4y&?+4p#NG}Eg0G>Irmn7Nak|5tneB3wvQt4mx{hC#c|~}&tF>RKHM%lj4!O~>rhE{aR1Bj8_}^#+9uyXBIwPJ zK)Op9Umv;0C8{?%m^St1-Zu4X&1}N#_O-yh|1_9xrI*j}ZrdM-TrAT6l;7ZF1{G~& z_Ns}H5+#iOQEx@M8xYowI=_SUMDlSy6FKK-KkpEa0MpnmK@OIsPo(#|>X*RN0rhTd zPa9wRoy23h-%iLmdhP5@uhR`OV}TigWMpsYSze^~ajlR0-v^ zvRe^x<{pYEy&QVa2j`ZWefxJ_$T+vCwmGF4uSa`KNV1D4t&BDWk6z6pbT8cYo)o44 z9=A+PndF69O;Q?81>t{3<`KL-*-o+eF`i*1y+=>eCf0T=d`OxcTs81A!7DuP8(;Ol z1z19DUXHBV$NHXeav`b}e>%0qq@ej6@ARPg@YAnohj3b6rm9|HCqu85@8EHLlMtzyOf1Wjz$`E5EK#dH zjUl_5)~L8M+3XI+am*lTyId(pnkMSi1?TX*e5_}P@9nrYc#;PodpQ-4pFGcmhCN(! z*ZFx3?dCDabj!eC4AzjD`otINc*o^>cF3Msot0|W+E~cEsFCRa*RHt0?@tqT)H4M1 zsX7+k{4zgY!m^uO8*?p_1@sCF?_kCuJgA_6)h^LvG59G)`nlL+@Nmb&ZY|6Xio}q; z&{I4Kli3!fbJ zLlJ92r!KOk#3ZtK+_rGD6`4PD`g+l_NsX|U?4@=vqH_3p4SGkwK8*+!+D$}CZp51Z zO>L@)-838j^197>Y?N|d;W~D8NV*JMl34COV0Ep(RSystvNu(Q64M4N8^xD1TR$tb z%^w_|Z;PV-jwzA2_P6rAIw3GUsd ztujL}TMBR}yH#za~l zzL)J8E;#_%sTo6N-d(RP4IUl>1X5v!M-j9Ia`20iQJ;lgTxnwn7lz?hl17>NzE_Je zUOnv)__T$5QjT`)Ou8n6Ji2uy?2v{6A)w~|_eYJeVs%SXazn7>CZHppede(SiE$0c$ttg~w z8F)EE03hRr%SpST?Rtebq#n@J=b18Dq7P{G>{Xi9!@H7)EYO>q0xY^K9BAiP31w0$ zF6Aw!gjd_u$_)TA*eOFMxhyaKSHH>0q5(j@IF@KC-o~;90isqXYB7M!MSIu);+BmB zV~cKBVu7d%@Eg7sG!2K)4%)*-M=QVgY+Uf~_XFH`mOP<(*>?#1oY?!lw&}9f?P}lG zL4|MV?no|9l)t#P*9lH$=H++y!gIqeC@TIxd7l-+K*i>7`&_07;;hwpU#HU$WSEbH zi7~m%)!ybcdh90{S4PuHue7PUR~}9 zNbTM6m~se^bT$^R+d5sl*LoGKnk(06N{11ayE9d77NS$lRBJ*w6r#v#{qXa)WM>;h z?iR>I1>wS;LzI9RPtS8z+{1<#Ur*OcwWBvKXLGJ+5^+k4tLdY*4Jcf#8UX)G+KYgjRKfi=+ndX+-Q$fP~jrQzD@ny>J17ML#1+gJZTb*(>v-~ zG6&*{IV55PFsF^^)(%G?dPfNlS%VdM3$R5^OJpQw11Z$D%?EPz=0`f4)LfcCT*f_M zftr|N4RFjPli2r#KJk5i4-<4Qum8C@TL8NN{K!2N+_*%Fpt9y(XP@}n`2yd1uyx7U zNLd@rOy7MWui%{{T}x%StI;QuQW&Sj_)jZiTBCI-;2)lHV8|*p{1Qq3vS}%R`Yuol zXb^xFVLI=D)zd9g?*W5U$a~9TreD(JU4%GPELO+sBV9OBWxp|_gJ}CW*WyI+bY@f- zSnWiohAbT^LyN}?w9$!ldpxghOcfG?yv}A9I!1*p+FugL`mGYaqLPaHAl2Zwnrs#f zLKjbGSirW*1lJ+=UnSMjmVJHS$j^n0+<-IE1o8i zr37)I->8x)cmOh*XC}`iZ0#kJGq}N9YXB4Wfg>8&(*Eo37{|e>u`LU)JFsA^2;W=#(2;(Xdde=3im^pY$=l|ABvEVV%MrPl`&7WNW3@*I$|b+Q!aM-4j%2oUzd(N* z0;HX{c64a7+}EDkJj~G9H}RRsKR6(Ew4nd9Tlg|d?JnEMP&rw3IF{44)r<({nwD%B3i(jti&Q%R+uQ0m(7|MxB;x-WO zqQoi6m+qI@r-lzOAJ~g(yE8p2Q}k*)lzGBa(52EYf=c>teXj%RyN^x1?hi?n`r$Sh z)#dL!`j+j2gaITgEj{_@j)ellSRy{j%b zg*mfqVxk}%q}zcRWrA?S^rd8~@pA^TWJuT&W3VPz8g81xqHs}VZMPl^?e^Bo0FHwX zJ?|hxt|S`lx?5}e79Wte#C3OL71qV?g>ES4NIxQU>S11DDe687hd91|{=85S(UAyV z%eVheeg1Ea&XOLfidz+pl6Z5FecvU{mpk3 z1NA+TZ~Ikw3)dKWo}%T0QK?DmL?&zzBm$)KV-kbRDIQCr;~-=tfp6mU z!2g-;Af@AM;d9=%4pc#{2WqU&|Iu?!Qqk;c!=igPKt5o2>hUo!w`>SJ&B#1Dh zmL5DPMD#-dC237a>|V@$!vc&YGRZ@E28< zmGJz6j%xAPkPdLAbk58>7`x3`8LX{Es(w&4SAE*Jg7(_;%;YLWWUT-}x=uvL1+l^> zv;rJ#7=KEi^7459iGQh|^9y4uex>}pFMd{N;KF8epW;zeg5ianDoj+4pj*D5$d`Q< z-{jI}juXDQhYA7j!ptGe1F9t4ZFU}Gsn<$YoQTuv%oC61tWdPRy)c({v?yi(mMcmb zG1PKOJj>vHs$)j!ypk+{(vE|-w>x+NN0+NcyXkJDm!D0t9rF0)nwQ`D!0Bb;jJT(* zGwg?PSakTD-vt$7>3wAH=}W()Beh^(scHv1|5erB)?K*Nber4Kr&SVNq3TKhb=JHl zdHapaXe5g7`L1Wew_8@iI5lYr%)RA{kcPt_`7hw2hZh{m2Mzib;T#G7ll}gcosW;| z>-LYK01=8cO)Cy71SrV9;7fvKPTY$5sYPMNXF_Y(`8ghxg1+8@xLEPWN%O-+O>!fP z9_8++N3^H2CPVudLtanxu2aJmM{M`Mu}AC8^iU9RptOS+2EK)9FqlSz3EAbD%<5qg zbhb8`YrQYVEz632ZWa~mUBqJci#keSce>k3HTkpXxr6>KPQGJ-LD$81OisEkuK-AJ zRs{F2kqnam;VAsx>T`Zv2;Jco^1l*kyHIR%4jdXaX~d<0nal$a@>P5Q_;NU;nThwM z12Og)fPKw~V5S-L6h-{}9o0H)mKH}e=;bK%blfA(LYP~u7o!ytRh;FUi+z;moBF}+ zEfwCjNwnlR+_<_!E|5XFokRg*FpI?&H9JgNRtn?;rkXqnxlK!*2v40&Lh@5j2X{C< zWB1ni`=2l|YWBzTn!<1%&2s?IexvnhDb6SZRTFyp<}&vG9(6?myDvBA?YlSe5(+2m z95^jvgPQpdC1Nb%Y8S#ZxQHuoc4UOrezlb3CqrryS%|>771vGl;+n=mTMQ8WZ=%@D zQRqkPbF&nYIk=?S*$2+ubXNSPZXM+Lq(Kk+gjPCYxd<;xM0*Pcoymb1Y_#<_+?PtaIp7uFw_@kMU}&15!(SOMS_y=GJ}IGq)c#wu z+$`^JQ8Mmpbr1EMu%X?UFfcna==+3IDB3ZcD@>b!CeJzkC$N;+8 zes`YN(bK%uQTZZ6xH2XX+SO-iS8uqOZHB2E?|zJ9}#~d?d6RR1BGP`-ZUZ2@&Bl8`TsMg z<;u#-HaF%6R8!1BuQ|vl2zF`etUB0;dhO0s0rh4vveo;}Mi1~xVKzV!)1sW`MDJ*m zp4p`hKguUwqtt%{=r$62-X2VvfkG85qNuI%(Oe}6#LZ!| z$}{=@`QP3D2ag4CzQP>5H0wTgIGD$%)IU~q;#|_~4K!U9vm$4E6xcmki^zpdQM++! zvZpuSH-smNm3dA;!AmJnML10-ufMyX=0o`l@$6#yLur@nre{$^J^O}vJab? z&eU$wwF$+o=)Ee;$^6IpdB#2NLv@2k(apeZ&sX*P-!_!Y^^LQUq<;BGlm4TIo^rFB zTHr&*woGaF-h)^>e-5 z&*5!83>~{Od-PL{8FZ=35l-3QVM|7kUus9)7b@2j4*Xed6?IypnRs<~f|cD~EH2w{ zK7a5N@PtNk!wv+hwD(rq{-EV9XqVt_*YHQ$HR9s7ou5nqX!bZ&r4j4O9flU?(;#mU zYh+c5*~K-4X+lfP*B#s7G^wHc`BtS^bq@e5nIW+bx=3uq4~ z^y{`NcwbLXP{VnOHSzSbI#YJ&^B50TnIR-DrQkvElNl{K#)Fctg-5VgA81O?RUeDi`JU_l#E&%7zpA21>1v`&$wjz!AMh@#+_r)8GFJZ}=NfH5a6^m+G~yWyhO| zMFePmL@kHnOcJs|RSj)`_dLmtsI@Bwd{p1NGPZPBlq-lBC%0wa+`3l30^&XY*MZMpeJ(0MNwgZuUdZws#B_~RTo&_x>IVTeD!MO zn9-#_PA|&wv)n#$Mu(hgclK~MsUKH1Lt!G(QILY3&y$>40T6{M^r$ zK=J#>7A%Xn#WT)J%~VSN_lfD=5E3_6@obM!?6CC-7=Y6*Cb5jB%Vt9EE;A`_tbztg2lPF( zJ1h9?cGZo>nX8dPYx=Y<$#vmAkZu7Y+Kem-2aU`)oz{n;d@I(hnG$PJw%B(1>_m(g z%h1E$%-(ClXSQ1E882%3ycPk2>nC$d%fn(q4K2dwt}2e;vqAB_ZG+0?D7|TWE=Mqx zElO#o=Is>()paugxQH9Z;S1e9Imwz=3d45_B*uzC-(Ld z53M(Q5-ZlgF%|NHHVwR+=I#kW3z!9>l@aRZ(-x`2{8f^~3|f0_d^wWVKOIfnj^6eJ z2@FaM^ko2d=IBpQYXqPPOFusP^5P0$h5te|24UcHe{>v&I`aNVoHP8d6dU;{QxIgY z5)4>il%ls}xZ^rd>cNNnpu_VdB7@26PVlX?;8x+q!|Sy)$0(nrbTZ5BicV4#V39j; zD77giRkuF~N}c|_9*-hW>ZO%BM|8xLYp5C6j6O(>nsZ%{1cLvu=H~(D(spK^RwjqI z-F$NeVDj+%NJz070A9vWhKTwCjjEw9aM4OfpTm;l62CH+lGH{~VbdWF+w<~fx(vf# zEB`4Z_czZN0y3}Fjo}6c@ZK@$)|vRN_(Jx!>FqCe5B~k8*ALnLPJ|G2INhGQbw3j~ zn`26`(hT~ipcObR7Fftpj6+W6HS<9iIU3J}+`m)>kpH{)lV%||NI+@!xKmN|EY_*n zvg-VnuYe3?OQ*AKyr9ua04(5IcWSfLT6(BV39z_}H3aazg!QmAkBz^HOurkaAdHg- z(ZKbtlXT>{y%KQdh^D}X2VK9)5i4A%ICZ6ia_WO8j8q>CkN#!d!}L(bp&pm>yi4E_ zZv5-($Yrv@FGtK;*w_$~*`v{7A4MbM4b?O)0K2nR=ULmG*B!U`2J{+5cB8(7Kz=lR z13;*THfj&%kK8RIm)6jWIgR9ND{v~}(XJr`d-w(A+R9eG+y9-Uqaq_u%` zjYKao!wk99MZN$M$j4sc3&ct=rrH6_$df$P?7i%hY?%lL$WgyQ=fdr&h?e(W;~JAz zH$@XL*SEd7+$tvnZXjUy_KP9gob|riLFI%$C%n6yXuGanQM3Nh6BE90v+If)Rp31# z3BW$*?*XARz3)LYMiGuZ_KAj@)0rVJAA+$sJW$QjWM90N{ste10=+XZ-ThF{#}(DZ zi1>{Kw#RiXSwTpuja%Z)4uD5&#!GZiY|x9h5Fmp$TqsKFa(y4@Y$d+J7JQ4PXo&KG z8Q_NkU$=zMDA>~Zwctc=c3xG{&@9TTFpn+q|Gy1AP98Hc)qO<_-r51+!u#1}H;^=N z=M}j?A~H{Yd%Om9Z=4REuJBmdwBImI3=SX@g$M$}Tt;V?cgRn`#T`f&@rR?D=kAlE zkoA|ztEa2>!%y&n6rMLe6D+qRbtZ8xBi45u5JG+FjNVr+SNQ(a_afcvbP9Dp{o$%S z2W@<{x3#b!fH6A9acz)a-J8UL`?p>}PX4NQ-iK<#RDlZBoMYGqOoKiq!y4Ow!)J>m zBSEs1R}}u|UC~mobIe zU)7mX?hlwG(3`vaE7GWBPrJh-lDa^y9ch$dp@uZfxZjfaj9>3HiwktC9}gme1&ont z2TJ^Y?ChL|uT?3kzrDT%c(OKcyHf_M)MOI;zTHEn*IT;N4l2nel~%*9)My-FWG$g%y0k;N{&7v?a7acGEMO|{7wtL)~s z^jf6J>530wIVc|_OfU+>V zUigf(+d6si;n5J(?x*M1kULSNO!9BQ8ES=6;BEP&i6#-59Uk3`K8Ruv89cN%%`WxB z!lVDedNigCtqlW8z22S0)i5Z?^8JVhKIz{Vv%kz=;qN1XiJZRq=5P*TUfi0LPe zf7=7hDqZJUFx65vbxcgb9+Tw8^9^v@q20KeCDs?f9E#7eyMMUInalGWKy<36EsKND zQR0JN98-mDxV-@r{xaAQn>nzxP&v~Ut|!0G(z7%VT!D69swDRnFvNd6o_(+=6O{=$ zv7Z=u+lhl?#PyPU;c)MB^Don`kXbWX8x>mB6vzyA!K>u%j8)HBiX;R4Pvs(`O>)kX z1s2^eKbRJkGYlIqoLvZc+f4wE=|4~F0me8pqhnR2rQvJlrxgvV(#Iah>lBYu0>2vH zRxS#Cu?vdejjWk_ee1pg?KGu5B{DOx*EDZ_ox9)m=&tXCuroL@A?WMD6g1eri$x0? z@qOZhBafAg%q(!|MB;eyR)o;b)Y(|ws0aU}^Rd9^^i+}&bN5X9y_WYjwuGRYtK$yz z5?02r{fFp64w$IxF?anMSqaAc7U3&1QTB1CK&FiK+|LZ>MTuBL!6I{{p>t18e`k7) z^O&MYP;prkr}X}U`x+zj!VwChfaiH@inTp{~3NQ<&c-U;$|2~rM1lYfFz0Hgqr?_4#5$V+1 z&h>v#_)>utvcr$rfrhroKJ~K9RPRh+s3Y)!-i_`ruw{@yl|##|GHK4LqI$}qE67Lc zpM%+$5KpZul~OBCSZ#JtT@9wLdWI$prn%i8^Un@ic8s7dr|lsORtGv}>87t4w)kgu zjR;zEtrICq=5C(v_3R(+($;hiAcwPMc2=HiC&$!|f8eUIots{=jz0sYvcbTOKRfxKo8C8meTVy|UoBC+SFHL1rf{yQYZKqrXqXCR3jPFg2|j|_5>S3l#!&79!K8kY z)%IjP4?c?UX<$7O2@-rNIckvsYztYPuCfa!HT~%SxBtD8-g>wr@+EY(S18&;f%Y|x z*zJKq&h9YfqcqW*#5YKO-6QD3jq~UxMcPm@89CL|1op8fO1kS$zIN@k-92y87OdCG zsm1}XfIfV8U;O$}!hXdt)AI01=Q#xJ@7MPSxT&(=F6Ht#JgdiF(d%%(`1AH=ro>71 zO}Wi3+mU zoLX1zf?xSm9n3gNDEsYgu?^D~;M(q_2PZ;OOZXG%q%R14t{#we!*Koi0e* z0*tF|^?L)?Y0>pN|J}qF@jp={t$orB|6IpB`gL2bxw_@ur`jNH+J`P2p*6xZM*n&# z4ja6Yf}MZwZm0@wsK6c(e;VStnG<08^b3Ai@zL)D9?qW^xsCB!rODEL>y7#Um^#b2 zD!c7#OUV`_Rk{%oX{4k(rKG!K(=FX8-AGC!-O^nW0-Nq`kVZh_U7Yhg|MPzIgFj&J z`(A6#F|Rqsm(yodFv+vr0+!u(ADw;*m&@xE>6Q#z@=nrB{BWF1ym_Ofu93-J5xdHO z04E3>FV07^MNykjDbq{ENj?=mXi2V)SaR#M-PWq&)h;{WKD{OD+I8wkbBbns9*@lR z#q=lp^#CRMu2==SL)Z63AG+#DPbN~_|6IL9zMYWVeF^=Dlwo5Yf^i<|d58C}BwU!G zPeM&1DxHFSt4D(>b|}JvMN=6`)}((?evf3p0id^yNjO``UkBlu90zeE`fWEOxEyaR zFE~X@9*2#-%0dR?$$%16Y7zz(hL-mqBHKHINZ-qqX9?Mz z#+P%F=Ms=BX=KsO!#b41b*-wnf2$$fum1aK4~Zk1Bh8lCdac%9v&H$KTOl8f%f3Brg$^-U`lw0O04&s^Dbj0PeTNvtA#R7$K^M^redSRw0?YV zEi;U<9q9MBRsCb~hMPf-`>`l{tYs%fza_>U)iyd=#Uk#Z$hu`=-cp==*uP4Rgahdnoc$$c8>O@`) z4sQ0Pe++4F7%VZOYdpBK(l?Ni#{I*}$3abY7B1!-ZFIhQ7?d-uGccN(xn2|D$?QLH)T>(xMwD>42(4L)d>y zet|_X0q?&SgLHUNy-LMD*)R8ghA+`XL;zka%y$NM)k+obBjfrfBZRToz-k@?>MJpxnACo$^*Q_#S9q$kOAZxdgZ`22<~WBT znXY@FFq4ZU21ZDwIOE^IeNn+lDpJF~$lCjvr!jo{DHVTF>Q9_yteVuGBa~q+;SI>* z{x#u))zsVI-K8h75%lgV6l|B3@Cna)r2ghAS$ zHCZf|y~Zkp`%F&EUe+DWygsPfKhNr7;9_5@y$TRhCcHHD2drl|K=mb>VHN8)IaP@N{ z*sC}`enJ+C-fKJQC7k+Geli>v&3NH2Tax#WRT#SE_9AKnV* z=F}K7tV9j;X7ei%c&EtP=)i6rrD{e5KiK%t=O;~_)c^Nw^Pyy7#41!6tfTjcX+D*U z)xNE{GAGyenmy`Nv3k>s`@;jDeLgvu)InuWg4lqr?!}L5LeAr?ioYpg!Ff2EY#+6q zO_F(BJ$4=@sPvl_BSS2!g=^f`U9fZPIz*Q|A6iCh?7+^@HoiV=Lo&X-Gwj zA1^lWEhNyqJ(=AT)WS>ZePbY;f;*V&r;HzyN3<4{0c*ffn*-7oeMygOpH%GvYe zQe1%*O{@O#N{4Uoe%-Q{d$rl4{Nmho3U2CPASScM$Hybm-Ag1fXw$U-_71N>6Tsy3 zy2&x}qyYr)uZO6KqxRkot>rtL+~JfDinaZv$SJs_!{+~zj*!6EFMl>#UtMq1_h#s2 z{-(L~vP@n_g0QE2aQ(nIySX6`u_-}$gy9AAhyT7E@#5cjgaNi9_eo>)CA(QXY-mk; zBZM9!XgDO-RO7YOxMBYq-hO+f;b^^n4wLcPpRC28!GKEAC=5#K7UC&&_tFX_){mD5 zj<)stlY*<^K?ULuztg0@;LM>-X|`$gVSbO5NX`HTDx;;E9GdZVwRp@10S)lSTat9) z&Dz+oUW;GTS`IP}ud>L!ev^K%H+tl5&R(B^&i=Exyq6 zS)tFRwNoti@lPr?p_3ONMi2E7|HJwTjCb0XAdj(nK|pHcJOD%;JMLC6XkxfN zrf~k83vyu*qdQUi(=hgJ5m@|i3T%kVx}x0{m$woCGOmE^lz{@lwd2d*tyG&WUG6r3 zY2nLG=x-x$`IB%UMUMlAr;c7(3Eq~~f4ugex7dbS9`nvSTa@F*l|1(cJ zohdcLh-T#nunbU1`1)p3%!fVsh3AQeo6ba6L(g24fEUpHKNkz%0I-HN`{Re3TLYiJ z7#vK^FcKb2or}e4Q@L>@j)v9dKTAy~NP^tGgv~$mr|YaV9T@eSfyhx45$g9CGrXWs z5#&%-8Q`!E4FBdgY$ozQel?gTBA>=>QzGk3b?CjVOq5GyAGVz;f3Ib#C4Sxj$X3D( zwIh7oHlLCjnABFRUjorB`yA7nLT!0=L{>hZBk_&~89lk2TC_MpR>mFv#` zl`}SoHBToYvnIX)wt`aN5Oku{+<;~oRcUaNV__Bm!MpN++P1{IUQ;hYh!Hu0J|iL} zNGy!*#ccn?@$8=$!b!sD&uHtk*ux{cE3dnE^}oJSL6^y){Bywa;|cxzdy^r^a0)wW zGkS&>IcdG_Es!JFsv-jMlAiRBW(AWFpobm`bprPz6T-hh#Uvu}zCGcY4dT)NY2<}T zfe7!h;)_hMn#=ba6|ga?8FXg9fo!J82@u5yPGN~A=R0uB5N%{Ue5#GwqXmyN+sF$mIcA?v@;{?MnMG@J;#2q{kO)82RCit#v(?fLIiX zRqJuIdjR2A;N~z@hCjF7DApcx4dSOmx9&U8kPtHoD|NlD^U|bIZa`L!JLm0jSH#Qp zUyeW&ini+fAW(lIxCDgaTN!`jcuyZH25c>i{wRLgh|KDU{y3Ae1s`581@k>~0XfRE zG65xvI}QCA4N4$nJUb5cor^8LRd7et*<* z%tU_ynKU?tatZwfwcPV{YEN7e7Z1HFR_yJkF}Gw@Z&G_WW1W2k@NtA7FEF~aZ99;} z;>lHjK=U4+ORwE$r;KG3$L8F1R6aZNx^^_qdzfuH+2;Mmvrfo$kfmf2rZj6V7U~T+ z8_W)cmB<4Z90lgyQJ|<5VKMbE65?WqFgggtz^CdjkWOf>^1nBJL!Kc7(heV&tCm(*~tzIuQ0gQuD(bynMHoF%MaYTROB#9Pi-mv z<}v-0(?CXcAIeY!YP~^6FG18MX;tw(@K)5LEYW%~gcZh_eKHWs(A@A$5I~aL<89zm zrt<{L3K|faZ64oe9D?UvBq=G?6|T;o25*oJ-BDcAq|TiKnpf6s#nR(OqqttR8tP{CZaW3ptmTe8Jy z6t5!FBh7{PWQb}DWXg~mf?VU*r163VOW^@le_v??B}&udnABBZ&vdtr7idNVv=Ej$bXt3hVHo+D%<218P~zpwO(1$WtV2w%IJ!0VrX$nNl95ge@W^*qn`z8 z+@Kb^sd`;Z@6{gM@Z>We@-_joPHJ}<8c(TA#c&=6hRV0Xa~-~w>wC;b{n1bKgKcfV znvJtCg7pH?B7kc}fWEo>4x#ipO$hjA=e|GOb0U(S>|9fXxEtn7+yjS8a=Hx&{A zr!r^Zt_b33l(yy-3j1y>@fp{iJ7gYG&vS*Qpn4hs7tBOE>3aQ677UyfF;L^`kGbJ*Teb?Zs$_o9IXZ?oKC0T- zh$#GeA#m#ng}QB(-JxwV#{-RIAJ2MZ?@U3nkB9*JL8Y9H=bq5{501O&6nvk zA+*A4wc&YlB-ZKR^5z70Yc@vdj$lzDh1J?j1j2$8g9Vo$iVZ`=>dr&l&zDeaw8f?P zQl&SZNf%cyn0qmSlW62&u}dfv8i<`~85dx-&EoYC5CHrUz28qm)_AU{2kD!FR{VeQ zu+P}~^K?k{y%Xx6@(tMkS80gCJvd6b`Fr z4$Ze)8;OF}d*|hg{gU?J-aE~O9wdE2j$VN_io}I}0lJe9rX}IT()RBfpC%NXOVMsw zzjZNF*_Pc##tz%eNJU_3xIG<2Q&lf-*!3C8_`KwrI8x6_T|44}SzCJjZLlK(9%eAM zP>#0ap!nq*t$m~>>h#k?7F}MSXBk|okLcy(`l_ropDg!b&8-vpgI7AEVhIu{jZSwU zp)e)-Q@u|TQTDsVT8f`EvQGcMfde(XM$%4BZ$Eo_Vde;1#X)D`t)+x! zo6H>*YZznmb)G^T)5@f3XEcX+fY(^C^ZulC*T}dxIvQmkR9@`VnB1D^&x%+Id$`Tl za6f4Th8L#kPAW@Z!l-b3iN+Xlv?Ovuh#AOZC(PerQ=JB&t2iJUglsAXf@CwM%p{7@fD{3&be-%Xc?tMSRM{W z8(T=Ch2dQEmj%|zqcDFR2%{+W_1Yj~5cl6@=tfMX06NyK?{$Os&S=(Fwr}whk;GtJ z@`U=>G*GI#lIrxo75b|&>Z*qEsayDSG-9I}mVOZtQE@{d*X`~Q=HRZ$vDczG zF4&rV5|D}~;*gjjk#;&Z_95E}5trzaX8R3FL-q)?CANgj7qAUt*mRs`?Lcv(K_|W7_>xpVoDkgWS1liO|gvZ6C zYEVNNuC_R=l%9MYHWNUc^-HwUu1KdSX^JxQD1MG^Dsub(WU(^>UxHf8_b&8bG$6I> z@KCIN$5>1>622~!=j7RZjS&gksEe5iT_(7>J2^#aWf~;t9{o?Bw zn=1TwPr_m)>Q1`yNF~T-Y>$sAn=(g9bCY<^8|<)X3O*WrJTwsOk@_P4)HO(+0-4xR zeg@nUhe7_VO(n-<1=gSX5vZ}mmqsD7x8~pYD%lO8Ds2R~PN<=DJN9kz{qsyt^rP(7 zFNg3|3A_R^mv{=L9)rwXF@vUG zE3%zku|w*2wu65`~sq;41CWGr9>=_L`(4b_ zyOp4d(Pg}WeLpiVC;bvWvH$41<^;ayHr_ISvuyCCco+h`UJXBizy#iNlGGl>O*=yy_Q+;v43{$C(nWdlS$oJ z_~doX_G2Fs#=VX^=EwMOqxowD4?eFh8N(=AF-x^i71?dIi^q|x1Eorq6q8OUAo_kM z(|(O2WkSC>fFh;)gc=!@uAydRtX{!`+tjf^V5|LEWIXM_AM#F#hjYP9u%i|8P1-wJ zvbWpiE916AcMR(xi}!iOM}O+=rxsjR@?{^GZO%uje`Pg>i>g4+cY~RWFkm|{61!gE zzcmFXOgeL{X#;cLyi(rClEAa)?jpxN&(Lx>AJM8WgC$Mb@^P~A&*>5EszIadio#oW zkkjYhgey}JK@u{1JBSrXpgkP|cBdcu5mc>fuAER7t}Y;2AH);1y$PoMQ1D5oahu2w z@qR>Yh$Ryi&hh<53QYR54^BQ*M)(q&lI7-2g7t4x8%Uv$wxV@?`SrxZgIrq8Tez^C zXvduy^5@nhlDZ4QOj|h_7 zKu%`cwtA`3`c-wi+3FmhZ$M?kgB?XF{K6xdUf8K>S2Lv8_d)Rv$wIVR|;Z~)>|p~S?B+$?AX3Y zvURknbYaHi-I^f4(pW&@yGn=Pm?ZbVInzD zt@Of37*zX|j2lW~x0h>`x49!sK(0MoH;KH#=sEMrs)%QvWVZyp5t^}=yZ$My>VOAU zDd;Fs;7Wk1PghAuSZnI4&_*HIm$;X=uH;ozY(FqTYG@ihP%UvQu}@Q;%`~Yx5B{(D za~cw;4nYCB8$l)v+O#L_7SCLu^vUxyL527Igy1?adkITFo>;+hT$6lG$$m_1jPRQiXULzDSp*~WL< zf``iDf1)N77WV=i-q-Eb=xRESA88PndgMC2EoGt_-#PY_IFs0KXUqtWzMd32wjtj;ZATosi@EnEPWN-XO2ghaVUlGmbVt{nueSQ_jyjo?HY5M#1isxs%&dye zjOK3z!|B$rW6!34#q1`BU_q8ib7Civr!BxZKwuJc1p`Z5s-}9khDxHQpGCz|#40yy zFPfToQt|8mM?Q%N?8`1v&wqP4typa&u5z~@el@D86=2$)w{Y{?B<07jtBk5213S@p*`2RNAiUj-ecqomI>Wdl|AlXzE7%F$3D4h zXVw8rvHxno^33oTK9)(drQ~xbv7?CAcIq5QFyu4^DMXF)^Yn|B}BOHdz|(+ z(fsch7t^}IV8}akDP}TeGS6>CBi_L1^KE4fa?6Y;;&b6i0few+g;NRB3z7C}6=F^iZ-dt*IsB!b12NeDH##k?)Fs<*-V#E{Duay)e=!J&6oFb0PKI#$8boJG0S`pxax zNY@Og!1^MIWk_NCmNQK5hMPfz)_5SLf_`v2NDr)IUz-00i{|Wf)k7@Kao_A{=?EK< zBL&ih1(rF`cv9cAWj7DBBD_;A^xFH>f6I2ys`LL7BtC7^M75EY4isb=(c_O2w15h( zrX@3F@~mi353=_@*gdBxX+9lrpzBw^GoV%vOCBH}1jI&br5+^#?g=pN;Q)V2mow99 zAbzyTGYm~Hz!hG$Z_*T`VaxKIbU$hM4a<{$%s&w>kWC-rYF+mF`}HF29?#;h^I?~( z=Ll-_A(+|opYKnPr0@XQ=W)Lk%kA<2%0M6f%oA7qTPxYOqi?O%yB9KPM-YyT!1K3B ztpkCm&;*(h;s4IW0SeSBI+7356Ojt z0>EnjlG~&3)dk%Bp^Vddge)S|{&j!$n{~}*tMWD(0Z)k|G^bf>{wk8^RARqa^N016 znAEMz7(bD(n~%Varyf`C^}St-bZ(CQCauheWomRt~ z$|g^}S0qe&KC3=WPjQTe0z5)o;__wahWi%i3Iq4dhzH6^XCI5d9pXOjl&qyh)uT{?O_DcY(O?k z6npmYm5RD?!YF{^j)4n?rn}lbAS`Zzd|E$io!#hQ=P$XEkPQ|9|bD zIsI(Vih1SXT&+bt$QT*ccrMwq_A$jn#Eq_SV!X5H*5HY`;IBkOv>Z~%Mcc!jjRUSA zvY$I3R|A2K=Tzil=D>o)#IpS$eUc5zS~I|KHBv4yTUe2Qyufma@MXIDn#OsERrFk% zUxc^zRJ{uz1{3;-=XW%$NS^#}g`-&Y2}Y&{>k8P<(+Bsa6Ijn||EVV4h6`NUcRUyo!@ z>m&7E5ZV)PQB~6qteA+E4m{Bf=g72}ROXGhV_ePmS(GjeUh$7yF`+o5| z{)aQ10mNXtTHEXs-8Z_TE823f?(G`J+_-BHMuKCEz7`@R{qo8OA{^p6`l)m6BQM=J zFrl{E8OsUgU74v|kF0FNd?TBNXWh7)&t!c1(w#PaFVFKNn$rIIRZ{Q^InJ@m{oj+t zNsFxUy)6yiSF6ah+fTE>_z+HLMD|Sz#@_(pGFN$fkTZb-u7;9B75nuF4h`P(opODT z;pQ+(d0os=r(qA+Q5-COe>y`+^^96h=uSzTqw3wC(f^O>+e4g{#T|N#U%^>D5PGf_ zZA9|vV4ma8Q^`}5-55q+OW~R%E&HE5V|n3jHJ@)!`hurQHG=`*%a~@@i(h0?9!Sb& zuGF4@NXy2ZeO&YzaoO6VWVW?@I;N$w2Upwj8cYW*>w!{C_lw4%Ob__PE;xUH!w@AupFWvE@mi&aoxB^Flcd`w0D@{X; zQq8#o|3eZb5zTpLe_>1A(P=?mdt}=H?X3CeeVDZ)>}`3t~3R- zpgm*Mzdk1s>L#3(1gxFM^-kJ|X3Z&wFxcId$~P7re!^9_vurXK&!Pdh=zmCW0YSub zj#|A{_YdO9xxgCfRGfkwDdz02VnH+j^fLJ%aZt|KeYvNuC39R6}vQ|ME6S6?Fjw zA3Pi=A825z&rt1{kt;VmNsuMTH{K}_Qm^BM@jUr*EKlVrJclZob&0b3YVhpFAtTB_ z?bX2N+j~4Oy%aD0suLmTDGITNTos}g)QbjON|{62;d~!#YO;=)$;&h;ns&&b4-EkA zJ``GL_^Cqry>%{!?p1A)4hI1$d7DdU`*_g*p*5lc-uvm6xSYXsA!-Sg3VyTTn1SFgm-{W{v!=hcXYC;%{yFpccgfU{AyOCgj zBSPxO&0zigdimjgI^$ZNKhQQS+`o?O=pbE}fYfE`w@|!bdu8_H;QaDVRMpCU{9~He zuI_aTKQ~!IeEf{?(oU`+11rgh!+)=n!aE4(Y}pD? zdEO2Y=QX@X=IOM{`BjJ#yN#7>n?*NyCd4jJ)F`3gs6?U;<{?*YW0i+Kq6vaja96=n zIXbWVWzAyXC;lUY8TqJ1e-f7!-_h@i)bo3BZstcIYzzYK0op%A5X1IP**5#nl#xub z5N^a4Fc`SDD||RV`bhAJ&K0~c>Ez7 z3xQFr>_vJcNJg<5IoD3AR0k*INkarlSd2ofj(%$DB4d#7APdS~;3GI)ZSDi_C=@^$ zG_~+19tx7rVQv9Cq)8I%sWZI2OnR}$(6^?Bo%tU&W=qYk4c9EafG!`dyWR-YuG#)) zt|R{$YvqW)YV?8a2XDiASF~GUWtAd|EfHP7l_k!LU4>up>9OYqPBqB4+w-|S|@zxbM4NV~s1+$*~2LgyFF|Q%-mX-zU?FWr9Vf+MWk>s4F@(-@KC?OR~WWYwVs5@)&yEJ|X2 z_&vK7N<}kps-E~zQ3jKaDtW{BQ5;SC&8TH;$ zqt-m(LH+N%O&c4(DxLem2idP%=ODc$=&`4n8&3>AFS!qqPHHZZPo%;xO6?JYCYW~B zSnXmrPB0)=O$)LQo6!yw@1)@r70fE;AJJOb@}A|Z^jGcCZA#>7|N(27n6x#Cj2()hDb^=Eq~laWBFg6xE2-ej#szvPoiIV6_}8;-{ev9=Fx@I zEi`BS2CG`N91^FW2y}W{r!*{PyHum))k`?xqNOf3aTG?jV|1OF#OCrpPO)4R#}%^d z6{0!T%GIBbWAYkp^v7IYN_&V<%Vk)4LSx$gw7MVm@PL+~IL1Z?#r|xV16ilN8lW11 zV1)T=smvAFm;^|^px&HcH|9&y^=eQ*>Nlc0FL172udVE@q>TTbChzcxFkdOZfJdK7 zd-tvGARgo1eg1oxoAIoP!S2SFbQF3Mx)BPafao6vs4P}v zb^Z2@w(l}CvnylI2reHz@H|*5O-@!OV_G7ggRju@>bMKT%DvLhFbu(bl*!OF!qq&p zHPnGg77G)k5Tb-SRvV{m12%<(bID~r;uwHLbN<@#m8G-5S;=e?WYaQ&VBq~SR4^26 z+|&j|JdO^?(^)O4{)H0vMg|2;n?${cqOq@QEG$>TdWa4nR4K^U=jn-(;#pheTpI;; zFfNW+=Rym{=feUYiIe7hebRF{UutLOerVI;#@>yVU6+az_e3v4+I_3UjWUV53O1Ki zMpaW-CJSWBj$Fy1O=sD>HeLU;;Fsj`$yt-Fb}C%ij=rTz4IjzNGB-uStQ&@2E0k!3 z9fx31hMQG4!F3bp>o0+X(yqln3&c~p-ky|8n$`_@RwuPXEQ0~S{Rq}iH6NhQOv>j` z-;gPw!~y>J3h>7U2cZ!Jon%H~kVf5cf(@&Vb8^y09H%AM5D<4Lpr&SLx2-mbB48UJ z>FhlHNZR@4t5n7i-H!$Py5df-%4Xd3mdSeSr%VUnXz71`PB zA|HV~u;YF(Q+a7Xy0kP4h#g9y@F-nOJme`CrZweDwcTChKd){i{}$NL{l=n5(g^oy zH3UVml6D(Z#~GzaJR}2s_j_|T`)H3rI$v_3n|W}w#mg2U#3vcun zz-bs@B?OhRndy9QlGgEPjCa9fd|1pxF>Ru}H@Fzp9yIsrybw-K3UN};n$>I9^F=XW zc@kf7ZIY^)hOyP5W=Freeew0Zi3Yx!-frSbHF{`oA7PtXZ^o-R8hUy((DQm5p`{`aE$V|E7Pi| z&7b>z`6VcoGA2EezBYSgTi0Sq*z-n=w`?`u(sVwb!Sy?#WL=xkVS(XWC7pz3A;a%d zywm?_k@WNhzPjyz!3V{d>KEpxwmfVlDf1w!w$w41X=}annvBRhc_ZbZrz{A(s9r_|dO^B5|`q9AaF_Rl1 z_XKDdwYVn70&f!MmGBT=ry&z!LAZfFkQwl3{zl@~e6;k}5<~x#{Ehk;4_OhWbsc3F z_OO8E(gy@M6?MJ0@I672RAF(R)=1wu_mlWRAU-hx@-%PgPvB6v01{S>-ra z5eNIeMC^zm(sI`Wi3MzJfkkc9%ANOoI?xf9M{@Ov7=%+Mm7QL$#x7ztkLvvMMvQn0 z-*z!3$&`=x1PY>~6-zQ}2C-J%$J|7Z1iRMI{a%jwAlO288ED3QbuAoiijt+xUddq+K zp1y!rOYrsWf=34u?#%pd{2#DkPD|u|P`L_jN{mNDF5_x&5q=sYLS{-AQgEAj<|+Qi zkZyw_qTW!i*4Px&aRzP^Jilz8U+FZ*TuFLu%b){AU2zo$a$`ad9B!pbVLN!V$nMxUu^}9h7?X zzhvO-`^kf6x(d4GfOcaGj0L~;U^QdvSXS%7%8=glD`#4WA zHYI=in8+yf$fiEi?>KzwZLx~VEHshW`;pITtsvq!u1&;dM?_%q$7nru~@6V@qc%d1ilEg z*i!0eZR%CVuNXY(=yh5JFB@AD!ho7co;Wd%9&9)3vPxe?+!LygQ)x(z9Z+YdzPifi z(cs#zprSFL9K|W}HTdNTP0}lZVmcvhb$9xl0|eCaEm)1DV$*jfA_}ZG9-!SB=8|y_ z3}GMs7JOXIY4mbBDvY7A|Fl9vx`K)FO6K9u?8BT3SsSLQM~_`7dFhE!We&r}S66{G zENes(*A1*Da*9&dVzfX4%GU&bEuiJjwq{^C5A8X9j4w}MEGI3UhGc7~*QZQR= ztWEeXBYo8eFYI#`?S%mZZC-I0m6BE?%6MoYpRtza!jpWrS@y!ga=ll?3m*30axTaD zc>h5RD)cZV9$FcbvEq*sPRu?!EmdiInK!%)K+O&!1o|CGjWAi7*h=;$?($l_(fmA_ zE9GlcQ*t4TS8*8Uw#z;*QAOzI4xD{orF!*65SpqeJK7r70~)<6O40i{6&2OBXv&Gi zj4PtPx4B1h}yjccuXmmGyp`qHs8c1NAZWxAT!0_)QpX;>@14 zJP=@aTz%z>Ok$>qlO2^=D?wjhp~~q6tG9OCo1g*5W0$QD9c8pN1TsUmpcE2rmVuI_ z>D6$&_+xqY%2u;u5y=;i(p>l^5ue|MDfTS57|k9i)iY>M`R1ENARV7m36VXvJ9dD~ z%QR#xx&72QL0P5Jq2NSa^r7$-WT&ZH@9MYF_`pb_F>?7){%J!{13OCknUHHy5?b}4 z$sq6lZ9YNZO7SmZErt8Z%rO-pOmUn2j71*|%XoK!U)2EW;L?E5mm(S^uqJ|(bIJru z8w-8_BrkLRrAc8Q;am^*c+rfLkr0nvi)e#73M3=M80O9*n=gR5(KQPEvh4XOIs zn>vFK_n2azH~VViYCUS?fmN39%3|4h-pY0G1c+fK^XQ4GO_L0_m4L)e^=8|6^=Vjc zv(YXKt)z=5`lr|Yt%lF>H|l#>w5CWIsheILk3>DA=KipXfZZbEdOTK%r@A$9>{UE2DpkTXGtd1P3KN9~xe?Wz2?elBuDy(4py zkGG&!EeQ`Mf~Ho1jc|hRJxB{hu9qo%>;&lOJFjI8IVySf94%dYC}{KNx&BAzA77FNN6kbCl7* z7_F4eaV+PypCXZZID4&j$d$}D!^Qt_rbxly+dA0l97e&2S|eqIl~<}GJ*a(y?07&i z17W*P#YZeRH%o<)zbuNPNT35(Y+q6>c8kO1oyJ*CtA$+a?n)vH{;j!uU;4U<*Hwq* zLFgGMZ$}22T}DHDR8cF|FhxTO13db__mXEbRE3jlPKF5e2cp#5DjdS9q?VlNT!v9DDKcizj+3F3AL zm06*VN$;CI-%-qG52ajCJO8~nzjh!Xl%oCGma$_m!d4i*cfrxDSo}h!K|=A;EvrOm zbyd+FZ8PmkSxqibhd+umdWXlhEOeg;l_4;`0ND+i!s(i3*i+4APK)Mr|J~n~cu(y8 zr1biZJumKyTJ@6Vch>|_j^pg(^#lKsW`!+~m%7a6N6FjPMo1x-3v4efehLuH8z~r_ zbeRW@RN@HHC%!9SOu$n0N)c~`_?^D`6jZ2v8tNb*c9JFLQW^DHQ}r5}yw{y?;Qm1< zb*tc}o9*e^PF^EH+yEqxKUfD58#kup<#-awZuJfOArX z>&>Z>_+~;N*bc-kZoGQ7T$8aD@Fl09M(Fh1lRU~LCCDXCte$*5iKHy1Muv9CBlpl0 zq+ZmfjvR;l`!Gif3hWPe3fH}Va+_t;$ykAoU=k*(8GtiZMHDxQoeohRh~?N+eF+Qd zH>zv-vZs(ZS#JHnrmcG?nDRPY{klrWf&?Wm6-`<0I$>8@E^B%^-4s2hp))GAxr$ru zSc$MRQ69MkQ%!E@6ZT&8Q-4aLzqY89gk`{v0RZLGgMB=#l7 z(=<;-%f{Wlyx7YRmuFDzu@yq*C>>akD3p635U#xBS^jVDrMD_3z|;NnlBXUW(L_1L zk0|#Bns!5hVos}B<`D=}E%XRXm`u{qMz3}l%HKa-*!w%vU|l_J%})P3H#I0eZ5P5FQ zl_R#`xI+Ry(p`$8xM*}=d;0wE)V;xR@@=i2;QsUef%0*x!INjYdE$LT5+1>e^ z%-K5_0&W6o4r_X^az;>nbVW-piH_`Gm7OD$k=Rt_|4IYEob2AL7`ek~Bc~zWb*B^i z#rXBdiLz8}LJ6clpz;f8S>;oIm@JR5i>PH`Q6lX7ZJ6={_!1z&w8l?+3OII+)}<7G z)pnC}yhy;pd9kNoS@wl6w7*Wbx@Yv<rsgC04X zb$|KY-mFKqR`ES#M`NWidWS&rOetUf0x~upLtkEq)?y^(1g@R(Bc9DywW@`!+yCt6 z(0M!xms=kmz!n7Y5*Ws{r(&q5xqd_O>(`_z0IMEGU+JG*?Ai6RhMj>ijb*v;woELx zj`FWT8Cz zvLSF*J5Qh35BjIaq|9K#2!k9yQZUpcOo<2ch!|34><6btEuSfV@?$`D`ifk?=y5ij zWi?-S`OfVk$N8D|9wWRKYLCb?$!4QTZu$P}mb%=6%h5cZ7Fp%|=p(o?%4Vbs;04X3 zeL+qfNPw~Y=gVAttI(vPn|0>_&vrgq`G2Tm0Z-9yGs}laY`UNi`!HKJpzaeU#@C*T z1?I5U?vqzQ+^}Gj*5_u%*#nhH0N6oa()rSnO6l4~K_=Yj+JWMJ3;Oe%Ea0Ug2HRDk z_MMhEV?o0?!sj1>_y<2nZ%#~CZ4!RcpLEeQV`~hk1tQ2rxY|RjbjBv(&&b4!fjJR% zRG!1!*XfmUDs5A?zEQV$EXL4#;2?z009^Z-Jg#iVtFGC584J2_p#u?w$Zy2^Wnq!|C)B{+PDX_l&+X-W7? zYD%sS6sYuwDY(WTGx>PMV-1PIShzNX@v8lb#T%KzK9)2N6lLk>EaTfrLM7`#fq787 z(L6`=DLgQ3I=;HSym7B63$$_il|49ve{$-`+QTu((Ra5ex7^rnfLVaC*Y}-f(0b~J zQYAukJueb2DuGHiw_l}o>vlBjtprs$+q_0`(T_&!v&%Xz%WxDNspPG8qU4SrjSJ6vg5m2Vx6a<|4S&6`+{wmmR zc)ylb_Y6xvJRB~}6>NpRdMr-ai*JBNPjY`z?v3AI4akqycirhfSa4qS-vB!)(;l_s z6B<%pH^;|qvtjrLpiTxNU~n;coLz8Szrmw!d%_e2q-TyyxeajKp@NPK_0dWPkJT)? zA^I3cV!_JR7w-MNXsS_zTZWno=IH05ckjW_K#N<7HW#gIo>e=+8FhCwsC7JWfcGDI zryWZI>uNDAWy`JkExd+Vtyw|Vn%K)hoLk4$5q1=EF z5xRgg$g9V;hH`F0@Yie~ptb(|UhGO{HtYl*TZUfyT|sE5)4JX*lllh|TnW7uGwz%72o_6>s_(U!h^|rMa+ipwQmG$jk&fV$oj?53i^c(7(vm z6^A!wgNWmI`?!pi z6U8@IGE);8NCmUBSg;l_l-E?Pcdv*WcwDsEeGC!UDrzuv+7`=ttuaYH56LC%Y#n51nn6QwJ;<&C zkq^NDQ3){mmOiPf%NvzyeA6csC?KWRkWmF~C*#*lM3S7QxUTU<{rO3H)A~(y3$26>IzKm`n}@gPId6GGo&eoD%$Bp-}b zuXZ>gLH@%e%X#lp9TtDT_&Zk`VGdDDT`j;Q36+6h^yIynP!!h41MfzS_j+9R_b z{~OG!Bi5L3&iNOUv6hi4WtX3WxCV^cwDwobRS$D5# z6eAkW6w(eO#!wQ1K@0xawRAngM^icr++7C0Mz#x=M$fbHNI2O@C9R0if#P#pX-zgM=FO_=dXe-#Tt4<0K*tJc|RxS znxNYPX|A^4JVgx2bq@5qkmf&d#YN>1vd7Qm6PRpzIh zp8C|IdiIs*Z^{K9vY{73-DqgBmlpW<3XE8zu2Z!V04AN4EdHnu47|=gB?jyHT!nKT z-zt)#)OJNVzLZL0T~@3+S4ywJSc9fpswN-R-Y=<^^$J%f{@)W! z)}G?aIm?c>^$?769#2+*%m#Q$7bhXsSYWaSbEXl@>`5>EOSXLFSq`>i>-yLm>n)qX zv>{)Z@G%;jO^^uw(Ww8clji)zi9PYNMC-efj7aItK%sN6J*nj`pomDydpi3m+G|tH zFO%D*aKrZ}*fE`*vD04-^0}|CBwKLXFSWw3*7}%C$iF!*tK6q#mX@K)fwhw6uygxj z8tt8{2QI`3REQT}8(;z08HDnln^;9?16Msru+nBFxyG9BxN}DTpQz#UWIqI*dY;Wu z#_Xh5IY+RI$XCxUxZ;Z=%S#;l79HYD+W}j&EItu+qpv(z$T3b5@VQCsCFyFozAJlh zqKxXP$#RUMEOdriQ0Ng>&)c3(|Kxt{y(PPIxOn-?cN?5rA0vL5Rne)4k?L2 zx_xh`eT&U}F6So`+* zRg_h{L>u22EtGmG?oS0EGF>I)0r<&F`He>5KAJM?SE<|l5-!arbsFRjEH9>}xpbpf zxcO^(KaBpLrvx3r@fqDBK{hAF0JSZf23ASEAZLG$EgjMb9&>w_B-6yNcsk`Q{37rC zN&YUijMBsef^Vs|a+bBlo>n^9=Tm5&aa)7Qbg>bdxHJZh)a+l4QSRTBlJcS+OvI9vHApBIif z{=53aAb#b1X*RRR9)|76?zb&`HL#guwk84TEOp8(kvEu9D=4S9fw-pdxPs><9#mp| zo^zCa_lJ4J<^SJ`IYul+q*%8@Ge*FbuI<1$amFE?B}@}_&;C9mPqHz7`v>(bR5*kBO~qN70Q#=XDG&Y z^!XlF?)iAK@&9acR)`4SZ8Y#rnb*Je*pY1emW0cPxMGdJFUPe`Ur>G}v=;>>{YE~+ z|AtU#Pt)u)n}2|zpwJ12%pWCGG;d1s$BwqtQzz!a6}olr$hg9w3G0kT{t55eZ-RkV zxj9jPlU~xGmEbC{U!%_M1Q}VD;tZ>!6u?|{MX_#Lftkf z(THj=cfK^KUfl$KWuNe7eqE7-fTi}uBVeV|4i&|_?{f`z&^t(B;k-ZpLG5#jTWb`0 zneCnb-_`*ng%N=xLQOLH;)e|pmfI5}s_$f6PHAo0M(n*45w%}9#82N4x~t@%!^9bU zK^@T=0Q+%?>nSTgft&Z5mH~IF#5(|s8y#TSuz|m_v>BbQ6bCQ(lSz|H@s(V{Q zxO+|vxoT5$g|_TNHy86>!3xHnj6vi7fkU`L!9($Dj-J$4xcliCBy@?XW+XH?{ne72 z3+G3mFLcB38d#40V*v=6;%)&W1v4q=bM(j&z5DUIQGj&(AjB#667+*b`w482*f$xm ze#$NdZVax&+F5-g&~@~Onp6gvH7tadmOkIL=m?I zn&(?n98j(qRgzay0ux&PODvhw0+_J1x&H6_++tLm{bFda#ydED_OSTeV0#=_+i z_zrb*Wxc4t@nrSrb5lQ_&m&t(&2JZfx&d&G9-jJ_TB4VeW!h_^72rMtF3r(C9+p=m zwl&ds9x}~}EWcRbMrL?;zF90r<6U`0$73nGWneuf8H9@5nbMxM(QzU%=#Nsh%{xrHg>7|gcw6vT9GgyhpHoNcbsV#mRXRcs~Q%WlsvNT!2fKZ9|3-}Qi59TT@HW+dmKjET=yzWXPa=HDpSmLl2 zNE8Gv6V5a+p#9S*l`9qT7?5HzwK^+1;0zl0XolejdXPG&XLZSZldt4pyp#41_jjG( zFm3B|?Ehl`P~YO{*f-hLuLF611O3zFIXn1Zw<5fa{Z~NeU5oG>mPY}UE(TV zC_vYjDDQ4oKnIYRO-0wVGhY@}!%p4LDF!OpR-$c8T}^D)|W2zkxF9w9>dY#Ts*uMXxc5_68JC zJ)(^c+29B;5NP?0z9Cg{O{3Y=VAOYK=Y z%Dk(*YT&|b7^#M@g-7-Bqyg$@m|5QFYGhtWjdI9_sX&WHJiMxDc4Q z(;i07m%y8*vys&~P=0Ua`RR)Jj;hlIkML z=9&~3zl$Zh_6#(Ej6`FYZD4ybeP}cc+yX00Z!7eTyL;j{;iw|OwxBB!E@KJV?kDA5 zb~o;f_N_>f>wS8cyG)hkT>cx=a{aA2UCBTB5#@{p%3Ba5IJ!v%2`L9GI9y>3GBT!E^+p^pbj1cfJ75tW z)ojpwT3NBCj3~QVxPK_#4_&EG@`fX{Ui0czRaASS3$HRQ3EuWO0y;?$ctrekquB!v zWUX<|E*X)hTvaPy)ff-L9F30Ph8?7qsq@hU|EPyxa?ieNakM))c6oqmk+Hm~DkAtq zrErXz<$$VX7TtHRJ{w+2)puw0t<=mU;~uZ%<4eaPP{mmDiibdRY>&c-q_fU;QCnA& zzN?UQZClbuC&-WKDf%w|RBh40$Nt#f53=I_5Arhbs6lL7d+4$0RJILR9lV;Arqb(a zW0m^9>p&9S0?WBd5AQ7l<7-1BvL3Ynv|Gv3v~mg8FZZI>z)XfFx>Kn?UXfeGmYRsv3pX%6!uI- z+Lqx3E2HL=qd@!jTi{w6xH0(v^g}4@&3gx`cG|68dJ*_^sI9UTw@UM6l{Kr(9&#gL_J=SJChTG)3+a2reuL>U$btp z)|vz2gwL(N6z#~=8SC(>}}qg z5U*GQ!tNrFu$zag!nqniKG+BtX1Fk#bwy6eo`yVYNFvZPUKg>$rd-q(@s`Q%eZ#p zzEwTUNFt^()tkTl9)3i>pTHvF;-s)x$91V2NWB^y$|4h+JB`$nrJM)$GEYN+_GHId zypUtKA?HnMBl=Ci13)rV^UgR7_j7#qW>ef7|FAQX-U${qRxK-|4!BA(X

ICed`9?4F{3uP6)OI(Q7$Nf5H`v;YO)Th_h=caA(&|DzXQ&F_T@_x(7ED6^4KWHF!${i=51K%bV0f9W zpM~u5-G-aL!$*hL?ZoolaJsmG<=s?-D@o3PB1L`VYK(um^F|L}t7_e&u3plQ2+4t2 zG@5-6z)hl=s@+za^$~~ZOf%aNU(Edxlp&4=*M@1o>0`$1$VQd8-(~*Uw!#7|@9aGV zIxW7(j9{h{Gn-W5vsO{+ggUIWrdCL2! z+HB|cEeV&62@bxvI9>=NvIMeNg2Tk6i_TBYFQOImcSzYlz1$LwtRa`rOA}lG^P6Y) zn?}Lg&{l3cR>5a(0I;8Gz~?IY@tp02k3%(Vl-Cg(IWeA)S$ngWgYg&s$TL+6ji=k< zsb6WhYfJk}2ZG-OT|KCwv&`8OpQh-hvTMXIE~LdHjv{N;T>smP zlY_nZ>~TX7a)oBKHF_|iT{KcY0U>e5g3|L(NQmigze?~OWlIRhBotm$IqtuEfV;!s zko)O?+v>?jzH`JoC`7uryp(;K<)$$x6+HfFLDr%Y6H zB6wny(liHOq^kQ~;fC2O(>>9OsZpuD-qIN?7>K@_V^P0SRb`ooO~^m#Fz%0NcF@vZ z+_=C)z%w6K*yB_s?Ff&Wp%TYBk&?mJ5TOjHAjZHkq`X|9x`mY9W5{^uFu{?S19X zAglqMiD_-qGx73cO($bk-GUjRl1TKt7aX*0LuxO$rs?A{_xE}tt??$X`bVA|U5Dh3 z{ui5cqXvt4w+teRc$x|&$|&0Ll$yTkiBA&>gHJV*&*PxPgWSRY`u$-v6_mJ|yZziE ztkt;2D8~L}F{T7zj#KsvdGuxrA7fbl)XZlY;dOtkwdPha9@fqe+Zq%KbjlmJuyWI0 z)*+LESw9}i+yesHTQzj%i!xDZr4T*N& zHOA?8b}Z@^jSm`uMRe=$Y;2<16GwALD3Lp%h3`b2p6GygadFJP>eTOB2IHpN!!k#U z+vDA!6I80<*=K!|*@FAB6My1%vT2mifhMKr92eHNf32KSRl;(iT81l>r{vR+xXJ0n z|5duEet_|@<;uUyi>yDCO6jd@TQ$Q6--7g;VxCB)hq$~$;U%rPs)CN&%duL6C%8xE z9@yk8Jq{mAz4s#ku3leZbhr~tPIl$abQDc<5uZGVv{+kY9d#*VFBA^|M4awgc+d0g zr2I#hIwpYz)nJY?y}Hs8`Kk+<|Mu*_%pL%niRyqh3@e1W7AwAw>&O|tA2~!QjjG2! ztwQ?|qLe`p(g6xx5ba@`fh_-wEVrg$BB@Gj7Hy$gV7k?w3U!t#u~E0X;Yfcm5K`#5 zDXZZ)k)TnKIwMWT$lwRUfE|Q7HhART$6_k)L;_H;9)mB$)E$JFm@_LS@;u~Bz)Z6m zC#Ic>^(OZz_!|Cf|!Uys@p=@lGjs60hy&8i`h5%#1SluG&lef27@~ zqN3J{&D4wZS8rw2xy!mW>P1l{(W@H+Cl2RRTTBAnAWs?p06HMah~U}KaTh*xPUooy zBX!;xc!@n)w5g8JnwSjKaf}G$y#Gnq!~L8Q?IS%o z9_^_nVX)Th&6a2Wl!5Q_*3z6u*mJy&+tGrh$vwKJE;xt-YoI#wC#sywzyLrD{Ty1W z7nIx`>+wyW+u+E(-Vm>7_u9myQ7ZHx4PTnKFh&*XVHpDV$?N^PE)dj-bTJL?DPcS6 z{oi6*l+d65w^WS5@p^f4)YRd6a=HUIvr{n&w@yZZN_q{&LfgVc4~hLJ>+$9c%UT^Ey}uD$bC0I9GBv#b2xtQIM@2`UqTuFT#T#6` zf4-i7A>$7UiXdJXZm%%v>`<0tCg7ek3^@L?Xur6$XAh3y+b!(}KNGdglAVxgXkX1Z z+~NkE%Qm=FAX78={c70hP=N{&xB)ht19)#Hdp+8^EQc2l8(ki+!CTD-bne~NZsD39 z5VXls4}eTbkf7@%`*p6R*S`5ey(Z2N-+*4Ev*!mq0m%zaVn%bvMl&p}xNH=<9{`~J zsEu(ynZ~$FEs*57oi|(h&)X_vL^eWu|2VeK}nbCEk4N7_@^R_VS{6ex7E zv(GKlbH$OAlRH$UZ5<=>KC+Bz?=GloEuhYh1KcD%G(ls zNz0!2w+m*((EovclmzhL-fK-QO)8bkXA+n0MwlKK-*}VYtB-&BmRDr+B3I=&^dIuuQ z;aMDINZ7oT@@c&6@+qACeOzz6`l6`d%L;a$rzM-|{H~Ad?G1%S9$!@I(g=oxtd@Ob z#86)WzVhCZ!_7kEk1h-ytKf#j0%_vpD;;A~c&)iS*89hmJv*e)t|`1nG22vQOrh;D zAzRPGLnY=9#vHia$j)3;d>tL0(5G zWt)Gv;5qLVLvEUc2d)KZmT+X&c(G)18iw6^>hMY-1N(H!Ow!gP`M<#?3^qg4!EZl5 zW1{&+3lr{Pu2^y!OwK3xfXFm2IEFqBw~k8yKkopZ4dK>4`W?ZOQ>r^$Nv%e|8(VdF zM$8?2@n>okoN(dIKNyE9k$SK`krHr^7Qo&8lW7DC5yM-ZvXmNU=q$@)iQEx3>SmAC!EnMl|_}iM7he6llpvE4q%-l#MHg_*0eujU~K_P zVHutcIi;R$?Q{nqGuZP`<6Z*Hc2H#RcFFEijp*u%-*2DljMp#iUO0q`CG7x|SzTkE zqve{$=aF=QV1UmYT+%HXRlw?CVOW(Gva4!K7vB1k!=75@H)VxfzdT{hn@ZTO=vq%G zll$$UHb>TMQD!kmzi#yN!s&lvKp+W1sQ_@-mWGO^*cgQ`HCWGA|mvc3Bg z8SwH`ms8Khg|@w2>G<^bHR?jH?K&y0M@fej^e(}gMs_u!BLZSaT^|&37=VAq7$Fcv zsX0s=egIyZ)nsoeheObrUOa0reY2qvLh|VBC)~F{M5giVQ%hdJ0T$0&^fNIV?Ea>P zcJU%Qz3UAkq)i~SvE_`Elhikof@q?LV9`d^Dv+28X3e;V(Zjah^>~!*>MBe5_>!&j zE8gVzO6Jr};@;InaAq*8EPgF_F{QdL9t%FLy36&BZj5}j0`6V;H@NE|75I-jI$Jn%N z=Su1s{~F5;chK)AjLAuoKR$42wYVlJ0)O z^;xshkhL;LtXn^~=f&qr>DxiA|N#m!}OBX%!!T5qS zYuMdtb=8_B1J!6h*DA3CRz0dNQaoo=8Np;TiR`i{f(J~1DY>3?)en>10m-K%e%#>= z@i+Eg&!XD0X$NkN#(RjKAHSr=(Yh4aFptP&BQ$MB4u$@aB+@f!d$MBoZh>4NQuLDY z?BgZ~Q{(?3um3Le!X*;?R8)6Z6iA@B)%(mHZGTJqsHtCo?698d`@8w?!eCAf#(1lf zsKi|q$`V7D$h^0ke7nNVlJjV7B1fg~21!IF-=}ikJfauO?`}KosBt-_aopaw52LjH zGU^P{;@c75+GwFL_qfe|z+EL}D-EV^^!|t{bR^NufIh?z;}e8emR$-W7}H*fhE7w`VA}S18@NEkl@vS+{YGadWXre6%H$ zVEzg*4F8$8IQFlh_02QSln=%I^n?hn?Ws~I z&THTP!y+mo^pcrN&1wR2-&yacXdU?hWI~kW&)glI04}1MvkmV94$}fI$NZOYG6nZO zm>oEVSmVG_|4cuQ6}eVzUSde;|E=W2%;w9*gd3@H} z0veVN5v%|ryOKy91oh`CfB|I;<$%tzWEWQPmcR1xePK5jC1t99aMz?Yf4Rz6I^lf> zhc6dnGR>-X8Kk4m|6DxagKCSLX~RUTtKEJ34waLpZ)95q`?51oY(`yYiru3y?j^#J zBo6_hqrd5#thFN=`Z`Vc3R@c~5gzR8HN>Hd7}FtmQ+gnv9UO(Vsx*zG3EZ=onU*1z zFfLP=i$5CE`K9j0Kzrf3qd~N_6rWP@{g?sMz<%T<4>&g~w_GDckptMn?n-NGLjxO& zceh&Ni4E|i0c0&A%uPR}i<)I@NOMz!*;)jLp+-T-_W3KaGcn3*8NMBB@KPq6z-jUA zzx05>IPFdmHo(z{D}7Bn=g;K5HtoY}1v+K*`WpeR#L%-6%6qYb zO$PY`T&RZ(PoQ%0*8X_;q5Hr|!eHjo_130m3%GPviIea+m4=(^X?v5)7+;gljW8&; zv8R^Tw53f9KYCY0sL}>;Y$Kgf!@IhcCGqtaK9!79iTue=Il%iOQ?OZ8wxvhP>$*wM zsS;DdYV--g{a67+#PtngOP_`a0bnHonv8RKANMN=9uAcfLo7e3 z)*WRm_ZsaNfqvj*I;7$9mI+Seo+peV(;TDlCOwz9U+hy80i%P+ao(q2sp9&rd)IQV z2}E>Iv>kEBVG{Avq#q0_Mb@HC3Vewp2md}M%KYiG{hyQDKp)X=4M0@hkoM$YQzG4h zjK&94WLa~f4+v)dJkx^%>cUhnAgQNRBz!TF&xMD^fO$b3F)v}fOQcx-f{GyfJ~}aB zBjR=`*UNma1Q%Tf6+Q8-cNErwz9&&7r$E>9_+Zgp$RdxEI zjp0E?IwXBq&ABLgk+Pr3uxi6*k*+0Z?xfBkc27CYa zL}kuHKwFG0wm{$wjHS1$`u07+SN@Oa*QZ%0h%J(*1R4vSGo=V^6|W*&YvS z>(`(gc~qwkbOTSE>7Z^2qm%zVfv&l-Zal2_EE~=E=IofwyKmNrEdq$ghGlRRiYR{v z(YJ6uwNFWmK&t6Z{AfLRF7og1fy?hRv7y4p{b7HV%1Umk#${ffJqN~kNjpWU8uids*>%KV*t zj1|MAXJPIah)jELoefMEsH86jr$KkYeGSFH+1UR+wg}6%b~j^UhJ->4HZOB)1SpZ= zX;ngXO&T=5Q-VC${fg-Z3~z=BjSCCfH*FD{#t}CrLv%)arU`ZBl>fkvPKftA0=mB> zQq8}O@3pOZ;}ug}e;srBS=wXYn%iKDaN$Q%U<*1#Z4=5+=wrn6m6dSQp@?E4 zc|a)bo-3=NgD+^}ES-mc7$uNC(j;Hq{xXTj8&}oLR9mHw6A&PkgF zOJW1xTO6aOC7PC}>z-a70ns^p3^{2R?WGP4CIdEQ8izaZyS9hYBc!sPt+PxQYFI+Ci zUtgYom$9JQtXcr_0S*0OPLsBas!~Za-?1+Ne2+%TrgkO zazTiK7_5(qJa{MB*3Dz?zHMh3J3JXQUy}}hW|Wl*ZI3^`=2855_?ia}#Su40VW+F7T#RunicxDBVXO^meS zmXQ<1oF*3}mQ%JlwWKMR_wJKf)MyEQoq<|qsNozHZ8d_=P^x75bu^7C(nF%}qVu9R zIJ(PNe4S!CaHk!OqUJz%Hp%^Ihurg4a?`DlUWtER_VDvih19M?h2F4th$xA;rT0sp z?PT-1$X>(b1Zn^_^;iakq@&lrmwR|lX$ znVTXeBVr-q)nHuu?H3nzfKrHO34p+MQ-M9>;7-Zp0Wb+RmjE(C1i1v=eqVj2V_KSl zR*U-P5*Ozeo%en^EB|A6rA*!x8i6ebHpuwaHMEQ^!?m}gEF953 zc%)op7Dzin=ZEvv=b|0b79gsQ<+TbqpPHFL-5f_fg>O9M{J{9W20zE5#Q|gaJh`E= z&je3lT_M7@H$P65<$#Nf!20Y(jK1G`H0eM+cD-*L9eLm;$Sg31f<_M-xyONI_Vz#~FOUK_C#%R{~~s)D8e7AyqfZfmrl`BIWZf{|OR)PV?m;ljW_Q8!1y-z0&S>VVH(d9oOla zX}i8w_=S0yy1Z!3hl)B=hig?0$%*1jHD|M`#h!61vNHm*zU7)v3Vq(`3GW3{qF= zM&Ua3?w`tud3fkI{)`RIeFy@=|NI0vdX?HX1YM*BKRT@}IKzdE+lO#d!tQ`E!=&}e z5RkRkfXe;7&S69Buj1enj=9ZsvGQgu zgsM^;dj%w=dlVjLnnD=LXh^&GAdPX3DoA-x3Zy;7@OOH?Uu~zR4x+ToH8DL>Is#;= zM^6jWq0psW_T18tjPzVdc%fnGk;DJr$R-Q$d zY9*4=rKLlcN!djjMT+MV@On*ybU|`d2eS4Y?EHilI1Eno0>oj6;bjSoy`?5cwX=1? zLwq}FaPuxE7!gwAvtNh&$(F$8>(Z5VcK{$X0w$?OT^-3v8>^J=drn z`q6Jt@-u6H6vC*G&)Eyiy;GVE`{OKGpAXD$FDW)$l_7f~_kzo1;~mW#(u_ptF^7%B z(u)(u){m2=mmi(mzO&w?(@KF=fvY;&;&a7meU>lDdu3&(t2!?FP2Iw1xxS*bsd~ ze-tI>sO3MLIJEg!OV0nZASPzgG{z3pLxI)z=6NCuW?h?Qfm&9eM@$ z;07mux91L=!O6Kp({X*dw)<<^Xmij5OMUYLDhV8PaGvl1#Xnp&>5afMd_*L%gfY!3 ze&O%g7pJ>b*aQyxz7tN}(b0dxI1g}Ir`E6Qfpcj=Kx|i%V=7~l(O}P};dGL1@ox>L z2UwMH{T&1$g`CY4S+WZqAN9onX+{2*>z4esy&Gi+;FMO!`HtRXIIL?B>^w`JXzC#} z=$cU5`2x2XJ;LaDkf^XI=@^zH!WqYl`+-A;oXm6dM14=o4KZJaPL41?$P7f2iO#8g zRn`ZLpX?4gIy%;dX{C=PHQz`@5Sv0zHxWKYmrHnC%80CWIz_J3g-9Z|+LAw3UZ<7T zRc^W4*7*^w9JF=&^;;Q79Z-L09h{AaAbt@#8%%qz_jP#$`dQ=YJ3F6?Bk}+B2v|!y zXzDBs#L@3oE4wZhj1L8x4`=pzjEZfNMx^!jMx=D`TIVkef!}qmyUWJ+Y$vnz&hPXR zl~jm+_F1j78m=Xd37_8m?tBQO;=#m7{jZ*udoWggB1 zZ+d1waaJm*|4Kt>yJml!P_Qo%^E9NI zv@I{fQllY!387#S-sYi3t;}JUR@c+ragR(jd0nZWpw9%ycOiqS^efVz)q_^ zZJ_{__o2~k!d;!jW7bd`dK+&NV(!#ggGIPQ_i*!O&UN;vqa%!opyjT`p;Xe|*6#6% zEQc`DRF_EW$kRqw18ST4@yp}3JDecqx@AsqzNSwikyYp>t< z!79)jFD;y4^sBaSQz*?eL91sW7)_kKjIN$uydHw6JO4SMrE>6Tg69nRJ_oiajd2#~ z)zS}ye27oDB>h!Q|S<`P)11m=@r+&}m*^YCS~d{;P}f7e_xOk75(4#^VYfV*qS9hCYu5popdt zah>d$;jNo}{z7S|PHk83Jj|uB8pr`Z~dXcc>FfnB) z3w7T;f4GQoJ99Brw1Bpy-7S(kv z7y3*%*3zO4O!{SCASPAI(U8qkHUCLBRyRu5jx=zvi`>?b~ndaP846HUbiG7u%aCaG@w=yI}Ez1(-2HFMool;HZ@(~lAp-sO)$`8lJu%T zMNG@+HE{`({QSonTr?o~h?E`Y&_HhL#d-tTGsD?2 zBJ6rJ`G2(>{5tM0%tY2TgxoBhyL4_1CWTA-?CdB&Zaj7}i2STr1@nqTW)L1;OIV1` zzF9WpJdl5SpIMESRW zG!TKuk&&uPNTvcEcHl@zEK$U$${6F#tnz2R4nhb?NNnt=?bU#0y3qL1``0AQ5%Ue~ zaM`gLkE&T=NYuv1-zSuML*Kc$`{h(>mT=N*uG%&Fw!5#9F{#09Ai{NvA_uG%h zA#&~IH^2T3Dj7oCx}hU-KQ%*hmb!uNF`8MqbE(u4(`O}+i`_41L_LwIbUthT{=O${ zIlqm)fnw+XHzukViC`n=r<0HJil9v@u|vhruCoj;Dz2uLls6~z@~KpjBoV&Yn^KsN zEm(bW*sBdGNpeR!I|jN<#M!XmyoTpz^cSJ7fs&c2Ts*`fPS~61oUwM{%GS;UP=hy1 zHIzM5#m;n#&3V4zftd#8*TeEy*B#6A&yJ${u@n;?*JcY-OY@ioTFrLu86c&p=+W{2 zC5|6y9`Q-Rh61sU; z-)h8tjW)>@_$W2<8khb;hP?a2(~}@WKR52K;q)i3_x#_Bzj0b4URt7aRJt4~{CDY4Q$QTA-IoA-6%W>y*N=oqOY0B1620@0wgnQLLP~8A z{)Q(SC_Qp~hbJo?PS*BTFCy4Le-G`TkK*A{y1HlsH8dZP*yk&eF@&XPn8ura2Yj)h z5l~-P^A8CA)C$tcYacOK*jB@9NjtCt`EfnFo}m~Oy=TL)^wFf?#1=YV)a4}S3BYRxf_U+a-T6|~gj4^ENC}^Jx?A&X zP^pC8$;t1i6MXG5E+dom?tPQ%CA_Aaq0*LH^vKA#v$y&8Qw5jWT8A1tm)2^t$1azA zL$A$iKKF34%G7<^!}WdkV4Y+=atR~N)UwWb;3kQZ4`+QdGmUNoJtA+s-L}eF5>ysG z!==V@K+=5N78>ldO}pv};Aww4GU`-N+&5C9YHd`|5akgQihI9fK<1V7g)Rb}uCqAX z2>CdiloVHX@e>SM+S`8c9y*}R^_+eY;hT*nXDCME4PF%!=76+wBq$XeaFG2tePvFj zx?<8?NTHdo#dx**oHB|3QpGs1fI^93l4G6Xa+jtR^=zD%>CfTj#{=|ML>i17y&kl+ z<&W_hCv3iLg4s*Vj)k9gKw13jdCgyv=a2NZFC+!Y>lCoqh^WvOnZ55_*-u?Y*qdWt z#@MwW@(>qx?D?cEKNRO83{%KLCjq1b26Y_fVs8AzzxpmMsym+VtuHw{v~W{5f7qhz z%j_j|ttb~Q21+yuahAj-UKbO3W0AdEC zV<7az{J zwm9MSs*iqrc68L24g_5*+KV#-??=1@ZmYrs^;Nqjz7UWYhF<_3YngtBRtl4Ui~LO< zU7M$^t?e$Ep3W|g@A2)&w$4CqGzev`7kU_fV=npKTGQ&UzN8b4UIo;)ksnICv8=Bn zN%=V74R!@cXp03>53%DAXF`VC?PU7%&8cY!5d%-&^DPsr z`71&3>PdVhHS6~4>?%umYdl5`8R-&*Usk$&w*11Q8jY7er2fQQAD&P9jv?a8laDj9 zSVcT`i+8zsYyOBFdz?6wB~c$+0+h-SekDV4lq9%ThgczT~vm7+n=!ozlB zMVWu!LR1|Qx^li26l zWDuA2<$JCk=`^w$$V|9`6Dkh5%`ejWQiwi6)w5hkE6jUIJ8D?dBl$_Xqu#d_Vryb* z3fO2^5zOYc%j3foQ3Js>9}L>qUNT4vg5YodDU5_79l3*q`I=-liKhK+A{FWJ^7HDwAFzJY83uR7V;jDH+ui zp%Q3ihqe)mqPL?_9xOL|(PL}orX>;~3?8B)-u?Q}`kIkJRIN?vEY^ee!LZH~g$?N? z6>KX%QQt~b$uRXE7mX5;-0`B5>m$*P!#M7^fp;>(T1_{`!FebVn&jc*j=|{jN96mI zB)DE+icfXbTX9_te5=cCfstuh7rK=%C;S2_3N=b4^S&~ITK$A;R(CRG9Yuy|y=L@} z7m=Pz^o8Dv$Lf}M52B?|?VHo!d$BlY--`OPXkHh&OiLm^&yh!lDT(qYCuU33Zkh-t z##=p4A{Vh!QFgb~-B{Znj|!*=y6ozHYY8s%S4HA-R93uxmEq*>{n?6A?E|p}O`{gR zld8m$po?>&{Ir^8M4BLZKiHkF)9%&S$1;kPD~wtT5WgBO=QUYRF|ZJ|?0%GdV42db z>Kzv^w;^@v;N1|GS)o;8I^9_nxWf1Y3&J_~wPXoV@yF1IHq;q02qtTAB@XKkA|(os zL+Mc{sHtm0|Far^Bbkg}G92m{ew2er=njh||GI`2g1{ey*+7q2ZmU3UJMn?Z>+;Wg z=FJ_~!WrOaz!8-*4CCw2-K2#6H5-PG2snp(b|H8V(QiLK3og}0_1sQM=8iB2liXL9y1{iEK!MR03jccH-4)@1rX*Q+$*f!==eH~1v&IjB zeQOQJS+PHwjj-v#&U6v?VVVusQMVt667wn3IG5nVdEB>})p|}g;T{?rsrU^4swS9p zJ%=;$k7eX&uQS$!-}xJ#==DB-nMrQf>>8iJV-e;ug!F?{yGHs7ADT0rv)pb0e3Crd zZ7vplyLr34*KIxstHe-5o=<`kk{D1==e~`t?Op{mYL;Xb&yNT-v^ut2Gdu^X@qS;Q zTgT_5+49ebx+(5y8_J~6q%2w%aZK-MQ)U!s=}z*c6~4S=JmFN&7|0W8NMMA_ahUHkNdi{IiK8Ty{A*G( zM-~J3eZLg8C5*x}Pcko=wNFiGVJ%;BVrmUH{~}Z+GIDavcY*cNQaTGyKi>EV#YD~* z$jxsj%{Mm;6!b16HpH-DWDt2W(bwMehTGcNnB*aq^jLnjwx#)&806mH5l;G)M5gG< zXfGZA!ZMwa#|zw}Wp!Vfz@rcjs~%@_OhkU!MpGWvk_-31;W#JcXdGg#0E z_njYlbnMK#=XZJXmYej72HA(t`eNnR72&sbiU@X{N~tPdFI~iu-!an0j;{Xuwe=mz z$G$I(Pc|)6Igxp{s7+hPfqJmu+oArtDI9dilAoCI+viQ9Ubt@fC-M>rqM0793`C%5 zd85NfPz~0V8}`i(-f7_bD@oUhtgmemw)AyFsV@`F?A7};bo#P@x|n<_lgraF=XB}N z6}%>rcu$A9u$h>+& z(UNn#gVz*yqMWoae2}_t)k33lJEcLUx5yxOK(AONY_>rk*;^Qa>hjA)aT;Tbho{tY zUg_wS{Ng*o=I`HH24omBu)0%wV-x5V@0xsz(xRL$rwBbhGs>U6h!l*zM5m1`mtFs@ z|78`WZAWh~Cb3k`H=pBjx-|~!q2-a`hQ-FiOKPL>n&@*G1ycv;gpaU|8kHl1*!o_t z@4RSH?B4#PSx&I?9@%|kuxHf5oBYF0x*N8h*;l{hpzTVjGtLpLCxZ|J9HgmJCv;Yu zD4dY;H;vhS+Ni7-ahWsI5%uiJmSpQNW0{NdY8sENg&fSR?8ZDvOR{BT^KbbQ*uq_( zlhZtWH1u%HnXoL@)|>F@o?5b4EXQP?;t{oO7TKjJZZOcPdJVm60i8eek?Y5&Y+)4o z#@=5ginv1xF9t3i3DeDrI&+N?ZmSs|NO-1mX+-Lea;X(?Nny?t z{eTbBs!^_QmY>Ut_3CpbZ}$BTi@v7Oj~DwV;zS1f@8xK(d!Y`3$dsvnu3Q8YM6UCN z3#+CLdV*V*K)JmY4yiX`;`b4chEH`NG?AG{m5}!yJJ|uOusvF$^+g1TeS z(@S@;-^&skV;z=cbGiWqUI2Q zfa<%iq1=2V;J9)k(7|<$^qp%m8g!Gl!SANCuEmPpl(evK`{Y}3CT@%TYYeorn=jJE zA4QG;!p0eqDI*OYB?*QXt@6WsKz!z+q>Y#>z=bA3Kg=+114LN0@L@~uFQeUI3AJwV zNAlJX$7Z}MykxN=iAX{h+RseTF^dTN1=pe85+5=M@7jS z-Ez{H#9ld%{Fcq>6T$yv)*r-uALMO*TwAzoGIeN&YdKVhRS|k1n-Xo>5JMnq;sl{@ zeEwqrRDv-4!j1>R1U$3pzt=)?QF{s>_)x3nQ_ta!Yb8OGKHM86*g~Ss^-F6ulB?ff z&X_UqZm1MIBVc0cuZJDCLl#V}>GXX!Z5?Gen4{0o82Qv~OXf6l5q@75oIOd}g`=Tx zoL`^{s#(++kZE8O5`{RZZOjsQ2VIW*e$#boDm6{PrW9Z#Wl=@hmI z^V%4?NWmj=O5c8J=H$;|bR-F}>05&Zla3~XUlnLN|Fb2Yaz%ac8`-f*UUJcMtoVtX zZp_t_kAz}%5?7n3XcakpPiQnl<(B28r+uX*CHhoCsip?^iO{ zXX-@@xjYsKO1*i@5Y~dgaLM!wUa>9^d~EgykOYpbHI7fYSWEUa#}F2$fBj^{^#e85 zN!ESvHK@U;_)CEri<}L@fWQ=mhZAe_NJAOl-A$w(D&fa4fzTH5o?tAV&B0uSs|HNAnzd0mr6;E(&I*oLr>`4aFB}EB{(tz^-~JA}{4k-&@S-{p~&p;Sy*M z7#8KpBD7|qOeUg{-N5b;OY7EGcSu=7c{@SfjZlC~(bJ}foQSjZ#$7BX5xf`0AgH3O zH~y!^bB7(!6sP@4GRj57(`;<-0S~1%juE2r)lP9N9OQa}q`L4;=9J!Se4UoxJH*oq^0IP1(lHSOxoWlLvW zH^P20E10Icm2WFw##H|MUnkh>7I2qoIDZNI&52lq&{MAjshUr~X|)h#%ECK-e60BW z-uMSQq1P#7Y)TH{)i6>x!ek%3k*OYVXNUcsM-9nEj1|4hWqP{n3yg~4bQn=6QoAHN z7*$+Pd>5#7WsXNj5F_705VO*s+yxiK&Zwj*txDsd9&dQHfX<;50#a*%PxjpWvGUWo z@~0sJwL(~VXGN9c)@5vd6MS#d{y(P9f-S1`?cy^uA|*&S0wO6T4T1;~lG5GXARsYF zNq4u>-7VcMT`JuuEzSGPIsbFc`vtg$J+t?I?sc#ATO2|y-1L1z|C*K9bGeuGn}bO< zsz*nz3gl`ctcFCG*Buh~AGIT)+3V}{zC)tieyplatqlYIBe5A3sv>k$&jb*CgzAxC~FXoD_pFa_L#!f+f=l-~~R>r>QVZHn}Un zoTk2U@a#B#tG%%;+1&*d-f4(gW_225%=eEJzIvJl#QAd!=yg1&?ajd7yIo^dO^e)^ z$9h$QX-8b`Ek-}g?<{PiHx*K%&D;y~9Rnt!cA3&y5(PK#o|W-aGy&T#uwu2Je({}g z#g?CajJi0IB&i;rDucotl3)nihR1mxAus2(fW+(h857K_&HJ_!?08Km*OyO55vU-x z5XNPY4Q}W5Z{xh1!?9&lU;5Bjdio0N=?V`Z2<;}$ELSB9d=DR zasrF3*ijF2ZM0q=2MLR|$Og;TUWIxxPc2B}P@E6FPGJ7Eu9#VFhR`&Bh6Ec4jl~ho zaMadub9gi_$S!I*`{>Rra7xtm2V?l&qu&pMfzVtb-gBySXhfwCuE|8~Hncal1;( zG9MDF+PJ8u!B-fH2;^un4dHswtym;v!bCvm5pactHj$(%LXUdM9+}iGnr68l} ziv0ZDvSi_UJB_I6%vHK2f9{D!#iU1-(i)Rrvnq|Zn-ymB?9!z7pZ9_`B1D#w7c_z>x7A^78SgTOom_HF8nyO0y3+`?I2K@`8$*)&r3P2;t)gRjATYlG8}aP zcUv^KiTF}g%AH>C>>Vp#4jmIIVR_JGB8qbvU*ArnoMg5YT{>!9zDrMRDQcuB->)b8 z6UrlqWmmC-v}HHedR3m_tO>WL?1t7XMpmH7$BXZ*sZ zxE-oUUcuEbx+$uyyY<%U*f&RBqk9tSM~3+LKJa_|65)MPbht+q6o;U9hgXHXfVm)5oooaXT9{>Wm%P2 z4l+c>0enDm;frO&wdC?W&ulH5`U%}R&3>lZ$wwxqiLGJ8ob;aO^JX(oK4_nyyA1OF z@V>UWw#V}HEHO>cFdg_!a`EE$aKMB4(|qLO`a3aU{#CMJaMCaUegzA5zRQVq&;)uA zdj|8KIQ13Y)vhJb*$f{$NhyPFBITS&r&vihhbYiz0Gse&Vdh{~30ZI^4~5T-LvyPI zr;Vh`fDtQe-JBua<+K0iesw1?pVTJ}sGvm?@YA0+tu*l+)iTZ%B+zuL5(qZ$K(Rh{ zKLbny&3DX8a7GQN?y$a=?JDM($`EZ5&3VS8=MtAkrn{ROW`3}tC;d$3cP9IU*?a&DX0CN|>*r={FFi`2ou-}g#4q1Ord0k|<){*LIkYsA zAQK_BiG@8GeiZ!k->1bQ$x}}fd;S?;0@VO!f0zJy&ZJ*tlLGzVT5O4R(qOhMhTvs4 z^pns1^-oN5Y``KZ=@9|^Sh)M33%C=^Gu5_Eb`BA)c=7W^`W0KnY8hK=4bBD&+G@F?NrzvAiMI=9B<3%6r>xg*$fP!grK+jr!>E{-Z;yanwP(%M?tyP zc=IvcVpqZ>Y}8#hbjRKI@2<>PK{x6EPp&s6gK8;Jv^MgBgS7bACNu*I{A_VyEmf8$ zQ7h~JJ8WH&6m06I={fDLPf(s&1Xfsc60!J`sPj#u$Hg<1$Fa>n=wX8W0dBh>r%^rz zL11n?XLKE8+?%g9gD;T*>qhG}V7qpLJ`gfchgb(ZOHT!ef$^eFW2lk>(a}BH3NXg1 zGmE4B;x9p95ED39BYbt%kCR=OxZ##n#8b=P02zh>td^4Mz^Hssy)CFuw9K-$&78hW za}01oLD)a;+qL;KK@^$Uf;K>%uLAE>)eVrH&{wwHn5V(p-OOzxUTruapl%!0c}h_-nVCWf4(Q4BV9=}5 z^Vp&L(BDyu^wo7|f=&?FH_zwY79eSpsLa0(O8{|;M{S%OTWo4&@@Sj$gRVuN#ezA^ ziP}E7xBBZqMm7Fap2@I7tM>xYb8Kg}fn(`9x2lc*p2?yaC?tAb$CkC91qnn6MA~N= zGCd!G+nv}6!Rkpe<$!K18Sb7mT1KzA2t;Q7#C%$M4%eozIHP z9{mE_U>QX9pMV1P0h0B*zt=Hy0yGp619sK&Autg70}~gGH7M=dq!AMm<;WtyNt*!4 z3Tyo&2PizxD@@A7R`{ls`KMsoUsO1dlg_TI<7okRy#esWO7|p7+=A&41K0tZ&T!NB zE4r{&;J8e%izq%i-s=KpQj)vFAQANxRMh;LLTFiOoRm}eZWA3VMZgYsiJ&o#{AA%0 zSH_I|Nw9Jrt=8s0&S87ZxXE_s->*OSL>NBLNx*+Eh?uE9aD9G2+8aq}r)qyT-+6)W`w(heQa27DPLy|7vu!A_eW17Ff!x&d zq5QE^?nvXKMZg!w^fyfQ0oAL+SFOPM8ecM^z8Ec&39a>q8}))))?;LtYjkuB!xEXP z8w(&c?)J;s2=JEHC>I+tCXC)PbBAWe=i%2X)wEzz% z-ekw;W{uKdgnRa3acNyjqsw6xr9Qk~>qRJ=stpW5cyJu7o3E8_L9BaxRglVgcdjtb zF8WhyCB#XzK|}xY0My+2VwQXZMs0=mg|}@)Ry9M!cIT0>2W1ouWy_t^IN|Te_0&G; zs7FOkCwm`59N_J>$?dJDon4aBFjwOho{vN5PomoTX+o1kc-#fk^f80ZLClXGsBRkC zK18UH6hbCyidW<5y|BlrI&$OW364vuZjkKXI8_dezV^Ry3tJ~B>cUXQn>Qb_JObqB zx7~pJ?Dn{5c2yBPIUf#AxSqHPjs0)h)~rXV+H0@*Wz$q9`$u1EaH?})*`B-s4Q+j6qL8^l{O99Dz zJsZZ4P*n8*<7sDctYksv&>fy7RRxFdVAbV_8VqMDs z95r3GOn|*qAO2X+%GI&s583^e^eeqneX70si#K+4^QH-80BEjp{w8aT8Cp00>=3AC zRYyl0^d8sn<^P8~CyMbS_*VbKOJpNXdB0;5;Hfx%+Iw!z+nB6SV5Cy=9e)c~-WwP7 zU`^_p=lVLu9hG46fi1(jHUHlUcwC7@pXH+|QN@V9x+gKwvg20zd!82$v>)5&Q(-D* zuui~Uki(>VPCBg{(ZhVqu?-j5w*hpa9%qP!3U7~@a&lQh$TLHNA3eu?ASwvKbI|0d zr=G}gs0tkqL!e;%J^2MoXuVVZ=(+t%Vy~dX#@>{N*!qIx_0RF|pHhy8?x7$p_j!cV zkreYGMde0{2R^LSQQH=oae~%^7=^`U+=aLaAEFn zN6p%6j=E0^(v&m0O$y^Lb?IS$s+|wl7W74=Oq+7Hftw78*3{505E7yjs&5CUD&~dO$Fzh}21# z5;+XX`7>vPy;$A^vgUN5yk+d_#YZnpXCL_o45Ash=mhOES(**vs1 zy;NSOouAD}?80^}r3)jfB`H{**Wc+&hy`)Ihqka<~^=)R<~mxLhRbK}DtSR~hG zsWRmv*KpgNib{UB{wnBRlwT!%rbH3h{P!>dv(k6uV*d^ZALN3eWh^bY3V2nwq}^i0 zJ$$C5(HSlY8i?N0>ZZj|-6^OwqF8M^o)RGrul=&<;>0h?zWXmouPnkMd-N5NRS=)f zSH7~P$vFz`eSonH690ImJ{S7c)oA{?=ODL%bs;Pc_c0%6PPFP6)Z;;zR4s&`dX9u1tX_mCs-M`{~a*s%@>Xkbr<8l3}$cgC`VC`jP+dORSj90qT;f74MlZ!xF3Q$04OD_zc;cXcbDVi<3| z>ue**uza&CMz8<8`H&G4W?GNMyxdZPCZ$5mVNPg2n(cWdDpbO+vMiqS*OO}JC)?m9y|5pI#56{&yC#Q_KkeO%26awe3O$) zx!yU(8x=%0fydAt6pMxIej4f7%cyJohRuJSme9xAIMm+Z+O!tZ==XY2rf1&3U zjqt#6#Rhk~yL@oXX!EB3V7zKNS1IonS2)v%;IfIqdGXduAb<#a`x5gz7YHRiuTPR$ zPo%x-P21G$I>S(7^IlnjCSLV-y$dcCN{$qK!ttknwu`cD^)M6%J5F2K5_|qMwmh#& z8TXj#SSfiSI$xVo=x-skMglYE&p2Q>)cNz}#j`flSF0}n;_uR^tCp7Y)u;>O$|`Qm zk%+kpv2w`&eu^wbU_OZSWQx@t=d!!79yn_?DO{pth#jN|j3!7(&*n%XC5WO14c`hu zirh*ZM=39mJ~O^96XiUzCTYiLTatUoMfkG8IVvK&6_MnrIKfo57t#bd##;KJ)iBfD z1cc3HWg04S87AH)EQMtfM#{wVO89I!QFpSno%RypZ1u}Eq&6um4!)i$0MTrQI4P1g_MPum0)!AWR z!{{I`Uj!J90~1qVVF{OB`^$~E+?+e(lS>$;$-Z*;cbm*bQZ^J_fO zIqxJ_aKmhJm~_KrEyslm*_xJ3C~~*@7(M+z;VKEGCV_Vjg_%&_wQMw}z}kR^5~J8N zdWE~fhN{(IPtZC1ud$+X_CQ>Ruca?a~6#l}T0s0#33$-FqCQfowV~-&t4Xn5^ ziJ)(u>kD<6pbp0R%PWs!z%uBNlRjww++>*VHK3O9pT5vqq8#e+O8<$VtNUT`LF;Dw!IDf7Z9979usQ9EOTk{ zvus-$(@PKgFP>uIc#Rf<8y2MwS3}=abn0e~YT~^uu&i32+otz%u@z%aPihAwii--d zj1^>Vev2)C_JWM=}@VkQF`-#IDgCM6_@5L@^%qC|NJZ~h(TI6D=1{3#ypYC zUjM**z@6n(oDoHUrYgun`<4&&3B||@VcWQPi!hTrDXgAC?c5=i6YGD2uw3K7twmb! z

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%0DRu^w4liL%@-2<2p&0Yez@SfIyZ&nxY9CX2*y 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�e&WB(1 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 diff --git a/documentation/src/fluid3-style.png b/documentation/src/fluid3-style.png deleted file mode 100644 index b7d02a2ab203b41df2737fc22216c7c121201e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52943 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 GhyMfk3L2mQ diff --git a/documentation/src/fluid4.png b/documentation/src/fluid4.png deleted file mode 100644 index 60cec7458919b61336d06f03fdc592ffb290bd87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36419 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 ~{aTP%>QD%BGTfNg>H@x~$<{gbr+rd6 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 Rt@!`|002ovPDHLkV1m@M577Vs diff --git a/documentation/src/fluid_widget_cxx.png b/documentation/src/fluid_widget_cxx.png deleted file mode 100644 index c5261fb5620580c1da1050c9bd3c15f78c769fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55645 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%0Du+8yLz-PGB%A8=Kl zPvmz!9Fx)ajn>_?fqlq;c1`n;Zzsk+xzWO*$% z><=7nM@iEq1oXWKI-iPXT9{ld(lkaO?tm1ok1>wGTQ@Z3dl@8ymZ(w}P9iaT{pqRX zf3*d(QMcu@H>u53oet|R&1VH#Sx8LMTkMzmVw!bE^#JP z!9RRZKv*ZUy#{0=t-nTNnOh&U>dSE^Fpk2A+isS6WwUuYDan%vtUwem-J-H zfooGV#4QEc)0quMFgrDLT|8F3>`13M{X)a z?Wa(Ko=NlFx@0}wx)*(51rcq6wOi5cS$`jzb;-9o@8Le~6{lVdo?K;6;mT0&x zDp47h(}EhPeND4xZz=Zi*Gb^|6=< z$%!f*Sf@@-s;u9I=R7qIO&;i<+oV}r#l-wdA%!96A1~|I4}(p~0`NV5E6u-aC_d*6 ztbB;mWk}_N{{8r|fZ0wbok(F;o@ZAf-#IZqpuQuN5*gV>{&*b|9Ps$jP0@z0@lCT{ zc}|F9_4#+}X<_5}ffsZi=j{Ga9!M*6T2?a#iuaXr*%k*)Fv#LNw6G zHWiZhz`(kWF_RkjtLnCOyTX%mGD^xW$JjI&3QGHOpsF$6kz70Yvq=F!_MO*$K^!xf&{45P1K+u z*&qmsxt85(sNN;>u%!LF+}4rX`~g`>duWkB(-7F-@_TcPcoDebtifUQF-qZy$ePc8zPwnXOsd`hA$UVyOGgl!>WnRlzhS z|7$nYyldGVBUUa8TGkR|AVkO=>YD3XJ7-ZoS0%c1>){*yESttr1h8P?<<)nNL2aJ@aW(-sH}wBB%gbG0#4B7Cvf zS(`Ik3t+l$^u72)hg0KOmj$~&;KnaZeIw{vmXz>`rlU7gv9OY8H2TPiU4{?EwUT1}fTT;Q5ATZIm z(3kGMRmv~a2iOdrT7oZcLVOdRLE*F`{vgIpF zoiHCp4oGF)67?xz-4~Q3QtyB5cL@W*#twk-S}L4Mc)m^ppY6 zk5~wGm$_LXI*^xjS)&=_5H9Ilw$(l64 z7Q{-yk&)W1pqXP^=Npua7@D>bRG~>Iq}N!GFw+h5W1xEkzlcO+Hw_VjpazqFY92%s z4QVfqBMhVhm?Owg3uklWM>KVLVDG1fVL~asnJTuH@ zf!}!W!pAZ3)c1S%QT^w`b{Aej|A@HWelD}VymJ8(OJj!}TJ zn*Piff{BLfOyYTBN(7uqz6;xj{gx2}OVR_0k<2^-Z2JL98JuQ%(s{mCZ@c%AYri?w zoI&$TO_jKDXOnD8ULg2OCmm|W=3k=JL5`zb;mkZ7ch5`6>hyJ1TwRB(4AkPoT)f!G zX>Qqje;EN`uizJ6F?J?&2*Ez3EO$D>bl86(HvRI>@PNx}_jZ!5)*m$w8tlS=@wyZu zIzNsL;s|T08$VJwKUlxQ)_-3Na35=%a5o`7DO-LR`ZM^lNQa)fNlr`hNm|f?h0UiC zuM0BJT7hWh>c&!E1owhJe-BD*z_n*1$Jme^-q6(@N}sEqPpH~~gNLi$&xLM8`4f+Z z$Ie!S?$?ct$TLpGT}Mzmps@75%Q!Tmwf$O>_LuW))7r*ei)H9O2;wjIRHr(Zg{6dK zq@~e|u+=h$(AddJbtyv~M+QZ%)9eP4Q|sB&i31bd^f4R)q?7Vztiq0NcQ#9>c)w~u35~$LdUiGg;PO)G8<>r#@t`_a1OwO?dU!v)7_)RRY z>MAUNN|}0c74FXb(0USv)ZqAg53Rgz)Wp~UsZ}?#9=oe)yNA@4waecO5wB}8|L;q} zR6`nWR>ZiNG!-g68JgMY^au&N6Jw;|ig{1(xA7V3_8~ne2T4>mN!|34wIzn}PHNXS90$qhQ~~y$FEbAlL&*wWYlLEe=bTK ze(#j#lxKT9>aAh{d&cB{G?j!Al}-jJ%IzH}y3&K=TD>R&y72>8H&{?3H(UuZkCLuJ>Fa9D%Xpr>%C00BD(>-}2k zvdW&uz)ErVJ3B=@6s>b#d#fDvm%As=Fx=?rNIhTeqmz#HFv%%tS0I&=XgKw^9Z!z7bAPZa;Qr{;tcw6NtWIz2kGe!TN_{HY@uk6m~0&^MDx ziH9)Nm53zXB%vb$rF&5f$Nlnjzw(Rql}*|F)r^qtw2)x2eNdn!=70vf2=C22I`H8F zcEIV?Jl=BB^DVP(UJRsHt=6L8_fDX~zpI&^bb#|b8>+ahPXy#niIZ^kN?19lM!P1o zt$sJ8D#zwnroJ}J!n@hi?9GZeK2}5c$qdM2pdlm1Mhn{B091U7|E;J{#|bt$jU3&I zh(th#GW-5h!8n375EiR8qCP!|`S^a3v=?&ex>$+)tL5Xga|9EnsjvH_8R;c$IeXzK z93`_g3O_eeZ}VEev7Tgu^l>1mUM z34Lw$(Ig~qMO`WGCA#?KbpBCC=Md0i+X;=c`Y4WjFalh_2cTPm4nc)%6+#!Vl>6Q`S_ud z+(*=Ga37x9do7}ZA4&!x<(uE4riKcmObSAEss$S18;N@aJv~m#+utKqE`+Ree@`>H zk*oLH&Q9{K_H*fT6|eXF$Xf9ESPU^Ol;4jZb$%uWx9+@Yz6n1V5db(h=7$UWpAZmT zcn(x?yY$Y3c*@1f}~pwWRkpI{JGb`79yb`nCq#Q?uWnBMxo0t81^C}9zv6(q?s0n z^+U@}pP>TjOR94^yrOB#+dAu-HXll;%@CvG&=+~pG*f1i5B5x=710P8w&?XDxPevI zMef+OY3|2(u6WS~ENme<`Ciu6bQ$XRgT)7y2+nbsHgxAhNrmcNU1{wGh~z`QAFg>i z?!?j66}t%d8Idgmm~!Hs$8KLU(!9?+obUej{KBb!4HToFH?xcgUU*C7Id1Uq&FRl$ z_K&Y+oP!f~FA7#tyV}KY_Ed9PNKSKrnp9&O*DMfKB-8x*vmCn2 z%fa$hngz2_Y+~5#_-wC_R9vmj5<`eAEXWXw!b^S7R?Ek#*m4p4}nh?_iJI8jJ{7`mUEciEam<~3B>L~$B6d4Gio zG4b_6xO}1eS-+z8r(tz&wNV~VzuHQzUStR*T)|2yu%rCqFX*w=sc7D!QOo*+LvJO) z%#sbT+Z7ODEznt4S^oMx*q?KvxP8T|SdOdv%3ShAoG$n6KnqGov*-^@uipGbl3G(v z--6y!S-!vt_{-0E_s#j2E$2bP81{vNCPMxBL3CeQK*NxdOmU^fOB%a!Q<9pO6D+Xl zON&W`TmsSWourj9m?FOFloQJ|tip5{MBH!P3S%WJ%_Lnp&vTJ3s2w3}&VBO^mGkF` z8!s9!;I*SF`KyhEgq(Ih-lH{&#bc8Gt#{2&JVe=w1+aPJaHIL(F5A>3!a2U!sAl`v zNrsgEGOqL5DOs`*(h|1&P-5`>1OE-n4Rp`v?KU3TLi;CT1019ZqayRo$-ifOVm_m1 zDtI02KJtVdFZOw^Xs#KE^%u1ao(%ml+^+Y3dCnria1`yex^p73+iwYH+LhG4jHOlw zJ4m;`9}FcjOJ>d9#2F0)S}8 z%~ld9t9d!43wfq<21TDo-^Ovnt3C_AreWc1^_nm#&qd6KN#*H{1ygtNb)46~6%KeS zv2_9Z{vC^LPgxL$IZ>0t>ay6p?~5G1?D})UVi;8;ai3Qupk`FLN|=lHbacI)ptnrb z1nh0Ouu&<`B{*|NgSnJe8lvdb$k5boAOvIi*y^q%U+Qpj@XOuSc|NUPX-7@(n!DPv z{fG$Iyj-qMlUc1pwROUZ4VUI)Bf$+_PFcBjgL zg^CJLQ@X8rIPP*j=A(GS1-3Z#74U36Gfc?{C4$5}i{O3vMvfO~k@9xRd-bGR(m9G+ zB2Jw~A%vmvc(fxlsofFs<;u!VpUj8~*Hc{p9>BOF|3GucXLW$JA0EI%bLq@MOR{x; z?Kxe^N;1)z-}#mXUofWQ^SHFa_j}KhOiUGXwwh(ZlDxP<%bPqWd4FC{KyP9%o03y; zN5!!MTqml&NIv;^kp?8JX>Q?PaX(GibLrCCG7G*J_rC2^P9M47_eh*Aeet|ChUJ-8 z6ML=)mK!zmD?Z`7ig7@^d0DHgTG7S+^EVpCw$IpcJLZH#NQ$N2wd{jvVY zS__jkySEB8rvS!vLl9xKX&4atwXLn~_c0>*5m(xr1rU6H;#%qWVt$J~$KLwe2=@Sd z${p}`A6e*h)_NoZfDq+PBaaP8HPP>dw{G?6tFrIMEaY%ME*Xvrh?&0oUCuZ9Emrf% zED--}fgIXIFhdPT;`BH39ozm_(N~aZ3qI~X*td`saai(wmc}LZ=i;79N90)E~IjCZM+Ev`Eaf%p6e#bjC>5S>SL|6^D3J8M1w8c z3O3uRVc~jZY)#uGzJ5|1_bDH$B3Gl|rEH627s6QbIIQ$-B`ujur^SBbi@mWN?Ue@P z=QtJ#<6W3r)i&vweS*WK;_Uw9zqPudG<%(XNBh`hIeNb9cdQkR=oc3O64SQOTWOYH zegn-Tnl*Z8{)_jrFVB~Fn_c$PI9BkG1&Yd%B`FeZ~n?>9+px-fHGiKu28z&e{ z?tir+tUTy`-KJ}=lo?b0OI@d|z|9xK6WafJK5Dl7ogSA^A>;zR_=PI^Am(F!$0az* z?<8%9cMs)bTqtdiMrYQWso$yn<$>zY^&9qa0!hKD?Xh+C&9^>X+J}d)C+gmRu+M?4 z$zb6`J-jpbqTvUuf=xvU&v48JK5OvGeokxYjl|!rbRDV_?$um`>5L(KO?W|5Yc5hC*PHLN4dhI2f647o7 zevIzki2*ZPTk+)X`@w5!pTfK2p{L^Wg|6#4qy3Y96<3RKQN?<-eVf2lH#i9>OyT7@ zTsJFHF|FCPK`Mt$H?c9HUakF9*ynp;_IIoxm%~)_cb;~W*;1*7AZBq!s0qkVLl=u> zNI`xdB4hwTeo#1uvX4sQ=$)5$z8$ZB;R&f9QtrLZ9C0}W*4h_&$jK(gNwUN1dxWZz z)F0+%kxATk<(xL^S`T_o$I61acIrCU4clL~B*3s4nH@Z}aC-RC(dd@6yKiAL1Ki`a zx|qu|fi;T<;lB|7D5@-qt?+qQOT;@#R-f$MOESpYuzLJFHs?S-wTGQ3xj1$<`P^RAiqcM2cM&d4+r9kK+a{f5s_jnF9uynBC53HsR=O!w zIygi<&w#Et4FHrEXwB1d`G~O*M*!BY;rVCL4Tv`)8~!CWAM0BlEWh~ZPITg7PAJ9M z`9{{!K;CWB#W_Um35JUhyhNNfj-gIc>-y$R99SnVUt44YZ?t$Us1P7!` zG>LU>`;N+44v!RyHM9Y)u#V8K8$x}8D7G5^CEI_^Lh`cT5SMMIk2&bz)`$CDYw2f@ zi}y6U?R*XQw(0o(uF#Jj;WECOl>)bDhr*`r_BjIq=BNs-nMEXkrpQKVwI6lDU)~B@ zg0<;o04^GVoEP_$a-C>ZO{O@@ZDZ#D5IWM_>nPG1gU99W zZ$Muf{#jFLYu`~hz>22XhDo*(HWisx4!gr3fgnS_9Cod0skLj^?Hk2UF`9xJyx(o* zqlpyy&IrqMBr!d+j1rcoMAX?C)Z+a4q9AAj=UGu;Eh@?5kiYG%yqzGG#7i+d z1v;?D?|ByUat*@pDKm;>RrGQ7Yp_?mz(Ata(j7#kOt<|C)YaX0!C ziQh?IRH;uY_DgrHf}4$Hf?fI7bNVS0W8>uMxk?x$PYRqMGa8q}6M}`4>#3nW1Hn;_ zqDle;lDksAq%`}S~(5h zxOU1NLrZ3&;gQ>TYgV_J4qv&FBvHlGq_<)GWgr>8W@d5%8CJxh%FX`6O5D(GBo6?3 za&x`+sOB(=WQHuS+urN!Y+k3hMf%Z^!!K;(E#vlw0tYZ3&VE_#4n zF{AJYq)kRH^!kA5YvnB9mPWZ>SZAsrj*W$2{jK>w^EGQn@@Xk1lA1=Pn151C&LZYH z^m+xV%9f0rzK zoT+p%M#r{0*GZfwlh3=%OVnd?C#rk7?@l3QJ1Zg7U$LI})bBdHUh=V6hT`*c8*zjL zdxI7bF7(XEGV{<~U+-cFpK6oFlPADnTX3itmCVjtS_G7S^kxg{2tJnzE*+dqjU?&f zmAtS^0PldVf?Aw;mDgRKKtrv!bDu7WwBf9>-;>eXKk0#{Z*>Wor5W;BL7DHz0YOjd ztA)Ly-1BQ?iG{Tga5qw=2~hr3NIZ$5{Eru?_eq2MrChT9ZoHotckkE!*-iE zwZccXd&_?)`96dNjfu{MG2ACY&F~^0&zn_EY}M7i!ge=&JW2$j@lmG^gpI!M`sIxB z{JoUF0Ozl!V-kL!$d_0XNQLjrQe;j{emwHKaQX2?a3&@TYn!TrH-kIvK!Fw3ba8Cm z{O!xe+&@;U9kFrDiXxoEP-a}V(n9TgeX957yIR2qXo#&7{n#Zm(Q*N%x_t&w6rLW3{Mzgx)RFsqjLG3#5kf8JO ztHS3oiq6>HFszS;I8_Y+WtMyt$UYPxp$z&@tt{^Kb^qiR1Sa(#1mumRl-Nvhl5-5S z{ZbYn9JVHoq0v6B(XcBZuI8U~m0W0X7*d#@jx9h^x)Q7}8oMaTy!3W! ziI%V;O^X(TkVMmv|KXA@|5>qcD70@EHrB}OIwV(~bS0${t*;lpN4EIJo~Fxw;h0Q2 zlkkDg-Flnd+Wm46pd!^H?h6u*oK@m5=2ty7_;5O#$T!;Cnh0M*(c#0Ux6QWDeA^$-*#{V|$e zH;4H#il3(?H&z{w+cZ>zyPM4dlp_OU)Vv;adiX^sz=)Fq;}EWWMO zR^uf~0SP_@r=?<~=tT1x95Eiagj*IY{iQ1~1IQfA^zXA0Q@K11LC9yz@o#Z_W& ze26L4(!&8HJA(;7P?>JAAA`zXg_rsza%0QC@DDPs7Fhof`zoc&vG;;`2^(Mr#}KH0 zyKxqv?}Lr&qb&{t&U(hkYc$a$+tl07zx@T&9kKohEd{_-~4<)@?Q= z-~rqY*RA7O_QQx*|C>Uv#}o^;#8i)paZgOo={$*YrMu4zuxEZlpZWZon)sw6zuv+i zZjP=?ZMsl{1-%n!Vv^!%x31s;f8s*9=_lCfg2<>*LG3*2A*M^?k6IIk?_`Q9;h<=O zSz}0gfeCNU=ez!IOplIyqEp5Akwx&4Xm6Go7ie^cO?Cf$Uj}1m-9M?(mNxb!(K=J# zxgz~6`WdZ!j09Or3y&W)Hy9yh!#_smzq+e*K>g zo_#q#3Fg}Yo2Ilw&MrH%*Tp7WmTKraW+Y#Ycqaq)=(7(n^mA57eRdBJBgUd|c;RCa zOWl~6tZCP^M+W3dA*%DaUPGuv(A6*WKBB<(z-=%#5R>UZJogzZGTc7l=(4@aUiCAc zFu(M4)#vB{olspZeJAu(ZylRty9yos-hWIUl$CEa!wU%KP#Y|4z58h7-YYmtAh%TZ z3i!jl)OJNLi=hX8a(4z)%2$rH=9Vx5rWd|Uj?~Qdq#7$_Vb+l*}J(fUpyHA za!0wRA0S8r5^HweP@AJoq7)P@x)_RCW>P_g_))$Q6H~WFN2UF}blUO$n!Yjqi;bNY z!}di*RkT>e`?erzWzN>ga?;&cT)~ebhC_~w+O-bD;u<-?lBRPU%)gWDDKwTWU<x={Uvmw$GS^yb4|F_DlR+`wIZe2;H_D|cAW`51~xA2$9B`U&F!7ly(>6UFBEG< zgI_PQ-Eus-GpZ#3epL^h0fTb-PA&vfvFi$qF0}I&oL5aC9Vuv z9P5;s^;(Hl@bg?@ol^?0h!&DBA|C+j1%5|rYNfPZ>sY4{LB(7jN#cZ~kJ&&c1`Jo} z8aU@nsIVaMmhUEgi~oBgLU?fa@D~KuLg$_(g>X*f7dk)|`$VaP8XI#k`vxo@YSlSC zkt3h`BtsYo?L+8bOcPLkQh`#QbGF+&hJXuR$c5SU^)yS@sy%Lo2195p1i|S;F~-X7 z8)L3!FOTP)@`?__7-)3q@f!|77|1zNTR%!3Dn%cg2*^zMRmk80G)9lL>g(jiqhGwc zR}TCWTM&mvQM76)SRn_88ouk)S`S?9a>c&XM;GnmA)vktkr^ zEZzGVvA51ux-iUJY+*ot@n1X^%YfgR8(>n#v`lxiD;jpxuC7_ueJd1rJ@7)O(O}am z)FM^W`wA!x$YnNf0BobLB32p5t)Bi;hSHA$$T3Fnqey!l|Jx2PK!Likg+}e$4h#(JIB?bt8?7H|Piona$ z3uNhLP}_8RM(9<`e{1OQr=NZs{F_a`rO?b#e5B&d90t`faXzxo{uYx&V%#17iK%g!*WbuAk1g~4SNYAMRyC5M z^Z72Z;>PAn%Adj_9G^mU{EzwD()mA{qxOa}u`?2_e^l*lm6+n=sWWjKNDtuw=`6(d8SM{2yzdds|xz|_U_gZnpmKO6eQ!bTJJdbtE z;cD6-S=kRRoQ60U5Ip!T z#6h9N!>xjwpxg(Y5>{oR*=@i$52WEPerHo03TIaZd@Y<+ujyqybg(;ITl#j|{qCC8 zr6;SxLcE~|Ci^FNJww^Lb~maiUCKE#Fu@@iW=b)sjB7Hr0(?Rm2q zUSHJNtgYYp(^yXeDv_tW(pZ7G%~{RcwNty=5qiCeFek4WB_PKC9PWVDdU`iy@hhU>hN24B-^z=xWL*<1kL)2i*S@ zdOP3tBOb(x9UcTU6@INX>z^7q_MifZKT>m^wsfkArRVl_If_k86EOZ%Mp!ZXU6uS0 z{F$_`d~gf>5kK3cfA<;(_p{~DD9M|Lw{;z_7o1tZE&X=gOjy-nFhXmVQ+`<}gf1Ne z9~$We=H60ds5hLwxNf~vYI*9nA7eCYVt(HCGuE;;k=uU8t zWqB!O`4WMK0dXtQ{kW_PZD8>cXR8K=>{nDkzD|*L$!On9)+4|=Jwx{3ZQt|A;0jKH zfO;z89o}GgnM8mdC>O51fnQB9K=V3AC{kUE+n;d1$%)#1;k;_C659xi3Q*VwTcpma zs=G|DWe-kP6qyzoZR|5m(HUlu%Ng$8JVABcu0!>6t_9~D=I{|>4fvH-DlJ_5p&r;T zDmaD~@QZU_ow-VkTQr3fG{PbNHO4^5-0H|o9U#L%H&gkM@Qao6o_vl13N_5aqQL_X zT2a)W7M2nhMo{fzNt;T8N@i8)9ctfDir1@=bE^LN(K+RvwD1D4F|c)?wc!^5{4?f# zw0HWVF?h1F(p};ey3Tm{Y01P$qC76)ZIwQg(`TSh_qyuVr(di|sYZRm@ES%j;&me& zN5mB5wCL(n@stQs)%ViWz%gF-nK{8Lx^`MGmz6Yhxxm0K+my3_sF^-l(JP}o;Hk=w zCq*tVtR1CRBrncgKBMRm9|hCW(8e#*mWloll0Nh16PCY$6kccUw2Eko2{v+s(^ZU@^7#s_I#~h z9uhM>1zC``v}YGTlk9s@fBjVEMES&c^*d+#v`S{i2SUV{0A+`UiuXCGBXt)$%LNj; zdW6M;S;p8Opn#WNY#qBTWr<`A0C1o4R4#TEDEd7NaiaB^Vy`Y>2ArU9fX6_YP^DT5 z&wg1n@DyqyckX{vX|`$QzGR`8SthHVR{a$oBem))>t8aY-dnCG<q}%UD6>2YCqD6fzYX@=@_XY$md^}S>F`7*56qrjWTiE~zWb39 z<`6g#Cth3RLy%g#m#_G#wAq~hPQN6d6c{+JeqJ$SA)YUCgdpNJ@s7$0ADYU90yrj= z%1m+oOTsCz_8XX7gDDhSpy#T)eSbP%Jhf&y@mTt;`zPz```u9giHzsI3A51&giKrX zzSYedSnv@-&TpOp@1?f5fUH)|)_EG#g9Y};eJQg}tXMCN$0 z5pizmrxZpX<{HBSiD(?Q!7i%3wg9Hi{6kXDKlfHwWW4Ro#rX{tb;dFYo+n71NCsN= zmgk}0{+QO84FXlriy{41Ej>PI_kt1KmkXXGRk~g3J`Q7>@GmG_anuc8{39X1uD6fB zz0HnV&D?I5=JjoSsaX}9hkF%8f~Dc>MPeR!2$p4d<%K zIFBWKx9_>%3hiJ6iF3If`MUsLR3>wvbv}&Nb9pF$9kYBsySfRTX?giXeOqs?Ie-`; zWizjy}`qgtj>{M$MdPqQWX&|_|ZB63YEz`v(@n#L)cEh6n zsV*=%d-GdrSLWshkS9hVbMgwOkwJww@j^fk(BU`3A`Js{yD~7}+$;;&*LDoffVZ#^ z(SPhQd)xw5X&>vDV4H9JgG^H5_F7a-0UQ|)JGn>SF~QRD^`Qb@rIt^%T9}JDvg9Cx}m}%8ALI= zwZ~%ckd3JsDd!?f;)ekrk2X?+B(m)ByUhaJUVV_-fnVMnXR;GDy(QX34mqbQ_cxfFfy?(>6XiK>~|;} zPcSx7D6sSVwqsGjURUChQ2)NB#};UOMmtMFIaQ6VvwCGOW>z<-7X5JYexCR%{c67S#3A&j1MIYeg; z?&blbvw0-^@mr-2V_fMadPD+*T7b&ZqQyL7f=(9qhIepa=pXLF?8Sh_q0v8!v!eVM znfM3oE5sMv>UYN87OLrwu;zF3Z$%T|b=%8H+@En4?%9EIWYi`rEKxgx$MhT?NsFKj zmFypt?WyOK4>oMl9KoQB`m7?O%#$Cm!0+~#yPG4#-?Q__ z;{Wa8e;fSA(f@6U|HHtczR*xWW)ysxS-|O|NK#vQ3Ek_xPnoWt$one4bN_O8z&@@4 z@Ez(L?xKxTeUo3vS(&!$3|XQXuKoGSAp3jbjBceva*Z|elrl{}@yE#>?lPYs$G9SM z7i<20L+|JIcK(-E{QumUK#E=0;p&k&Qucs&fhSbsd}1oMWek1Pt!Rkv(GG~Tt2?`% zi@B@(Z6xG)rP-B^LH2I1K?5M^g5ACR0V%trD(*=$2QvQH)K4>0Y-d? zpOW<|6>KZiim*SST2$b+;rGBL{j)KBF#2)Ar=m_pq*YAM2$Xl(O+lV3ZnC%k*?g2t zr}qf@Z^ZG`8PuAO$k^wnG{*v;r#q>L%5nQ6F3u&Zt8pmfhfx~(jtqNjHlYgWr9jiN zwns76GcJ?z5uOLN-w$E^H++i%e;F`GpmPzGkOc`hpXIf5v4G?i~h;+Ezf@7o?_53R=df$6r>NUL5 zJqV&obXrWd7~w;|ppg8;(%@omgpr%bHdoIsZ7*gd*4rMaw29emPN-HXpEZubqcNsX zWs4hco_Q?QY%hY7pe&*0Jg#ojAkB)F!)WFD%n3}L$QIGx@E@cYIpqyU1PhgfQ^ZxT;{i45r67nM$g9@_GGOw8#+!RMXfe;h$(F*$7z#h#I z2T1~FBb5zM@S7`Md~X~V>{xB?|0rkeSpYxT=q*o)1vsk+P|M{`Z+ICzf?DpW`T%(AXAI)@#3c*DpvT9~?_;fg;>&yDo^ z-lDZOo{7&`#1GPKDz}SFq)~?^t~+p6J_G~`;me^Z+0l^I%yG@!TDSI z-@+e=EC?}Cja1SYQ>LgbO#|8QQ)63-24Y`x_|wV#4L{8Jr)J`4r-IC}L-za_Lk>pV zV9W@nB)L9^#G2HzR#$HdbV85znSVf?W8oR4A<~?)^Q!JP?Dk>-;Dn{yHz9t52|9 zanZ5{McKEUj-H)KPNb3#>KXHcBrc5$>K>)eHK0P5M}23isry!CP&4(@s^*N?K2zd~{`zR11snT_tG1aJ z_{gEhRef}z_RfFtmdJ2I0vQ{X{r0bX{H1KP^`lDVzLM%O4-UfWQkfp^pm>0zT&_|n z*+eh|5I35OFpMSWh25P*0f0;`GK|;!A`r3-Ndsc?3yb3oi!!8UkDjhIsBSg`#2d50 ztYHn$xXzOm_ez6gig^ZiH>y9CvL$p*tTa})%5#|T_?K%8`$A$&E38VVHk95HYJ5(X z)vsKf`X$AZ<>{%F-BfP?!+VN(Y#)!?NX#^f7$_nKs0vqQQfK$Iz6t+UFdOFuOe9Y= z7>Q!72Y$*hD}vFf>M-cznG?wrWI#j8Lh&WH|-m%^>_`8Nwx40E}viM7cRG$=qG*#R>Z> z1e$<(PL)=G`WG6R*<=mMmKbGNMDe^Pp0PYkH|Mdx^|S^Fy2--JBlC>_Pfe_SOogslkAz)p3~yZ zC(D1nt*UO9I_iRe8i`QJsp1l>E?Vhq6LP|8QcP85#1~*v*+F%LQC|c-9*Z0T6}LJeOS~IZbbjyR5IKYRdj6SS;ubD|(=%FC?lnT!uisMOF?13( zvp^l}M0!12XX^rN;I7mw(TcTm`OD2uzV&*}v*(WAXVcT`2$IvT`O)%$djBmgjv@2( z!dXe9f!E#?m8U6)(z{t5IUEySqO62U~Ln zD3pOgbjaJFV(GUm~V+*~_s`kZm^FHRANHTJB#*EUu ziBMq8QVtb_AQiD6qnHQ;37(HHS2AjC zI)K5mp^0wgzcy1bsO@xgD-xdUy3odMoC?y3>nCfK99GSYPn`_T4ZE1C^1#|XMZM;_ ztqXBxHGu*5k!Wle*Qu~J7&n|=(1m-8NCBuk9+K3>U7|^K)SVkNB{XATqBT?kKoMV& z4F8SlHm2bKd7~{OwZtGdQ`}!EkbjiVhuT0DRsN8sZJ-zE?rgMK@#g@>N~Dkr4@oc1~=t9%rnfmU! zsIGs;#U^S!kp@Ln8uOCF9WH&E`C%|eqdx~pb?!aZ&SWo})Pm+sa~VY1<(GY9Y~U*p zGk?!%QO=5OTd#Q*ulvGu4|J~GYuj7a4xl*nM5*|@QL-rUql?M+XDC3jZojp;$ex&pOlr3(0mWpZ)2v=NQo(KDaBD?i75iH_ysr@VI_R!4L^fJx7IZI zTMCFkjfPi*Q!i2*3ehiO_3KVSYY5LdRqG4w>1?7nKcqjbyE#mxJ)N&UneKNUyifi? z;5UUgs`;!;K&(^}BL)Sk+1W;4%p)ZBqn+|aa)vNS`h`bG2><)na_4ABtMBI}tp=gy zx7Sx6OvG3YDOlgYpK0VHXeNf9pJ#cqr7OU?&IVp6Z!l^|Is(5bMX`q3J);!_H&4MhXk7RRTrM)}w*!I8r#Fu>ls7L4pWGC(7RPuj1_7Gu7xA zr!-jOa-$#7Tq6)q>T9RBX8C+7V`}@8Qjy^Vd-xJ#a|#oZ(VuZ5wrF0jPhpMU4b8JI z)YriF)|qSHYV_drnpI13Bu#ZM3Tu+YnYCDV8&)*In$jkwy0 zX3bw#M&+B$#br;vULAZv+SBrVUrPaQ)6LV?_OkCc(<4mRmN1yb z+3!hvN?&*6uKf5OE4PVIn?p`;@S-dj=_zo?ui#Qu&|PLS z3w%ap?t`%t<_N{!jt(S673Yo%%_CMM$I}Qc;}4H9%=^3)rc4?VyECM*`+X*uo1ZgQ zcbDNBx<8vGA?!GJ|4=v~zR6{rjTtwASU?LA%t=vSY)@oXXqx+V{bg(8P8_N@zY^mPn& zjGvPM39FLe#SsjH??Tliw54eauFLVtbV!_&Aj{9um|(a_ei0EK&M(V9EnrcsP->xp zR7Na;2FBxx$mBBSCMlK{V;7yxxzN(m4$xZD&MK4BN~uVyAQfvX9w|Rb&*o{&y4K;; zSuNu(>uRE(fu9ki%d!_fPoW>egK*s`Uh!YyUgK$nfU=2|w2C@8niZOb?n-y{xFX}y zk)>=>407edXGP0S^=ii$P7Y2PE&N{9?#&>(JCEa6+|P)gBELpTM*?x5Ss5+47s$<1 zEJ2pxEH|t!<{7i6hMQj~KNAWKsdq1qH+3DFp#8y;=4Fo5=;I!;GQKxAw~(0$pH8V% zsc@1k4G8-Ar}nYz^StIf>b%Z;vK?rrX{T>THL{e@#bH(K>}r{J+3-y84EKy{S2r5__Gj`P}r7eFLN-{qNWuiSAfn4@8mi23^V-q z5w>OXISUqjD+7E$+iKImV>KKw@MoM=&2-*U-sIerWB8HaEbVNF2?leNM#+*%Emm#x zKGuHqKHd1qc&3(_)+NI=eF^PnfldhYzheDVC=`~pB8 z4;wFRoGrBhE)dQdJrA9ha###Cq z^Qp@UpZ%00th4(0)Zyj)^s>UC`nl^$*g3{#U0-qc(Kvak#J0o=)tZY5hn$`6(dy~T zct23&T=8t?#Ns&RumyNW7%~iZP`0maPuBF*!eGaBbicILue0Ud_bP|173~=PN;pZS zC5gdtjilZbrZ zA~_g5HJ|ECQISv)$TUfDVr$7B#JoeVBQ^2vsF%NUa<%*rWiSzyHXa*P?_AtojA{zA zi`cFhI2n-I#zPZ_`v&KM1}c1(+hA$;2)_B{kKe7+%^?J<{14tFg1utgf}NLN4L7LNqsf`^pAGh3wJ-Wv5=%qiHn8A zF&&(oBBfhARzd^W*-v+M(E4rnuf<;}()K2X`*y_zEIRJqQQc`z4$DStH4qwu+7HdC z`}e~_yB;+$Wq&jf;VIehbw(S;-bh-R2k8pA4`$nbyNMlGjwMfYCRwJp(l$~t5nm)j zKSK9Fk0V54F={O~hqjs>7#i8lZ0}Q0N?j*AG9hZW*x)#6fNJ!TSD2V|-@HXm!v{QH zU-F-H_@Lh8RkAdRnVK4Be(psPUGYhJTj}i8S&Wuk1m*P5iQJ1&i0G*ysOdcoZxzmD z!Yq(in(Lg@I6rf4a~`#{p0qDq(9Kg%(48-TH5OVEy&vd_ykH++cWgFN9F7{F8(&K0 zk`$7{Yxr%g(YR-+VX>5Mzj2*X?yjW<7q$AfDrx0t@@F>`42L{qM0DW@cNkV(iL?^4hyF@Jk(HL_H(zcd~_(VyPx<-Png zk3fRWsPnnWwIXQ6en0LYKR$VliKw%uSs-Ub_AHGrMU3z4D!~r~7a62>KofXsRsYvcLeSNFvddGRykcc*r+jAH^pz?rpw`u$R zmh+r{y4O|e&&Tq%2wJ|rtLF21Yn#VjSa=nEGr2rFcHz9Z@5sFEXy$8s9}XEqh9pAZ zJMvt9_;b^|Cv}>f;pe6&p(oX;;br+kc-`*x)xlPtG6o@73>?3}%>H}VN;}xCD;Nx$ zkbGhE*j%swua{4s(O;+t|FnkmLucVK3+19#!fm1y>`Q^qd4dHG7-wa=s%? z9t#=zzS2pnfn^t$@HBpYqaky6(F45|LL1L_F8P3aK_f5{b62B&>|v9P)g?@1WWZ=Y zXjm|4a5ON;4+{L_2L_G{2K_G@3``On??1F6IQ2g|5MW>-=3r3&=xBbFel0~1gZl92c)m44bA8(TY=**NZS6WDw(;B3V; z9KgU3(ErNdU@2)|z`!7Y=E~}h>N3)tKWzYv21Yi9#*D52+rQcY<96lzAOXgX2E?ua zD{BW%S02)TX>fkff3cZJiT|bIXvssWE+bDYWMgkk%*ObY@hd4WJTWmbx4n@Gr=qav zKk$zl52=}>qb(;BlZ%TBqYE>mjlC(;w;w-#Fn#^b^!+=-hX#X#o3*2XD}%KI+24)) zyB%R;hoAQ5wvOgD*2I6cYhY;O}vi$maHBAaqGiDroSXi-x$9# z{a-LgbCdrc*k6*rVgK^$Z*$y#HO47#?rLnMA#4u#_|zX={l8J_{{!P?|2O8png1IgXK((|HG{wG@P7Np#((qvx4y>zW#GS={{Xm|{u=oI z3WUF->|flEFyn>iX8KRa^1_2)8(qM__`xKE1(aREPt!m7W{6z9AAt5|#Pb8=rXVGV z9b=HfB^A1f+UaC4L{Q)0;i>(@74yOph;=Za^CZxZ#F=7KVqyYsGgfsf-a0eg)|)-f z$ARShBelaGlQ&j>(m&GDpEc7=e>FX~{Oaj3czF2Rg|do@b(nJ2AuQnBVjvuPnU)*- z$!uY?B5rwXTC?XWHa6zcuRqLy1J*_6&Z185i z_cv8__1|4tIc$P{_N4{;o>4kRSb0z~(VGndN8m06w#B98_1>=_4GD>2eU@GLxLO>S z<04&UK&{DmP0h^rlayL<5b%zo~&gAl=v3zJZALd zM7{MxF=Sw<>Dzr{=hC{z1t0>8p#}s36L6^dN`?M*_(Ov zCBl&l0%2m1KU|{PF?jQnO)!B{Td7+5+r`Lz4ATm7G}qxpBc}RVn-^7hc*J0a6gT8; zfIwiweu|}LtPxJPu{NU|+E#V*7Z7#&;&n%LcK1lDQ>|&H+dzSAx`m|_CGX3W(0wlR zgzeJfoRZv92$8407=c$EZ~+)57j9*+C)j!}=Tp;*#5FdrW5d&`hh zTTN3Fw;!t&2F*^!)T||{4Y#b5az__UYM(Gi9#V6M_1%^9!aPf z>A} zhnZ|NtWJOpDeYs>BdmHB5`kmh|31?8()pnO+TuIN$r=qke!6 z2O`;*`Ua$K5D8lTc-_(I)jQ>d5>pBr-pgxgCBwp^00@6ZIivgvfzcp!)HRgZ4UI6) zMj47-C*9@Ye3|Im^97qc8F$j&Jm>?L-ArvMlxUmYQ2Hv9AuU#B|-A6&;M#q>vRO?9)t`*eV#I>(o_-ILy>Lg7tQB^w}P7 zSIE!djxw3N?Ppz($aTHQe5>$;UboW&2ED;c{?G_kmzyNGG5h-@eVY4;>z)rE<0+sr{vhuHolsgx zJX!8oN|6RQ7JY;k(Q76vBgx9=a>s}>IG*1EZ`03|S;u3x!Lr}4J{>(ir{T%%(&rtM<_9o_qK`3BVy>_oNO*ZklDYHhX08IH=~CvvUC)rZC}SEz++aj zm{nP^6_&zb=dUs><96PBuw0O8Z4p%2exIVEqOy`DaH5|0vZr#L4S`Y$%aBA(%1J>T zzuBjB4Oza*w|6zMUE-5R)f^{EF{!}V?4C52nPi)|87Qu!A#0Y%ePn}#Ebr_I z6+oBOM$nRtkIGO1MlK7zLo^BA3m#M0p7oMZS#IfJEMZxy-DkSDQpi75Ty7aL^TT>J z=&eBf*5f9zX%4yInm@|%2M;X2L-Q`NW5OWmdF>9rpZ zlp`m4>`9|)SjsuxITvc19CY$2iBwL}XeRzIO4X6Qo0sPG2m0_!`Gg(+ zC)=5)ER^ndQgni?KrR8Q>`cYfn6Y|xn*F2Z9tn*^CVJXATtFm!nY*6SPnrWgWIi*G zv-)IAxs2~Xn6i!*8>q|h{6PF9HGXL%93HON_@aVNIK^QyL9URHWD8k@z}X{-Kl?8- z#4GK?lX3)sj-IQ9S7A+owi16{I%V9h(PplWp4+U_-N!~;!leNwAmzj4pES24!hWxW z=oh>3=;(v|_WfSDUNVNuYfqZh)RDbMR!7JuxTD)$UhLf4%erbdKBL#Wvysw@Y9{Zi z2-VBCPd{;&%BqS?6l#KVzJpgmPpRg+DkVmN`PetHki|<4m%kQn_hwnrmZX}vKG|Mp z&gM7CW$g{Z>w;65EAvnC9GH%0q*6~|1zqo??@zJv^jrF)wM}W4G`lGM(QF1VPD>i< zD(}iTpx>d$sjE7P@^ndW3^Ff79gi@H;Rt$jPX^v^)~gic+9SEbz3(pI=!eR!u5Gq) z%mWgok_(l^o=AP1b*^am^=5baHPur2d^&huE_+q0sw@R_u z)b&+z50hf?$#GfJS9 z@^RzGp&5;oLryR#SOtdq6{2_21F-#L0c*p-@U{hMmq1oOx+2{W(wa>STh5b;Ki(}1 z4i3n1hp3?VTS$a>E4_;H(mVTa5u}+L2eFMb6K>=jz1^(cy93WsZr9=LrekZ}2r_Ql zlm;>TfvdF#6w%f*59Zoix#Z;Bsd*H3&A-K+Gj_Un9Gt|ix-wJ5A3$+q5_@nM?+9Kr z*gdPYaQq2U84?GK#BddAg4&F1%aaZfZ445zBlF5hsRgcU!cPSaenf8E47TDKkQB}< zHBD=qC;eUGcQ)wKm5M$PqKwFi>|!DXr!8?xVCyb?X|6%(EB#J)h~ZOMJn=08-^3v? ztK9^~6r!ul%cd)0An2H;?#0S!G!QK$r2AyguF+B_qhfIZ0gUu)ZV=^yW9m#5t!GtqMRS(6*-k{iX9m*0V$vK8Zj@-LIJC+vGlV4 z=6oNFkus!{+ogN_h(uw9Es^}h%~9~OAD$%S-Y5@=S^NOA1SIoukg7y0_xc4oejI*@ zlJ%8hJ9^>R@UARHwnqAmog$wT#bp<>xfmMyl>`sBf`LEw9l0x~)$s&s8BQVj#MLB4 zjay-J+YETNy*ABYfa%={Li&+=Wq6D(L0T{Kv* zgRzgQ2|W4h=MBmW(r)E`10UNxXvHQZyNSngY)eNv+QyuvS*znxre%M2-RkW>wPi&W zLl)1-b>~_D152xKGZvq2>qj_gLVD0jX=dj6G&q73$)RV^`bSpe^BDa4-KUi$3&a$V z>B zwvZePCn9HBHtoQHC<4pE4EK`q`gu*&TJd=5ad&>M>P_@johdYIux6K1?H9&2a|i!i z3o;oyUdEI|AxA|f2v)Zv&dWf()JAxZH4xcXYXSR6etHOx?l!mk39bwE$g6sBNG!7dvR#q1A$=&=l9tU*((rMN zhyuG^i%Q2`czb8JJf8iw!aSh7yFnaYLNw+JXSEglN&c_CXds1(YWefEKfGnyO?D*S zE7gf{<%(|)Jlzo`LVm>wh*<|1oBwz+!Bi&$!ymM6+ki24~)^r;j9COg&@$WyaM; zzmUM?Iyv`;8>F9j#&(>cJ?B{S&HnP5Px~km->GfBf>w^NWW-%uwV|s)lsk~7*>U|| z)d!oR&@{`ah>o7t*n&b{%g^g$;d6e?w5hl8I??KInoGp+PYdsxg|*NRpc+AYD>&QT znM0-2ThMVy_xgT>&UN-&sPX;=sa!Qp=&`HtJeuyZjO=quhF9H><^Ho{W;$Q?5YoCU zkDv>}+VIFWMdJE9httCRC8;YZ(40Z?my%?`A;Ue-{bIRDYjEV^OceLFE!X+uPPxa! zd6b90Y5FWS=Yr(b3F#LK)#Kam?Z`zO(1+6Lx0X3YaUQli=>iv@;OSxt#T~OT+@4V5 zuKU-;jP7_7?GKFn_+GYsr*Esn0qe# zY1saQyB@k8I8NZ~q~vH%iGbgsxlxN~ZlY8C^i6!`+buU~c-}94jxY5cS?Zc4T`iMo z7DO*c-%q&g{L9zX0&1(~uq0ww#03(}!5mL!M~_Wq>fwI!HTd-gYYDg^6OY162CCV$ z|86dt$HJtqneqRA(qJ1dji} z+o4*Ta$>8^fNobV3>1qEOjuS6JYf<`B%TUvkSroIM?6Chw`3e>#HZJbpaPjedbbp=Z%m_{}cYCe$poPK*%O?hR<%D=5#T=_SEW!U3M33C+hJ-(d>5RefAs8^YVqaPZ)vMX>|pd z_fy18Wb(AwXQFJlWuw$wvJ%=BwZ%R-bU?>C+-bX}4O6szR(acA)HW^92qIreMPsi? z;nOXd++L3)fn7ch#T^~;S=K9&_hU9uWdF3@i+I3W9b$f9O%~$rr-^>-_lccu#C`kID;`45tO0=M|Qz^`_3}Hfb9>)j+}) zRSZCs-wipb>XiPehY?cPieU4)_Q^x}vt&`wzlkc3;vyQNl`p3IzNwO0qyOvfY+cD? z0efhzPJBd)`Dv=C7z1(EJk9oiB5Vh*lGSS6Pd9DNl z*yeQIk0_{CE^NEg9m8ef`N?0G3Nx#JMsY4Tte99npS#G`C+mSK(HjJMe(5kX=bL%o zjUrf$qV@t-01Y*{Q5-Y6(@WN{KcF`G-rkV8u7}6~spX=}Q!>FTAJJG@TSZC7^QSqU z%3y8(&7UY#O#eP9tNkMLVX30^!ob7lsnmJ?kEw)fRH83K?RzBQS|Arh0_z_=-Ak$G zBRQXvT3FK+Id2d;-0D@sRxsY8b?d1WGWVtLn)3?4d3};`>W4wd$m@d_m)Ky^RFsAy zG4_#mIjYu~{)$a&q_$GXQUEd!HF&!EZ|qkPDcAF6}V=TnJws_uh z!c_4&!*v^u>$)h{YNfofh9MZa_GW@>a`Nf8BCJQtrgQJC{S9;yG`b{vBjoh9^oqP% zDajgT3~c|nhPqFWm%F+qYy4vHE;m^BD|zN9`#N_+dSt_P?d~2@gQxYZt&j&)DRx>$ zlxdFl8OQKuf2?{u*xK+X1<`;H%f!?E)gYl0$o71Boc&e9tEn2$xyIH2Oj=oLe^}kI z&ldl_m5=>yS(xTo6RG?XirRbHhc0{jCLqx)RnzQI+o}=>@r&ROs-X-V$mn-&%r4uk zRgnU7X|qj-!J6ucDe&5KAz>&dX0klbkCmjkCET$B&$_KeWWH9dSw+f@RosBpj8fI# zi8S=izFcBWUBT;5f?PR6+D%Gga)n7fqCJ(_PY6m*>n720ZG@B2@;ZfzsAXC$nG;D? z<_)w{+O#ty1nxB*s=a=z%9e_mH}*4zlj-uxd*!)D(N7O7@Vc>VY}Ac(OCt8&3HS3| zsrM}^KsAY>k>P`i&b+lQ9ZdfSJ~(T7e^Nwur0(`jHEfVTL*s^B;aTTKhjTQPXk`ba zPE*K~jp7?Anzmpl3zV3XQ{w8keCuy^mn6*Bcs5^*Jx(YZI$!Us30hh!X4_=B`}|_m zbnMD`Y~KU!K_@oL`-+|$oLf*XD&L+5S?d!qcDOD&sPgR_+bghZ+-Opln(0U}C#(hM`py?3m=94I)?7AYtyr#SA$L|uEUXlVO2waC7ABU|YZST*av zLA0LTbFD%*PbPO56}}&~Mx8YC@vSW6%DXQ}@$0>;Y%Btk^{nK$pNQ}ZoIP*4Y|J80 zF&hUs@UIiq^qi!wz3ZLWX@1jHz67+t&TF01O54is{YdL!g((N}G>9{0|6J=n=))`p z?2un>c%J}TpOUnkevPP|j2C9XasYm2_c=UwnT4+?lN;}EF2}tV znPp|XwlPP6SSy0(!(8W0OAV{`QqQrgiNGFY%SXRYgf(}r48l!lxL;C_=`fy(3o}R? z5AN99Z@KPE5hm+4~RWGXvd02PT783V6D{n&hRt4+V*5}TkH$wtXC zf~lrm@~4#T2fYP`64tHrf@U^G1WUxKrOJ14cXc5^Gv?eO%f&TBIfKMqu{{7_8&Oms z?(Ll4S}LEU9CS&o#Uho8lu)VdwZ$xvO_{8d?L27?GIH|gYc}v_IM%S7iKv;E%wNs> z>IDd6Ek&al@AJ_q)Ipj(n5@R7nLejhXg*%_4?&wJN`^zB2t1Wsd$z#u0nGGC+|R|! zEm9atCq)hwJ}vnzQN z;O2YDn?vM3y9@#5bJds#%(PC<>+?eF#W^S?KD+vzSXQ?gpo3K@zyU^-L`De-&TC100&9E_rlzOf|$1 z6aKJA@VID4c0{}BbsqaRxa9YVz^GKJYr#TnE0SINq6e!#@cVHE89kG@g~QO#PBe zk#Va1eziB~d6daVtdRE|*zvrkWQ>@!oFGB8GE9YUGf3c4mT@Jjyh4V|XT)qO9Y1Q_ zL7yICjFZ9OnJ3(bj%QO7i!qd$XX{P0{&p#*!bNC~ZOYo&aY@4e&@ z&EqIpUpDdnI+^Nk+zZF}?shG);{BYys%VTRsN3T($!D30yfSu@%4!+h`h#8F2eQ%k z8TkuX#FM;S(`bZ|kE%U9vDl%@cr%MA#mbUkWb1@6OD!`EPM8M`!8e-sgreGJnbtfV z4$R?nljSG|nRs+*b;&Ta-U})Zs;hSzEuN%EZIgazm70>gub$YL;W8=mqx{BA2UUi7 zP1{A~Rv2iDqLHR$>6orW6i1(oO6+`b79k~;LL-2~}chJCfQW(zEZy1ouN2>Ik z4BAraK+KxZG8e;LL*>#Ss;;;xWf9>rVYLgZdMZ0)3d9{-^&aAnTM*R8>VQ#5wqcjO~=lD#rJ4PE!oQ`kGvZs%E%^TS>L~+5XW^7yHOVQbVw|s~l7~#l-Bdij zimv{Qp!2?`W6ENZNhujS=w7}T|BAcNR~RbmbC`gxUh z&+jd5CJA^4X9Cu&uLK)khP@Acf#!Gs`P?aUDVRbq4F|Q&AuZ6yfY-e2)Y>% zuzpRAb0SyE1gc5e9;Fhm84b`UKv2iVluXj(Lukm>c+~BfW&lS;8i!1(I{D$joqSvL z*Fu+awvC=J!v0tqNdc28a-As8mX&bF%oTw7b-iaRv_-gL3oP8K=+kPEb8PbyQtbVwBZ)D>QgUghfYJWKFN-9l1 zr}uS4XJF{l^v6{8bu`?5WPD02j4v2UmwmIJD(zToc2^2KK9L8mFvqG6y9*l z6yiocYO3(N!GY|RUo6FSzrT{VQA{lv%oi<51i+Y2GKi_~aWQGSP1ctQ;D%z$oftJ& zVOFZY8I;3^JxKx@oR5@;f)uFZ+r_;%V9H3wu?*!vnSK-;TbL`?8$MRL3*2s6V`T9D`C_Y+jJeKNFGYO z&$vKoJy`e1d-UGx!4VLDJm7mjTKM*JVDTC4w@`>Rtv)rgOyup)#$`m!+jl;%Rjb{h z*bc}j2p9A5Ajlw>H7B*^1Ee~lx64noTyrk5YxXw`ii(g{A4?s^B;|#^0V~QEtL!O3 z8aKfgg*74{?rG-@FZM=hjmaJ12-^dJPs<(pe!Pms9{O8~EAFWPs|ZvwFC|Fp*6N>w zL(5-`J74yg0Dy9`$mAM)7BhgyRX_GwP6Xq1$1bFQudqiMXTwh-w_OEA2sIDfk)vpz zm)x>mn0MHelB>;3wdu!PlB>5bu5I~urIwZL^HChzuxgS*P=YDajGQywzEp zmJgZMyRTQdq(^@>3vS(+rhbB)q|7DACX|IhYSl>)mntJwwMDO7&xXj+f$m^ftP)4X zZ$2PT-&ZYy;B5Wl zJ^ka2`0lL#{cQpIF=M%`s$gE7En)ljcjFYE=NE)G)}cx>KQI6Jg8Lb4W%gy)pYO33 z0}4J3mSSsGUd9G5=PsQ$cfZ${L9IYlt(Bekx5n3P_D-Px>lbX*PlT>97yG{$fS%pS zYfjWs@8*E;`mtnP?|vQrXQE41k88g7>garBr1@oFW2cwDj~DvZC+~~4=L(*?u~|+E zSGkkQJ3)wys`fLJ6 zyz@vDBbhdazMTgpy?(~1{>NN&CbS)!F4+??0#tHeg6K8X@xS?>R2!xJTxvn zSI7Kf$Q|cnTY+Ga=@?tYd!4MyD&eWYg@jW!72EHf@b2peDO?$QpMh~K)3{38B3BY?;@4b`!SbDN+V%e$EQ{6#Qwy5VN=daNU&JjL`!nX@J`pcKk@#u z^DTe43kyVh6m2yG3P|^U_dG=9+Vp)jGPfob33whWOKq^*NlK%!Jeco%>F;QG_ts=) ztmb=ta^|{yN2-ZrTT*ZPwzx6eB4(-A*?bDG#o<$tep8#dgxz^7q7m1gj=b*nK+t-7 z&371dGzhq0ItNf?IL0OH^1IAVQ(anNsWQN0jA^J--1+syh!31~Yla8of(ZEwh zH9ov~hBVkjHvru+G=m%k(lMq5HKOrmaW#$MVDRDRrv}5 z05EBL6P8$3Mn4<#LJpI#PK!U+-B(mcdjSdG+6LQ?`D(Gno!ux|$2oSJ zv6}17{vdjiyZ7TJMPkJ%S?5(J#iCsG$gm1kL>CT4RjBmZ2SWE%hP| z?h1N(L~R{domF;NWs`f)`E+b^jYSjDbFmFrFt;jdTg*gDF1B;>>&~3={Wh(D(xE*^ z>t8wA*eXmlGWi^~a@F7gll=i?7sI!6t$g%-wcy0_tR_;SXdv;d`69qrpB;O3QeeMd zQ2*ylwwg5zy6EdRHDT=;to~tt{k7nixmlr+&ktyiiW!zJ++9&W&Fa^!WY?_1eq z)^(&bOR!;>3Eb7ziNS+Bw=md;ta41)v+Q1~C%I9KF{PDtN6Jvn(*(rOJU<5)rk3KXtyJ$T!Q^!)pfhQLtdD5!V_g47{i3gpB2D^yRuX!s* z!VuS5DmbRVVHzys^8~H+2%=N{>XGE!5oX|sFMlMi@ztF@r)1+8*H<0S$(=^kreI+> zxlBN})QMWxlfi6iIa(iRkzOD@lH<4qmCAhOR{H0z0CT~NzqUH7F4O6PXGRsTu2khg zU5e|bPM@}sASpKUH}M{Ip0O2VZw$Y#VTk8NuRn@>EWrYc4iTD%A;0W*Mw#a5t(iqV-4oR*$*;?J#g(^2@ z^#|(dmVTmLN-pIQVz+Mz7tzGpwj2C5*rF|z5U3D2`Yh>SO+|G&l;%DR3Gw3VX}y0~c&k-;RqeWzs;z*b7qGjcrG+o^7Em1^GZSJy<3yolBV z{NFYO2}iiRX(7wyExK|hv)ue`{MjF8F2-4DEh}_8A&Vf4VP%QnX`1W}Yl>Thz&X#m z9NJg~R8%+Wz!<@WjQwB|iqsl4)NyEHjt~7uo)RNrjrp4RBl}efZ=`h=9foKw2+Y^? zxU%u;C_G{t%x*GJBZ^WGlaIkBJD(gyx&cHLd7o}Z>k4Hfw(29-oLnsebh8qtX0BxcsH(AS99i^sOQ=Nl~# zes$_O*$)31POYMc&=MT0Ii^()45!*Si)L0_Ec2T{-5Sg!MH@v?2>Q@87C)VRgpn>C zXhGN?fhf7@vnY$=U8mUWK=%{GdmM)x@&pPhE3_G?1Ad+|Gw{nUB~tEfo4!GZII;}o zs2mJ?afx#%O$SZIkfZkB)ttd%VnPzW`H(#br4XfNPR$rgk{R))#a6l!bdRh*SJ6VC zB9iQUrM6cr#Y$$h-#lA{k6zLk3<{MXQ;F4QQuguJKN(3PD}LgeYNqp_>Q!PRb7NR^TE&{1JUwqB6GC~#nqA~DG4E#*h0Ie=Z;u{75Bi2__|ac z^)a_HezIrH#Wj)*-VFcN=;mr9yVb#w(0FEKF&^j-zO=^sUPUJpe_epMT+Ev*nmOFf&-{|@*%Rc&kAifK7Y8(t*(9bc+& z?7>*lw%`b5W^|rnepY^yjDgPy(+=Miw zQ&sEqLMqRtRen6z?gcqV6bhAo+V0DB*~rtr#jUXC-D70X4s$}7f@Em$qEf_Kg&o#wy!QMG z(*c+JNqDja{?&ZiT0Acl#qdWQ1(ZMKk2uPN7the$$AU{UKOg^&z;by?fvuZ9)^7bD zk9fjE)8vr~ystCnqoZE9XJ#YU{#wC2?aB0F}k9u`!7>X_0-a2R9(RK3`U2siD&-2$67It*BJgUlVYOHS~%c%;) znGn3rI>e(c{X*VD(ONG{0xXzPg;WoKLaHFN)*=lClvH)ojEtJ0xR-ICStk)IOS{;l zqG@?P2`f$?P)GAviAQ73%ukVi58z&1*&YsbmaijtaLDJFZI04X%RqCQRcxl#x}yjo z?d#uBwi@`@d%yhg-Ifz#2YC=loJi~9W~PfCEW;x>d- zygHn=VW9a{ru{ejUob;>a=hr>oY{zle*E9Ri45t?-WoPuJOMmD>w8+K@@5Fb_uIX- zje!WLnJ&+@pm-#0g(vot&a!tDxl*KeL!6`brg@|5I5ZM{hLvlnESx0yFsL_%1|)ZK zFv#cvZNNJH%6+4TOe&nltJEME&g*wj{f{Qj*qAH1gQt)%Y^EilTGd1as>9bm#$k=Y zDRg737;9NtK3v0qcGZNS98OY%)}eUqqif+~jj-X4&ed8v@^v**o48DLlA4%*yQovh zPi>trV_*4;10FVi3PTWeH|J&Bog}f4#$k}XS!Z|Tw_b)RSnj!I!PN}lI<7MAf3Q;0 z;26{J*}t?=n;2m&$uWdy?vpGG?cD213lkO%o~BeQP=?2&Z|>z)_#bewDmfyCssFJn ztDqlbJ4-?36fz};@Fx7twoYCuapt>R&esI?92zXY=g?@5=ul}%t5{jjy!?w4cvJSj z$7+ar3K~8uRQ0p5aPHTgTc#_fV+oIqf4N=LEJkLIwkPe?Y(x&`5ZM}%PQ<8s=af`GcW|s_Ae!LP4A}0thuv+Xf3f4SatPcdxgfm}j_rINO_MtQOPtW1SG=m#`M>-c}XQqphU=!z*q z@`B8f*YmuKv}}>CS(gd7Qb=jIN0u17NKy^^bq)V%q#^4hrPR z#H(Dmd3mC^zjCD^^WtDqK%!2mlI@~XAPfUS#Pt=ssmn@ACB)I=Mko6VAs&(Ws&j)p zGaV7IVt7~8n&jOiZ^zV(?nE@U^H91A8(Ic3yzVdV(=R-Q^oSDu=SDUA8nIiJ-#pci zt_4ynruc|-@6-Mc)VtHe2jcFUu#Q*;oRIbl+^WgVVwFj721J}B@H=-8q%P?AL6%1D}z^7l`=>7 zjmdI}^*Fu)8kA71tgJbs=sBa-s*3&y=)lyVzh}L&MU2CQ?}D(TD5a&PTA1D>^vRes zz9HW=$+x0`x#O#f_(2V}0`)2?xu5d*7qzq0F;FE7r!e7D@$;H)9UkzwuC$A@)KQib zrrYUg^f9zzF{A<#&<8>Iq)566v;6VbZ zNo-({#=_|uL;w2Ybd3o6AtfqM<3iCUp<3s7cBf>di@h}omNgxubVS>elu1DHS}IZJ zlJku~?!{0C!>l@3?K!LA%=<&twV4AWuv&8HnNFY>U)>%Q;j{Rg&V`yA&lzICE7(WKcSE+CP@J+U^~6AU$Ml$3^+*=*1g zqC8aYuE8Q}uoyeXR7m~o|hnvWO-$vR)F|xNwks?<%`2okA;mxm-w+$N}1D>~&1HR3DCv`SU&zCx!oE&YXpB9tu zGuQh4KeQhIcs{FVX{&dv_1k3Cnv4JJUhqZt%g394^!*JQpw*WFHkjebTUMEGfM13^ zOUq~R!>bPG z5-2ib){p>EGf{@i9f!^NzrYXA!cYn75tPY%s4~5O`G2yB0Jh5h&Cu6iiJOJbd0eQl z=^|;fwX$BT`5zkd9W%@l$K~m#=~@7H$igRmWepcX)q6I*?5F-;B_+eR4|A--zUM&_ zudf?c6#38f!B4Y6YloaCtA8EIR+MONnp&248ce%SYL@JnELbMD1?m%@1czZEm;Ulo|(9dGnMu%QLh`|lG!J}mXR z92SN4kR1^CAeb>>jty-&3soh~z4%WDONLnYH5E4Q|2Lk@vJ*X2$d9u}F)XnwShd^L zKx*1H8_QAvt1iGDj5XUl=X?S}>8JX$-q)8~*f?*ecJSX{mE@d{6N1w~2pVk$)kk)@ zjza4)l;230RLGLos`2{0QeT^pC0YkEZRbRpgKk?p3_~9NgiWgcz-wDh*Z~GX)gZ>xV{X=7Jg`< z@)i=H;hT^v;EEfcND9B;I!0Tet`#=!v`T_T&cGhaQeIO zt2Rid%dWsXtIcu~A!6N6*IETUp6-3jQL#tTFbld=+}W6HUADw+W0dEI+=ZipU;ex4 zh%51~SmtE@!iSnX9;I(oeDr3?%$35}E&QzeZj(m_p<;B#WC*HHqW%CbNe!JTmUa1x zt`9~qh~gUVRdqc9Z(BSRi4|4eO5-3Q7V0gH-q${n8enx^@I_4Ls$%bRJYDd_)a`7J zyU*)$ne)VbyRg;Q6$akGiQm8fI`8{9t|pFoI<3(OFJNFdsgl~Btew~<{Iy*Rk0EFw z*?4_=-LSaZc&>Kt3=Um$xI-4!`&d>Vd-Ee>afg13N#|GC9O&5(4#{2{qA)upCw8Vo zz?RRKDWT20K|8pGG}Oe}+YkuEaO>}miw2qYbfMJ7_d$p%AcGWH9OF!i`7!-}OH*bT z%BV^RouQI*OJ@J6U+3$~<5?_AGSomy@HGYSFnY0MH6>5`K-x_O804v$Pe(FY^SvIrM7;IS{;|0KP^7%mzesw8H5(lZCQ_+;G-zH zyJjr-^v5XHX50j#Y@6nW-@n0&#-18$=8^bLPxqI%2nFP0z^A+O4SddTH;sr}y*h8J z5*PyQ!#wXFOcF5%A+^;;gmAl!(*Iv|Bhf~JFWT5dfhGxo+4VTfvCy@xmqm1r^G<}M zWZ>cE#IDJ1+DDcS!W=5;dmNvwj{dJBjWY;j+1~Bbgn1sk;sQMQ!g;=EKhVb6VwQgw z+Pblr_kDtFe#-G=wlll?sb6T#p;F_lc)({tt=X2hhi@_9_OAo}OGuTl$kEnBF21nE zIvyu4N3)n9uJeTQmG!R-wf3(G^;YVUfD%dI*Kd~cs5n9WQP`SQVDLvX&VdJuCd}H- z6zP}cx(p@;8YUnikj^R<@_(%_ULM)nx-x?}S6hhbpLUY2dfRJ639IWyP=MzVhR!X2 zPUAUip}8-2y|2L(UBJS6y!!7zOmaEDxpLK>K4ej>z1Aq_g=|)CN-_#Hi-|&Bza$^% z&YHeroyVDRRdd=}9i&r$HL-yEPG9<@;zO~9@^us8Rxa<|Mo`T_wZlayaOUOimTb)? zg-N%3!`JhWr`chi!tf$w<19{E%6TBh#XN?#u}q`DguBbJx^vyW-L~y|qJ;9ssy%@d zIM+kxyFUA7OjF`)|IC&JQ>f$b?!mvdhp%G*|^zDqX~kd za#3wSMnTUs)pAVGM5tu${;$TRv4fo;7mWc9i-f zO5`a*g6^?Hdm`Jm8Bk@U;(0jLg7~kdO|;l~(YUid8*VGnP3k$7{F5sDZ6dpv7eV3$ z4cksRH>36dCX%InB-T8RR&Vcnhu4nU>{cGFTI988D0}>u2?Ep{(z+kO61D1^bW)00 z*m+$i>V;xMZ`L+^ySbK%R{SaG9Aap>Z3Je$*#GL+tX$-wJ};0PsE8}71c zcfbll6ExSH8HfPLFN10fWOdB0-gL72`?q#=a^^xu+j2N{b;3bb#WHA7M8KX$s6S4So>#dGt{-m5Q78!Y z4Dm?cCE@H_l=a846)sy7%V~wMS9IU5j=vEDW2qGhNfe2->I5TD-G4jH^cP&U>7;EFJ15U+DBTA?$h8ewD*N=M8+krD+g zI!9JF#k;Ip*0@q@6A=8jd%ywATrzssoWqWSo97C>EKh?9zqQ~= zVB@A-GM9yTCZ}(gtq9K!@|cF^<=G1FyaQ&2-2#VOu*+TKm=5Q|@5$Za)*n&F&ISK> z7Bkik8xtygw{P<(S7l|h54nky5Z}{;&{y$qXbKx zn*foRK(q@`cvYv2BIDAZaDs^wcY27%2w?gMI z=KJ>y1`SncRhSMYDh#S1Nb=-$h-i+e=|{vwgon)7@bU3U*N20r_qpO|KJOi<24=eYn?o z+p3z69(xCq89TjVC5pmje!J*7^2H!byg-^v0d$3ofr?t*3u9k3ZeQgucKHw*Tk9%qIsvL*$%I;X+QGEO%@vX;x z^w^hj1?8Z&SZyU$Jx)S|21%X?11(-wgXevVh*?o_OOeva=4Wyu1OJ3SOed1!I6>B~ zBL6Q7;Jqk4Hf5-0t7l}o$9sCoVob9lh!7@$<-6HT>Rb;#AW4i(?59#|lI%eVnUStv z2gdaFJ7Q9y4}`PYC_o^L#760D1KNv{e~LYX5E7>eW7R7pJu-kNhO}FteQqWZco`ce zbeg4tr;Vq7Ryd#i)^!V7BKt=3tXSVMb7Jo(@-K3gQbcAM&f8d;`qVCZnOu%q0rG1=x`b741 zyr~P?^2YgiSp289spUkX%VM&_37xP*taUcHHX;QLEV!i7ceEFL{$62rHUuDxoL?T5 zjm>Bbzt!PM%_<92;Px@84%#R3BY5{)PdX#hcd7d?PpUvxzgo8Hmh$YicihP|@))@C zSNnai((91Jx8$*VHjSjA3q78fKBBZ!FL)yD!gOyJcR`ZU_u^RIA3_FpHbQ!ByB?A3ml zTpmDiOXOcJGut!FI$9s>A z=IE{F(}FCA8Y!D=N7c;45bopI*?CyM^tDlmm;7|0qQLvNzWjzb_dkDC9z}Tk8|NHO zAmrTEdtxJrfCroiH(r1I`A1J>-U1)%=i`$h&bTi2n|^7MwR%ftD#RvQmd~m6;}dMB z)6(dl0o7IDn0{yplf7>6gbEO7^UX0&uO#p~m6Oy>+nSx3I^S9`L;kHIyMT5@(5EOg zV~^P2KMnF}Y{jLOB&=QQ40e@M6ZbGVYJbAC<;TdT}of zYlzV|&N4H#0I%zeOD#2=8s?_~0Xb*q%${Uua`44tjJ|_^#VH0A!9y4aX&~XKhgqPO zwI^m4aeT39!lPn9<;asCT{R~fpQnc$sd=d3la{jJ-4n?^<`>?|Wci!7Ee-{PH3ILa z4dlR+s(s5TiWpQG?CZ+LoM}Gmjx3r$~QJi9Ld(f1N-7{gHzY2Rj9A zjlKE4rRr=tCe>_nKHBKoF2X+K*TLZvOzh(ayQ6I$&aDZy)c0j(n0V>g`IpnbN2Hs9 z+OW)&!l~S`r9OUYYZ>4yBVl&n0v`%l<%C6$S8<{>;ZO61MX7sj6Pq_D%9gwn+{l;s zXeE@e9JgGlgKf4BREUhs+kNpBilJ2!Vn!;v?KHNKj3ih>Uc$!-^wsyJE$qr9JdJPn zi}wo~)&3vA`!-9bqUR?FQ$q~(9}?24SZ|i>?(d^&Klj}G^+Aq*Y6UFSJlx$Q@#)v6 z|56XHb-{6~%M-oRt&Ki_f|1{&JyyXaw-&56s_4O5 zxpJj!{%2uAAXEVK`$gj#%~beZFGD7?oOAtS_L!u!s;&RJT&BW`PbTrj^V^FTw*%^n zNucZ>2PTG0u1Ck8xladNkKYAi|9?>O4bIz(EEtc&)v7Q=-lZ)ndUn1fk7os$@lpO` z9EJAty9LO{m$pq{mWD}BQIOUUEXnfg298oV5fbNnSM(Rz+XJ8K`#q`EYq+tzpZrLW zBGZ?KsD0<|UXtM16`$STj!Oa_iU;?+Oj!j()^8@2F$ZOTo|C+x>kp-V8+Y$FrIm8u zT5ABO48xAj5_y=FKHFLN^Mb2y9ND(In*{k#2nqA*^xu(s?&{j@X5L0Odt2F7%=P`4 z_UYSn3fznEoR&Bt;g}WyhTyoy9Ag!{j zao;El@{7=qwlSZU?nfp@3(GK;LqQ)0bhVVV;pO>JLYyD>0&g?? z^>>KI6|M*7Y9D9NqTOID@lrQ|4Z3S=e7(zK0TqIOJ zuX6EmG($)4XA2%|uAOf%hu`W+LObZj`>bWjg()?Hc(sZr=dHLjcz>h~oduR&*yDQE z{(%y1!#w?Mfx)KCrFOQ~%kUvYu~ypc5UfrX!sxYd;Pp6vhh@*jOg2;CyZMWkV%po{ zs--S?a&I2Y)0=!$C)9O&E}FmrHpbOz`*k1g*P|w0lJ8%68tmP0X$SK)N1a z5kz>_D$gPb0ro*==dPiTd31rN4Xp^vj<7+6v%IP`#v<9r)7sAS#^<}OtzON7gO*!x zTh`*ayA0!$jK#rJTRcnyxQJxye)c&G8Ium7Rg+#5>4pE#YWs9jJCoa7ixczH*#V4^ zc>1vNDeS`k8KLIm2k^u>zDIL5?)%a7B=dR|cr_`4k9@Up5wg@vxxNA`avoo+O%mo? z>w#n$8IN9GYW84FE~TlC_s@N1yg&I*Qs>+_##);pN4`Tc#GEuk{F+KpxHs@Ch9Lyl z`KYZjDA?e4J*&K7Xy-9Y&b6Bsia-X!{ftq^Y`mlUIl4h( z^#1v0S^T8h>gr(9Q&uSS<>^QDY%Vb|aKtlk>FKs&{99HChUR{XUry`;OQB@iqM`rX zJd;WCJ^OgDE`a!lx)O9rP@m#xen67N>FStZ63c-aM(gF2w21ewF}E?tQjL+wwAN;h z`j2tgLE%oSzUN*HZ`rlOmXAFoeq+fHiUjhB|yN&d;lgRYBvt7-yiQuudsq(=awt zO>h#8$kaT1VD)2Spc@O?sn@eq;O#=(l2msn^QNFLlx>w^1x0uo?&fw#0z&QTOE3fA zO)pF_tbXT7?{TeMwp12K$X3-Qxz<2*`FRvW;;fY?*?hEXkfZ9WCUMvyFp z!Gbq33}9acR9G`bM4>apAQLQ)YyXT`f*(5wgi4;DibZ<880jBKUsoOL+SQ_8#-_7* z(nA@b9Cx$I4DH)dOR+I^%=DaS=K5t7oh`lR@t&wq}BWroz5zhHUopnd@bR zoxY2i$T8$=+X5WJoe)c@cU|QB7N5ets4>iBj}nkW{XYLhs$$&i}tcH#Ani7)|Z#QJ9)r*^A52=_1K2rmN zfPxeg#7r>E5_Zh+G5JFmgaI3&&vd;Pv) zc(tQdFRQr~toRhK4bYH=DrxsAJD7fKh}`-{er+qufP4cTAPl4prm(phZ@ExT~nax1IpID81ecXE8e3zpk0~n%7&S2uhz{Yx-da)Oj)VLpDc-fX10gim2=YuK~ zZ`Tv`D=I$x=YLeD^Uj!$Y=-LB`w$rKY9r_@Jmm8Kfi^b%58+aadc7gfPKacT)<^oz zHAL~U*E4pH9&bbFu4mcaAV+qAkm+#}LDaAhOU72pwC+*TWq4&h$fy`X?Y@09`R&YX zr5Xj@7#iIq&*4QNTsTt7S9O+x=53MP9U2(qP<0^wvDR2x&xR~17ZBX>pT#m+#C_H+ z7A3qs!cth?xLjWQ+)7Ey6r7HU&mdPQYEBf(rp>d>hZ=$Hih$I&^pOOex-N$SSVTSx zq~4e6V%sy93#wA<=@_4xMCaE2?c@D>12%$_stY-<3b|^{eC6b`s-F?w=2v4z3%Tfh z?HR!|ofU>+NK?j&+Uo3w=N6Bdy}+_rMFt2%?*~}*P~A9`H!|=$P*RX(46o7Mn#|UO zRD4CA*Qt4BwvGg01A6=NVFe)%#{?0a(=&j37JP|w7Vi72ifq%yzDUe9z21i}TMMbl z%EjlM7d`Y05R|FIkV&eI8B0~UW;RxH5SBg=#Hv;3B#!{2|I0+XU3KKGl$ON5NKfHD z&`;a9s)A4C3I?w?ENi{IK3{|;lfyZb&8zv8utbbQBQN+QcA`jW7uydD9T8&piry(% zaf#U;Xf*F~Net~@SfnUx#P)cK%*N|o=&N1ed3)uS;CWwe$QmO23}G6)g*G;SSUo_O zxMaJ>4?%Jr{;)`M7B!-R$pegfVx+eU3)-IhBYriD0+9auV7%cai$^`~#GHy^K|NNz z)4Jx;gaEqkz8Z`>?HFx6=+4Vn>%LBhzRdeNrN+pjtJ{73B-?v+Sq z5f75z*EDTF=UJ=K=N@f94*0)}gbQuUHkF)pgsZvTmojm*mTcETe3OQ`e#mDV6i)wI z#_&Aqv+BUM<@~KyBAAf=sb0yP;O}9)3=VA{sV}~BG)MilrWl0G&O9dv#N`x2=L2Pk zk1|+8SQYIj`a_;i%xK~n0btrYT0e(7WJ+0U3uf=9Sfa$x9DmD34<{w%jZL@9_Nuq)?!R;0xC|Ds18PY`z~(`abc zRsR?8o;`F0k`4Ex{_t-`ithuJjr>aeD1w?d*qXVVFM3&!67$o5ey!h24YWof{WJ9y zL<2x(GiUTH@;{);Zj&5f@pGWO*m-YbnRtrL+0=B?l0`^+A3kvSJ5dHnLGC`nX^_d! zy@tt82SXnZSem0+EQ*CU_n!$M_!uk57S9VS9*Z?B*2#V78b5sl_uxgFBD^pDOB61l zbIP{TN$~twOOH$gPCVVeY!s}d;QB>WzpAH%~t4Vnf^+(TCDJsW(n^YC=>d) zw)G#(YQj{?H!XRk?yF221nsK@x&;alQ85Dlg2IEYrx9Ohv*tE{A6zd-h%tk}y?0!s z7Nw6kVKyaKWTTaO4^%zn7rA8h?3#wq_fJuZG$=LQ)EuA9^jr}>%QU;l-blio7D{Em zcg#Ifenq~9-<8zjanBTpEevSgK*(Q7h6Vb$r$y~(i*wwP5JX4-U`6WTsLX`w88KPj zHN#vWFU&kv47sVgNV3YU>ZB>=Y%_L1`2nyEb9NSIHShB-MXy_~l0>eGK!ddh@CD;! z&A_hE#*Zge5Tt0k@fJ=2J=XHGRh5TQ@b-N=OyKP~!ik-vRgb0GYfkEDTXT`n3xhJ= z@HiK{gbb`n; z@Q6gv1^wg}sO~Nk>lMS~@0Y0`5y-b6RW+e_9D&8~pc9&{`Pb+cg&6eo`h!8I|MCV} zoZB`Qsn8UW01I!Ny+Q5L#3OHPVqxa|xq%oMP3GW~@iVZ6Z~_N@lD3LIPxTvF2}*Ru zexnopWIm}IIpvHGCj=S62>N%UPJ_nHfDcy=TVBvUNiAF$6jav*i?1wOcEo51p;&5`^5A zsABRo-#BS4}IH=KB(gxLnW4}i6mCbtb6)4NMH$I|Uq__<) zfi*Km36U+8l5b?fQghnSxH!}&5TxdKv|C5Moyv3H)8JcMXTr!5+m z2PIpqDxH@;R_f36T#RtLRa)tkg(9N&gH2_aii3n0@?+*ZL<~@KfURr}cp@2;Bo0C! zLZ2)|D4&Zy%>KyXw>VEHw25;hMn|h%pm8pC&e<;~{+Vt^#=^_o$T*Hg>rl&i{}zl+kJ!*zoc)2rKz(u`TK8tiqci5n zKI}i^o_J}Zwg4(7p4US<)3DpZ#&W9q+cZu;CrSoC&1Kn`1i-K@mc#n-^_E@_>`muk zVPMc?_GJ))7ZO*=P!(4&n^9hmf z`gBV25IR;e+@C`p2@^#f1JBKZ4~gL&NKl$GC9FLq0eRUeL&p6Zfe9s&lZ_ODJu+@j zr+A0v$uD8$GgO_h5i%1k-j^+_Pyp%=jwG=IZ6_<}Sn2Q^Js}w4Q%BEc^fp3xcwY+e z9lYjWNaRTI7jYs62Pj%ZN{A&F=C&Mf6=jv=^fb4O zw*>Wz9^_c9-%JeRkE1S$kd7lFix^x-af}zyvM{iKGsVObOj-z9YhbNk-%?#p*)Inq zYS|crV%hi=m(G{Ql*DIn7i=dNBa!bO`&bnANRWc=2vo;AvJw{EzWI4%x|2l;!!t!B zu8C!Q0x%HwHirv0khdWCt$XW?N!n3eYt4?H>*sHa*mxlYjftiGKpuw*=gd6~^C(t2 zig1xSe_KJ66EZ%$MdHY~E`9Wz#CvCV&ORY8ayhDSc=tu{v@D(1j4U95A=}fPKUO|> zmOd6Yjd&SNJlu~Axu8#2Yu(g|aL5@e-Qu8(_E$<56D85ay46^NJ4%tXUqcTHJz{7I zB%Keid64(F73Sl==-dM`bs#% zg)0ZZ#)YkO(|x?hKAuHC(60yIBqn^P3PM}2yLRl+j=jFEO{DUpSYCL8;#HMq^g+XG zm9w|B0$nOsn?K87FG+Ox1F4v?cQyasgY75qa$mu)AJz#A8HN>B8=V!NC_Bw!n*L{- zAd({rNo+JpGLbRQa9Vj}0rC~MA!;&Y8=w6&w3969R`1QZbIdo|Gbn?{tbPy=%y0xN<&N0gzYBKSvIav~ND zGBb;LnP*O#3~dNIN(Mm$&G5Fe_G#sqaS`U^#ECCX7#gkWgK=f6^fR@Fi% zi%eYDN&gn(_1YUP^m&3RxUNAhGBny5+Y>3b(In+ucg-Bek$CFcso8BS?RH9|#R*T_ zBT|sLaA0jzX1nBbUt)F~At{Z0kf72x-!sDrk5>}lKzGcx1W zMUOy{)s4UB*t*rBM+{tq)gi5JO{m0#n1$qAZ%{}Dhw(O1P!>^}t&*}X311S&^?Nr> z(lM*~xR_yKm{y4o2B?-?jX%_ir*oWGTn+MAx5+D?FFUa48Mm)!ov#y3?okP@rKE)g zgAu#eop4`_1O0ws*V!yxp%q(qpfH`cmpv7_rTdv&phQ6?fjZ{j2o<6D z8)8ZhYD&59vP!gxk=g{7Lt(bM*tD_Zgc#+8M`8AaOGJa^6{yo0iY4X_+6;+GROasQ zk~#f|*-9RuYp5W&A_>LCR9u19&IK~HeD6pj8{ zJ~3j+_4dIVp}lK++E{+nb4+AtR#b{nrRJZg^JujB*fX?AN@BypnQ>O4cN4;VQC(5? z=s7?53^1{bPQMjiOb=t|^x@D7$slvoMLR;S=^%*^fjQvf9c3cGo5NDtY4;)?dE>#6 z4-C42(-{alvIW!JpaMe5^h`TJfuGn6{6R$##LR$}co^$gwTF^LG5RQPFjppzLhgR- zaU3WUHMa{eam|QH(|*5$qjFe+$7HT#n1P9?o@wu%29j&PBzV$`5!gHoccV9@*` zHW*3K3-JZ+#j1{StWc=Rv&9JAE8v328MlJc>g~Ot{p=e_j&bX64Os;G!cUf^33-We z+~9YtUB<`hqH6^2WNB>>9bHBo>YqHOxDdJ99|*F}ZB3<^R%m9K0!312YnDXi+@s)f za{slOC>yjV{KyMdFfr*y!R!L1Aq8)bqOTY^t(l} zW{4ZV!z6miG=!4$RS35f4=GAL5T1>3QGE(iMaJMoWiXYgcT1@U6GG9Yjeoc^^d}wy zD`}@evPjJOVKmBr_XkYqi~5Q{en`IShSd`wW*RHm_YmFICJa$?y&=EI)H) zNuZ28%FPe?4m=3f{`543&75}(1?$|;bcP@zi2M%P=}%s_gvK=KLJ3cFt?j)7`IUym z@J~wQLnI26Z%iE7=+8=iU-jFK zKDri12XWeE1Nb`zzVUA%SR5DvP44UBl5HZXWm^$?bN=nhegKYaA|tnzH1Nnx2iS=2 za+6I$uVZbj62w`$DfNBu5f1Mg=q8 z!MG>0P5N5pZ8GSQ)C^VihzwV*iatf#!MYL;!|{}+S4({`m~j2b&nWLb8! zx)u#wb=_2dn00UzpSEO*o&k!e-F{E0sGiz3vGs`}G`>J{N!)k{h)K(db zhl8Z*UomxKaU$7;70rq1r9Xf%a2qYxIO;Qqsn=|kniLLar*W3yGxsjrj%Z`9;r1K< zED4Md5j=HshP1KtK5sKPJ8{V^5~5sUE*tYV>`0hI@O)45TtoQq|kk zd3au4a+vJNJ$6N+^dPl|4DmbV#vh#L0vdqG}HE9)I|(r1r7>9ar|b+c}k=7i%P+ zcq?ZyN0Sf}XD@7q*N^i-sP^m<^C_Ev$$ZZJY$KE!GLI7{9ObbKSfvz&wDC(z!CJgc z{($FAj}nZytTks?dwE%UY8+>H7&MLGMhS$J*G4}Q4a;UKDYNNMbB6A}G#PAFszC9s zaTLR^zY|Bq+xa*RQP1K0$$^j=9L4Xd)=hH%;zA)Xnm8`Y5%Q{7868NC%N6*G1Id!z z%)y?4pZe{dO10{eXjNJ>m4V`wkfVs2_A2lbky~9y;z&Vz&lJfU7KucS{JYlrzoln# zeP@@!QhreL81#ZP#V)Kh18PiKKpDS6QKt+Ow<;1ruR0Ys_DxnP9^GUFm#d{`H5Mkj zhqxctDi8WmwY^gKbTo?otv;U`O-^yreE4wJRe#JO7VVfP03M)s{Mfr>Tc z-=&DF*&X#gD(dUgW`H>$>>b6Q_0|?Ruqi?9N+Vt^rCg!R3+@hl^;lkS?c`fT@~~Db zk12wQ94_;xND%{3;o3Nje<_~-9$-%VGXUl>32yW1u2sJ-nlFz#R)=DSFW;xbUqXbd*qZX}^ZL<85nRaZEv-;C|<>cG1>OJi=epezh>zi?9N zRgw!g{$H`J=;sABY#Y34tEOP@k5r22#+~u@b~Mdh`?yunKClD=TqQh7qcX)1;}=1j zINW#rf^@2M#M(#;L%d+jE5Q>awz-^HxAzz^DzJ7u*pD5wF5ovMlYJJX7!y88QbKj8 zrA5;R;7qiaG5_{}6dwrnD?w0M&uItjGvhF3*PACy-U`%9D2C(}g6D)^3QD#ORqbQC zpq+Q~C05F01s7$e`A>{vBr+afUp0?Uh}W@|Ga9539JxA@N=A&UMC) z4xrtop2_NOI6)?0 z%!J`WA;kGmF$+z^yipO-!;URTnxoO!|uplue5 z&eO(((DEc+m1Ii(eu{Vt090XR-T$!QCGIW=$j;sKFSds0Ex`6OSHL$BdlGNkr7!6y zP{Z%9Ks$BDi523J5>PdIpX*@d6~@rqUKCJhViBg?u62R~$X^-$8hZTby2?OjLfFuIrsc*Ys;5bsYRRl7+hDK2_vLvsQ5!488Su$-Z zdfI2}aihAR(iXXa>=8Ln)N)Fr&jn9QS?y&Rxi~x^viX^M=)4ArmG76aUhu$Nyicg~ ziD!roz4)J=Q`##lj$?~V91-XoWDI)s!_nuoN@V7xd~Ajz_~1LyVXpoH$r+X|;(fNH zfP0gXh8BqpDWL#kg4eXyS z=i<*;e1ru9m0@B&&#b|DA$J?TzQg;YA&6Y^Z2?p?jQIW2rs>;@HM8KGKf;bC#Jp!;L%`#n(qn!IHre;b_ISzNx@XFTy=*() ztV_9eA~NmQ-4Q)jOgzeM)Y!U@FmE;Us}HJV#B6Up<9R2(!h#WUYr6B7#|u{k{nAk2 zw;Nac*0t+WsjXBgi5ddNQ^Y!t0xE5+c>gIy>c^qqjwjkf^-_1CJx=7;J3j=fdAaHOv(DpRntsncPmf$0%m`om( zo*!{ooN}azU72#qE%0tLaJq(jSmLoi7}w1U;9l~S3Q?h!^A+OqSWwToCrKd!Mtw$^Vt`aBZ^8xS zexjm6S`dJdxV(TURZi5ccuLTO`Z6r(oyRbh9k4X~S8n*F3ki7twau4dyOqvn10;gX zRa_MDv%y0LIrF`o92+C!Pa)N?nLunh>~}=%a$z%REDy>9SLJKpb&wWq`a3*@)PRj{Gv3*R!ikcaN9DS|y>o4wq(18KgexzEmN& zJ4xmF)BtUij*hVopd};B%y7`hu1CuxN~@HQbkhcN_xt3_MjK1@}UZv$cqt(B_&5)=0Ioq9Mk^~S0U zamk<+tX2J{sgjt{*P5lM)kgzBYwh-}iwD)do7VHUR2?mcLEA@5ki+(9yMBO>VChAE zy~jo1)}zvNz+#h9cF%PM4gS=~Ya>^Z;9rrh9sIma8!A_cwaqr2?%JE|FT`ih&=~3U z)i;IBMn)TUWhDD&m&eoTc7=X{htXGV&5{0LqubxHH{esgF4HRXH$RnID%fAqM55m$ z((ZqN5nCQTPPHs#%3L1gQjJX`A9)GBc~xLrudEI3PKVlIc-^kpwQ+o)SFcGjo%lIn z4HY262oekON`iW-*m@x{P>gAE-L3n@9M$5EqHC#$S96(G2B9-Cfab}?2}Eo=va`*@ zZ5zUqg!ui0)?1vmv{}Jia7qv!CSV+kj2>YKg0>25=O^wJkp>J47S7rdTxU%2@5-50 z%5SxpiA(Gl1CG6v#ba#3+DVh`Nj7(KYoPbYuJ^($UX#QXHBidRJNs(348gzJYRZ11 zpOIuWN?Tn_Ay)Tj+&*N?@}GZFU7Wq5Ftfyi)Na z|L!OkmWhPlL}SLgt`UaNAR|_Zs|mq8?d>y!p&?Y_wq|nSYZ)+gQMidp&3`klGRa5S zz_k7}tkzEc2&}flr5d2`s2Wk$aZ}?e6)@#lIIpBkudw#TdS7`3s#ii}o{uIlNDS|4 z35C;Wue^Cc9HVNifC_-hyTzBNMsu+8*Ab@fn<93Q(<+$UBiL^mY85tGA~4})MBRNu zjxwEbgxdX2A+oZ3V9i^5n^DUN=#cLg}|)$^gN)57}0hpB_^3c>Uc&+b{_3F9AY z_UKi*o1gOOY<*_l`YG*-X#yg_in{Tc{=qJ61Kc=sSvn6yk9mjkx&b^{t&$X#i{K|qE+-CA!$t^v_VS4N zI>k@x2dJe8@JxnfgEP>3Y2SDJy>W2L$@!AY^r<6VQ~Xy=%Gwb~=hNsU$pnVwb2TkW znzV1>QbSos1XKLKWaChV54lGfMhqHeiN;oO<(nB*u=LGU2Z47 z(khJFRjrZrN(o&$Jig!`Ya}_c+nShX3w8sH_^-Aqg>NK`amS>86|q(jo=}=D*^OYv z63HMJAG5Pi5JWV*F;Z&E4R<3}IaVT!nz2{0D=E9$_dPQ|rGtI{!hf6F7=z!ukgdZ) zUw#9rFu-X39M`yZxeGY_;E)kbA<2;!rgx)4=t`@hrDuA_&E{r%RE0?w(~8C*d3~Lk zxfs*&>incf#}KT_gRqx0w^GY!ju|}YZz&6pcD^&6*1|jg>d(Rg)~C)Y>dGw$Oiex) zUD^B>-cPXsLhY`{I~03QH!3Aa8{kwWNK@=g@YL~Dx$uVCX?G=9X#GOIUTxL3jn`|) zEo6^o%a3Sk;KA5Y`YDdjdxUmE;qwi;n%?t9T6=^B^Y7A<5tRk?A2_US5Wm-tQox+eKTNE<13gX{o z*lIv;x8plX<-KJL;LV1<7$JAG5Qrdq^|!N5u%c_kD}_NH%+#(p`0Fd-ml& zKhu7Nq%06qpHt1=G}T)a?nClPSRrH2@pr-~`z)yBDxyWKS`3uRaPlLaHOtV7rGHL}aOa4Ee>4Q8-=E?j&wF4iNZE5v>)HdmDpD7kJ22uM zE;Ap_9Sn(iEx!?-oNeE z@Oar`=-wpi(BTHpVd-X5k&z%)7Itc#FNh;PZw>CIRFOD$Dlg$Q{cID*J8n8}UtTzw z_=oMfqluj`;b2SsCD70Tx3aH&ZR67m$eN%f~TLBG$cV!{mC>|$tVoB1?`JyXK3Vw|S!(8Mk6 z{=K&C^nM$(Qz7l!9WP6>>@Mob_>#jrxh3VKp_LQuSuZnEyBWkJ3|T*f+B%!71m|xX zPmK}~@e*k$GHGA#VwICxI4G45us3L)$-{0O_NE|eM~`+=kU;S-Aw7MvDX*pjyaLPz zsiSU1i{n=HRKo*L_LM(M*c6nF$Mc@##l58%P@sE>l%X`$0%2~>aXh5S{tuc-M>dSR zl6`RIDV5&o7Ili@!Qkj$z+E^oR+igatc*z}mGNgdhwhY|`603Svap)Zo?ml(GGE4Q zT7m2FUr!>5blLilNO%DM`J05ZK6aGcOgU~ai{Vs`8H-F)5^qdeefoxr=_hQ!MbnGH_M!3G9X*XBch5vd*HrHm!V@S}2eo6XP(?Y5094V&-5Acy_@y<4=>WAy>Cb z-gN>n?}$!BKg4vJ<;tHoJ38V;7|xWb{;8`R5-gYvh}F#e;S9$}?wmTJJIyk8{=Lr5t$vO0ALwngHTz{p{LeTQcf=wqqynTw^um6? zy)rOWHgn}=OV&Frp|!HF+LdOjQMOY!bJdpC@%z++so0E)mv{Hwz~)94z>K#NY}BuG zqGtB+DNugwm*bWkcx{KGVmjQvmT5a}Qv(-<3*({Q=8x-zG7-`r?6CM#K&%R%Ru643 zdfbQU8x$Xi&HfgM*t@1&bU}t8M(^!1(zHM`+QpCnV^m=Y=TX!LKhU@>H2kYLZ5CZX zUk2;wJg0n$Y*YbKlwN;^$6UXw+UZgB>%M!bzL~_2`C?DOVRhg3y8+yjoW*gGkxNy3gQ0_ z(>LVzxGl(TmfeVWN9XwrL?IiB0Xp2{xsDD>zA1}!NkP_jGm@ejPz88mDIp6@a3vv zc-_8mU9pEzc%A1WJ&k$q`@R&=j#3O?_0jx*h0cDQe7;A;8_|DtN zui+tT5;e%fEBRcAMOb~Kk8j#|4`ZDtH@3G37lpP9eCd3 zR+Xhzx!CJMBfRaa7zdPd{R#^NZu6mkwYXjY-ee=Rl{f|}7t{fD;27KUol3Jy70HyJ z9E$At5Lo_JP`aZVUz#Bsi&N?jerMu(HP#9)6Rmimrf#*H-T~BKuEp`17{SiHY?GYT zhXQN2cz307Njdp!$b^aMu7=k>ztrl;W*vz$c?qR-jvnp0oT1b9} ztDe;&cGH3ETCQ^?(aL$YSZnFk6Misc)zCVj;RhX0`+`Uy2R8*a5S?WQQ*@svhFzW? zhf|-nN%LvWcXl~f4o$>-Zc@wJT?#JQyKBO6!Vp90J^G`N8B>ii09q(A-3tlxIx_Vt zi{kyX{HY{1$zylBUO)(lg^ZKjn-izNWEGts#zZUG`O48UaBV8GKo%N(+)C!&L0?u( zxD6dIJ=?`vS3hZZlcYEC?A`hE-mi_nl?bAU7E>22gG4CqonUhagFyoV&%2bkj5s`2 zW#a=qmsoTKtAJ3(X(x*lOyTDZ0={_IusirKsw`+LIqv<;b2;-vSq0O7{~Bm2+-`z-p413TLjpbYusggcC4>L(6) zrar7Ge)=GzKPumS>4;>ZRdmZPl%ra0!(`49n-BHK+$fo+u7x+Rf50+wr(YEIV*U4n zCOsg6|ex3$H61gK1skPTRGbrxZ5%oUF^ZO34gVE z)13fJva+yW@XB5f>+>!_A=|keo!!rBJW@kpdR#g6c`-CT`ZKG#kRiP`(PEdXd6(uN z`Z8`>E|722cb$IOzXGGOyU(K2m?d9(w#(`aU`h|PQD1fWVJyKqX|7LNUj}wPc42sQ2>qVp?Ly%DTx;((;{ZXYX*Bp=C*GE8d-ueC=35 z^u^ehQDhFsDnOD<;4zv72833yO<6(E*yv9nKiXMQOl^+J+(e8f&NUVgF#A+#z%qu{ zem@!Qq{0R&6;y2L<3zK=@QICgwqK?nKLH35-Vi_i00h;_7g~R)o-7qwOfNBc<0NCp z$6vP_8t?0WH`8ROBPg1FjYzk9zYS-r-4*k*5re(FF8BAz&#En?!R-}|U&UkE6Q0L3 zPLG==Pi_207y@OMe2f0*drvLSUfARe*}lNE-RNv*O#bV1QOGd<(&;y`q8UDufGr>8 z-Bz=m=EAo1K~nVzkoen}5}>L}aUoIQ3YrIg?=Kv34%hzRIMD-~4=ngLZj+O7RuQA# z4$+}sZAkU}6%{Z=(PgsVY{ZYJkMW+b>2ZvG))P%DZ*wdV8k=X8&=1~Q!=RpMq>aB? zbEan*oC2abmvTXJK4gOQ_%MP&3lvm2MhYT3T))7_oQwJIC_LgxKwBod5MD|-f}hM4 zZXs2#`+R9GX1^{yh0Oe1Mr@vmkZRkJI4cpr*hQ{(!)esPgIS~1(}!_QdSi~1bg|M( zJLp)rva!33M9IZRtvoQ1(H$Zt)r_Nw_mOGV&UPWuf4ZJ^znV2{-v%VYbs_NM)Vj{` zdy7FzFny}E2t-_i!9q-Q=0SpFz@66XG)B=ZLE4KXAYi%M$3&GJX85*M&{WkG2#=_r zlM&pu4HPbM%E#2s;(v)SQogq{PMpoW*Q+`DfDiw#kh6v@?dfd9TPFMkEcjSL zb{|RWbIvl#aO0=43J`j5jq!`C0REa(GOZpN0Y|I5OoaYGHH^#d9n|AD7VAxTC1eD2 zw3KLbLAzEs7Gi$*V@K1(mLObu!fOxP-utA~?vbBoPnu$Ssst&Fh*S~~7H?oPjl&HJ>&MdWphOC?MEuF8;V z{mp3sa0Dg@I`hy|~$-`)YjhRunzML$i(Gjb8a8VPm3C73m^FEgW)BK zqgw5nil(P8%btZTLz=dkajCw1eEfb>GQ$VZWA{E(U(GpG0%vgwTkfllvulD4ygzrc zv7;#j^Cj7BWi;bDMSDJb=JT(xSQY&J8EQ#onpg*`PdMnk{M*YrZ9p)hsoT-m!4(6- zEeMh{VljXyw^D?Xt~xvuVsc!6N1Ns=NH%B#yXQ4K|0GQ8>g1{S2|W*ZvpY-uDXk@r zPa8YN2p7auL7l0NNg~aPK03Hf*(t4g?j{liPSFayCm1T zPtejG5P!#ucU|6Ht|2Xv3pu+MMlee9=oX#BUuvQ3z^%XK<8;phvA}Gazk?*qvYl}u1wU_ z-0?T@pYrjpGa9=;P!4@AG(OhVVEtX?yH(9HZ$6pmrn#cU5v^mNS1)&W->T5mn*hph zlZIP&R2fkI)dKh+N5RvNUSx(6Xqt`P4^Ogb8UI$7!iE_vVIZruMe$QTK$dnpfl~WN zvB%2p=Wdxep^waPlBAN+SK)5!&2QBMo!s!eo%ld@FDN-EK4tFo@7I2HIH+S|P-aTE z3(7RoK4vT79Ux!HvH($j{MsLwUe&2{R1{ifUQG5aE2lv`{%A6k!S-l}MRkK(w?!@-8M}!6-4K8)Ef2|3G*WFnvSR;<-v}q6=mlzez-s z<@S<~+ZFM#zI#}L4>E|-)X+Yzs=#3$6PL_BKM~;kY-}{j zqG_=+5ne@k0&ieqZ2d$ai*-H%aZX4&$_|`=%_CvC>_^i{wzl_|01WwIl483nrzkU1 z5`3l(I1{tp9nB3j?(#=0%l$oRlF(m9lB^S{MBPmfSIFOEEBb(5R^m(kE zF$rz!zz2s3t^LgKrKEKqdyFnas($u}wSBJhedu}rqs=5^O>!SHv3@(N#n~N5xZvZ_ zlULMfe6Z_2+pYw%^ui$1662}z{^O7~8E~gYMjND;61Q=0Hc5ZP91Z;u!4_(TMOd4C zLM#gGGc}519j^|ZRe$VdsRJb52Z%P^p4>{EizT8fPV)~0?8$O%0q&m>5%W*(6mthm zZ&9vS`1RY9VZl?cN>U{IitxTq=xg z*_B!NiQ#PY1X7W(5QDZbe7QHh{$mCD%!>sDx_K#D-4?JiBE+Jm?UlP_G6uh6SIDN0rEKPDK3IL-`O25JTq=I0#bptJqdg~hSBI^E4~Ig z|8br4NRZVgv5GIH$16;LrN>WU)@Na-rp;SkN7zyDkwBv3h`Lq5Dv_U$)>>2G*-onG z^D7(og}`1@Y;cs&~oF8%)kypc0OinLnv5@ew zZ_p>AYDrp_RepnT=Mx-EaOcZ1HUXQ%v9H%LhVd>eZ)b(l>SC^4qnb}ZjqhOYN2r;f zNiI;Kc`qkBB*&-e?VlRUSJCpZ+ z!-VcV#xS2#yFA$(oRqp`WkdT)=P?$T#>jSQ+3=#Q=!HmE%*DVtXU*2OyijH`W#Dt3 z%5JYui{&9UL9r3EGvoe{WWi^e-|y7K5shih5(=a^j8MKd5#eLTS=91yS{1}Nd@n5R z$9Gxq>E49a!Y~uH$2AuZ%KVennkf9eq{jQLe`YBT zQd4s*8u#@bwDAr8SKZy&AZqg-(%<6aRV8ojw5ks_L}a}czEnMgu*wV z5z?Yr#VXtj(k>L$0!GHe{v4!!sx*r9jLC*D{S44RgG=lL6R6`j^i{2>wz)?VR6KbE zo_s8_M9dPiKh!@M=ak1nR(B|VfQYIt^gL=*Oy<(TW0o{;>Si_M%Tq94 z3zgh&b){(_~XbX5;_DOlmnATM=PxbhqHnG{Mr6o+B1r(+* zU}CLDOG_;tKXN1&Al|$#Dc(wUsNTDrGAqK)`uS9e@Yh9Siwk9ohsNB89s5p^JwsY! zKJl=nZLWk&_i!;$f%#AL6Jbhlr^?Nl`s;?hagl>J*CHLsUWd#sADEhzp5nkB(Yy4 z@k<5>(uT2h_PAL8-pLL0#4{nUU<#d51p|-|7&Dgr1-0#B%mJBENe60sFLj5=hPk!- zCR+qPr=v4dWWG%$WWwl?O5wNc5oBz!dM&B$oJ8X@%M?cct<&W?XYGQ4G4tS(S8()1 z_=NDlO1*KH)JpdK4AJBpeU&%ZIVfoTcXNcwKP&0)6JlpbCXB9cxCsT@XDMKjFNKgu z+1%Z;NduL8CqAzHfgJ*RYQ)k}*VT<1zA&MOll6P~F<~X?8|@*I(Di(}ZuQYMXe21k zf9UDVwtqwAYu${_*KP87MQv3l^*f0T)koMpZ0NZf!pocG zn_Z)m)D^BGgp;5Wsr?<^NI{+v;(^hnkP+W$%np?4IrXn%t*7)|6754@k% zYgEHso3isq2faE{nhKmLyv1B5FgF#Gvq{>D)s9b+!}-QPZY;GA1Qyl3x6&l>Y!7ad zjkxUn1Uqh>9Q)y7tmMT+5linyf#VbyC#MMeRJfA~&S%sY3Ar-(j=K=5 zU-K+|mG};yg!YT_Z{^|b_^}2`7x30=kD4;b*|R$>p*pjZ$y~KEL+dsdyTi3BZO=;0 z$DRFCbEkAX7N^{=CeBGlfo+N2__6z{cj-Ka*hx-aha0k+KFGMwp`>WM zN!S-8^yQ6<=|kzobw$}?4;imj3t|JfS>Dc@LtY^Yp24m>`ZfEKJ~dTHSNhYwoeOR zN0`YdP9{VMg6NM}i^pA--ko9`_AG^P6bSRMHl$qcXP786+N`3GN94D z&X}Smp)`*Be6X6)$%YmS6H?&-d_GRi$mAXHVzy%7R0W}B%M?)9ILCs#H+V5o75?LR zUvCqO?p_QW1<6>(3#nr%1D})4j~gE7@>m5lM#C+J=YQBEj%S(2Ha$*R%Q{Ll&0=fKpc$MMX# z?W<>R)AC%cR%gVlNYOX&2ddV{s;P)DEG!qwfJmB*Ubot$J?Hy7ergIqsahPlC7>1( zD|55V&H17D^Sst!GS@wvc1HZL5O*`IV||^`IeO#sGYPdiu-vQdeK}!*Yf&nAm=314 zA}({h{oY}X;xm3`?Q!4$?af@SLbw4Q>Kl&c2WT?Y-*;eNQI1*#(YRS*N!VdE_%4rS zh}#t8R7cv_uT3B}Z?J7T4xUeSXo8NVd6eIq|K_yOwH^_qEO|&mkqXLAsuH6?J4+FZ zBp>Bi{Ik*Ed)WrhA%FZKRWX2dMtz|iFIt==ZBlMwysP3Y;sc|>#dpzxz^)^bCG>l; zGGLs!1nNJ}D~>WO5A>I9bx92pEfhj^I;1%wW(0LSWZU6S`^r$8_Q?bo{S?-?S?t7S zbYD#w@SLTDr1T^lAHzin2s}J_0uK+56RVSpn$D);RXk<#>ve=o)3`!T-KO`G`V+UH znJw#cfi%-Xf;2Tkz>Q@1*wJ{koE7*?T(cOxF{&OvggJEHLPTjUSEMJUx3K#JEoPp* z+}R|Y*_pAs9X9*)9yut}n=4-CRbQ+!#YGd)TRLrE1R5Oo>K zWtCi%{WdNAFmSpYmdVdt+p7$Z4;D9Kd3%WJ@>q6Jt^V}Bt=MnHY5l*Q@pVV3k~2%Y zNiSyx=&l#b6vIIpZ|edaZJK#?&iT4E1MQ(>(%bG56i%F>-JGO{Dr!AoS2?wzC2H2R zy8|0S`wxwKmVp8^$EcdKVC_RYux`c{RkS=Quq&S#CmFdVu3Vo2cVH_x-W99KdgRs9 zWHCW~1xsFE&F*_OX`kqXNnu4EF!ZRdWs0D7u2y|i79PThXN$X_Tt~hQS{$t!DV;c8 zc1-z-F&iR*0mDThKfJq#!ZIo}s_6}s-I*-UXTwx-K{b70k2nwT*wY{j?1$OgVee&0 ztFJmk^Vr=#Eis&wR}JS*z#BcrU$5Nx$q;h-oTk@Fk_(KH6@+oW1RIE;n^6Jw8p zGDCaKp(mQuot&vyb`8RK>D%hg!EC(jJtrPL6yv95fllGWvH2#MNBU#UjyGzZYvosI z9hVUb04O-)oogRw)GW_*v^_I}C)7x!b6hpbOXu2vPHl^_=xx<|Nd(l?&@*RMX#WXR!&Z3TanU9X zF7m*P6&FDSF(qaWB7y<=Oj}YBm6~(eLD{l8d*5KdN!Wx{z+(0n6K7|d0KIG&bBO(^ zP?|h`9oq|ij6u)hr!F|?aES&n;E1cdUjs~JRlU{ zXtGkYG?{srK!)m1PripfZMsIZf6^l!2DBYbVtCLcroJ_KgRN~Z0Vb8g1w5rnQLDN~NP9(AwS^Ee& zJt#3fj!rRJG*fKMG=_r`_tfprvURRk3mv|}UWZfpf=#z570*WA<7vVvdpibC5l1As z2}R(2ParUq=Ti4U1YLCH$hKvy>ph(W3-nXpaHy4xJdn&pKlX)#JsqBM@&T3Zm7*)0jF)D z(aIjwtzk)QzfAC97K}bzqzI=IIEYw`&KN|5tU(sWdp(`9w^j08Rn`gd=YYam=JC%( z=WrCw;24X))N0?ebQV$p0o8R0_|}*?5IApE!#F z^=CA}0`2j9l}y2-zD;`Ey*N(S>f9`X=Z}YE4 zw@sdhB!KT%^L_vRHV^)$zP;6!Gs)cD(-TFrU8}OT^T~d}9R`ZjI@U?m97;#8-s~md!XYA>Z;i?bM~F z^19fyS~PYEEv7Z145$*@4N~L*hjwvyn8}5o;)q?ceOzmx@ZtYGV11|=Jd(r|YrlqV zy+XFjEJ>FZ7|oq<-zO5X3wW!xz_~Bqbl~raeH8%4QE~>w3`Q^Igo@~TPI>SLKAeqI za`*VB8KZzgd#o!SvEIi*S7>^VCbDA9$$g$`2tI(1=bx(@9$-&;kNxw=s+7&*@*gvK2cRI3Y*h+Tt3 z;avVt^+I?Uzo~yN!k3`?+1hB<8Syp!oeL-gnli@p6m1e4&vPJkjrK3bH}vP>Mei*5 z9D9n3b_lssbAeg`ae1X*_b`$pmDM8K2WZo|&IYeaxK7gKnl%Gaat<}m`bw{e>=ots z;5d7@UkTu%R;%sw+AD(^zuB+)k4lmwxE4};DWxz`DL7LWj35$7?E^3}!H3ZvSE5!Ko zJc~fPmssm=$H9_@!KEby+S#W@I^Co@8gZprQkGA<`YP*X#8%z7^>-GvWLQPfE7Ghq z4L_tjwvrProdP{Rn-ydUu}U%s5lt@4QKX?VVUB(Hj?WP52P5>=j11g8CoIL#dwm)x zLwCy8S8O0LlT-11ZgE)pU{cVqx6V#TRds%`Pf5+DdLW?Nk8|@ifsTM4JeFvwPDt4+ zc_g{FN$pIcGCheby;0~6DXA%^DAeN*JvEmra9le!VKLq%DM3KYmg^F2D2YbD75nY* z$S_>AOpx*8&L2i_A#?F>Kk-k`3BC(8fHD@sgsl&N*y@@k!L^?-$Z_?|r3RUVxw;}P z6B_!Q)>S5;L12hu$Ia@!1cuZ{1Pg^=U-`E?0gf6m9Z@febD|wZBOf0g>`rST`$i=x zRro5bZ?H8a85|uA-5budktF_5g8RL3h^~+Rq=QwV->L zly|4#36|pCso>OnU|ZNNezOt)l9{u9@83_EvKgXRBI}#ktowKP-(4;;ij7kyT|FOl zFzqd{T;N~X3BmTb_`I9HUH0sNJDpnLtLWVK@*g@pRBPHnymt(vsKi_c&WVx-2`Vg1Q9xo zZZ$Jk@D1!GbX1<55l)xh+vWoARhmMx>oz)Gi`6ZDV6T6tW4FFidURKmBd?gUaVM3= zbHK^vnI#zQ%umjRKas2gEU%j-uiFNr5kWVm%m)s*dFV+!Y`sViGEMKR-fJ^3qOmH8 z>~FjvI7g5nUHIuDSw|52}xE=PxW+{_pxQja~g0Hq451! z%4vSLVsgpl#fN?V%|MC&BR;_SdG2C0+muZuz#-~67gGK}Uw7oIMpyF(=bnpI?3$@8p-l4OW#$hZ%!ByzGvVI-Heq$e zI`gh{e3yaIuduqBeHU|uY@6(@JFxB_1Zt2sDR&EqWXmrSp=XK4Co6>Tr4&;<+r0qk zcP6xE;60d>B_a9S*kmOOa|Vw31}4CU>Bv_vGObzXd8|BR`Pj+AX~~ zekDNP6`*e?^dxa*;(5V+v{$;;e^;IzN8Qzidx#3b>U%s2XLVNmAi8QD%hQ$VJt_fx z3L1L~#NKs@%rVZC9F_bbOH|}PNb~fktEROu^f+E9Bp#0uoR7WHFp`)yN9|6sUSzlH zfQ$sJR@M`9>HH?RGGN_(ELxEpQ{ML$yh$J*Ahx;_PW(Q|LadT{z}BnHVXx}ZSu@gXD`XQwvhN+ zvDTy)&DaUN-DTS5b*5$M(gwm3W@D4pJZitx*K`x=iLm(&&ej4pj%te5d>REUCNr%T z3*|P$GaK7QUB2-js)|tg%nlzD#1_k~czsVYbqUz4_Ya`sSD#Tb=1+fdE5u_oATWcZ9~%tQ;E(kp&MwR<8lha z1zgf-(bu7W4=6a6v#iE+_akE?O_#gO-ZZ|N5y60(`PT-E&s<-gn$Q-FAMp8RN}2sB zWPg*f*Av)K;nS6NNio!ki2&VgSk zgzw&96cIE|`^Ay5nKM4r1R7Mr-f+SYNVR0-K(tbgY~?<^p3@@G?w`cBIS+68oh14h z+i$%+_g?pAfGmCuS|FHn-XE5sI)hSRlM>Nc5YaocSaxCR`y6)FpG$%65RV^9HoV9* zfv}92H(TF)T8)DmX2xzBIj%H6g&|Rzj{F!-G^@KDN46=F-TWL$18Yc1LcjIa)O*d_ zK0k^J!XB>vG$_9LWGbXV&UCTy+hNV0YO)aIJN^wlv;g5Y@ibK|kge!Q0Ile(ZN9&K zAp03;g<UfB9=XgW%n6>g);}@5kP)w z3=)lu&al8gor593wQsj%8z$oH&x-B;b!>3UvDDpsGA4zP6>3)XUfG)92_5;H zaRGz4j{&&R40FX}H{GWYjx__HO*AKJ%Cp>zT!j$e{4-G%caj^<2NV6=Cfl6v$<4Tx zgf8sG>uiV1RmWJ0H#NwCSM~aYkpm&f$cZidAxvK9i z9jPz`epDvBHjxZc%M5BZM}GW_wxPa@7o_3e@*w<%J`d2cg8^<2Z&o7*rR@v+)ELZ`no;F{Gb(bKu@~mbTWIIKV0TE(jS!n*Z7`L7SBDA&I`Tph28!U)Mqc*Dy zZf82>ix8pX1LM+Ljz;|xA(r7HgEAzOjgcahD_8yycFR04MpxL{J-q6C-E66wCpixQ z5z@%odS-IVzbWi4ATOXd%K3xjo7@}T0L)_lCqk3WM#IWT0X@GJp{;HBd;Oas$_ArI z^TdEUESYu(%6^g}KYsTT<0PgMSd8OU237wJ4B$4mwo1q?x7`qM;&xu9p?U)+9f;NB zQeY&?vD;CSL&}DfV={yYMVY_k(m)QN2qAgnc`PlrBNs(Tl&FU~+wEE~MujMaeXO;*Th__58$l$X)pL4lqc?_5r7eF8XR!zo z;yzZ`y&WC3BvORj@L=z6(Z#=kF4|#nK>c^ejX{Aswv-0^_?m}3VMR* z95{o{NWcSKa)uh1B>I#Q!^IMAGq8*CD zR93U*Z?R1~K>Vs+Xf#>pgZgB)AhJ!_k4Or=6iUBcyLudtZz&Wks%yo5L$e@4fI{~j zA-CAopdmQRJ+N0fFQpimO6)U7(FUbR1H4 zclB51Ez4$UG4`&9E3Xb*mD;P2h{lA$hl8rnMmNMg_0&hh=ms;GFi4PyBw(%b1Icb; zggia{sGf#=g)g8%s}s7b6~wP<9Cbrb1oHMs>7^Q1Z8*zl(ISWa04?7C29x;icK`Ud z2s!_gsJo+Y?;u;m^{ret8Wq7Jpi%F^s$2xG)DY}Ab!8b$aY8m4j=+- z7?F2HNioh%yd<~y4>YLf4M-JFn{Et}HvSD6^nkh_q+|Ptd=mT^`2G6Nvwy4x{+|I& zKxKmUkS&Y+LvQMjQAi2`D&YZ=T0d4)u8{nam%PPqb6b*B`qkuZ3iiY-~AEP3KpM2YF|Jq5V}9~ z@w+ADu=qlN-}fZnAyy88(ZK%zlEbi7Pm$wsr2BH6-*cEb>Nu?A{~t%mux%yqQ=?Z+ zyj9BoO%NZo80L!JG%}|d`ELP;rV;p3qhw$xdYEXS#IIPgBm4JzQ`G*AAJ@kpA#x-c@BSyacMw8Js~1&^{BR%f`}8|W zGjdFK5U9?E{mvLk-!V$$N~{u8A&El1Br&UpAwUer{gUb0oWM?YL zXrcCHcOZN8{cjB${jBWb@I3Di`xWCOD z`Ku85v1S;`HTP(jS*KtYE|N?~JP4HsJyu(|ncO>kK*HFh#U4Dm9ijPu8gP2hOy%|+ zCJX=^020Z*XZwL{*k3#lSZ(+rLP#TGj0|DC;%)si)PcV}dViwB6#h|=z~{otF;A@4 znnqJa8M$6`B)p03u}kI3V_fSdZj6tHZ*(_0@LiDtv(xRwEU<^V%<>PNOUrKv#sER; zK-s@Z2DwOK_9sO8D)~yn!NW){GDzQ839{2Kn{{qFtS0-PuY&ig^xwzlx4w#%n1zbr ze*^pfdl~=vDsDIlNKeGS;Rs<}SrJhD2M0O`rKz)Z`QGiOSy_a~!>|gZ`rVAWHsr=v zIrc2QU6NEUkiLp=o2iO6Qi6ktkiN=%SRT@1-?;TvqHAM5*Wb+4Nf6wqe3sU*%9^SMx@5u}gT<$90k!^F=y8(pUP=$3VM< zaoGlo!heoxFakb;h0Eh^ZMR)!=7?>)c#AHUE%>8o9`- zGj+2WZiEx48E~`6qSng{ZuQfYzqkoRIhm~4(7bBj^VLHEAl~7PT?dc~%TdIssI}*? z^$k++?2`F1h_#E@Ci9B*S-f)M>zRt{tL!BHEa2kt9i6JcgW_xezmVmEaU2pLg7HpP*R5*w?)82#fv12twjWj+nc3kjC> zDwFnFp))<8n%SkY8Uf{Te9KUzR8A!N$n62-S&?~c7}8K&j(S~=o?`c|{eAo0*^Kqq z1#}MEI_Pe_Z>UwfV!I;LFsb6ebo~&kMYSJD)2nwt6bTApcb~i4tCgp`j0W6OJ0fSE zv120b@r7?=?8-9{2{s$@81ppCb}#mHc0N8z0E2Kt67YXK{10_qh-S@}?mr-MuxQX#_SLv;{52rKR^Tk zZQ{46w$h#!TjAf!(}RKFr9>%<@@ZX+-l@;eOD#+Zna=sCj#o?!D$n=L)Ai%!?Li*~ z5B&%P7rzun`Mncj3pp5V2Za^>UEl8<)n)80if&cg!I`;=kJ?Y#o~6I8u&+!m%8RMJ zoO|t7_R;HIs2i0EdVwdd58DgcJ<3aJ)rV6Xhbl=|LM{Qu5jNR}rrGPGVY3lVibYKJg64x)gy%dB-hli8=jcX|K7g1CJbz66`{8Q z(zoM7Q7BZ8wzb~EOBI7xSmMHBdt{`YbDIR=381qDv8#ptW6$klYSL2!8xn_N3`72? zK$VI8Z9o)Z@qZVe!Vu@x-K!W_E;ae9`^ncAs3H!E8&{9%4%54=S@J#bw;>lxx>rm6 z>FkbKd`#qJ!khUOgky3TE6U^b?VpZZv9q;+!7ng1o5(vtxXFkvHfOFjR|u|m2&6w$ zc4|Y!c8SHf&Jc2m9u-Dk7c;150{Jt30jz|p6*bQ#HQR0ybbFI`@{X*FqyO}%6E zwmXj9A+|FF(Q%|?gFHB`-adW!NW0i3&)q6O0%*7uioZhMw)abl~q>mRtz9?tF|;CxoNl4XhGjyx+7B zl+-`-IhPcgvstz!;~A8LtHT*{qw)0F{Ig?ZJ6XM2}nGcTCrY zpX|pH!pANBFFg!4U#nJnlNLnX3zrlEGL}#6rv@XJg`9s;aGb6I*E)7!vQavY<~EL%-V zTY<;tHNiJ|unkZI85;_4s z-N!i{vl0pmvG#~{F!l20cBruQIuQ17w1Q4^B0gCQqw?F2R8}zW{l0V7fCaWaNCuj~ zS_}1cMI1by{eD!}m+;-*Tw0gFld>b_Ffvob7z*6wPS1;l~$Pfj0|Iq8n;R}VNX zEmTM<>R=@t97}`uzV;*HEFiMf$MafltZvhbFLfMo@-qDwlcO`Y9-;|{iZ4cnT#qMT zs!#SE_%Vv;LxJ4P@T9{WQ{KrYLD9Xh;g;1e=#QZgvgaBDFdAr<;`Y9ET6Y$fXlpi* z_TE33bX3wW#cuxsJrbtN}+vyHcB&f(!x)T;D80+-O!z4Yz{1f;z!JabR17f zTLkWml45PyT(sDfBr09+(p=jqnIA8ic7+g%43%HTaycb>kH7&A5D|DFQhJy6DTDVH z(yboIkXh8G>N_=J%SvjBo}4CapC&DbBve209;WY3rNpA$xj5PIr>(hX$g_NJWz`52 z)%7gu!_RowB?7AYFSkC_kAPjGf(*~j>#xrPA}&mV2BunVCj1^Pl|<~1909fVqvYGb zr|pV-t-$pgjG@-Hz7#yvv!4P|2xe*JXI?TU6o}8zRq&l(?#0yqb&jFo*b-KxVVW6i zC9aG5z@7~5$SEMoPnOVYCZvT!zva{)*KS*#odXGd`cME!tq%~G3aie$_pALZ*V-|= z9}&5fp_aFLSJcpJg)GsQJrR6(MwjS0@bFMTD|1VVE_h0xMc@Z;J<;x_0C1&=G*Gke z2=y|=x~T93sAD%RGX^#FBZCwWkYm#dcY3bIcxLhL0l_v36jUh3FBM$}RuKAMTI|SB zj86#2*wvKQzLd`EjX#&?7LOCplkj?|=+Ifx%WR$KP&W(2`L}gVGL39%&^TL1U z@Hgwl5o!4pv*mS%xi_&|@vn7lOphxBwkOj;{R~j91HX^r_Z3bq0i)>xNP3Q`S!93# zN%J1iW)_`7oS*JywWr-S)U`k+oB1#$aOZNU?#GWwp1Y?fp zao!D%CSR>4Tl+p&_!Khe0hyYOBX$NB`AnR9zT1=q!hGV1m+1vy<|=PID^PSpAC|4X z`F_)ezqU5QGpqD^zOXzPvnQ)c&k0oSYjP9T~ zkKgGl5V>Oboq;A2em=_H=+gAb*Bl7D(;R=u$*o738b21DF#(arjK34F{;5jv9y%I+ zSbrvV-C>}A@Wq$=Y;AX~*H^dM zzd`k}_{@l@~zfsXfpea_bjX z?H!^$9d9|IM$qnx-Jy_2O^#97TIuqRGrM6QO7QusObcd?>yAsI#TY#hQ{B@JHERj) z_$!O)f1b0C%y-&A63%k#LJAGQ%* zxaOM-ROz2T4O5>WxSAy>E5HAp?Im2qYxj|t-N77zSB0qCyxs*zCOpQ#=zw@+xL1Fb z03_Mty;IGnDG>n!{aW}FI&mQlr2R@CDT^H{!w@O%_tc6xEM~?$9RIFU-$kfSaMT_RA;k0g8>RuwgFdv{G#5lCKjy`tw#2hM0 zhW^&)Y4V=e7R*n39nNQsaiV%U+iJE7puYP8I>!m^ms3MaAkl=pRQ?njU8@;wuN3+4nl1?~QG6Bj z8rpOQ;u1xQo=I`67V}uy_RUb{jY}0ewU>Y8i~+ql6?qQEBMWjMhcrXlsm(wyAZX&h zE11*GnF>%lyt&dKBU@z5=*hd1#8$>sA=C92o%KAlTR>D$d4F|HM@p-J=8r+a=mQj! zBY&*Z-e!B8}{;x+{{YOGOb4u8m ze4nY%@VcImUebpN{2;Txh`$$W+|X{hHN=b68#^{-uzI&%U3G{fA+e0}=u9ec!YmVJ zEc01>XU-sc*%887yJ5^R2{9?~{%R^}wl3?zns&V;ww_ZwQ54T>+360k;B4Nn<86iY z_FtFko|i&q@VZz>LV6X%eD9F@nPjH`o*k7q?OCPS@K^0K)1b+xC}%GT1fQ}HiXBLb z4Ou3o3sk+}zng);LTOTbbp6YCWbBNvqCBv}OtEWSxeTzCC(> zNg)UGZd#>5ticrKLZt$!V@Oh0dai#{tFGBFCrBEro2z4p$iBd1DglL0fm9?u4A_+Rl+qA7 zjJrCvgR6V7Dy}53?hfakmNrd={VVZ!RsrIRd7ApQhfNyl^h~|ucqm0AR!5)kwQ_JA z-k9(J)a?$yE}6??ud$mjXOZ62nt4OmTf6f!q-KSJ)%hvBl3KlSl*j^~WIEbxshA|` zt2!sS0lz%{x(;2zIQEzNw$sNY?IM@EqxbmQW;YT_O^XhK@X3a_HlUNQ2rkq3RW0zy zSMLW(id_NrK+SjuB1*WM8VJ!0H!mjbwaS$!_@K_L9;voz_+bTBb*E&9!P)wcf+8$C z=Uh;uky$KtxImktQ6WLI-7KxA!7WTbGAvfzhl`9HzvZoZ=&(S^k^?o00NG*eYdZ-( z5+<0>LPr{YNl|3;7a@KPf_u|CR3oO2BCQ6@!Cz9s`Tj4s21of?@}cE$%`qrvMuMj0 zD(x8N>+w)7^mHiU;Sd;UVTdPMf;vN29q1&@eKf;su(WhWSb}L{{A!zZXKBiz6~00r z795RyaMK@YJIs~KEKpfTu;7f)Q4hZ3gp_e`dg%vCf1!^bxSIKV<};sZqeV1A%fLmO zltCwb4-d*<)EGP?`0%Mv2y8Y2bYZBkWOC6En?UyI8@-KfaxXeV2ORW?{W1`Z4OEss zSs*FTS^1>n32o>25zv)}H|01lY09~F?w-SWANqUlj|+Vs_j4UQLfbw3 z_4lRW0l#KGcoI^^b@-Lfb;_Il*?E`#;UL^M1F|y*+w4Y*SBb5)R7dm?u9vj;YQl z1Z4ykKmuTx?JINMr{}zn<>?!dd(s8h3B!DsT3b?LXc@bd(=l1f!e7#j76des*3-_t zmTB;le5s!S9p(?sLD7RQ37HUjxf$W>@l3wdnY@X68p`X3zKv;TpRcFo+_NBS)XFCx z{3wVv>f@yM{74J^@YB=o)6jFzfycgVXdHRuk?q-?^=2c*1b7JJX!q&iF|=Eu`Y8l9 z83FPY8JpMs&0-<81l`z&l#wPxPjcQ8*M5fgdp*g$lyTkP4~@jr?kg8PmhYUkB}F!u zqfEKPp*Jp0`{WfSmC5}zXOz+9x1B&wSSNUxy&f7Z{NQ2b)fw2rIV9C>Ed}p%AwWQpR#>gpEvgtCm)RPB!*#vPPJU<0cP+Fz2p)1 zX+0Lh^VByi+qWaM;5T$Q%E_x=30ogRJLOY%^5lN5`*>OzI|K>4Wrt}Y^u>f(^K8PfVZt<*@fCunU4G;6+>H9umSL=|J$C9!`%`b?VcAL7DWCiE zl+UQEuYX#3`QYh)O-HP4bbx2C$SGTKA+Xs9L|?bt{zXq`wP%w4ZM6KXdUJnV{n6KP z_All7IQh?WMsAH?msgp!ek1vQjXz8v)Q6<^Y17VkTX}6|YzeX5X`Y!dqzUlxECrr6 zHwZljdmXF+fcIP1*wW=0nn zKQmHThnNvrcFG8U9MMYq_SBZ~^w7@;J{{H@P#xfzPi6^)-T4uKTjUL1oOqsDo;0);>!Pzaod0B2-#h>x-Qmf0b%e$6{Z|MSg@j1IZb+J8*Gxwd}yt?yb}tXq3< ze1Wyi3Wto}VOMAt0);>!PzV$P>qUSgvdO`7V4uwpF8I;Y583}?KX$Rv&tLv$*Idvy z&fCCn?(-urXvjQiy_HtELZA>R1PXydAPCqYo87Tq3+CHNUVn7KAH2lP_P^!LZyEjM zPyEo@o3wv!bfF7-(WQ5veMeiiTiX{F8Wk4;g+L)t2owVAM!<~7OOyp4MfF(?uPF0! z>nkMsIr4AC128pI;wca^H`PzW?GEUHgB>+W%wDogl5d;wo4O6as}n uAy5cFfFttvAkT<=+T3S+I3nA+-TVK$dgY*VrekXW0000new MyWindow(...). -You can also use your new window class in -\ref fluid "FLUID" -by: +You can also use your new window class in FLUID by: -# Putting your class definition in a \p MyWindow.H file. -# Creating a Fl_Box widget in FLUID. @@ -670,8 +668,8 @@ Link with libGLEW.so (with X11 or Wayland), libglew32.a (with MinGW) or glew32.l [Index]

- - Programming with FLUID + + FLTK Runtime Options [Next]
+ + + + +
+ \image html fluid-128.png + \image latex fluid-128.png "" width=3cm +
+ FLUID 1.4.0 User Manual + + By F. Costantini, D. Gibson, M. Melcher, + A. Schlosser, B. Spitzak and M. Sweet. + + Copyright © 1998 - 2024 by Bill Spitzak and others. +
+ + + + + +
+ This software and manual are provided under the terms of the GNU + Library General Public License. Permission is granted to reproduce + this manual or any portion for any purpose, provided this copyright + and permission notice are preserved. +
+ + + + + + +
+ + \subpage page_introduction + - \ref introduction_workflow + + \subpage page_commandline + - \ref commandline_options + - \ref commandline_passive + - \ref commandline_windows + + \subpage page_interactive + + \subpage page_main_window + - \ref main_titlebar + - \ref main_menubar + - \ref main_widget_browser + - \ref main_menu_items + + \subpage page_widgetbin_panel + + \subpage page_edit_window + - \ref edit_selection + - \ref edit_layout + - \ref edit_snap + - \ref edit_resize + + \subpage page_widget_panel + - \ref widget_panel_gui + - \ref widget_panel_style + - \ref widget_panel_cpp + - \ref widget_panel_grid + - \ref widget_panel_gridc + + + + \subpage page_functional_nodes + - \ref functional_function + - \ref functional_code + - \ref functional_codeblock + - \ref functional_decl + - \ref functional_declblock + - \ref functional_class + - \ref functional_widgetclass + - \ref functional_comment + - \ref functional_data + + \subpage page_codeview_panel + - \ref codeview_find + - \ref codeview_settings + + \subpage page_setting_dialog + - \ref setting_general + - \ref setting_project + - \ref setting_layout + - \ref setting_shell + - \ref setting_i18n + - \ref setting_user + + \subpage page_tutorial + - \ref fluid_hello_world_tutorial + - \ref fluid_1of7guis_tutorial + - \ref fluid_cubeview_tutorial + - \ref fluid_cubeview_ui + - \ref fluid_addconst + - \ref fluid_gencode + + \subpage page_appendices + - \ref appendix_keyboard_shortcuts + - \ref appendix_fileformat + - \ref appendix_licenses + +
+ + \endcond + +*/ diff --git a/fluid/documentation/src/main_titlebar.png b/fluid/documentation/src/main_titlebar.png new file mode 100644 index 0000000000000000000000000000000000000000..128ecddef7ab5a15903b0f0d3bc3afdcef241ef4 GIT binary patch literal 14952 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 mP66(eOv#i?$&}nD<^Ka=0%1jALh}m%0000 +\section appendix_keyboard_shortcuts Keyboard Shortcuts + +On Apple computers, use the Apple Command key instead of Ctrl. + +| Key Combo | Function | +| :-------: | :------- | +| `F1` | open widget dialog | +| `F2` | move widget earlier in tree | +| `F3` | move widget later in tree | +| `F7` | move widgets into group | +| `F8` | ungroup widgets | +| `Delete` | delete selected widgets | +| `Ctrl-1..9` | load project from history | +| `Ctrl-A` | select all | +| `Shift-Ctrl-A` | select none | +| `Alt-B` | show or hide Widget Bin | +| `Ctrl-C` | copy widgets | +| `Alt-C` | show or hide Code View window | +| `Shift-Ctrl-C` | generate C++ code files | +| `Ctrl-G` | grid setting dialog | +| `Ctrl-I` | merge project file into current project | +| `Ctrl-N` | start a new project, close the current project | +| `Shift-Ctrl-N` | new project from template | +| `Ctrl-O` | open project file | +| `Shift-Ctrl-O` | toggle overlays | +| `Ctrl-P` | print all visible project windows | +| `Alt-P` | open FLUID settings dialog | +| `Ctrl-Q` | quit FLUID | +| `Ctrl-S` | save project | +| `Shift-Ctrl-S` | save project with new name | +| `Ctrl-U` | duplicate selected widgets | +| `Ctrl-V` | paste last copied widgets | +| `Shift-Ctrl-W` | write i18n translation file | +| `Ctrl-X` | cut selected widgets | +| `Alt-X` | show shell command settings | +| `Ctrl-Z` | undo | +| `Shift-Ctrl-Z` | redo | + + + + +| Action | Function in Layout Editor | +| :----: | :------------------------ | +| `left mouse button (LMB)` | select one widget | +| `LMB-drag` | select multiple widgets with selection box | +| `Shift-LMB` | extend widget selection | +| `Shift-LMB-Drag` | toggle selection in selection box | +| `Shift-LMB-Drag` | resize window proportionally | +| `Tab` | select next widget | +| `Shift-Tab` | select previous widget | +| `Arrow` | move selected widgets by one unit | +| `Shift-Arrow` | resize by one unit | +| `Ctrl-Arrow` | move by grid units | +| `Shift-Ctrl-Arrow` | resize by grid units | + + + + +\section appendix_fileformat .fl File Format + +FLUID edits and saves its state in `.fl` project files. These files are text, +and you can (with care) edit them in a text editor, perhaps to get some special +effects. The `.fl` file format is described in detail in the file +`fluid/README_fl.txt` which is part of the FLTK source code repository. + + + +\section appendix_licenses External Licenses + +FLUID uses graphical images based on the Zendesk Garden Stroke icon set: + +[https://github.com/zendeskgarden](https://github.com/zendeskgarden) +Garden Stroke is licensed under the +[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html). + +FLUID includes templates based on 7GUIs: + +[7GUIs](https://7guis.github.io/7guis/) was created as a spin-off +of the master’s thesis Comparison of Object-Oriented and Functional +Programming for GUI Development by Eugen Kiss at the Human-Computer +Interaction group of the Leibniz Universität Hannover in 2014. + +With kind permission by Prof. Dr. Michael Rohs. + + */ diff --git a/fluid/documentation/src/page_codeview_panel.dox b/fluid/documentation/src/page_codeview_panel.dox new file mode 100644 index 000000000..2fac1a286 --- /dev/null +++ b/fluid/documentation/src/page_codeview_panel.dox @@ -0,0 +1,76 @@ +/** + + \page page_codeview_panel Code View Panel + + \tableofcontents + + # The Code View Panel # + + \image html codeview_panel.png "Code View Panel" + \image latex codeview_panel.png "Code View Panel" width=9cm + + The Code View panel shows all code files that can be generated by FLUID. + + The Code View window can be activated via the main + menu: *Edit* > *Show Source Code* . FLUID will remember the state and + dimensions of the Code View panel. + + If the Auto-Refresh option is selected, the code views will be updated + automatically while editing the project. + + Code View has four tabs. The first tab shows the source code. Inlined data + is omitted in the code view for brevity. + + The second tab shows the content of the header file. The size of inline data + is not calculated and shown as `-1`. + + The third tab shows the list of labels and tooltips as they would be written + to a translation file, using the selected project internationalization method. + + The fourth tab previews the contents of the `.fl` project file. + + + \section codeview_find Code View Find + + \image html cv_find_row.png + \image latex cv_find_row.png "Find in Code" width=9cm + + 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 + line of code. + + __Find__: enter any text you may want to find in the current tab + + __aA__: press this button to activate case sensitive search + + __<<__, __>>__: find the previous or next occurrence + + __Reveal__: clicking this button reveals the widget that generated the + selected code in the widget browser + + + \section codeview_settings Code View Settings + + \image html cv_settings_row.png + \image latex cv_settings_row.png "Code View Settings" width=9cm + + __Refresh__: preview the code in the selected tab as it would be generated + for the project in its current state + + __Auto-Refresh__: Automatically refresh the code view when the project changes. + The Auto Refresh is designed to use relatively little resources, even when + continuously updating the selected code tab. + The Code View window can usually stay open and auto refresh during the entire + design process, even for relatively complex GUIs. + + __Auto-Position__: highlight and reposition to the source code generated by + the currently selected widget whenever the selection changes + + __code...__: choose the type of code that is highlighted. In source + files, *static* code is generated by Menu Items, *code* refers to widget + creation code, *code1* is the part before possible children, *code2* is + code generated after children. In header files, *static* highlights + `#include` statements generated by a widget, *code* refers to + the widget declaration. + +*/ diff --git a/fluid/documentation/src/page_commandline.dox b/fluid/documentation/src/page_commandline.dox new file mode 100644 index 000000000..b89c5f3d4 --- /dev/null +++ b/fluid/documentation/src/page_commandline.dox @@ -0,0 +1,124 @@ +/** + + \page page_commandline Command Line + + \tableofcontents + + FLUID can be used in interactive and in command line mode. If launched with + `-c`, followed by a project filename, FLUID will convert the project file + into C++ source files without ever opening a window (or opening an X11 server + connection under Linux/X11). This makes FLUID a great command line tool + for build processes with complex project files that reference + external resources. For example, an image referenced by a `.fl` file can be + modified and recompiled into the application binary without the need to reload + it in an interactive FLUID session. + + + \section commandline_options Command Line Options + + To launch FLUID in interactive mode from the command line, you can give it an + optional name of a project file. If no name is given, it will launch with an + empty project, or with the last open project, if so selected in the + application setting dialog. + + The ampersand `&` is optional on Linux machines and lets FLUID run in its + own new process, giving the shell back to the caller. + + ``` + fluid filename.fl & + ``` + +If the file does not exist you will get an error pop-up, but if you dismiss it +you will be editing a blank file of that name. + +FLUID understands all of the standard FLTK switches before the filename: + +``` +-display host:n.n +-geometry WxH+X+Y +-title windowtitle +-name classname +-iconic +-fg color +-bg color +-bg2 color +-scheme schemename +``` + + + \section commandline_passive Compile Tool Options + +FLUID can also be called as a command-line only tool to create +the `.cxx` and `.h` file from a `.fl` file directly. To do this type: + +``` +fluid -c filename.fl +``` + +This is the same as the menu __File > Write Code...__ . +It will read the `filename.fl` file and write +`filename.cxx` and `filename.h`. Any leading +directory on `filename.fl` will be stripped, so they are +always written to the current directory. If there are any errors +reading or writing the files, FLUID will print the error and +exit with a non-zero code. You can use the following lines in a +Makefile to automate the creation of the source and header +files: + +``` +my_panels.h my_panels.cxx: my_panels.fl + fluid -c my_panels.fl +``` + +Most versions of "make" support rules that cause `.fl` files to be compiled: + +``` +.SUFFIXES: .fl .cxx .h +.fl.h .fl.cxx: + fluid -c $< +``` + +Check `README.CMake.txt` for examples on how to integrate FLUID into the +`CMake` build process. + +If you use + +\code +fluid -cs filename.fl +\endcode + +FLUID will also write the "strings" for internationalization into the file +'filename.txt', 'filename.po', or 'filename.msg', depending on the chosen type +of i18n (menu: 'File/Write Strings...'). + +Finally there is another option which is useful for program developers +who have many `.fl` files and want to upgrade them to the current FLUID +version. FLUID will read the `filename.fl` file, save it, and exit +immediately. This writes the file with current syntax and options and +the current FLTK version in the header of the file. Use + +``` +fluid -u filename.fl +``` + +to 'upgrade' `filename.fl` . You may combine this with `-c` or `-cs`. + +\note All these commands overwrite existing files w/o warning. You should +particularly take care when running `fluid -u` since this overwrites the +original `.fl` project file. + + + \section commandline_windows Windows Specifics + + FLTK uses Linux-style forward slashes to separate path segments in file names. + When running on Windows, FLUID will understand Microsoft drive names and + backward slashes as path separators and convert them internally into + forward slashes. + + Under Windows, binaries can only be defined either as command line tools, or + as interactive apps. FLTK generates two almost identical binaries under + Windows. `fluid.exe` is meant to be used in interactive mode, and + `fluid-cmd.exe` is generated for the command line. Both tools do exactly the + same thing, except `fluid-cmd.exe` can use stdio to output error messages. + +*/ diff --git a/fluid/documentation/src/page_edit_window.dox b/fluid/documentation/src/page_edit_window.dox new file mode 100644 index 000000000..7cbbf5de5 --- /dev/null +++ b/fluid/documentation/src/page_edit_window.dox @@ -0,0 +1,179 @@ +/** + + \page page_edit_window Layout Editor Window + + \tableofcontents + + \image html edit_window.png "Layout Editor Window" + \image latex edit_window.png "Layout Editor Window" width=7cm + + 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 + final product that will be built by the FLUID generated C++ source code. + + To create a user interface, first add a function to the project tree by either + clicking the Function icon in the widget bin, or by selecting __New* > Code > + Function/Method__ from the main menu. + + Now just drag the Window icon from the widget bin onto the desktop. FLUID + will generate code that instantiates this window when the function is called. + The return value of the function is a pointer to that window, unless changed + in the Function Panel. Widgets can be added to the window by dragging them from + the widget bin. If a widget is dropped on a group, it will automatically + become a child of that group. + + + \section edit_selection Selecting and Moving Widgets + + To move or resize a widget, it must be selected first by clicking on it. + Multiple widgets can be selected by holding down the Shift key when clicking + on them, or by dragging a selection box around widgets. Widgets can also be + selected in the widget browser the main window. Shift-click will select a + range of widgets, Ctrl-click will add widgets to the selection. + + \image html edit_select_multiple.png + \image latex edit_select_multiple.png "Select Multiple Widgets" width=5cm + + 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 + in the main application window. + + Once selected, widgets can be moved by clicking and dragging the center + of the selection box. The outer edges allow resizing in one direction, and + dragging the corners resizes widgets horizontally and vertically. + + Widgets can also be repositioned with the arrow keys. Without a shift key, + the selection moves by a single pixel. With the Meta key held down, they + move by the amount indicated in the *Gap* field in the *Widget* section of + the *Layout* setting panel. + + Holding down the Shift key resizes a selected widget by moving the bottom + right corner of the widget. Holding Shift and Meta while pressing arrow keys + resizes by the amount in the *Widget* *Gap* layout setting. + + Children of groups that reposition their contained widgets may behave + differently. Pressing the arrow keys on children of `Fl_Grid` will move + the widget from grid cell to grid cell instead. Resizing a child of `Fl_Flex` + will also mark the child size as `fixed`. + + The tab and shift+tab keys "navigate" the selection. Tab or shift+tab move to + the next or previous widgets in the hierarchy. If the navigation does not seem + to work you probably need to "Sort" the widgets. This is important if you have + input fields, as FLTK uses the same rules when using tab keys + to move between input fields. + + + \section edit_layout Layout Helpers + + \image html edit_overlap.png + \image latex edit_overlap.png "Overlapping Widgets" width=5cm + + 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.png + \image latex edit_outside.png "Out Of Bounds" width=5cm + + 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 + react to mouse clicks or don't redraw as expected. Outside widgets are marked + with a red hash pattern. + + Note that `Fl_Tile` requires that all children exactly fill the area of the + tile group to function properly. The hash patterns are great helpers to align + children correctly. + + + \section edit_snap Layout Alignment + + FLUID layouts are a handful of rules that help creating a clean and consistent + user interface. When repositioning widgets, the mouse pointer snaps to the + closest position based on those rules. A guide line is drawn for the rule that was + applied. Guides and snaps can be disabled with `Ctrl-Shift-G` or via the + *Edit* > *Hide Guides* menu. + + \image html edit_snap_group.png + \image latex edit_snap_group.png "Snap To Group" width=5cm + + If a horizontal or vertical outline snaps to the group, the + border of that group will highlight. If the outline snaps to the margin + of the parent window or group, an additional arrow is drawn. + + Children of `Fl_Tabs` use the top and bottom margin from the *Tabs* + section. If all children use this rule, the margin height will also be the + height of all tabs. + + \image html edit_snap_sibling.png + \image latex edit_snap_sibling.png "Snap To Sibling" width=5cm + + 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 + action is highlighted. + + Note that only the first snap guide found is drawn for horizontal and vertical + movement. Multiple rules may apply, but are not highlighted. + + \image html edit_snap_size.png + \image latex edit_snap_size.png "Snap To Size" width=7cm + + 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 + and an increment of 10, the widget will snap horizontally to 25, 35, 45, + 55, etc. . + + \image html edit_snap_grid.png + \image latex edit_snap_grid.png "Snap To Grid" width=5cm + + 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 + to the window grid. If they are in a group, they snap to the group grid. + + + \section edit_resize Live Resize + + \image html edit_select_group.png + \image latex edit_select_group.png "Selected Group" width=9cm + + The Resizable system within FLTK is smart, but not always obvious. When + constructing a sophisticated GUI, it is helpful to organize widgets into + multiple levels of nested groups. Sometimes, incorporating an invisible + resizable box can improve the behavior of a group. FLUID offers a Live Resize + feature, allowing designers to experiment with resizing at each level within + the hierarchy independently. + + To test the resizing behavior of a group, begin by selecting it: + + \image html edit_live_resize.png + \image latex edit_live_resize.png "Live Resize" width=7cm + + 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 + enables the designer to thoroughly test the behavior and limitations, + making adjustments until they are satisfied. This streamlined process makes + it significantly easier to address resizing behavior at a higher level, + particularly once the lower levels are behaving as intended. + + In the example above, the radio buttons are not fixed to the left side of + the group and the text snippet "of the bed" does not stay aligned + to "right side". To fix this, a thin hidden box could be added to the right + edge of the group that holds the radio button which is then marked `resizable`. + + + \section edit_limits Limitations + + Almost all FLTK widgets can be edited with FLUID. Notable exceptions include + + - FLUID does not support an `Fl_Window` inside another `Fl_Window` + - widgets inside `Fl_Scroll` can not be created in the hidden areas of the + scrollable rectangle. It is recommended to organize the children in + a separate Widget Class that is derived from `Fl_Scroll` and then inserted + as a single custom widget. + - children of `Fl_Pack` are not automatically reorganized to fit the packing + group. Again, a Widget Class is recommended here. + - if children of `Fl_Grid` are again some kind of group, their internal layout + may not follow changes in the grid widgets. It's best to complete the grid + first, then add children to the grid cells, size them correctly, and + then finally lay out the grid cell children. + +*/ diff --git a/fluid/documentation/src/page_functional_nodes.dox b/fluid/documentation/src/page_functional_nodes.dox new file mode 100644 index 000000000..4407f0e38 --- /dev/null +++ b/fluid/documentation/src/page_functional_nodes.dox @@ -0,0 +1,450 @@ +/** + + \page page_functional_nodes Functional Node Panels + + \tableofcontents + + + + \section functional_function Function and Method Panel + + ![](flFunction.png) Functions and Methods + + Fluid can generate C functions, C++ functions, and methods in classes. + Functions can contain widgets to build windows and dialogs. *Code* nodes can + be used to add more source code to a function. + + ### Parents ### + + To generate a function, the function node must be created at the top level or + inside a declaration block. If added inside a class node, this node generates + a method inside that class. + + ### Children ### + + Function nodes can contain code nodes and windows that in turn contain widgets. + If the function node has no children, only a forward declaration will be + 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" width=7cm + + ### Declaring a Function ### + + A function node at the top level or inside a declaration block generates a C + or C++ function. + + The *Name* field contains the function name and all arguments. + If the *Name* field is left empty, Fluid will generate a typical 'main()' function. + ``` + // .cxx + int main(int argc, char **argv) { + // code generated by children + w->show(argc, argv); // <-- code generated if function has a child widget + Fl::run(); + } + ``` + + If a function node has a name but no children, a forward declaration is + generated in the header, but the implementation in the source file is omitted. + This is used to reference functions in other modules. + ``` + // .h + void make_window(); + ``` + + If the function contains one or more Code nodes, the implementation code will + be generated. The default return type is `void`. Text in the *Return Type* field + overrides the default type. + ``` + // .cxx + void make_window() { + // code generated by children + } + ``` + + If the function contains one or more windows, a pointer to the first window + will be returned. The default return type will match the window class. + ``` + // .h + Fl_Window* make_window(); + ``` + + ``` + // .cxx + Fl_Window* make_window() { + Fl_Window* w; + // code generated by children: + // w = new Fl_Window(...) + return w; + } + ``` + + #### Options for Functions #### + + Choosing *static* in the pulldown menu will generate the function `static` in + the source file. No forward declaration will be generated in the header file. + ``` + // .cxx + static Fl_Window* make_window() { ... } + ``` + + Choosing *global* will generate a forward declaration of the function in the + header file and no `static` attribute in the source file. + ``` + // .h + void make_window(); + // .cxx + Fl_Window* make_window() { ... } + ``` + + Additionally, + if the *C* option is checked, the function will be declared as a plain C + function in the header file. + ``` + // .h + extern "C" { void my_plain_c_function(); } + // .cxx + void my_plain_c_function() { ... } + ``` + + The *local* option will generate a function in the source file with no `static` + attribute. No forward declaration will be generated in the header file. + ``` + // .cxx + Fl_Window* make_window() { ... } + ``` + + ### Declaring a Method ### + + A function node inside a class node generates a C++ method. If a method node has + no children, the declaration is generated in the header, but no implementation + in the source file. + ``` + // .h + class UserInterface { + public: + void make_window(); + }; + ``` + + If the method contains one or more Code nodes, an implementation will also be + generated. + + ``` + // .cxx + void UserInterface::make_window() { + printf("Hello, World!\n"); + } + ``` + + If the method contains at least one widget, a pointer to the topmost widget + will be returned and the return type will be generated accordingly. + ``` + // .h + class UserInterface { + public: + Fl_Double_Window* make_window(); + }; + ``` + + ``` + // .cxx + Fl_Double_Window* UserInterface::make_window() { + Fl_Double_Window* w; + // code generated by children + return w; + } + ``` + + #### Options for Methods #### + + Class access can be defined with the pulldown menu. It provides a choice of + `private`, `protected`, and `public`. + + Fluid recognizes the keyword `static` or `virtual` at the beginning of the + *return type* and will generate the declaration including the keyword, but will + omit it in the implementation. The return type defaults still apply if there + is no text after the keyword. + + #### Further Options #### + + Users can define a comment text in the *comment* field. The first line of the + comment will be shown in the widget browser. The comment text will be generated + in the source file before the function. + ``` + // .cxx + // + // My multilen comment will be here... . + // Fluid may actually use C style comment markers. + // + Fl_Window* make_window() { + ``` + + FLUID recognizes default values in the argument list and generates them in the + declaration, but omits them in the implementation. + + A short function body can be appended in the *Name* field. With no child, this + creates an inlined function in the header file. + + + + \section functional_code C Source Code + + ![](flCode.png) Code + + Code nodes hold arbitrary C++ code that is copied verbatim into the + source code file. They are commonly used inside Function nodes. + + ### Parents ### + + 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" width=9cm + + The Code Properties panel features a syntax-highlighting C++ code editor. + Some basic bracket and braces match checking is done when closing the dialog. + + When inside a Function or Code Block, the C++ code is inserted directly. + Inside a Widget Class, the code will be added to the constructor of the + widget class. + + + + \section functional_codeblock Code Block + + ![](flCodeBlock.png) Code Block + + Code Blocks are used when a single function generates different GUI elements + conditionally. + + ### Parents ### + + Code Blocks are used inside functions and methods. + + ### Children ### + + 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" width=7cm + + The two fields expect the code before and after the `{ ... }` statements. The + second field can be empty. + + Two consecutive Code Blocks can be used to generate `else`/`else if` + statements by leaving the second field of the first node empty. + + + + \section functional_decl Declaration + + ![](flDeclaration.png) Declaration + + ### Parents ### + + 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" width=7cm + + 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 + declarations, and comments. FLUID does its best to understand user intention, + but the generated code should be verified by the user. + + Declarations nodes at the top level can selectively generate code in the header + and /or in the source file. If a declaration is inside a class, the user can + select if the class member is *private*, *protected*, or *public* instead. + + + + \section functional_declblock Declaration Block + + ![](flDeclarationBlock.png) Declaration Block + + Declaration Blocks are a way to selectively compile child nodes via + preprocessor commands, typically `#ifdef TEST` and `#endif`. + + ### Parents ### + + Declaration Blocks can be created at the top level or inside classes. + + ### Children ### + + Declaration Blocks can contain classes, functions, methods, declarations, and + comments. + + \image html declblock_panel.png "Declaration Block Properties" + \image latex declblock_panel.png "Declaration Block Properties" width=7cm + + 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 + before and after the child nodes. Two consecutive Declaration Blocks can be + used to generate `#else`/`#elif` style code by leaving the second field of + the first node empty. + + \note Declaration Blocks are not smart, and child nodes may still generate + unexpected code outside the scope of this block. This may change in future + versions of FLUID. + + + + \section functional_class Classes + +![](flClass.png) Class + + FLUID can generate code to implement C++ classes. Classes can be used to keep + dialogs and groups of UI elements organized. See Widget Class nodes as an + alternative to implement compound widgets. + + ### Parents ### + + Class nodes can be created at top level or inside a Class or Widget + Class node. + + ### Children ### + + Class nodes can contain Functions, Declarations, Widgets, Data, and + other classes. + + \image html class_panel.png "Class Properties" + \image latex class_panel.png "Class Properties" width=7cm + + The *Name:* and *Subclass of:* fields should be set to standard C++ class + names. + + Function nodes inside classes are implemented as methods. Constructors and + destructors are recognized and implemented as such. Inlined data is declared + as a static class member. + + Note that methods without a code or widget node are only declared in the + header file, but no code is generated for them in the source file. + + + + \section functional_widgetclass Widget Class + + ![](flWidgetClass.png) Widget Class + + The Widget Class node creates a new widget type by deriving a class from another + widget class. These are often compound widgets derived from `Fl_Group`. A less + automated but more flexible way to implement compound widgets is the Class node. + + ### Parents ### + + Widget Class nodes can be created at top level or inside a Class or Widget + Class node. + + ### Children ### + + Widget Class nodes can contain Functions, Declarations, Widgets, Data, and + other classes. + + ### Properties ### + + Widget Class nodes use the Widget panel to edit their properties. The super + class can be set in the *C++* tab in the *Class* field. If that field is empty, + FLUID derives from `Fl_Group`. + + The Widget Class always creates a constructor with the common widget parameters: + ``` + MyWidget::MyWidget(int X, int Y, int W, int H, const char *L) + : Fl_Group(X, Y, W, H, L) { ... } + ``` + + If the super class name contains the text `Window`, two more constructors + and a common initializer method are created: + ``` + MyWidget::MyWidget(int W, int H, const char *L) : + Fl_Window(0, 0, W, H, L) { ... } + + MyWidget::MyWidget() : + Fl_Window(0, 0, 480, 320, 0) { ... } + + void MyWidget::_MyWidget() { ... } + ``` + + Code and Widget nodes are then added to the constructor. Function nodes are + added as methods to the class. Declarations are added as class members. + Data nodes generate static class members. + + It may be useful to design compound widgets with a variable size. The Widget + Panel provides a choice menu in the *GUI* tab's *Position* row under + *Children*. The options *resize* and *reposition* generate code to fix up + the coordinates of the widget after instantiation. + + Note that methods without a code or widget node are only declared in the + header file, but no code is generated for them in the source file. + + + + \section functional_comment Comments + + ![](flComment.png) Comment + + This node adds a comment block to the generated source code. + + ### Parents ### + + Comment nodes can be added inside Functions, Code Blocks, and Widget Classes. + If a Comment node is the top node in a tree, it will appear in the source + files even before the `// generated by FLUID ...` line. + + \image html comment_panel.png "Comment Properties" + \image latex comment_panel.png "Comment Properties" width=9cm + + 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 + a correct block comment and will copy the text verbatim. + + Comments can be generated in the header file, the source file, or both. + + FLUID keeps a small database of predefined comments. Users can add reoccurring + comment blocks, license information for example, to this database via the + pulldown menu. + + Comments can also be imported from an external file. + + + + \section functional_data Inlined Data + + ![](flData.png) Inlined Data + + The Data node makes it easy to inline data from an external file into the + source code. + + ### Parents ### + + Data nodes can be added at the top level or inside Widget Classes, Classes, + and Declaration Blocks. + + \image html data_panel.png "Data Properties" + \image latex data_panel.png "Data Properties" width=7cm + + 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*. + + If Data is inside a Class node, it is always declared `static`. The user can + select *private*, *protected*, or *public*. + + Data in binary mode will be stored in an `unsigned char` array. The data size + can be queried with `sizeof()`. In Text mode, it will be stored as `const + char*` and terminated with a `NUL` character. + + In compressed mode, data will be compressed with zlib `compress()` and stored + in an `unsigned char` array. A second variable, holding the original data size, + is declared `int` by appending `_size` to the variable name. + + ``` + // .cxx + int myInlineData_size = 12034; + unsigned char myInlineData[380] = { 65, 128, ... }; + ``` + + The Variable Name should be a regular C++ name. The Filename field expects + the path and name of a file, relative to the location of the .fl file. + + */ diff --git a/fluid/documentation/src/page_interactive.dox b/fluid/documentation/src/page_interactive.dox new file mode 100644 index 000000000..58f46b130 --- /dev/null +++ b/fluid/documentation/src/page_interactive.dox @@ -0,0 +1,57 @@ +/** + + \page page_interactive Interactive Mode + + \tableofcontents + + + + In interactive mode, FLUID allows users to construct and modify their GUI + design by organizing widgets hierarchically through drag-and-drop actions. + The project windows provide a live preview of the final UI layout. + Most widget attributes can be adjusted in detail using the + \ref page_widget_panel. + + Users can also incorporate C++ coding elements such as functions, code blocks, + and classes. FLUID supports the integration of external sources, for + example images, text, or binary data, by embedding them directly into the + generated source code. + + \image html fluid_gui_overview_800.png + \image latex fluid_gui_overview_800.png "FLUID Overview" + + A typical FLUID session manages the widget hierarchy in the main application + window on the left. The project file name is shown in the title bar. In the + example above, we edit the FLTK _Preferences_ example file + `test/preferences.fl`. + + \see \ref page_main_window + + The layout editor window left of center, titled + "My Preferences" shows the GUI design as it will be generated by the C++ + source file. The widgets "shower", "shave", and "brush teeth" are shown + in their selected state and can now be resized or moved by grabbing any of + the red boxes around the selection frame. + + \see \ref page_edit_window + + To the right, we have the "Widget Properties" panel. We can use this to + edit many more parameters of the selected widget. If multiple widgets are + selected, changes are applied to all of them where appropriate. + + \see \ref page_widget_panel + + The Widget Bin at the top is an optional tool bar (__Edit > Show Widget Bin__, + Alt-B). It gives quick access to all widget and code types. Widgets can + be added by clicking onto the tool, or by dragging them out of the tool box + into the layout editor. + + \see \ref page_widgetbin_panel + + The optional panel on the right shows a live source code preview. This is + very helpful for verifying how changes in the GUI will be reflected in the + generated C++ code (__Edit > Show Code View__, Alt-C). + + \see \ref page_codeview_panel + +*/ diff --git a/fluid/documentation/src/page_introduction.dox b/fluid/documentation/src/page_introduction.dox new file mode 100644 index 000000000..890dc3718 --- /dev/null +++ b/fluid/documentation/src/page_introduction.dox @@ -0,0 +1,69 @@ +/** + + \page page_introduction Introduction + + \tableofcontents + + + + \image latex fluid-128.png "FLUID" width=3cm + + FLUID, short for Fast Light User Interface Designer, is a graphical editor + capable of generating C++ source code and header files ready for compilation. + These files ultimately create an FLTK based graphical user interface + for an application. + + The FLTK programming manual is available at https://www.fltk.org/documentation.php . + + This manual provides instructions on launching FLUID as a command line tool + and integrating `.fl` project files into the application build process. + FLTK utilizes _CMake_, but other build systems and IDEs capable of running + external tools can also build applications based on FLUID. + + The majority of the manual focuses on using FLUID as an interactive GUI + design tool. It covers an overview of windows, menu items, and dialog boxes, + detailing how to create visually appealing and consistent user experiences + through drag and drop functionality, a "what you see is what you get" editor, + and alignment tools. The \ref page_setting_dialog will detail the process of initiating + a new project, creating an alignment template, and incorporating + internationalization. + + Several tutorials will explain how to generate small apps in FLUID alone, + and how to create more complex user interfaces, followed by some advanced + subjects like creating integrated reusable widget classes. + + The appendices contain additional technical information for reference. + + + + \section introduction_workflow Workflow + + FLUID stores user interface designs within `.fl` project files. These files + are transformed into a binary application through a multi-step process. + Initially, FLUID converts `.fl` files into C++ source and header files. + Subsequently, these files are compiled into object files, which are then + linked with other object files to form an executable binary. + FLUID-generated header files give access to UI elements from other C++ modules + within the project. FLUID can also generate forward declarations to + variables and callback functions that are defined and implemented in other + C++ modules. + + \image html fluid_flow_chart_800.png "FLUID Workflow" + \image latex fluid_flow_chart.png "FLUID Workflow" + + Small applications can be fully designed and developed with FLUID alone. + Users have the option to include shell scripts in FLUID projects, enabling + them to directly call compilers and linkers to produce the binaries. + + For medium-sized projects, a build system such as _CMake_ or an IDE + with integrated build setup is recommended. FLUID in interactive mode + can pre-generate C++ code files for direct compilation by the IDE. + + In larger projects, FLUID projects frequently reference external resources + such as graphics, binary data, and internationalized text. + In such scenarios, it is very useful to distribute the `.fl` project files + instead of prebuilt source files. FLUID in command-line mode can then be + called as an external tool, dynamically generating C++ source code from all + external resources at build time. + + */ diff --git a/fluid/documentation/src/page_main_window.dox b/fluid/documentation/src/page_main_window.dox new file mode 100644 index 000000000..005ce01ec --- /dev/null +++ b/fluid/documentation/src/page_main_window.dox @@ -0,0 +1,371 @@ +/** + + \page page_main_window Main Application Window + + \tableofcontents + + \image html main_window.png "Main Application Window" + \image latex main_window.png "Main Application Window" width=5cm + + 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 + is created in the layout editor windows. Projects usually define one or more + functions. These functions can generate one or more + FLTK windows and all the widgets that go inside those windows. + + The FLUID Main Window is split into three parts. The title bar shows the + status of the source and project files. The menu bar provides a wealth of + menu items for all major actions in FLUID. The biggest part of the + app window is the widget browser, a tree structure that lists every code + node and widget in the project. + + + \section main_titlebar Title Bar + + \image html main_titlebar.png + \image latex main_titlebar.png "Title Bar" width=5cm + + 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. + If the asterisk shows, FLUID will ask the user to save changes before closing + the project, loading another project, or starting a new one. Pressing `Ctrl-S` + will save the project and make the asterisk disappear. + + The _.cxx_ in the title bar reflects the status of header and source files + in relation to the project. A trailing asterisk indicates that the project and code + files differ. Pressing `Ctrl-Shift-C` to write the code files will make this + asterisk go away. + + \note FLUID currently supports only one open project at a time. + + + \section main_menubar Application Menu Bar + + \image html main_menubar.png + \image latex main_menubar.png "Main Menu" width=5cm + + The menu bar is the true control center of FLUID. All actions start here. + + The *File* menu offers the common file operation for FLUID projects. Projects + can be loaded, merged, and saved. *Print* will print a snapshot of all open + project windows. + The *New From Template* item opens a dialog that provides access to a small + number of sample projects. More projects can be added using *Save as Template*. + + Use *Write Code* to write the header and source code files, and *Write Strings* + to write the translation file if one of the internationalization options + is active. + + The *Edit* menu is mainly used to manipulate widgets within the widget tree. + The bottom entries toggle various dialogs and pop up the settings panel. + + The *New* menu holds a list of all widgets that can be used in FLUID. They + are grouped by functionality, very similarly to the widget bin. New widgets are + added inside or right after the selected widget. If the parent widget is not + compatible, FLUID tries to find another location for the widget. If that also + fails, FLUID will pop up a dialog, describing the required parent type. + + The *Layout* menu is used to adjust the position and size of widgets in + relation to each other. + + The *Shell* menu gives quick access to user definable shell scripts. Note that + scripts can be stored inside `.fl` project files. + + \see \ref main_menu_items + + + \section main_widget_browser Widget Tree View + + \image html main_browser.png + \image latex main_browser.png "Widget Browser" width=5cm + + 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 + \e parents, and all the widgets listed below them are their \e children. + Parents don't have to have any children. + + The top level of the hierarchy is composed of \e functions and + \e classes. Each of these will produce a single C++ public function + or class in the output .cxx file. Calling the function or + instantiating the class will create all of the child widgets. + + The second level of the hierarchy contains the \e windows. + Each of these produces an instance of class Fl_Window. + + Below that are either \e widgets (subclasses of Fl_Widget) or + \e groups of widgets (including other groups). Plain groups are for + layout, navigation, and resize purposes. Tab groups provide the + well-known file-card tab interface. + + Widgets are shown in the browser by either their \e name (such + as "Button emergency_btn" in the example), or by their \e type + and \e label (such as "Double_Window "My Main Window""). + + You \e select widgets by clicking on their names, which highlights + them (you can also select widgets from any displayed window). You can + select many widgets by dragging the mouse across them, or by using + Shift+Click to toggle them on and off. To select no widgets, click in + the blank area under the last widget. Note that hidden children may + be selected even when there is no visual indication of this. + + You \e open widgets by double-clicking on them, or (to open several + widgets you have picked) by typing the F1 key. A control panel will appear + so you can change the widget(s). + + Nodes are moved within their group using + `F2` and `F3`. They can be grouped and ungrouped with `F7` and `F8`, and + relocated by selecting them and using cut, copy, and paste. + + Every line in the browser has the same basic format. The level of indentation + reflects the depth of a node within the tree. + + The triangle appears only in front of nodes that can have children. If it is + white, the group has no children. If it is black, there is at least one child. + If the triangle points to the right, the children are hidden in the tree view. + Click the triangle to reveal all children. + + The icon to the right is a small representation of the base type of the node. + Widgets are gray, windows have a blue title bar, and functional nodes are + green. If the widget is static or private, a padlock icon will appear in the + bottom right corner of the type icon. + + The content of text fields depends on the node type. If a comment is set, it + appears in green over the text. Widgets combine their type (bold black) and + label text (red), or their C++ name in black (not bold). + + All colors and font styles can be customized in the User tab of the + Settings panel. + + + \section main_menu_items The Main Menu + +The "New" menu of the main menu bar is duplicated as a pop-up menu on any +layout editor window. The shortcuts for all the menu items work in any +window. The menu items are: + +__File > New (Ctrl+n)__: Close the current project and start a new, empty project. + +__File > Open... (Ctrl+o)__: Discard the current editing session and read in a +different `.fl` project file. You are asked for confirmation if you have +changed the current file. + +FLUID can also read `.fd` files produced by the Forms and XForms "fdesign" +programs. It is best to _File > Merge_ them instead of opening them. FLUID does +not understand everything in a `.fd` file, and will print a warning message on +the controlling terminal for all data it does not understand. You will probably +need to edit the resulting setup to fix these errors. Be careful not to save +the file without changing the name, as FLUID will write over the `.fd` file +with its own format, which fdesign cannot read! + +__File > Insert... (Ctrl+i)__: Insert the contents of another `.fl` file +without changing the name of the current `.fl` file. All the functions (even if +they have the same names as the current ones) are added, and you will have to +use cut/paste to put the widgets where you want. + +__File > Save (Ctrl+s)__: Write the current data to the `.fl` file. If the +file is unnamed then FLUID will ask for a filename. + +__File > Save As... (Ctrl+Shift+S)__: Ask for a new filename and +save the file. + +__File > Save A Copy...__: Save a copy of the `.fl` data to a different file. + +__File > Revert...__: Revert the `.fl` data to the previously saved state. + +__File > New From Template...__: 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. + +__File > Save As Template...__: Save the current project as a starting point +for future projects. + +__File > Print... (Ctrl-P)__: Generate a printout containing all currently +open windows within your project. + +__File > Write Code (Ctrl+Shift+C)__: Write the GUI layout as a `.cxx` and +`.h` file. These are exactly the same as the files you get when you run +FLUID with the `-c` switch. + +The output file names are the same as the `.fl` file, with the leading directory +and trailing ".fl" stripped, and ".h" or ".cxx" appended. + +__File > Write Strings (Ctrl+Shift+W)__: Write a message file for all of the +text labels and tooltips defined in the current file. + +The output file name is the same as the `.fl` file, with the leading directory +and trailing ".fl" stripped, and ".txt", ".po", or ".msg" appended depending on +the \ref setting_i18n "Internationalization Mode". + +__File > Quit (Ctrl+q)__: Exit FLUID. You are asked for confirmation if you +have changed the current file. + +__Edit > Undo (Ctrl+z)__ and __Redo (Shift+Ctrl+z)__: FLUID saves the project +state for undo and redo operations after every major change. + +__Edit > Cut (Ctrl+x)__: Delete the selected widgets and all of their children. +These are saved to a "clipboard" file and can be pasted back into any +FLUID window. + +__Edit > Copy (Ctrl+c)__: Copy the selected widgets and all of their children +to the "clipboard" file. + +__Edit > Paste (Ctrl+v)__: Paste the widgets from the clipboard file. + +If the widget is a window, it is added to whatever function +is selected, or contained in the current selection. + +If the widget is a normal widget, it is added to whatever +window or group is selected. If none is, it is added to the +window or group that is the parent of the current selection. + +To avoid confusion, it is best to select exactly one widget +before doing a paste. + +Cut/paste is the only way to change the parent of a +widget. + +__Edit > Duplicate (Ctrl-u)__: Duplicate all currently selected widgets and +insert the duplicates after the last selected widget. + +__Edit > Delete__: Delete all selected widgets. + +__Edit > Select All (Ctrl+a)__: Select all widgets in the same group as the +current selection. + +If they are all selected already then this selects all +widgets in that group's parent. Repeatedly typing `Ctrl+a` will +select larger and larger groups of widgets until everything is +selected. + +__Edit > Properties... (F1 or double click)__: Display the current widget in +the widgets panel. If the widget is a window and it is not visible then the +window is shown instead. + +__Edit > Sort__: Sort the selected widgets into left to right, top to bottom +order. You need to do this to make navigation keys in FLTK work correctly. +You may then fine-tune the sorting with "Earlier" and "Later". This does not +affect the positions of windows or functions. + +__Edit > Earlier (F2)__: Move all of the selected widgets one earlier in order +among the children of their parent (if possible). This will affect navigation +order, and if the widgets overlap it will affect how they draw, as the later +widget is drawn on top of the earlier one. You can also use this to reorder +functions, classes, and windows within functions. + +__Edit > Later (F3)__: Move all of the selected widgets one later in order +among the children of their parent (if possible). + +__Edit > Group (F7)__: Create a new Fl_Group and make all the currently +selected widgets children of it. + +__Edit > Ungroup (F8)__: Delete the parent group if all the children of a +group are selected. + +__Edit > Show or Hide Overlays (Ctrl+Shift+O)__: Toggle the display of the +red overlays off, without changing 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. + +__Edit > Show or Hide Guides (Ctrl+Shift+G)__: Guides can be used to arrange a +widget layout easily and consistently. They indicate preferred widget +positions and sizes with user definable margins, grids, and gap sizes. See +the "Layout" tab in the "Settings" dialog, \ref setting_layout. + +This menu item enables and disables guides and the snapping action when dragging +widgets and their borders. + +__Edit > Show or Hide Restricted (Ctrl+Shift+R)__: The behavior of overlapping +widgets in FLTK is undefined. By activating this button, a hatch pattern is +shown, highlighting areas where restricted or undefined behavior may occur. + +__Edit > Show or Hide Widget Bin (Alt+B)__: 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. + +__Edit > Show or Hide Code View (Alt+C)__: Shows or hide +the source code preview window. Any changes to the layout or code in the layout +editor can be previewed and verified immediately in the Code View window. + +__Edit > Settings... (Alt+p)__: Open the application and project settings +dialog: \ref page_setting_dialog + +__New > Code > Function__: Create a new C function. You will be asked for a +name for the function. This name should be a legal C++ function +template, without the return type. You can pass arguments which +can be referred to by code you type into the individual widgets. + +If the function contains any unnamed windows, it will be +declared as returning an Fl_Window pointer. The unnamed window +will be returned from it (more than one unnamed window is +useless). If the function contains only named windows, it will +be declared as returning nothing (\c void ). + +It is possible to make the .cxx output be a +self-contained program that can be compiled and executed. This +is done by deleting the function name so +\p main(argc,argv) is used. The function will call +\p show() on all the windows it creates and then call +\p Fl::run(). This can also be used to test resize +behavior or other parts of the user interface. + +You can change the function name by double-clicking on the +function. + +\see \ref functional_function + +__New > Group > Window__: Create a new Fl_Window widget. The window is added +to the currently selected function, or to the function containing the currently +selected item. The window will appear, sized to 480x320. You can resize it to +whatever size you require. + +The widget panel will also appear and is described later in +this chapter. + +__New > ...__: All other items on the New menu are subclasses of +`Fl_Widget`. Creating them will add them to the +currently selected group or window, or the group or window +containing the currently selected widget. The initial +dimensions and position are chosen by copying the current +widget, if possible. + +When you create the widget you will get the widget's control +panel, which is described later in this chapter. + +__Layout > Align > ...__: Align all selected widgets to the first widget in +the selection. + +__Layout > Space Evenly > ...__: Space all selected widgets evenly inside the +selected space. Widgets will be sorted from first to last. + +__Layout > Make Same Size > ...__: Make all selected widgets the same size as +the first selected widget. + +__Layout > Center in Group > ...__: Center all selected widgets relative to +their parent widget + +__Layout > Grid and Size Settings... (Ctrl+g)__: Display the grid settings +panel. See \ref setting_layout . + +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 windows, gaps +between widget, and/or 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 included layout suites. `FLTK` was used to design FLUID and +other included apps, and `Grid` is a more rigid grid layout. Users can add +more suites, import and export them, and include them into their `.fl` +project files. + +__Shell > Customize... (Alt+x)__: Displays the shell command settings panel. +Shell commands are commonly used to run a 'make' script to compile the FLUID +output. See \ref setting_shell . + +__Help > About FLUID__: Pops up a panel showing the version of FLUID. + +*/ diff --git a/fluid/documentation/src/page_setting_dialog.dox b/fluid/documentation/src/page_setting_dialog.dox new file mode 100644 index 000000000..78b7282ee --- /dev/null +++ b/fluid/documentation/src/page_setting_dialog.dox @@ -0,0 +1,338 @@ +/** + + \page page_setting_dialog Settings Dialog + + \tableofcontents + + + \image latex w_settings.png "Settings Dialog" width=7cm + + The *Settings* dialog combines application preferences + and project settings in a compact set of six tabs. + + The *General* tab contains a collection of application wide settings. They are + stored as user preferences. + + The *Project* tab holds settings for the current project. They are saved with + the `.fl` file. + + The *Layout* tab manages databases of preferred widget alignment. These + preferences can be saved per user, or as part of the project, or exported for + use in other projects. + + The *Shell* tab manages a database of quick access shell commands and scripts. + Shell commands can be saved as a user preference and also as part of the + `.fl` project file. + + The *Locale* tab sets the method of internationalizing texts in the project, + commonly used for labels and tooltips. + + The *User* tab manages customization of fonts and colors in the widget browser. + These settings are stored as user preferences. + +
+ + + \section setting_general Application Settings + + + \image latex w_settings_general_tab.png "General Settings Tab" width=7cm + + __Scheme__: + + Select one of the graphics schemes built into FLTK. It's helpful + to verify the look of various schemes for an application design. + + __Options__: + + Various options to make life as a developer more convenient. + + __Recent Files__: + + FLUID keeps track of recently opened files. + + __External Editor__: + + Users that don't like the built-in FLUID code editor can enter a shell command + here that opens the content of Code nodes in an external editor. FLUID does + its best to pick up on changed content or when the editor is closed. + + __Overlays__: + + The *Position Guides* are little red arrows that indicate if snap points are + found. See the *Layout* tab for details. *Restricted Areas* are areas where + widgets from within the same group overlap. They are visible in the project + window as a diagonally hashed pattern. *Ghosted Group Outlines* show faint + frames around groups that would otherwise be invisible in the project window. + +
+ + + \section setting_project Project Settings + + + \image latex w_settings_project_tab.png "Project Settings Tab" width=7cm + + __Header File__, __Code File__: + + These fields are used to build the file path and name of the generated header + and source file. If one field is empty the value defaults to `.h` and `.cxx` + respectively. If a name starts with a `.`, FLUID assumes that the rest of the + text is a file extension. The code file name is then generated by replacing + the extension of the `.fl` project file name. + + \todo Document the exact way the source and header file paths are calculated + for interactive FLUID, and for FLUID launched from the command line. + + __Include Header from Code__: + + If checked, the statement to include the header file is automatically + generated in one of the first lines of the source file. + + __Menu shortcuts use FL_COMMAND__: + + Setting this option will replace FL_CTRL and FL_META as a modifier for + shortcuts with the platform aware modifiers FL_COMMAND and FL_CONTROL, making + shortcuts more portable between macOS and Windows/Linux. + + __allow Unicode__: + + If unchecked, Unicode characters in strings are escaped. If checked, the Unicode + character is stored in the source code in UTF-8 encoding. + + __avoid early include__: + + FLUID by default includes `` early in the header file. If this option + is checked, users can include other files before including the FL header. The + user must then include `` later using a Declaration node. + +
+ + + \section setting_layout Layout Preferences + + + \image latex w_settings_layout_tab.png "Layout Settings Tab" width=7cm + + 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 + the application window, for dialog boxes, and for toolboxes. + + __Layout__: + + The layout pulldown menu lets users choose from a list of existing layouts. + The plus button creates a new set of layouts based on the currently selected + layout. + The pulldown menu has items to rename, load, and save layouts. It can also + change the location where the layout is stored. The FLUID beaker is for + layouts that are predefined in FLUID, the portrait icon stores as user + preference, the document + icon stores the layout in the `.fl` file, and the disk icon lets users store + layout in external files. + + __Window Margin and Grid__: + + Snap widget position to that margin in relation to the window. The grid + snaps widgets to fixed intervals. + + __Group Margin and Grid__: + + Snap widget position to that margin in relation to the group. The grid + snaps widgets to fixed intervals relative to the top left of the group. + + __Tabs Margin__: + + Snap the tab inside `Fl_Tabs` to the tab border and the offset given in + Margins. + + __Widget Minimum, Increment, and Gap__: + + _Minimum_ sets the minimal width of a widget. _Increment_ is the size multiplier + added to the _Minimum_ value. _Gap_ is the preferred distance to other widgets + in the same group. + + __Label Font__, __Text Font__: + + The preferred label and text font and size for new widgets. + +
+ + + \section setting_shell Shell Commands + + + \image latex w_settings_shell_tab.png "Shell Settings Tab" width=7cm + + __Shell Command List__: + + A list of all currently available shell commands. The portrait symbol in front + of the name indicates that the script is stored in the user preferences. The + document symbol saves them within the `.fl` project file. + + `[+]` adds a fresh new script to the list, `[++]` duplicates the currently + selected script. `[DEL]` deletes it, and `[v]` offers import and export + functionality. The `[T]` button shows the terminal window, and finally the + `[Run]` button runs the selected shell script. + + Selecting a shell script will fill in the bottom half of the dialog. + + __Name__: + + This is the name of the script as it appears in the Shell Command List. + + __Menu Label__: + + Shell scripts that match the *Condition* flag are also available for quick + access in the *Shell* menu in the main window and via shortcut key + combinations. This is the text that is used for the menu entry. + + __Shortcut__: + + Assign a keyboard shortcut to this shell script for even faster access. FLUID + does not check if a shortcut is already used elsewhere. Try to avoid + collisions, especially when the script is part of a project file. + + __Store__: + + Choose where to store the settings of this shell script, either in the user + preferences or as part of the `.fl` project file. + + __Condition__: + + Shell scripts can be quite different for different platforms hosting FLUID. + This choice limits scripts to specific platforms. Multiple scripts can have + the same shortcut if they have different conditions. + + __Shell Script__: + + This is a text field for the shell script. The `[v]` pulldown menu has a list + of variables that are replaced with the corresponding value before running + the script. The zoom button gives access to a much larger shell script editor. + + The options below are a list of actions that can be executed before running + the script. + +
+ + + \section setting_i18n Internationalization + + The *Locale* tab can be used to configure optional internationalization. + FLUID supports GNU `gettext` and POSIX `catgets`. + + FLUID supports internationalization (I18N for short) of label + strings and tooltips used by widgets. The GNU gettext option also + supports deferred translation of statically initialized menu item + labels. The setting panel (`Alt+p`) provides access + to the I18N options. + + \image html w_settings_i18n_gnu.png + \image latex w_settings_i18n_gnu.png "I18N With GNU gettext" width=7cm + + 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. + + The "GNU gettext" method uses GNU gettext (or a similar + text-based I18N library) to retrieve a localized string before + calling the widget constructor. + + The GNU gettext option adds some preprocessor code to the source file: + ``` + #include + #ifndef gettext_noop + # define gettext_noop(text) text + #endif + ``` + and the gettext call around strings in the source code: + ``` + new Fl_Button(50, 50, 54, 40, "Button"); + // -> + new Fl_Button(50, 50, 54, 40, gettext("Button")); + ``` + + FLUID's code support for GNU gettext is limited to calling a + function or macro to retrieve the localized label; you still + need to call \p setlocale() and \p textdomain() or + \p bindtextdomain() to select the appropriate language and + message file. + + __Include__: controls the header file to include for +I18N; by default this is \b , the +standard I18N file for GNU gettext. + + __Conditional__: If this field contains a macro name, i18n will only be + compiled into the product if this macro is defined. The build system should + define the macro only if all required headers and libraries are available. If + the macro is not defined, no headers are included and `gettext` passes text + through untranslated. + + __Function__: controls the function (or macro) that will retrieve the localized + message; by default the \p gettext function will be called. + + __Static Function__: 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 call `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) + + \image html w_settings_i18n_psx.png + \image latex w_settings_i18n_psx.png "I18N With POSIX catgets" width=7cm + + The "POSIX catgets" method uses the POSIX catgets function to + retrieve a numbered message from a message catalog before + calling the widget constructor. + + FLUID's code support for POSIX catgets allows you to use a + global message file for all interfaces or a file specific to + each .fl file; you still need to call + \p setlocale() to select the appropriate language. + + This option adds some preprocessor code to the source file: + ``` + #include + // Initialize I18N stuff now for menus... + #include + static char *_locale = setlocale(LC_MESSAGES, ""); + static nl_catd _catalog = catopen("", 0); + ``` + and the catgets call around strings in the source code: + ``` + new Fl_Button(50, 50, 54, 40, "Button"); + // -> + new Fl_Button(50, 50, 54, 40, catgets(_catalog,1,6,"Button")); + ``` + + __Include__: controls the header file to include for + I18N; by default this is \b , the + standard I18N file for POSIX catgets. + + __Conditional__: include the header file only if this preprocessor macro is + defined. + + __Catalog__: controls the name of the catalog file +variable to use when retrieving localized messages; by default +the file field is empty which forces a local (static) catalog +file to be used for all of the windows defined in your +.fl file. + + __Set__: controls the set number in the catalog file. +The default set is 1 and rarely needs to be changed. + + + \section setting_user User Interface Preferences + + + \image latex w_settings_user_tab.png "User Settings Tab" width=7cm + + This tab lets users change the font and color of text in the widget browser. + The settings are stored in the user preferences. + + All changes are directly visible in the widget browser. + +
+ + */ diff --git a/fluid/documentation/src/page_tutorial.dox b/fluid/documentation/src/page_tutorial.dox new file mode 100644 index 000000000..3f0d48cae --- /dev/null +++ b/fluid/documentation/src/page_tutorial.dox @@ -0,0 +1,534 @@ +/** + + \page page_tutorial Tutorials + + \tableofcontents + + + + \section fluid_hello_world_tutorial Hello, World! + + The first FLUID tutorial explains the FLUID basics. It creates a single + `main()` function that opens an application window with a static text box + inside. + + After launching FLUID we want to make sure that two very useful tool windows + are open. + The "Widget Bin" gives quick access to all available widgets and functional + types. It can be opened via the main menu: __Edit > Show Widget Bin__, or + using the shortcut __Alt-B__. + + The second very helpful tool box is the "Code View". The Code View gives + a preview of the code as it will be generated by FLUID. All changes in the + layout or in attributes are reflected immediately in the Code View. + Choose __Edit > Show Code View__ or press __Alt-C__ to get this + toolbox. Make sure that _Auto-Refresh_ and _Auto-Position_ are active in + the Code View. + + Let's start Hello World from scratch. If there is already a previous project + loaded, select __File > New__ or __Ctrl-N__. + + Before we can create a window, we need a "C" function that can be called + when we run the program. Select __New > Code > Function/Method...__ or click on + the + \image{inline} html flFunction.png "Function/Method" + \image{inline} latex flFunction.png + image in the widget bin. + + A function is added as a first line to the widget tree in the main window, + and a "Function/Method Properties" dialog box will pop up. For our Hello World + program, delete all text in the top "Name(args)" text field. If this field + is left empty, FLUID will generate a `main(argc, argv)` function for us. + + \image html fluid4.png "Function/Method Properties Dialog" + \image latex fluid4.png "Function/Method Properties Dialog" width=7cm + + 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 + main window and pressing __F1__, or by double-clicking it. + + Note that the function will not show up in the Code View yet. FLUID will + not generate code for functions that don't have any content, and only create + a forward declaration in the header file, assuming that the function will + be implemented inside another module. + + Keep the `main` function selected and add an `Fl_Window` to the function by + selecting __New > Group > Window...__, by clicking the + \image{inline} html flWindow.png "Group/Window" + \image{inline} latex flWindow.png + image in the Widget Bin, or by dragging the Group/Window image from the + Widget Bin onto the desktop. + + A new application window will open up on the desktop. The thin red outline + around the window indicates that it is selected. Dragging the red line will + resize the window. Take a look at the Code View: the main function + is now generated, including code to instantiate our `Fl_Window`. + + To edit all the attributes of our window, make sure it is selected and press + __F1__, or double-click the entry in the main FLUID window, or double-click + the window itself. The "Widget Properties" dialog box will pop up. Enter + some text in the "Label:" text box and see how the label is updated immediately + in the window itself, in the widget list, and in the Code View. + + Adding a static text to our window is just as easy. Put an `Fl_Box` into our + window by selecting __New > Other > Box__, or by clicking on the + \image{inline} html flBox.png "Other/Box" + \image{inline} latex flBox.png + image in the Widget Bin, or by dragging the Other/Box image from the + Widget Bin into our newly created window. + + Most importantly, enter the text "Hello, World!" in the "Label:" field + of the Box Widget Properties panel to achieve the goal of this tutorial. Now + is also a great time to experiment with label styles, label fonts, sizes, + colors, etc. . + + Finally, we should save our project as an `.fl` project file somewhere. Once + the project is saved, select __File > Write Code__ or press __Shift-Ctrl-C__ + to write our source code and header file to the same directory. + + Compile the program using a Makefile, CMake file, or fltk-config as described + in the FLTK manual and the `README.txt` files in the FLTK source tree. + + + + \section fluid_1of7guis_tutorial 7GUIs, Task 1 + + In the first "Hello World" tutorial, we built an entire application in FLUID. + It's a boring application though that does nothing except quitting when the + 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 + + 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 + Comparison of Object-Oriented and Functional Programming for GUI Development + at the Human-Computer Interaction group of the Leibniz Universität Hannover + in 2014. 7GUIs defines seven tasks that represent typical challenges in GUI + programming. https://eugenkiss.github.io/7guis/ . + + Task 1 requires "Understanding the basic ideas of a language/toolkit. The + task is to build a frame containing a label or read-only textfield T and a + button B. Initially, the value in T is “0” and each click of B increases the + value in T by one." + + Our knowledge from tutorial 1 is enough to generate the `main()` function, and + add an `Fl_Window`, an `Fl_Output`, and an `Fl_Button`. To make life easy, + FLUID comes with a built-in template for this tutorial. Just select + __File > New from Template...__ and double-click "1of7GUIs" in the Template + Panel. + + We will need to reference the output widget in our callback, so let's assign a + pointer to the widget to a global variable and give that variable a name. + Open the Widget Properties dialog by double-clicking the output widget. + Change to the "C++" tab, and enter "`counter_widget`" in the "Name:" field. + + The "Count" button is the active element in our application. To tell the + app what to do when the user clicks the button, we create a callback function + for that button. Open the widget properties dialog for the button. + In the "C++" tab, we find the input field "Callback:". + + The callback is called exactly once every time the user clicks the button. Our + strategy here is to read the current value from the `counter_widget`, + increment it by 1, and write it back to `counter_widget`. + The FLTK documentation tells us that we can use `Fl_Output::ivalue()` to get + text in `Fl_Output` as an integer, and we can write it back by calling + `Fl_Output::value(int)`. When the value is changed, FLTK will automatically + redraw the output widget for us. So here is the callback code: + + ``` + int i = counter_widget->ivalue(); + i++; + counter_widget->value(i); + ``` + + That's it. This is a complete interactive desktop application. Compile, link, + run, and test it to see how it works. + + + +\section fluid_cubeview_tutorial Cube View + +This tutorial will show you how to generate a complete user interface +class with FLUID that is used for the CubeView program provided with FLTK. + +\image html cubeview.png "CubeView demo" +\image latex cubeview.png "CubeView demo" width=7cm + +The window is of class CubeViewUI, and is completely generated by FLUID, +including class member functions. The central display of the cube is a +separate subclass of Fl_Gl_Window called CubeView. CubeViewUI manages +CubeView using callbacks from the various sliders and rollers to +manipulate the viewing angle and zoom of CubeView. + +At the completion of this tutorial you will (hopefully) understand how to: + +-# Use FLUID to create a complete user interface class, including + constructor and any member functions necessary. +-# Use FLUID to set callback member functions of custom widget classes. +-# Subclass an Fl_Gl_Window to suit your purposes. + +\subsection fluid_cubeview The CubeView Class + +The CubeView class is a subclass of Fl_Gl_Window. It has methods for +setting the zoom, the \e x and \e y pan, and the rotation angle +about the \e x and \e y axes. + +You can safely skip this section as long as you realize that CubeView +is a sublass of Fl_Gl_Window and will respond to calls from +CubeViewUI, generated by FLUID. + +\par The CubeView Class Definition + +Here is the CubeView class definition, as given by its header file +"test/CubeView.h": +
+ + +\code +#include +#include +#include + +class CubeView : public Fl_Gl_Window { + +public: + CubeView(int x, int y, int w, int h, const char *l = 0); + + // This value determines the scaling factor used to draw the cube. + double size; + + /* Set the rotation about the vertical (y) axis. + * + * This function is called by the horizontal roller in + * CubeViewUI and the initialize button in CubeViewUI. + */ + void v_angle(double angle) { vAng = angle; } + + // Return the rotation about the vertical (y) axis. + double v_angle() const { return vAng; } + + /* Set the rotation about the horizontal (x) axis. + * + * This function is called by the vertical roller in + * CubeViewUI and the initialize button in CubeViewUI. + */ + + void h_angle(double angle) { hAng = angle; } + + // The rotation about the horizontal (x) axis. + double h_angle() const { return hAng; } + + /* Sets the x shift of the cube view camera. + * + * This function is called by the slider in CubeViewUI + * and the initialize button in CubeViewUI. + */ + void panx(double x) { xshift = x; } + + /* Sets the y shift of the cube view camera. + * + * This function is called by the slider in CubeViewUI + * and the initialize button in CubeViewUI. + */ + void pany(double y) { yshift = y; } + + /* The widget class draw() override. + * + * The draw() function initializes Gl for another round of + * drawing, then calls specialized functions for drawing each + * of the entities displayed in the cube view. + */ + void draw(); + +private: + /* Draw the cube boundaries. + * + * Draw the faces of the cube using the boxv[] vertices, + * using GL_LINE_LOOP for the faces. + */ + void drawCube(); + + double vAng, hAng; + double xshift, yshift; + + float boxv0[3]; float boxv1[3]; + float boxv2[3]; float boxv3[3]; + float boxv4[3]; float boxv5[3]; + float boxv6[3]; float boxv7[3]; +}; +\endcode + +\par The CubeView Class Implementation + +Here is the CubeView implementation. It is very similar to the +"CubeView" demo included with FLTK. +
+ + +\code +#include "CubeView.h" +#include + +CubeView::CubeView(int x, int y, int w, int h, const char *l) + : Fl_Gl_Window(x, y, w, h, l) +{ + Fl::use_high_res_GL(1); + vAng = 0.0; + hAng = 0.0; + size = 10.0; + xshift = 0.0; + yshift = 0.0; + + /* The cube definition. These are the vertices of a unit cube + * centered on the origin.*/ + + boxv0[0] = -0.5; boxv0[1] = -0.5; boxv0[2] = -0.5; + boxv1[0] = 0.5; boxv1[1] = -0.5; boxv1[2] = -0.5; + boxv2[0] = 0.5; boxv2[1] = 0.5; boxv2[2] = -0.5; + boxv3[0] = -0.5; boxv3[1] = 0.5; boxv3[2] = -0.5; + boxv4[0] = -0.5; boxv4[1] = -0.5; boxv4[2] = 0.5; + boxv5[0] = 0.5; boxv5[1] = -0.5; boxv5[2] = 0.5; + boxv6[0] = 0.5; boxv6[1] = 0.5; boxv6[2] = 0.5; + boxv7[0] = -0.5; boxv7[1] = 0.5; boxv7[2] = 0.5; +} + +void CubeView::drawCube() { +/* Draw a colored cube */ +#define ALPHA 0.5 + glShadeModel(GL_FLAT); + + glBegin(GL_QUADS); + glColor4f(0.0, 0.0, 1.0, ALPHA); + glVertex3fv(boxv0); + glVertex3fv(boxv1); + glVertex3fv(boxv2); + glVertex3fv(boxv3); + + glColor4f(1.0, 1.0, 0.0, ALPHA); + glVertex3fv(boxv0); + glVertex3fv(boxv4); + glVertex3fv(boxv5); + glVertex3fv(boxv1); + + glColor4f(0.0, 1.0, 1.0, ALPHA); + glVertex3fv(boxv2); + glVertex3fv(boxv6); + glVertex3fv(boxv7); + glVertex3fv(boxv3); + + glColor4f(1.0, 0.0, 0.0, ALPHA); + glVertex3fv(boxv4); + glVertex3fv(boxv5); + glVertex3fv(boxv6); + glVertex3fv(boxv7); + + glColor4f(1.0, 0.0, 1.0, ALPHA); + glVertex3fv(boxv0); + glVertex3fv(boxv3); + glVertex3fv(boxv7); + glVertex3fv(boxv4); + + glColor4f(0.0, 1.0, 0.0, ALPHA); + glVertex3fv(boxv1); + glVertex3fv(boxv5); + glVertex3fv(boxv6); + glVertex3fv(boxv2); + glEnd(); + + glColor3f(1.0, 1.0, 1.0); + glBegin(GL_LINES); + glVertex3fv(boxv0); + glVertex3fv(boxv1); + + glVertex3fv(boxv1); + glVertex3fv(boxv2); + + glVertex3fv(boxv2); + glVertex3fv(boxv3); + + glVertex3fv(boxv3); + glVertex3fv(boxv0); + + glVertex3fv(boxv4); + glVertex3fv(boxv5); + + glVertex3fv(boxv5); + glVertex3fv(boxv6); + + glVertex3fv(boxv6); + glVertex3fv(boxv7); + + glVertex3fv(boxv7); + glVertex3fv(boxv4); + + glVertex3fv(boxv0); + glVertex3fv(boxv4); + + glVertex3fv(boxv1); + glVertex3fv(boxv5); + + glVertex3fv(boxv2); + glVertex3fv(boxv6); + + glVertex3fv(boxv3); + glVertex3fv(boxv7); + glEnd(); +} // drawCube + +void CubeView::draw() { + if (!valid()) { + glLoadIdentity(); + glViewport(0, 0, pixel_w(), pixel_h()); + glOrtho(-10, 10, -10, 10, -20050, 10000); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glPushMatrix(); + + glTranslatef((GLfloat)xshift, (GLfloat)yshift, 0); + glRotatef((GLfloat)hAng, 0, 1, 0); + glRotatef((GLfloat)vAng, 1, 0, 0); + glScalef(float(size), float(size), float(size)); + + drawCube(); + + glPopMatrix(); +} +\endcode + +\subsection fluid_cubeview_ui The CubeViewUI Class + +We will completely construct a window to display and control the +CubeView defined in the previous section using FLUID. + +\par Defining the CubeViewUI Class + +Once you have started FLUID, the first step in defining a class is to +create a new class within FLUID using the New->Code->Class +menu item. Name the class "CubeViewUI" and leave the subclass blank. +We do not need any inheritance for this window. You should see the +new class declaration in the FLUID browser window. + +\image html fluid1.png "FLUID file for CubeView" +\image latex fluid1.png "FLUID file for CubeView" width=7cm + +\par Adding the Class Constructor + +Click on the CubeViewUI class in the FLUID window and add a new method +by selecting New->Code->Function/Method. The name of the +function will also be CubeViewUI. FLUID will understand that this will +be the constructor for the class and will generate the appropriate +code. Make sure you declare the constructor public. + +Then add a window to the CubeViewUI class. Highlight the name of +the constructor in the FLUID browser window and click on +New->Group->Window. In a similar manner add the +following to the CubeViewUI constructor: + +\li A horizontal roller named \p hrot +\li A vertical roller named \p vrot +\li A horizontal slider named \p xpan +\li A vertical slider named \p ypan +\li A horizontal value slider named \p zoom + +None of these additions need be public. And they shouldn't be +unless you plan to expose them as part of the interface for +CubeViewUI. + +When you are finished you should have something like this: + +\image html fluid2.png "FLUID window containing CubeView demo" +\image latex fluid2.png "FLUID window containing CubeView demo" width=7cm + +We will talk about the \p show() method that is highlighted +shortly. + +\par Adding the CubeView Widget + +What we have is nice, but does little to show our cube. We have already +defined the CubeView class and we would like to show it within the +CubeViewUI. + +The CubeView class inherits the Fl_Gl_Window class, which +is created in the same way as an Fl_Box widget. Use +New->Other->Box to add a square box to the main window. +This will be no ordinary box, however. + +The Box properties window will appear. The key to letting CubeViewUI +display CubeView is to enter CubeView in the Class: text +entry box. This tells FLUID that it is not an Fl_Box, but a +similar widget with the same constructor. + +In the Extra Code: field enter \#include "CubeView.h" + +This \p \#include is important, as we have just included +CubeView as a member of CubeViewUI, so any public CubeView methods are +now available to CubeViewUI. + +\image html fluid3-cxx.png "CubeView methods" +\image latex fluid3-cxx.png "CubeView methods" width=7cm + +\par Defining the Callbacks + +Each of the widgets we defined before adding CubeView can have +callbacks that call CubeView methods. You can call an external +function or put a short amount of code in the Callback +field of the widget panel. For example, the callback for the +\p ypan slider is: + +\code +cube->pany(((Fl_Slider *)o)->value()); +cube->redraw(); +\endcode + +We call cube->redraw() after changing the value to update +the CubeView window. CubeView could easily be modified to do this, but +it is nice to keep this exposed. In the case where you may want to do +more than one view change only redrawing once saves a lot of time. + +There is no reason to wait until after you have added CubeView to +enter these callbacks. FLUID assumes you are smart enough not to refer +to members or functions that don't exist. + +\par Adding a Class Method + +You can add class methods within FLUID that have nothing to do with the +GUI. As an example add a show function so that CubeViewUI can actually +appear on the screen. + +Make sure the top level CubeViewUI is selected and select +New->Code->Function/Method. Just use the name +\p show(). We don't need a return value here, and since we will +not be adding any widgets to this method FLUID will assign it a return +type of \p void. + +\image html fluid4.png "CubeView constructor" +\image latex fluid4.png "CubeView constructor" width=7cm + +Once the new method has been added, highlight its name and select +New->Code->Code. Enter the method's code in the code window. + +\subsection fluid_addconst Adding Constructor Initialization Code + +If you need to add code to initialize a class, for example setting +initial values of the horizontal and vertical angles in the +CubeView, you can simply highlight the constructor and select +New->Code->Code. Add any required code. + +\subsection fluid_gencode Generating the Code + +Now that we have completely defined the CubeViewUI, we have to generate +the code. There is one last trick to ensure this all works. Open the +preferences dialog from Edit->Preferences. + +At the bottom of the preferences dialog box is the key: +"Include Header from Code". +Select that option and set your desired file +extensions and you are in business. You can include the CubeViewUI.h +(or whatever extension you prefer) as you would any other C++ class. + +*/ diff --git a/fluid/documentation/src/page_widget_panel.dox b/fluid/documentation/src/page_widget_panel.dox new file mode 100644 index 000000000..158f4663b --- /dev/null +++ b/fluid/documentation/src/page_widget_panel.dox @@ -0,0 +1,429 @@ +/** + + \page page_widget_panel Widget Properties Panel + + \tableofcontents + + # The Widget Properties Panel # + + \image html widget_panel.png "Widget Properties" + \image latex widget_panel.png "Widget Properties" width=9cm + + 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`. + + When you change attributes using this panel, the changes are + reflected immediately in the window. It is useful to hit 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. + + One or more widgets can be selected at the same time, and most attribute + changes will be applied to the entire selection. + Depending on the selected widget types, some properties may + be grayed out or may not be visible. + + All changes in the widget panel are immediately applied to all selected + widgets and their effect can be seen in the project window. It can be very + useful to keep the *Code View* window open at all times. All code changes + appear instantly for all generated files if *Auto-Refresh* is active. + + FLUID generates only code for properties that differ from their default + setting. If a widget class is derived from another class, FLUID can't know + the defaults and will generate code for all attributes instead. + + \image html wLiveMode.png + \image latex wLiveMode.png "" width=9cm + + Correctly resizing a window can be a complex task. It is easier to check + resizing behavior on a more local level first. + To use *Live Resize*, select any group or window in your project. FLUID creates + a resizable clone of that part of your design to try out resizing behavior + of that group only. + + The widget panel itself is resizable to make more room for entering code + and long texts. + + + \section widget_panel_gui The GUI Tab + + \image html wp_gui_tab.png + \image latex wp_gui_tab.png "" width=9cm + + 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 + tabs with more options. + + 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 "" width=7cm + + The *Label* field can be any Unicode string and is stored as a static text. + If internationalization is enabled, the corresponding modifiers are + added. Labels can span multiple lines by pressing `Ctrl-J` to insert a newline + (NL) character. + + The `@` character adds a symbol to the label. See *Labels and Label Types* + in the FLTK documentation. + + The pulldown menu offers some additional rendering styles for the label. + + \image html wp_gui_image.png + \image latex wp_gui_image.png "" width=7cm + + Add an image to the widget label here. The second row takes an optional image + for rendering a deactivated widget. + + The image path must be relative to the location of the `.fl` file and not + necessarily the current directory. It is helpful to keep images in the same + directory as the `.fl` file. + + The image data is inlined into the source code. If many widgets share the same + image then only one copy is written. Since the image data is embedded in the + generated source code, you need only distribute the C++ code and not the + image files themselves. The `.fl` project files however store only the image + file name, so you will need the image files as well to read a project file. + + FLUID can read XBM bitmap files, XPM pixmaps with a transparency channel, and + all other types supported by the FLTK image extension. FLUID stores images + as bitmaps or RGB data by default. If *compressed* is selected in the image + properties field, the image is stored in its original format, and + the FLTK-images library must be linked to decompress the image at runtime. + + Images are stored at their original resolution. The image properties dialog + provides *Scale* settings to scale the image before rendering to screen. + To make full use of high-dpi screen support, images should be stored at double + resolution and then scaled to FLTK coordinates. This gives FLTK the chance to + fall back to the full size image for high-dpi screens. + + \image html wp_gui_alignment.png + \image latex wp_gui_alignment.png "" width=7cm + + 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 "" width=7cm + + Control the size and position of a widget here. The input fields react to + vertical scroll wheel input for interactive positioning. + + All fields understand basic math. They are evaluated after the formula is + entered and the result is stored in the respective properties. Formulas can + also contain a number of variables. The *x* input can handle the variables + `x` for its own position, `px` for the parent position, `sx` for the previous + sibling, `cx` for the leftmost x position of all children, and `i`, which is a + counter through all selected widgets. + + The formula `x+10` in the *x* field moves all selected widgets 10 pixels to + the right. `100+25*i` in the *y* field arranges all widgets vertically + starting at 100 with 25 pixels distance. + +| Name | Value | +| ---- | ----- | +| `i` | zero based counter of selected widgets | +| `x`, `y`, `w`, `h` | position and size of the current widget | +| `px`, `py`, `pw`, `ph` | dimensions of the parent widget | +| `sx`, `sy`, `sw`, `sh` | dimensions of the previous sibling | +| `cx`, `cy`, `cw`, `ch` | bounding box of all children | + + \image html wp_gui_values.png + \image latex wp_gui_values.png "" width=7cm + + Activate for widgets that can take numerical values, these input fields take + floating point numbers. They 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 "" width=7cm + + This row is only visible for children of `Fl_Flex` widgets. It sets the + width or height of a widget in a 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 "" width=7cm + + 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 "" width=7cm + + This row is only visible for top level windows. The fields set 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 "" width=7cm + + 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 + elsewhere. + + If *shortcut use FL_COMMAND* is set in the project settings, modifiers are + created in a more compatible way across platforms. + + \image html wp_gui_xclass.png + \image latex wp_gui_xclass.png "" width=7cm + + This row is only visible for top level windows. Note that selecting *modal* + and *non modal* together is undefined. + + The string typed into the *X Class* field is passed to the X window manager + as the class. This can change the icon or window decorations. On most window + managers you will have to close the window and reopen it at runtime to + see the effect. + + \image html wp_gui_attributes.png + \image latex wp_gui_attributes.png "" width=7cm + + Some additional attributes for all widget types. + + The *Visible* button controls whether the widget is + visible (on) or hidden (off) initially. Don't change this for + windows or for the immediate children of a Tabs group. + + The *Active* button controls whether the widget is + activated (on) or deactivated (off) initially. Most widgets + appear grayed out when deactivated. + + The *Resizable* button controls whether the window or widget is + resizable. In addition all the size changes of a window or + group will go "into" the resizable child. If you have + a large data display surrounded by buttons, you probably want + that data area to be resizable. You can get more complex + behavior by making invisible boxes the resizable widget, or by + using hierarchies of groups. Resizing of a window or group can be tested + using the *live resize* button. + + The *Hotspot* button causes the parent window to be + positioned with that widget centered on the mouse. This + position is determined when the FLUID function is called, + so you should call it immediately before showing the window. If + you want the window to hide and then reappear at a new position, + you should have your program set the hotspot itself just before + `show()`. + + \image html wp_gui_tooltip.png + \image latex wp_gui_tooltip.png "" width=7cm + + The *Tooltip* field can be any Unicode string and is stored as a static text. + If internationalization is enabled, the corresponding modifiers are + added. + + + \section widget_panel_style The Style Tab + + \image html wp_style_tab.png + \image latex wp_style_tab.png "Style Tab" width=9cm + + The Style tab is used to edit font styles and sizes, and the color of elements + of the widget. + + \image html wp_style_label.png + \image latex wp_style_label.png "" width=7cm + + \image html wp_style_text.png + \image latex wp_style_text.png "" width=7cm + + 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* + and *text color* fields opens a color palette selector. The arrow pulldown + contains a list of the most commonly used colors. Again, user specific colors + can be defined using the *extra code* field. + + The *Text Font* row is only available for widgets that contain an additional + text area. + + \image html wp_style_box.png + \image latex wp_style_box.png "" width=7cm + + Select the up and down box for the given widget. The first six entries in the + box and frame style list are influenced by the FLTK Scheme setting. Other + box styles will always look the same, independently of the selected scheme. + + Many widgets will work, and draw faster, with a + "frame" instead of a "box". A frame does + not draw the colored interior, leaving whatever was already + there visible. Be careful, as FLUID may draw this ok but the + real program may leave unwanted stuff inside the widget. + + If a window is filled with child widgets, you can speed up + redrawing by changing the window's box type to + "NO_BOX". FLUID will display a checkerboard for any + areas that are not colored in by boxes. Note that this + checkerboard is not drawn by the resulting program. Instead + random garbage will be displayed. + + The *Down Box* row is only available for widgets that can be pressed down + by the user. + + Some widgets will use the *Select Color* for certain parts. FLUID + does not always show the result of this: this is the color + buttons draw in when pushed down, and the color of input fields + when they have the focus. + + + \section widget_panel_cpp The C++ Tab + + \image html wp_cpp_tab.png + \image latex wp_cpp_tab.png "C++ Tab" width=9cm + + The C++ tab has various input fields 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 "" width=7cm + + 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 + default values of attribute can not be known. FLUID will generate code to + explicitly set every known attribute of the super class. + + FLUID generates "include" statements for known classes. Custom classes should + provide a \p \#include line as one of the "Extra Code" lines of the widget. + + If the selected widget is a Widget Class node, the Class property will instead + set the super class of the widget. + + The pulldown menu on the right side contains additional subtypes for some + widget types. `Fl_Button` widgets, for instance, can be further refined to + be an `Fl_Toggle_Button` or an `Fl_Radio_Button`. + + \image html wp_cpp_name.png + \image latex wp_cpp_name.png "" width=7cm + + 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*, + and *public*. If not in the group, the variable can be *global* or *static* + within the source file. + + Widgets created by FLUID are either "named", "complex named" or + "unnamed". A named widget has a legal C++ variable identifier as its + name (i.e. only alphanumeric and underscore). In this case FLUID + defines a global variable or class member that will point at the widget + after the function defining it is called. A complex named object has + punctuation such as '.' or '->' or any other symbols + in its name. In this case FLUID does not attempt to declare it. This can be + used to get the widgets into structures. An unnamed widget has a blank + name and no pointer is stored. + + You can name several widgets with "name[0]", "name[1]", "name[2]", etc.. + This will cause FLUID to declare an array of pointers. The array + is big enough that the highest number found can be stored. All widgets + in the array must be the same type. + + \image html v_input.png + \image latex v_input.png "" width=7cm + + 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 + of code by inserting a `Ctrl-J`. + + All Extra Code fields are interpreted individually. If a field contains a `#` + character, or the words `extern`, `typedef`, or `using`, FLUID assumes that + the code is a declaration and writes it to the header file, and only if it + does not duplicate previously written code. This is great for creating a + `#include "MyWidgetType.H"` include statement in the header. + + If the code is not recognized as a declaration, it will instead be put after + the code that instantiates the widget and all its children. For menu items, + the code is added after the container `Fl_Menu_` is created, but before the + menu array is added to the container. + + FLUID will check for matching parentheses, braces, and + quotes, but does not do much other error checking. Be careful + here, as it may be hard to figure out what widget is producing + an error in the compiler. If you need more than four lines you + probably should call a function in your own `.cxx` + code. + + \image html wComment.png + \image latex wComment.png "" width=7cm + + 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 "" width=7cm + + 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 + function and declares it in the header as + `extern void my_button_action(Fl_Button*, void*);`. + + Otherwise, FLUID assumes that the text is the body of a C++ callback function + and instead creates a local static callback function. The name of the callback + function is generated by FLUID and guaranteed to be unique within the file. + ``` + static void cb_input(Fl_Input *o, void *v) { + ... // my text from the Callback field here + } + ``` + You can refer to the widget as \p o and the \p user_data() + as \p v. FLUID will check for matching parentheses, braces, + and quotes, but does not do much other error checking. + + If the callback is blank then no callback is set. + + The *User Data* field can contain any valid C++ code and is copied as the + callback argument. If blank the default value of zero is used. + *Type* is currently limited to a pointer (a type name ending in `*`) or `long`. + + The *When* pulldown gives access to the `Fl_When` flags, including some + commonly used combinations. + + + \section widget_panel_grid The Grid Tab + + \image html wp_grid_tab.png + \image latex wp_grid_tab.png "Grid Tab" width=9cm + + This tab is only available if the selected widget is an `Fl_Grid`. When editing + a Grid widget, no other widgets should be selected. + + The *Grid Layout* fields adjust the number of rows and columns in the grid. + + The *Margins* fields describe the size of the margins around all children of + the grid. + + The *Gaps* fields set the gaps between individual children in the grid. + + The *Row* and *Column* groups can be used to set the size of individual rows + and columns within the grid. + + + \section widget_panel_gridc The Grid Child Tab + + \image html wp_gridc_tab.png + \image latex wp_gridc_tab.png "Grid Child Tab" width=9cm + + 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. + + Use the *Location* group to move a child around within the grid. Note that + every cell in a grid can only manage one single widget. When moving widgets + over occupied cells, they become "transient". Just continue and move them into + an available cell. If a layout is saved with a transient widget, all grid + attributes for that widget are lost, and it will remain unassigned in the + project file and in the source code. + + The *Align* fields provide a way to align a widget within its cell. + + The *Min. Size* fields define a minimum width and height for the widget + in the cell. + + The *Span* fields change the number of cells that a widget can span in x and y. + + \note Most attributes in this tab will also change the size of the widget. If + the child of the Grid is itself a group, the children of that group do not + follow changes in position or size. It is recommended to either lay out the + grid contents first and leave it unchanged, or to use widgets generated with + Widget Class that automatically adjust themselves to the size constraints + of the grid. + +*/ diff --git a/fluid/documentation/src/page_widgetbin_panel.dox b/fluid/documentation/src/page_widgetbin_panel.dox new file mode 100644 index 000000000..c9da9f9c9 --- /dev/null +++ b/fluid/documentation/src/page_widgetbin_panel.dox @@ -0,0 +1,34 @@ +/** + + \page page_widgetbin_panel Widget Bin Panel + + \tableofcontents + + # The Widget Bin Panel # + + \image html widgetbin_panel.png "Widget Bin" + \image latex widgetbin_panel.png "Widget Bin" width=9cm + + The Widget Bin can be activated via the main + menu: *Edit* > *Show Widget Bin* . FLUID will remember its + state and dimensions. + + The Widget Bin is a great way to quickly create a GUI project. Clicking + an icon in the bin will create the corresponding code or widget node inside + or right after the selected widget. If the parent widget is not supported + for this widget type, FLUID tries to find a better position. If that fails, + a dialog box will pop up, explaining what type of parent node is required. + + The Window and Widget Class icons can be dragged onto the desktop, + creating a new window or widget at the drop position. + + \image html widgetbin_action.png + \image latex widgetbin_action.png + + All other widget types can be dragged from the bin into a window, or a group + inside a window. When dropped, they will be positioned close to the drop point + and inserted into the widget tree as the last child of the chosen group. + The order of widgets within their group can be changed with + the `F2` and `F3` keys. + +*/ diff --git a/fluid/documentation/src/widgetbin_action.png b/fluid/documentation/src/widgetbin_action.png new file mode 100644 index 0000000000000000000000000000000000000000..26463b6e91fbd5c2d34f1209d57473f29ed16b29 GIT binary patch literal 232128 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%0Ddc)PxYJ*q< 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

jCe3zq9q&hLj7mE0;hZ75 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�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 OM@~vvvPRq_=>G#Jrw1bd literal 0 HcmV?d00001 diff --git a/fluid/factory.cxx b/fluid/factory.cxx index 46183bb8a..a4072967f 100644 --- a/fluid/factory.cxx +++ b/fluid/factory.cxx @@ -1208,7 +1208,7 @@ static Fl_Type *known_types[] = { add_new_widget_from_user(Fl_Type*, int) add_new_widget_from_user(const char*, int) */ -Fl_Type *add_new_widget_from_user(Fl_Type *inPrototype, Strategy strategy) { +Fl_Type *add_new_widget_from_user(Fl_Type *inPrototype, Strategy strategy, bool and_open) { undo_checkpoint(); undo_suspend(); Fl_Type *t = ((Fl_Type*)inPrototype)->make(strategy); @@ -1314,7 +1314,8 @@ Fl_Type *add_new_widget_from_user(Fl_Type *inPrototype, Strategy strategy) { // make the new widget visible select_only(t); set_modflag(1); - t->open(); + if (and_open) + t->open(); } else { undo_current --; undo_last --; @@ -1332,10 +1333,10 @@ Fl_Type *add_new_widget_from_user(Fl_Type *inPrototype, Strategy strategy) { add_new_widget_from_user(Fl_Type*, int) add_new_widget_from_user(const char*, int) */ -Fl_Type *add_new_widget_from_user(const char *inName, Strategy strategy) { +Fl_Type *add_new_widget_from_user(const char *inName, Strategy strategy, bool and_open) { Fl_Type *prototype = typename_to_prototype(inName); if (prototype) - return add_new_widget_from_user(prototype, strategy); + return add_new_widget_from_user(prototype, strategy, and_open); else return NULL; } diff --git a/fluid/factory.h b/fluid/factory.h index 7bd09eb05..7f3ca6dfa 100644 --- a/fluid/factory.h +++ b/fluid/factory.h @@ -27,8 +27,8 @@ void fill_in_New_Menu(); Fl_Type *typename_to_prototype(const char *inName); Fl_Type *add_new_widget_from_file(const char *inName, Strategy strategy); -Fl_Type *add_new_widget_from_user(Fl_Type *inPrototype, Strategy strategy); -Fl_Type *add_new_widget_from_user(const char *inName, Strategy strategy); +Fl_Type *add_new_widget_from_user(Fl_Type *inPrototype, Strategy strategy, bool and_open=true); +Fl_Type *add_new_widget_from_user(const char *inName, Strategy strategy, bool and_open=true); #endif // _FLUID_FACTORY_H diff --git a/fluid/file.cxx b/fluid/file.cxx index a054a34cb..e71f4b9a6 100644 --- a/fluid/file.cxx +++ b/fluid/file.cxx @@ -27,7 +27,7 @@ #include "Fl_Widget_Type.h" #include "Fl_Grid_Type.h" #include "Fl_Window_Type.h" -#include "alignment_panel.h" +#include "settings_panel.h" #include "widget_browser.h" #include "shell_command.h" #include "code.h" @@ -75,9 +75,9 @@ int read_file(const char *filename, int merge, Strategy strategy) { is used to implement copy and paste. \return 0 if the operation failed, 1 if it succeeded */ -int write_file(const char *filename, int selected_only, bool to_sourceview) { +int write_file(const char *filename, int selected_only, bool to_codeview) { Fd_Project_Writer out; - return out.write_project(filename, selected_only, to_sourceview); + return out.write_project(filename, selected_only, to_codeview); } /** @@ -780,7 +780,7 @@ void Fd_Project_Reader::read_fdesign() { Fd_Project_Writer::Fd_Project_Writer() : fout(NULL), needspace(0), - write_sourceview_(false) + write_codeview_(false) { } @@ -824,11 +824,11 @@ int Fd_Project_Writer::close_write() { \param[in] filename create this file, and if it exists, overwrite it \param[in] selected_only write only the selected nodes in the widget_tree. This is used to implement copy and paste. - \param[in] sv if set, this file will be used by SourceView + \param[in] sv if set, this file will be used by codeview \return 0 if the operation failed, 1 if it succeeded */ int Fd_Project_Writer::write_project(const char *filename, int selected_only, bool sv) { - write_sourceview_ = sv; + write_codeview_ = sv; undo_suspend(); if (!open_write(filename)) { undo_resume(); diff --git a/fluid/file.h b/fluid/file.h index b2e3739a3..71ee543a4 100644 --- a/fluid/file.h +++ b/fluid/file.h @@ -26,7 +26,7 @@ class Fl_Type; extern int fdesign_flip; int read_file(const char *, int merge, Strategy strategy=kAddAsLastChild); -int write_file(const char *, int selected_only = 0, bool to_sourceview = false); +int write_file(const char *, int selected_only = 0, bool to_codeview = false); class Fd_Project_Reader { @@ -73,22 +73,22 @@ protected: FILE *fout; /// If set, one space is written before text unless the format starts with a newline character int needspace; - /// Set if this file will be used in the SourceView dialog - bool write_sourceview_; + /// Set if this file will be used in the codeview dialog + bool write_codeview_; public: Fd_Project_Writer(); ~Fd_Project_Writer(); int open_write(const char *s); int close_write(); - int write_project(const char *filename, int selected_only, bool sourceview); + int write_project(const char *filename, int selected_only, bool codeview); void write_word(const char *); void write_string(const char *,...) __fl_attr((__format__ (__printf__, 2, 3))); void write_indent(int n); void write_open(); void write_close(int n); FILE *file() const { return fout; } - bool write_sourceview() const { return write_sourceview_; } + bool write_codeview() const { return write_codeview_; } }; #endif // _FLUID_FILE_H diff --git a/fluid/fluid.cxx b/fluid/fluid.cxx index 7878124f8..fcc859ad2 100644 --- a/fluid/fluid.cxx +++ b/fluid/fluid.cxx @@ -29,11 +29,12 @@ #include "code.h" #include "mergeback.h" -#include "alignment_panel.h" +#include "settings_panel.h" #include "function_panel.h" -#include "sourceview_panel.h" +#include "codeview_panel.h" #include "template_panel.h" #include "about_panel.h" +#include "autodoc.h" #include #ifdef __APPLE__ @@ -132,8 +133,8 @@ Fl_Menu_Item *history_item = NULL; /// Menuitem to show or hide the widget bin, label will change if bin is visible. Fl_Menu_Item *widgetbin_item = NULL; -/// Menuitem to show or hide the source view, label will change if view is visible. -Fl_Menu_Item *sourceview_item = NULL; +/// Menuitem to show or hide the code view, label will change if view is visible. +Fl_Menu_Item *codeview_item = NULL; /// Menuitem to show or hide the editing overlay, label will change if overlay visibility changes. Fl_Menu_Item *overlay_item = NULL; @@ -184,6 +185,9 @@ Fl_String g_header_filename_arg; /// current directory path at application launch Fl_String g_launch_path; +/// if set, generate images for automatic documentation in this directory +Fl_String g_autodoc_path; + /// path to store temporary files during app run /// \see tmpdir_create_called Fl_String tmpdir_path; @@ -796,15 +800,15 @@ void exit_cb(Fl_Widget *,void *) { save_position(widgetbin_panel,"widgetbin_pos"); delete widgetbin_panel; } - if (sourceview_panel) { - Fl_Preferences svp(fluid_prefs, "sourceview"); - svp.set("autorefresh", sv_autorefresh->value()); - svp.set("autoposition", sv_autoposition->value()); - svp.set("tab", sv_tab->find(sv_tab->value())); - svp.set("code_choice", sv_code_choice); - save_position(sourceview_panel,"sourceview_pos"); - delete sourceview_panel; - sourceview_panel = 0; + if (codeview_panel) { + Fl_Preferences svp(fluid_prefs, "codeview"); + svp.set("autorefresh", cv_autorefresh->value()); + svp.set("autoposition", cv_autoposition->value()); + svp.set("tab", cv_tab->find(cv_tab->value())); + svp.set("code_choice", cv_code_choice); + save_position(codeview_panel,"codeview_pos"); + delete codeview_panel; + codeview_panel = 0; } if (shell_run_window) { save_position(shell_run_window,"shell_run_Window_pos"); @@ -838,10 +842,10 @@ void exit_cb(Fl_Widget *,void *) { to save the old project first. \param[in] user_must_confirm if set, a confimation dialog is presented to the - user before resetting the project. + user before resetting the project. Default is `true`. \return false if the operation was canceled */ -bool new_project(bool user_must_confirm = true) { +bool new_project(bool user_must_confirm) { // verify user intention if ((user_must_confirm) && (confirm_project_clear() == false)) return false; @@ -1696,7 +1700,7 @@ Fl_Menu_Item Main_Menu[] = { {"Hide Guides",FL_COMMAND+FL_SHIFT+'g',toggle_guides}, {"Hide Restricted",FL_COMMAND+FL_SHIFT+'r',toggle_restricted}, {"Show Widget &Bin...",FL_ALT+'b',toggle_widgetbin_cb}, - {"Show Source Code...",FL_ALT+FL_SHIFT+'s', (Fl_Callback*)toggle_sourceview_cb, 0, FL_MENU_DIVIDER}, + {"Show Code View",FL_ALT+'c', (Fl_Callback*)toggle_codeview_cb, 0, FL_MENU_DIVIDER}, {"Settings...",FL_ALT+'p',show_settings_cb}, {0}, {"&New", 0, 0, (void *)New_Menu, FL_SUBMENU_POINTER}, @@ -1813,7 +1817,11 @@ void init_scheme() { scheme_name = const_cast(scheme_choice->text(scheme_index)); fluid_prefs.set("scheme_name", scheme_name); } - Fl::scheme(scheme_name); + // Set the new scheme only if it was not overridden by the -scheme + // command line option + if (Fl::scheme() == NULL) { + Fl::scheme(scheme_name); + } free(scheme_name); } @@ -1839,15 +1847,15 @@ void toggle_widgetbin_cb(Fl_Widget *, void *) { /** Show or hide the code preview window. */ -void toggle_sourceview_cb(Fl_Double_Window *, void *) { - sourceview_toggle_visibility(); +void toggle_codeview_cb(Fl_Double_Window *, void *) { + codeview_toggle_visibility(); } /** Show or hide the code preview window, button callback. */ -void toggle_sourceview_b_cb(Fl_Button*, void *) { - sourceview_toggle_visibility(); +void toggle_codeview_b_cb(Fl_Button*, void *) { + codeview_toggle_visibility(); } /** @@ -1877,7 +1885,7 @@ void make_main_window() { save_item = (Fl_Menu_Item*)main_menubar->find_item(save_cb); history_item = (Fl_Menu_Item*)main_menubar->find_item(menu_file_open_history_cb); widgetbin_item = (Fl_Menu_Item*)main_menubar->find_item(toggle_widgetbin_cb); - sourceview_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)toggle_sourceview_cb); + codeview_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)toggle_codeview_cb); overlay_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)toggle_overlays); guides_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)toggle_guides); restricted_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)toggle_restricted); @@ -2049,9 +2057,9 @@ void set_modflag(int mf, int mfc) { if (!old_title || strcmp(old_title, new_title)) main_window->copy_label(new_title); } - // if the UI was modified in any way, update the Source View panel - if (sourceview_panel && sourceview_panel->visible() && sv_autorefresh->value()) - sourceview_defer_update(); + // if the UI was modified in any way, update the Code View panel + if (codeview_panel && codeview_panel->visible() && cv_autorefresh->value()) + codeview_defer_update(); } // ---- Main program entry point @@ -2091,6 +2099,12 @@ static int arg(int argc, char** argv, int& i) { batch_mode++; i += 2; return 2; } +#ifndef NDEBUG + if ((i+1 < argc) && (strcmp(argv[i], "--autodoc") == 0)) { + g_autodoc_path = argv[i+1]; + i += 2; return 2; + } +#endif if (argv[i][1] == 'h' && !argv[i][2]) { if ( (i+1 < argc) && (argv[i+1][0] != '-') ) { g_header_filename_arg = argv[i+1]; @@ -2179,7 +2193,9 @@ int main(int argc,char **argv) { return 1; } - const char *c = argv[i]; + const char *c = NULL; + if (g_autodoc_path.empty()) + c = argv[i]; fl_register_images(); @@ -2202,8 +2218,8 @@ int main(int argc,char **argv) { g_layout_list.read(fluid_prefs, FD_STORE_USER); main_window->show(argc,argv); toggle_widgetbin_cb(0,0); - toggle_sourceview_cb(0,0); - if (!c && openlast_button->value() && absolute_history[0][0]) { + toggle_codeview_cb(0,0); + if (!c && openlast_button->value() && absolute_history[0][0] && g_autodoc_path.empty()) { // Open previous file when no file specified... open_project_file(absolute_history[0]); } @@ -2257,6 +2273,14 @@ int main(int argc,char **argv) { // Set (but do not start) timer callback for external editor updates ExternalCodeEditor::set_update_timer_callback(external_editor_timer); +#ifndef NDEBUG + // check if the user wants FLUID to generate image for the user documentation + if (!g_autodoc_path.empty()) { + run_autodoc(g_autodoc_path); + return 0; + } +#endif + #ifdef _WIN32 Fl::run(); #else diff --git a/fluid/fluid.h b/fluid/fluid.h index b71baaeb7..95f4dc4dd 100644 --- a/fluid/fluid.h +++ b/fluid/fluid.h @@ -78,7 +78,7 @@ extern void update_history(const char *); extern Fl_Menu_Item *save_item; extern Fl_Menu_Item *history_item; extern Fl_Menu_Item *widgetbin_item; -extern Fl_Menu_Item *sourceview_item; +extern Fl_Menu_Item *codeview_item; extern Fl_Menu_Item *overlay_item; extern Fl_Button *overlay_button; extern Fl_Menu_Item *guides_item; @@ -98,6 +98,8 @@ extern Fl_String g_code_filename_arg; extern Fl_String g_header_filename_arg; extern Fl_String g_launch_path; +extern Fl_String g_autodoc_path; + // ---- project class declaration /** @@ -176,6 +178,7 @@ extern Fluid_Project g_project; // ---- public functions +extern bool new_project(bool user_must_confirm = true); extern void enter_project_dir(); extern void leave_project_dir(); extern void set_filename(const char *c); diff --git a/fluid/makedepend b/fluid/makedepend index f3a4d99f5..cdef22f26 100644 --- a/fluid/makedepend +++ b/fluid/makedepend @@ -26,89 +26,89 @@ about_panel.o: ../FL/Fl_Window.H about_panel.o: ../FL/platform_types.h about_panel.o: ../src/flstring.h about_panel.o: about_panel.h -alignment_panel.o: ../config.h -alignment_panel.o: ../FL/Enumerations.H -alignment_panel.o: ../FL/filename.H -alignment_panel.o: ../FL/Fl.H -alignment_panel.o: ../FL/fl_ask.H -alignment_panel.o: ../FL/fl_attr.h -alignment_panel.o: ../FL/Fl_Bitmap.H -alignment_panel.o: ../FL/Fl_Box.H -alignment_panel.o: ../FL/Fl_Browser.H -alignment_panel.o: ../FL/Fl_Browser_.H -alignment_panel.o: ../FL/Fl_Button.H -alignment_panel.o: ../FL/Fl_Cairo.H -alignment_panel.o: ../FL/fl_casts.H -alignment_panel.o: ../FL/Fl_Check_Button.H -alignment_panel.o: ../FL/Fl_Choice.H -alignment_panel.o: ../FL/fl_config.h -alignment_panel.o: ../FL/Fl_Device.H -alignment_panel.o: ../FL/Fl_Double_Window.H -alignment_panel.o: ../FL/fl_draw.H -alignment_panel.o: ../FL/Fl_Export.H -alignment_panel.o: ../FL/Fl_File_Browser.H -alignment_panel.o: ../FL/Fl_File_Chooser.H -alignment_panel.o: ../FL/Fl_File_Icon.H -alignment_panel.o: ../FL/Fl_File_Input.H -alignment_panel.o: ../FL/Fl_Flex.H -alignment_panel.o: ../FL/Fl_Graphics_Driver.H -alignment_panel.o: ../FL/Fl_Group.H -alignment_panel.o: ../FL/Fl_Image.H -alignment_panel.o: ../FL/Fl_Input.H -alignment_panel.o: ../FL/Fl_Input_.H -alignment_panel.o: ../FL/Fl_Int_Input.H -alignment_panel.o: ../FL/Fl_Light_Button.H -alignment_panel.o: ../FL/Fl_Menu_.H -alignment_panel.o: ../FL/Fl_Menu_Button.H -alignment_panel.o: ../FL/Fl_Menu_Item.H -alignment_panel.o: ../FL/Fl_Multi_Label.H -alignment_panel.o: ../FL/Fl_Native_File_Chooser.H -alignment_panel.o: ../FL/Fl_Pack.H -alignment_panel.o: ../FL/Fl_Pixmap.H -alignment_panel.o: ../FL/Fl_Plugin.H -alignment_panel.o: ../FL/Fl_PNG_Image.H -alignment_panel.o: ../FL/Fl_Preferences.H -alignment_panel.o: ../FL/Fl_Rect.H -alignment_panel.o: ../FL/Fl_Repeat_Button.H -alignment_panel.o: ../FL/Fl_Return_Button.H -alignment_panel.o: ../FL/Fl_RGB_Image.H -alignment_panel.o: ../FL/Fl_Scheme.H -alignment_panel.o: ../FL/Fl_Scheme_Choice.H -alignment_panel.o: ../FL/Fl_Scrollbar.H -alignment_panel.o: ../FL/Fl_Shortcut_Button.H -alignment_panel.o: ../FL/fl_show_colormap.H -alignment_panel.o: ../FL/Fl_Slider.H -alignment_panel.o: ../FL/Fl_Spinner.H -alignment_panel.o: ../FL/fl_string_functions.h -alignment_panel.o: ../FL/Fl_Tabs.H -alignment_panel.o: ../FL/Fl_Terminal.H -alignment_panel.o: ../FL/Fl_Text_Buffer.H -alignment_panel.o: ../FL/Fl_Text_Display.H -alignment_panel.o: ../FL/Fl_Text_Editor.H -alignment_panel.o: ../FL/Fl_Tile.H -alignment_panel.o: ../FL/Fl_Tooltip.H -alignment_panel.o: ../FL/fl_types.h -alignment_panel.o: ../FL/fl_utf8.h -alignment_panel.o: ../FL/Fl_Valuator.H -alignment_panel.o: ../FL/Fl_Value_Input.H -alignment_panel.o: ../FL/Fl_Widget.H -alignment_panel.o: ../FL/Fl_Window.H -alignment_panel.o: ../FL/Fl_Wizard.H -alignment_panel.o: ../FL/platform_types.h -alignment_panel.o: ../src/flstring.h -alignment_panel.o: ../src/Fl_String.H -alignment_panel.o: alignment_panel.h -alignment_panel.o: code.h -alignment_panel.o: Fd_Snap_Action.h -alignment_panel.o: fluid.h -alignment_panel.o: fluid_filename.h -alignment_panel.o: Fl_Group_Type.h -alignment_panel.o: Fl_Type.h -alignment_panel.o: Fl_Widget_Type.h -alignment_panel.o: Fl_Window_Type.h -alignment_panel.o: shell_command.h -alignment_panel.o: undo.h -alignment_panel.o: widget_browser.h +settings_panel.o: ../config.h +settings_panel.o: ../FL/Enumerations.H +settings_panel.o: ../FL/filename.H +settings_panel.o: ../FL/Fl.H +settings_panel.o: ../FL/fl_ask.H +settings_panel.o: ../FL/fl_attr.h +settings_panel.o: ../FL/Fl_Bitmap.H +settings_panel.o: ../FL/Fl_Box.H +settings_panel.o: ../FL/Fl_Browser.H +settings_panel.o: ../FL/Fl_Browser_.H +settings_panel.o: ../FL/Fl_Button.H +settings_panel.o: ../FL/Fl_Cairo.H +settings_panel.o: ../FL/fl_casts.H +settings_panel.o: ../FL/Fl_Check_Button.H +settings_panel.o: ../FL/Fl_Choice.H +settings_panel.o: ../FL/fl_config.h +settings_panel.o: ../FL/Fl_Device.H +settings_panel.o: ../FL/Fl_Double_Window.H +settings_panel.o: ../FL/fl_draw.H +settings_panel.o: ../FL/Fl_Export.H +settings_panel.o: ../FL/Fl_File_Browser.H +settings_panel.o: ../FL/Fl_File_Chooser.H +settings_panel.o: ../FL/Fl_File_Icon.H +settings_panel.o: ../FL/Fl_File_Input.H +settings_panel.o: ../FL/Fl_Flex.H +settings_panel.o: ../FL/Fl_Graphics_Driver.H +settings_panel.o: ../FL/Fl_Group.H +settings_panel.o: ../FL/Fl_Image.H +settings_panel.o: ../FL/Fl_Input.H +settings_panel.o: ../FL/Fl_Input_.H +settings_panel.o: ../FL/Fl_Int_Input.H +settings_panel.o: ../FL/Fl_Light_Button.H +settings_panel.o: ../FL/Fl_Menu_.H +settings_panel.o: ../FL/Fl_Menu_Button.H +settings_panel.o: ../FL/Fl_Menu_Item.H +settings_panel.o: ../FL/Fl_Multi_Label.H +settings_panel.o: ../FL/Fl_Native_File_Chooser.H +settings_panel.o: ../FL/Fl_Pack.H +settings_panel.o: ../FL/Fl_Pixmap.H +settings_panel.o: ../FL/Fl_Plugin.H +settings_panel.o: ../FL/Fl_PNG_Image.H +settings_panel.o: ../FL/Fl_Preferences.H +settings_panel.o: ../FL/Fl_Rect.H +settings_panel.o: ../FL/Fl_Repeat_Button.H +settings_panel.o: ../FL/Fl_Return_Button.H +settings_panel.o: ../FL/Fl_RGB_Image.H +settings_panel.o: ../FL/Fl_Scheme.H +settings_panel.o: ../FL/Fl_Scheme_Choice.H +settings_panel.o: ../FL/Fl_Scrollbar.H +settings_panel.o: ../FL/Fl_Shortcut_Button.H +settings_panel.o: ../FL/fl_show_colormap.H +settings_panel.o: ../FL/Fl_Slider.H +settings_panel.o: ../FL/Fl_Spinner.H +settings_panel.o: ../FL/fl_string_functions.h +settings_panel.o: ../FL/Fl_Tabs.H +settings_panel.o: ../FL/Fl_Terminal.H +settings_panel.o: ../FL/Fl_Text_Buffer.H +settings_panel.o: ../FL/Fl_Text_Display.H +settings_panel.o: ../FL/Fl_Text_Editor.H +settings_panel.o: ../FL/Fl_Tile.H +settings_panel.o: ../FL/Fl_Tooltip.H +settings_panel.o: ../FL/fl_types.h +settings_panel.o: ../FL/fl_utf8.h +settings_panel.o: ../FL/Fl_Valuator.H +settings_panel.o: ../FL/Fl_Value_Input.H +settings_panel.o: ../FL/Fl_Widget.H +settings_panel.o: ../FL/Fl_Window.H +settings_panel.o: ../FL/Fl_Wizard.H +settings_panel.o: ../FL/platform_types.h +settings_panel.o: ../src/flstring.h +settings_panel.o: ../src/Fl_String.H +settings_panel.o: settings_panel.h +settings_panel.o: code.h +settings_panel.o: Fd_Snap_Action.h +settings_panel.o: fluid.h +settings_panel.o: fluid_filename.h +settings_panel.o: Fl_Group_Type.h +settings_panel.o: Fl_Type.h +settings_panel.o: Fl_Widget_Type.h +settings_panel.o: Fl_Window_Type.h +settings_panel.o: shell_command.h +settings_panel.o: undo.h +settings_panel.o: widget_browser.h align_widget.o: ../FL/Enumerations.H align_widget.o: ../FL/filename.H align_widget.o: ../FL/Fl.H @@ -476,7 +476,7 @@ Fd_Snap_Action.o: ../FL/Fl_Window.H Fd_Snap_Action.o: ../FL/Fl_Wizard.H Fd_Snap_Action.o: ../FL/platform_types.h Fd_Snap_Action.o: ../src/Fl_String.H -Fd_Snap_Action.o: alignment_panel.h +Fd_Snap_Action.o: settings_panel.h Fd_Snap_Action.o: code.h Fd_Snap_Action.o: Fd_Snap_Action.h Fd_Snap_Action.o: file.h @@ -561,7 +561,7 @@ file.o: ../FL/Fl_Wizard.H file.o: ../FL/platform_types.h file.o: ../src/flstring.h file.o: ../src/Fl_String.H -file.o: alignment_panel.h +file.o: settings_panel.h file.o: code.h file.o: ExternalCodeEditor_UNIX.h file.o: factory.h @@ -658,7 +658,7 @@ fluid.o: ../FL/platform_types.h fluid.o: ../src/flstring.h fluid.o: ../src/Fl_String.H fluid.o: about_panel.h -fluid.o: alignment_panel.h +fluid.o: settings_panel.h fluid.o: code.h fluid.o: CodeEditor.h fluid.o: ExternalCodeEditor_UNIX.h @@ -677,7 +677,7 @@ fluid.o: function_panel.h fluid.o: mergeback.h fluid.o: pixmaps.h fluid.o: shell_command.h -fluid.o: sourceview_panel.h +fluid.o: codeview_panel.h fluid.o: StyleParse.h fluid.o: template_panel.h fluid.o: undo.h @@ -1195,7 +1195,7 @@ Fl_Widget_Type.o: ../FL/Fl_Wizard.H Fl_Widget_Type.o: ../FL/platform_types.h Fl_Widget_Type.o: ../src/flstring.h Fl_Widget_Type.o: ../src/Fl_String.H -Fl_Widget_Type.o: alignment_panel.h +Fl_Widget_Type.o: settings_panel.h Fl_Widget_Type.o: code.h Fl_Widget_Type.o: CodeEditor.h Fl_Widget_Type.o: custom_widgets.h @@ -1296,7 +1296,7 @@ Fl_Window_Type.o: ../FL/platform_types.h Fl_Window_Type.o: ../FL/x11.H Fl_Window_Type.o: ../src/flstring.h Fl_Window_Type.o: ../src/Fl_String.H -Fl_Window_Type.o: alignment_panel.h +Fl_Window_Type.o: settings_panel.h Fl_Window_Type.o: code.h Fl_Window_Type.o: CodeEditor.h Fl_Window_Type.o: custom_widgets.h @@ -1525,7 +1525,7 @@ shell_command.o: ../FL/Fl_Window.H shell_command.o: ../FL/Fl_Wizard.H shell_command.o: ../FL/platform_types.h shell_command.o: ../src/Fl_String.H -shell_command.o: alignment_panel.h +shell_command.o: settings_panel.h shell_command.o: code.h shell_command.o: Fd_Snap_Action.h shell_command.o: file.h @@ -1537,59 +1537,58 @@ shell_command.o: Fl_Widget_Type.h shell_command.o: Fl_Window_Type.h shell_command.o: shell_command.h shell_command.o: widget_browser.h -sourceview_panel.o: ../config.h -sourceview_panel.o: ../FL/Enumerations.H -sourceview_panel.o: ../FL/filename.H -sourceview_panel.o: ../FL/Fl.H -sourceview_panel.o: ../FL/fl_attr.h -sourceview_panel.o: ../FL/Fl_Bitmap.H -sourceview_panel.o: ../FL/Fl_Box.H -sourceview_panel.o: ../FL/Fl_Button.H -sourceview_panel.o: ../FL/Fl_Cairo.H -sourceview_panel.o: ../FL/fl_casts.H -sourceview_panel.o: ../FL/Fl_Choice.H -sourceview_panel.o: ../FL/fl_config.h -sourceview_panel.o: ../FL/Fl_Device.H -sourceview_panel.o: ../FL/Fl_Double_Window.H -sourceview_panel.o: ../FL/fl_draw.H -sourceview_panel.o: ../FL/Fl_Export.H -sourceview_panel.o: ../FL/Fl_Graphics_Driver.H -sourceview_panel.o: ../FL/Fl_Group.H -sourceview_panel.o: ../FL/Fl_Image.H -sourceview_panel.o: ../FL/Fl_Input.H -sourceview_panel.o: ../FL/Fl_Input_.H -sourceview_panel.o: ../FL/Fl_Light_Button.H -sourceview_panel.o: ../FL/Fl_Menu_.H -sourceview_panel.o: ../FL/Fl_Menu_Item.H -sourceview_panel.o: ../FL/Fl_Multi_Label.H -sourceview_panel.o: ../FL/Fl_Pixmap.H -sourceview_panel.o: ../FL/Fl_Plugin.H -sourceview_panel.o: ../FL/Fl_Preferences.H -sourceview_panel.o: ../FL/Fl_Rect.H -sourceview_panel.o: ../FL/Fl_RGB_Image.H -sourceview_panel.o: ../FL/Fl_Scrollbar.H -sourceview_panel.o: ../FL/Fl_Slider.H -sourceview_panel.o: ../FL/fl_string_functions.h -sourceview_panel.o: ../FL/Fl_Tabs.H -sourceview_panel.o: ../FL/Fl_Text_Buffer.H -sourceview_panel.o: ../FL/Fl_Text_Display.H -sourceview_panel.o: ../FL/Fl_Text_Editor.H -sourceview_panel.o: ../FL/fl_types.h -sourceview_panel.o: ../FL/fl_utf8.h -sourceview_panel.o: ../FL/Fl_Valuator.H -sourceview_panel.o: ../FL/Fl_Widget.H -sourceview_panel.o: ../FL/Fl_Window.H -sourceview_panel.o: ../FL/platform_types.h -sourceview_panel.o: ../src/flstring.h -sourceview_panel.o: ../src/Fl_String.H -sourceview_panel.o: code.h -sourceview_panel.o: CodeEditor.h -sourceview_panel.o: file.h -sourceview_panel.o: fluid.h -sourceview_panel.o: fluid_filename.h -sourceview_panel.o: Fl_Type.h -sourceview_panel.o: sourceview_panel.h -sourceview_panel.o: StyleParse.h +codeview_panel.o: ../config.h +codeview_panel.o: ../FL/Enumerations.H +codeview_panel.o: ../FL/filename.H +codeview_panel.o: ../FL/Fl.H +codeview_panel.o: ../FL/fl_attr.h +codeview_panel.o: ../FL/Fl_Bitmap.H +codeview_panel.o: ../FL/Fl_Box.H +codeview_panel.o: ../FL/Fl_Button.H +codeview_panel.o: ../FL/Fl_Cairo.H +codeview_panel.o: ../FL/fl_casts.H +codeview_panel.o: ../FL/Fl_Choice.H +codeview_panel.o: ../FL/fl_config.h +codeview_panel.o: ../FL/Fl_Device.H +codeview_panel.o: ../FL/Fl_Double_Window.H +codeview_panel.o: ../FL/fl_draw.H +codeview_panel.o: ../FL/Fl_Export.H +codeview_panel.o: ../FL/Fl_Graphics_Driver.H +codeview_panel.o: ../FL/Fl_Group.H +codeview_panel.o: ../FL/Fl_Image.H +codeview_panel.o: ../FL/Fl_Input.H +codeview_panel.o: ../FL/Fl_Input_.H +codeview_panel.o: ../FL/Fl_Light_Button.H +codeview_panel.o: ../FL/Fl_Menu_.H +codeview_panel.o: ../FL/Fl_Menu_Item.H +codeview_panel.o: ../FL/Fl_Multi_Label.H +codeview_panel.o: ../FL/Fl_Pixmap.H +codeview_panel.o: ../FL/Fl_Plugin.H +codeview_panel.o: ../FL/Fl_Preferences.H +codeview_panel.o: ../FL/Fl_Rect.H +codeview_panel.o: ../FL/Fl_RGB_Image.H +codeview_panel.o: ../FL/Fl_Scrollbar.H +codeview_panel.o: ../FL/Fl_Slider.H +codeview_panel.o: ../FL/Fl_Tabs.H +codeview_panel.o: ../FL/Fl_Text_Buffer.H +codeview_panel.o: ../FL/Fl_Text_Display.H +codeview_panel.o: ../FL/Fl_Text_Editor.H +codeview_panel.o: ../FL/fl_types.h +codeview_panel.o: ../FL/fl_utf8.h +codeview_panel.o: ../FL/Fl_Valuator.H +codeview_panel.o: ../FL/Fl_Widget.H +codeview_panel.o: ../FL/Fl_Window.H +codeview_panel.o: ../FL/platform_types.h +codeview_panel.o: ../src/flstring.h +codeview_panel.o: ../src/Fl_String.H +codeview_panel.o: code.h +codeview_panel.o: CodeEditor.h +codeview_panel.o: file.h +codeview_panel.o: fluid.h +codeview_panel.o: fluid_filename.h +codeview_panel.o: Fl_Type.h +codeview_panel.o: codeview_panel.h +codeview_panel.o: StyleParse.h StyleParse.o: StyleParse.h template_panel.o: ../config.h template_panel.o: ../FL/Enumerations.H diff --git a/fluid/alignment_panel.cxx b/fluid/settings_panel.cxx similarity index 99% rename from fluid/alignment_panel.cxx rename to fluid/settings_panel.cxx index 1ad8cfdfe..8a403bbff 100644 --- a/fluid/alignment_panel.cxx +++ b/fluid/settings_panel.cxx @@ -16,7 +16,7 @@ // generated by Fast Light User Interface Designer (fluid) version 1.0400 -#include "alignment_panel.h" +#include "settings_panel.h" #include "undo.h" #include #include @@ -123,6 +123,8 @@ static void cb_w_settings_tabs(Fl_Tabs* o, void* v) { propagate_load(o, v); } +Fl_Group *w_settings_general_tab=(Fl_Group *)0; + #include static const unsigned char idata_general_64[] = @@ -2419,6 +2421,8 @@ static Fl_Image *image_user_circle_64() { return image; } +Fl_Choice *w_settings_user_commenttext=(Fl_Choice *)0; + static void cb_Close(Fl_Button*, void*) { if (g_shell_config) g_shell_config->write(fluid_prefs, FD_STORE_USER); @@ -2434,10 +2438,10 @@ Fl_Double_Window* make_settings_window() { w_settings_tabs->labelsize(11); w_settings_tabs->labelcolor(FL_WHITE); w_settings_tabs->callback((Fl_Callback*)cb_w_settings_tabs); - { Fl_Group* o = new Fl_Group(10, 60, 320, 480, "General"); - o->image( image_general_64() ); - o->image()->scale(36, 24, 0, 1); - o->labelsize(11); + { w_settings_general_tab = new Fl_Group(10, 60, 320, 480, "General"); + w_settings_general_tab->image( image_general_64() ); + w_settings_general_tab->image()->scale(36, 24, 0, 1); + w_settings_general_tab->labelsize(11); { Fl_Group* o = new Fl_Group(120, 78, 130, 25); o->callback((Fl_Callback*)cb_); { scheme_choice = new Fl_Scheme_Choice(120, 78, 120, 25, "Scheme: "); @@ -2577,9 +2581,9 @@ th a dim outline in the editing window only"); o->hide(); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - Fl_Group::current()->resizable(o); - } // Fl_Group* o + w_settings_general_tab->end(); + Fl_Group::current()->resizable(w_settings_general_tab); + } // Fl_Group* w_settings_general_tab { w_settings_project_tab = new Fl_Group(10, 60, 320, 480, "Project"); w_settings_project_tab->image( image_document_64() ); w_settings_project_tab->image()->scale(36, 24, 0, 1); @@ -2734,7 +2738,7 @@ itional data in code and project files."); o->labelsize(11); o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); } // Fl_Box* o - { Fl_Box* o = new Fl_Box(25, 167, 60, 20, "Margin:"); + { Fl_Box* o = new Fl_Box(25, 167, 60, 20, "Margins:"); o->labelsize(11); o->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); } // Fl_Box* o @@ -2795,7 +2799,7 @@ itional data in code and project files."); o->labelsize(11); o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); } // Fl_Box* o - { Fl_Box* o = new Fl_Box(25, 261, 60, 20, "Margin:"); + { Fl_Box* o = new Fl_Box(25, 261, 60, 20, "Margins:"); o->labelsize(11); o->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); } // Fl_Box* o @@ -2856,7 +2860,7 @@ itional data in code and project files."); o->labelsize(11); o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); } // Fl_Box* o - { Fl_Box* o = new Fl_Box(25, 355, 60, 20, "Margin:"); + { Fl_Box* o = new Fl_Box(25, 355, 60, 20, "Margins:"); o->labelsize(11); o->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); } // Fl_Box* o @@ -3295,7 +3299,7 @@ le FLTK_GETTEXT_FOUND"); i18n_pos_conditional_input->textsize(11); i18n_pos_conditional_input->callback((Fl_Callback*)cb_i18n_pos_conditional_input); } // Fl_Input* i18n_pos_conditional_input - { i18n_pos_file_input = new Fl_Input(100, 153, 220, 20, "File:"); + { i18n_pos_file_input = new Fl_Input(100, 153, 220, 20, "Catalog:"); i18n_pos_file_input->tooltip("The name of the message catalog."); i18n_pos_file_input->box(FL_THIN_DOWN_BOX); i18n_pos_file_input->labelsize(11); @@ -3451,16 +3455,16 @@ le FLTK_GETTEXT_FOUND"); } // Fl_Group* o { Fl_Group* o = new Fl_Group(100, 237, 220, 20); o->callback((Fl_Callback*)propagate_load); - { Fl_Choice* o = new Fl_Choice(100, 237, 151, 20, "Comments:"); - 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*)cb_Comments, (void*)(&Widget_Browser::comment_font)); - Fl_Group::current()->resizable(o); + { Fl_Choice* o = w_settings_user_commenttext = new Fl_Choice(100, 237, 151, 20, "Comments:"); + w_settings_user_commenttext->box(FL_THIN_UP_BOX); + w_settings_user_commenttext->down_box(FL_BORDER_BOX); + w_settings_user_commenttext->labelfont(1); + w_settings_user_commenttext->labelsize(11); + w_settings_user_commenttext->textsize(11); + w_settings_user_commenttext->callback((Fl_Callback*)cb_Comments, (void*)(&Widget_Browser::comment_font)); + Fl_Group::current()->resizable(w_settings_user_commenttext); o->menu(fontmenu); - } // Fl_Choice* o + } // Fl_Choice* w_settings_user_commenttext { Fl_Button* o = new Fl_Button(251, 237, 51, 20); o->labelsize(11); o->callback((Fl_Callback*)cb_Color_Chip, (void*)(&Widget_Browser::comment_color)); diff --git a/fluid/alignment_panel.fl b/fluid/settings_panel.fl similarity index 99% rename from fluid/alignment_panel.fl rename to fluid/settings_panel.fl index 8c14d9811..ed5a2d7c3 100644 --- a/fluid/alignment_panel.fl +++ b/fluid/settings_panel.fl @@ -82,7 +82,7 @@ decl {\#include } {public local decl {\#include } {private global } -decl {\#include } {private global +decl {\#include } {selected private global } decl {\#include } {private global @@ -195,8 +195,8 @@ Function {make_settings_window()} {open callback {propagate_load(o, v);} open xywh {10 10 320 530} selection_color 12 labelsize 11 labelcolor 255 resizable } { - Fl_Group {} { - label General open selected + Fl_Group w_settings_general_tab { + label General open scale_image {36 24} image {icons/general_64.png} compress_image 1 xywh {10 60 320 480} labelsize 11 resizable } { Fl_Group {} { @@ -622,7 +622,7 @@ g_layout_list.update_dialogs();} xywh {85 132 235 20} labelfont 1 labelsize 11 align 20 } Fl_Box {} { - label {Margin:} + label {Margins:} xywh {25 167 60 20} labelsize 11 align 24 } Fl_Value_Input {} { @@ -688,7 +688,7 @@ g_layout_list.update_dialogs();} xywh {85 226 235 20} labelfont 1 labelsize 11 align 20 } Fl_Box {} { - label {Margin:} + label {Margins:} xywh {25 261 60 20} labelsize 11 align 24 } Fl_Value_Input {} { @@ -754,7 +754,7 @@ g_layout_list.update_dialogs();} xywh {85 320 235 20} labelfont 1 labelsize 11 align 20 } Fl_Box {} { - label {Margin:} + label {Margins:} xywh {25 355 60 20} labelsize 11 align 24 } Fl_Value_Input {} { @@ -1623,7 +1623,7 @@ if (v == LOAD) { tooltip {only include the header file if this preprocessor macro is defined, for example FLTK_GETTEXT_FOUND} xywh {100 128 220 20} box THIN_DOWN_BOX labelsize 11 textfont 4 textsize 11 } Fl_Input i18n_pos_file_input { - label {File:} + label {Catalog:} callback {if (v == LOAD) { o->value(g_project.i18n_pos_file.c_str()); } else { @@ -1796,7 +1796,7 @@ if (v == LOAD) { callback propagate_load open xywh {100 237 220 20} } { - Fl_Choice {} { + Fl_Choice w_settings_user_commenttext { label {Comments:} user_data {&Widget_Browser::comment_font} callback cb_Comments open diff --git a/fluid/alignment_panel.h b/fluid/settings_panel.h similarity index 97% rename from fluid/alignment_panel.h rename to fluid/settings_panel.h index 0f10e9494..faf4686a1 100644 --- a/fluid/alignment_panel.h +++ b/fluid/settings_panel.h @@ -16,8 +16,8 @@ // generated by Fast Light User Interface Designer (fluid) version 1.0400 -#ifndef alignment_panel_h -#define alignment_panel_h +#ifndef settings_panel_h +#define settings_panel_h #include #include "fluid.h" #include "widget_browser.h" @@ -51,6 +51,7 @@ Fl_Double_Window* make_script_panel(); extern Fl_Double_Window *settings_window; #include extern Fl_Tabs *w_settings_tabs; +extern Fl_Group *w_settings_general_tab; extern void scheme_cb(Fl_Scheme_Choice*, void*); extern Fl_Scheme_Choice *scheme_choice; #include @@ -120,6 +121,7 @@ extern Fl_Int_Input *i18n_pos_set_input; extern Fl_Group *w_settings_user_tab; extern Fl_Menu_Item fontmenu[]; extern Fl_Menu_Item colormenu[]; +extern Fl_Choice *w_settings_user_commenttext; Fl_Double_Window* make_settings_window(); extern Fl_Menu_Item menu_layout_choice[]; extern Fl_Menu_Item menu_w_layout_menu[]; diff --git a/fluid/shell_command.cxx b/fluid/shell_command.cxx index 525f58141..b1dd6d16c 100644 --- a/fluid/shell_command.cxx +++ b/fluid/shell_command.cxx @@ -93,7 +93,7 @@ #include "fluid.h" #include "file.h" -#include "alignment_panel.h" +#include "settings_panel.h" #include #include diff --git a/fluid/sourceview_panel.cxx b/fluid/sourceview_panel.cxx deleted file mode 100644 index 0b7c52306..000000000 --- a/fluid/sourceview_panel.cxx +++ /dev/null @@ -1,542 +0,0 @@ -// -// Code dialogs for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2023 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// https://www.fltk.org/COPYING.php -// -// Please see the following page on how to report bugs and issues: -// -// https://www.fltk.org/bugs.php -// - -// generated by Fast Light User Interface Designer (fluid) version 1.0400 - -#include "sourceview_panel.h" -#include "fluid.h" -#include "file.h" -#include "../src/flstring.h" -#include -#include -static char *sv_source_filename = NULL; -static char *sv_header_filename = NULL; -static char *sv_design_filename = NULL; -int sv_code_choice; -extern void select_only(Fl_Type *o); -extern void reveal_in_browser(Fl_Type *t); - -/** - Update the header and source code highlighting depending on the - currently selected object - - The Source View system offers an immediate preview of the code - files that will be generated by FLUID. It also marks the code - generated for the last selected item in the header and the source - file. -*/ -void update_sourceview_position() { - if (!sourceview_panel || !sourceview_panel->visible()) - return; - if (sv_autoposition->value()==0) - return; - if (sourceview_panel && sourceview_panel->visible() && Fl_Type::current) { - int pos0 = 0, pos1 = 0; - if (sv_source->visible_r()) { - switch (sv_code_choice) { - case 0: // prolog: not yet (include statements) - pos0 = Fl_Type::current->code1_start; - pos1 = Fl_Type::current->code2_end; - break; - case 1: // static: callbacks, menu declarations - pos0 = Fl_Type::current->code_static_start; - pos1 = Fl_Type::current->code_static_end; - break; - case 2: // code: entire implementation block including children - pos0 = Fl_Type::current->code1_start; - pos1 = Fl_Type::current->code2_end; - break; - case 3: // code1: all implementation code before the children - pos0 = Fl_Type::current->code1_start; - pos1 = Fl_Type::current->code1_end; - break; - case 4: // code1: all implementation code before the children - pos0 = Fl_Type::current->code2_start; - pos1 = Fl_Type::current->code2_end; - break; - } - if (pos0>=0) { - if (pos1buffer()->line_end(pos0); - sv_source->buffer()->highlight(pos0, pos1); - int line = sv_source->buffer()->count_lines(0, pos0); - sv_source->scroll(line, 0); - } - } - if (sv_header->visible_r()) { - switch (sv_code_choice) { - case 0: // prolog: not yet (include statements) - case 1: // static: callbacks, menu declarations - pos0 = Fl_Type::current->header_static_start; - pos1 = Fl_Type::current->header_static_end; - break; - case 2: // code: entire implementation block including children - pos0 = Fl_Type::current->header1_start; - pos1 = Fl_Type::current->header2_end; - break; - case 3: // code1: all implementation code before the children - pos0 = Fl_Type::current->header1_start; - pos1 = Fl_Type::current->header1_end; - break; - case 4: // code1: all implementation code before the children - pos0 = Fl_Type::current->header2_start; - pos1 = Fl_Type::current->header2_end; - break; - } - if (pos0>=0) { - if (pos1buffer()->line_end(pos0); - sv_header->buffer()->highlight(pos0, pos1); - int line = sv_header->buffer()->count_lines(0, pos0); - sv_header->scroll(line, 0); - } - } - if (sv_project->visible_r()) { - switch (sv_code_choice) { - case 0: // prolog: not yet (include statements) - case 1: // static: callbacks, menu declarations - case 2: // code: entire implementation block including children - pos0 = Fl_Type::current->proj1_start; - pos1 = Fl_Type::current->proj2_end; - break; - case 3: // code1: all implementation code before the children - pos0 = Fl_Type::current->proj1_start; - pos1 = Fl_Type::current->proj1_end; - break; - case 4: // code1: all implementation code before the children - pos0 = Fl_Type::current->proj2_start; - pos1 = Fl_Type::current->proj2_end; - break; - } - if (pos0>=0) { - if (pos1buffer()->line_end(pos0); - sv_project->buffer()->highlight(pos0, pos1); - int line = sv_project->buffer()->count_lines(0, pos0); - sv_project->scroll(line, 0); - } - } - } -} - -/** - Callback to update the sourceview position. -*/ -void update_sourceview_position_cb(class Fl_Tabs*, void*) { - // make sure that the selected tab shows the current view - update_sourceview_cb(0,0); - // highlight the selected widget in the selected tab - update_sourceview_position(); -} - -/** - Generate a header, source, strings, or design file in a temporary directory - and load those into the Code Viewer widgets. -*/ -void update_sourceview_cb(class Fl_Button*, void*) { - if (!sourceview_panel || !sourceview_panel->visible()) - return; - - if (!sv_source_filename) { - sv_source_filename = (char*)malloc(FL_PATH_MAX); - fl_strlcpy(sv_source_filename, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(sv_source_filename, "source_view_tmp.cxx", FL_PATH_MAX); - } - if (!sv_header_filename) { - sv_header_filename = (char*)malloc(FL_PATH_MAX); - fl_strlcpy(sv_header_filename, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(sv_header_filename, "source_view_tmp.h", FL_PATH_MAX); - } - if (!sv_design_filename) { - sv_design_filename = (char*)malloc(FL_PATH_MAX); - fl_strlcpy(sv_design_filename, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(sv_design_filename, "source_view_tmp.fl", FL_PATH_MAX); - } - - if (sv_project->visible_r()) { - write_file(sv_design_filename, false, true); - int top = sv_project->top_line(); - sv_project->buffer()->loadfile(sv_design_filename); - sv_project->scroll(top, 0); - } else if (sv_strings->visible_r()) { - static const char *exts[] = { ".txt", ".po", ".msg" }; - char fn[FL_PATH_MAX+1]; - fl_strlcpy(fn, get_tmpdir().c_str(), FL_PATH_MAX); - fl_strlcat(fn, "strings", FL_PATH_MAX); - fl_filename_setext(fn, FL_PATH_MAX, exts[g_project.i18n_type]); - write_strings(fn); - int top = sv_strings->top_line(); - sv_strings->buffer()->loadfile(fn); - sv_strings->scroll(top, 0); - } else if (sv_source->visible_r() || sv_header->visible_r()) { - Fl_String code_file_name_bak = g_project.code_file_name; - g_project.code_file_name = sv_source_filename; - Fl_String header_file_name_bak = g_project.header_file_name; - g_project.header_file_name = sv_header_filename; - - // generate the code and load the files - Fd_Code_Writer f; - // generate files - if (f.write_code(sv_source_filename, sv_header_filename, true)) - { - // load file into source editor - int pos = sv_source->top_line(); - sv_source->buffer()->loadfile(sv_source_filename); - sv_source->scroll(pos, 0); - // load file into header editor - pos = sv_header->top_line(); - sv_header->buffer()->loadfile(sv_header_filename); - sv_header->scroll(pos, 0); - // update the source code highlighting - update_sourceview_position(); - } - - g_project.code_file_name = code_file_name_bak; - g_project.header_file_name = header_file_name_bak; - } -} - -/** - This is called by the timer itself -*/ -void update_sourceview_timer(void*) { - update_sourceview_cb(0,0); -} - -void sourceview_defer_update() { - // we will only update earliest 0.5 seconds after the last change, and only - // if no other change was made, so dragging a widget will not generate any - // CPU load - Fl::remove_timeout(update_sourceview_timer, 0); - Fl::add_timeout(0.5, update_sourceview_timer, 0); -} - -/** - Show or hide the source code preview. - The state is stored in the app preferences. -*/ -void sourceview_toggle_visibility() { - if (!sourceview_panel) { - make_sourceview(); - sourceview_panel->callback((Fl_Callback*)toggle_sourceview_cb); - Fl_Preferences svp(fluid_prefs, "sourceview"); - int autorefresh; - svp.get("autorefresh", autorefresh, 1); - sv_autorefresh->value(autorefresh); - int autoposition; - svp.get("autoposition", autoposition, 1); - sv_autoposition->value(autoposition); - int tab; - svp.get("tab", tab, 0); - if (tab>=0 && tabchildren()) sv_tab->value(sv_tab->child(tab)); - svp.get("code_choice", sv_code_choice, 2); - sv_code_choice_w->value(sv_code_choice_w->find_item_with_argument(sv_code_choice)); - if (!position_window(sourceview_panel,"sourceview_pos", 0, 320, 120, 550, 500)) return; - } - - if (sourceview_panel->visible()) { - sourceview_panel->hide(); - sourceview_item->label("Show Source Code..."); - } else { - sourceview_panel->show(); - sourceview_item->label("Hide Source Code..."); - update_sourceview_cb(0,0); - } -} - -Fl_Double_Window *sourceview_panel=(Fl_Double_Window *)0; - -Fl_Tabs *sv_tab=(Fl_Tabs *)0; - -CodeViewer *sv_source=(CodeViewer *)0; - -CodeViewer *sv_header=(CodeViewer *)0; - -TextViewer *sv_strings=(TextViewer *)0; - -TextViewer *sv_project=(TextViewer *)0; - -Fl_Button *sv_find_text_case=(Fl_Button *)0; - -Fl_Input *sv_find_text=(Fl_Input *)0; - -static void cb_sv_find_text(Fl_Input* o, void*) { - Fl_Text_Display *e = NULL; - if (sv_source->visible_r()) { - e = sv_source; - } else if (sv_header->visible_r()) { - e = sv_header; - } else if (sv_project->visible_r()) { - e = sv_project; - } - if (e) { - Fl_Text_Buffer *b = e->buffer(); - int pos = e->insert_position(); - int found = b->search_forward(pos, o->value(), &pos, sv_find_text_case->value()); - if (found) { - b->select(pos, pos + (int)strlen(o->value())); - e->insert_position(pos); - e->show_insert_position(); - } - } -} - -static void cb_(Fl_Button*, void*) { - Fl_Text_Display *e = NULL; - if (sv_source->visible_r()) { - e = sv_source; - } else if (sv_header->visible_r()) { - e = sv_header; - } else if (sv_project->visible_r()) { - e = sv_project; - } - if (e) { - const char *needle = sv_find_text->value(); - Fl_Text_Buffer *b = e->buffer(); - int pos = e->insert_position()-1; - if (pos < 0) pos = b->length()-1; - int found = b->search_backward(pos, needle, &pos, sv_find_text_case->value()); - if (!found) - found = b->search_backward(b->length()-1, needle, &pos, sv_find_text_case->value()); - if (found) { - b->select(pos, pos + (int)strlen(needle)); - e->insert_position(pos); - e->show_insert_position(); - } - } -} - -static void cb_1(Fl_Button*, void*) { - Fl_Text_Display *e = NULL; - if (sv_source->visible_r()) { - e = sv_source; - } else if (sv_header->visible_r()) { - e = sv_header; - } else if (sv_project->visible_r()) { - e = sv_project; - } - if (e) { - const char *needle = sv_find_text->value(); - Fl_Text_Buffer *b = e->buffer(); - int pos = e->insert_position() + 1; - if (pos+1 >= b->length()) pos = 0; - int found = b->search_forward(pos, needle, &pos, sv_find_text_case->value()); - if (!found && (pos > 0)) - found = b->search_forward(0, needle, &pos, sv_find_text_case->value()); - if (found) { - b->select(pos, pos + (int)strlen(needle)); - e->insert_position(pos); - e->show_insert_position(); - } - } -} - -static void cb_Reveal(Fl_Button*, void*) { - if (sourceview_panel && sourceview_panel->visible()) { - Fl_Type *node = NULL; - if (sv_source->visible_r()) - node = Fl_Type::find_in_text(0, sv_source->insert_position()); - else if (sv_header->visible_r()) - node = Fl_Type::find_in_text(1, sv_header->insert_position()); - else if (sv_project->visible_r()) - node = Fl_Type::find_in_text(2, sv_project->insert_position()); - if (node) { - select_only(node); - reveal_in_browser(node); - if (Fl::event_clicks()==1) // double click - node->open(); - } - } -} - -Fl_Light_Button *sv_autorefresh=(Fl_Light_Button *)0; - -Fl_Light_Button *sv_autoposition=(Fl_Light_Button *)0; - -Fl_Choice *sv_code_choice_w=(Fl_Choice *)0; - -static void cb_sv_code_choice_w(Fl_Choice* o, void*) { - sv_code_choice = (int)o->mvalue()->argument(); - update_sourceview_position(); -} - -Fl_Menu_Item menu_sv_code_choice_w[] = { - {"prolog", 0, 0, (void*)(0), 16, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"static", 0, 0, (void*)(1), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"code", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"code 1", 0, 0, (void*)(3), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"code 2", 0, 0, (void*)(4), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Double_Window* make_sourceview() { - { sourceview_panel = new Fl_Double_Window(520, 515, "Code View"); - sourceview_panel->callback((Fl_Callback*)toggle_sourceview_cb); - sourceview_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE)); - { sv_tab = new Fl_Tabs(10, 10, 500, 440); - sv_tab->selection_color((Fl_Color)4); - sv_tab->labelcolor(FL_BACKGROUND2_COLOR); - sv_tab->callback((Fl_Callback*)update_sourceview_position_cb); - { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Source"); - o->labelsize(13); - { CodeViewer* o = sv_source = new CodeViewer(10, 40, 500, 410); - sv_source->box(FL_DOWN_FRAME); - sv_source->color(FL_BACKGROUND2_COLOR); - sv_source->selection_color(FL_SELECTION_COLOR); - sv_source->labeltype(FL_NORMAL_LABEL); - sv_source->labelfont(0); - sv_source->labelsize(14); - sv_source->labelcolor(FL_FOREGROUND_COLOR); - sv_source->textfont(4); - sv_source->textsize(11); - sv_source->align(Fl_Align(FL_ALIGN_TOP)); - sv_source->when(FL_WHEN_RELEASE); - Fl_Group::current()->resizable(sv_source); - o->linenumber_width(60); - o->linenumber_size(o->Fl_Text_Display::textsize()); - } // CodeViewer* sv_source - o->end(); - Fl_Group::current()->resizable(o); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Header"); - o->labelsize(13); - o->hide(); - { CodeViewer* o = sv_header = new CodeViewer(10, 40, 500, 410); - sv_header->box(FL_DOWN_FRAME); - sv_header->color(FL_BACKGROUND2_COLOR); - sv_header->selection_color(FL_SELECTION_COLOR); - sv_header->labeltype(FL_NORMAL_LABEL); - sv_header->labelfont(0); - sv_header->labelsize(14); - sv_header->labelcolor(FL_FOREGROUND_COLOR); - sv_header->textfont(4); - sv_header->textsize(11); - sv_header->align(Fl_Align(FL_ALIGN_TOP)); - sv_header->when(FL_WHEN_RELEASE); - Fl_Group::current()->resizable(sv_header); - o->linenumber_width(60); - o->linenumber_size(o->Fl_Text_Display::textsize()); - } // CodeViewer* sv_header - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Strings"); - o->labelsize(13); - o->hide(); - { TextViewer* o = sv_strings = new TextViewer(10, 40, 500, 410); - sv_strings->box(FL_DOWN_FRAME); - sv_strings->color(FL_BACKGROUND2_COLOR); - sv_strings->selection_color(FL_SELECTION_COLOR); - sv_strings->labeltype(FL_NORMAL_LABEL); - sv_strings->labelfont(0); - sv_strings->labelsize(14); - sv_strings->labelcolor(FL_FOREGROUND_COLOR); - sv_strings->textfont(4); - sv_strings->textsize(11); - sv_strings->align(Fl_Align(FL_ALIGN_TOP)); - sv_strings->when(FL_WHEN_RELEASE); - Fl_Group::current()->resizable(sv_strings); - o->linenumber_width(60); - o->linenumber_size(o->Fl_Text_Display::textsize()); - } // TextViewer* sv_strings - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Project"); - o->labelsize(13); - o->hide(); - { TextViewer* o = sv_project = new TextViewer(10, 40, 500, 410); - sv_project->box(FL_DOWN_FRAME); - sv_project->color(FL_BACKGROUND2_COLOR); - sv_project->selection_color(FL_SELECTION_COLOR); - sv_project->labeltype(FL_NORMAL_LABEL); - sv_project->labelfont(0); - sv_project->labelsize(14); - sv_project->labelcolor(FL_FOREGROUND_COLOR); - sv_project->textfont(4); - sv_project->textsize(11); - sv_project->align(Fl_Align(FL_ALIGN_TOP)); - sv_project->when(FL_WHEN_RELEASE); - Fl_Group::current()->resizable(sv_project); - o->linenumber_width(60); - o->linenumber_size(o->Fl_Text_Display::textsize()); - } // TextViewer* sv_project - o->end(); - } // Fl_Group* o - sv_tab->end(); - Fl_Group::current()->resizable(sv_tab); - } // Fl_Tabs* sv_tab - { Fl_Group* o = new Fl_Group(10, 460, 500, 20); - { sv_find_text_case = new Fl_Button(244, 460, 25, 20, "aA"); - sv_find_text_case->type(1); - sv_find_text_case->labelsize(11); - } // Fl_Button* sv_find_text_case - { sv_find_text = new Fl_Input(40, 460, 200, 20, "Find:"); - sv_find_text->labelsize(11); - sv_find_text->textsize(11); - sv_find_text->callback((Fl_Callback*)cb_sv_find_text); - sv_find_text->when(FL_WHEN_RELEASE | FL_WHEN_ENTER_KEY_CHANGED); - } // Fl_Input* sv_find_text - { Fl_Button* o = new Fl_Button(273, 460, 25, 20, "<<"); - o->labelsize(11); - o->callback((Fl_Callback*)cb_); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(298, 460, 25, 20, ">>"); - o->labelsize(11); - o->callback((Fl_Callback*)cb_1); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(327, 460, 61, 20, "Reveal"); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Reveal); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(490, 460, 20, 20); - Fl_Group::current()->resizable(o); - } // Fl_Box* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 485, 500, 20); - { Fl_Button* o = new Fl_Button(10, 485, 61, 20, "Refresh"); - o->labelsize(11); - o->callback((Fl_Callback*)update_sourceview_cb); - } // Fl_Button* o - { Fl_Light_Button* o = sv_autorefresh = new Fl_Light_Button(77, 485, 91, 20, "Auto-Refresh"); - sv_autorefresh->labelsize(11); - o->callback((Fl_Callback*)update_sourceview_cb); - } // Fl_Light_Button* sv_autorefresh - { sv_autoposition = new Fl_Light_Button(172, 485, 89, 20, "Auto-Position"); - sv_autoposition->labelsize(11); - } // Fl_Light_Button* sv_autoposition - { sv_code_choice_w = new Fl_Choice(265, 485, 70, 20); - sv_code_choice_w->down_box(FL_BORDER_BOX); - sv_code_choice_w->labelsize(11); - sv_code_choice_w->textsize(11); - sv_code_choice_w->callback((Fl_Callback*)cb_sv_code_choice_w); - sv_code_choice_w->menu(menu_sv_code_choice_w); - } // Fl_Choice* sv_code_choice_w - { Fl_Box* o = new Fl_Box(375, 485, 80, 20); - Fl_Group::current()->resizable(o); - } // Fl_Box* o - { Fl_Button* o = new Fl_Button(460, 485, 50, 20, "Close"); - o->labelsize(11); - o->callback((Fl_Callback*)toggle_sourceview_b_cb); - } // Fl_Button* o - o->end(); - } // Fl_Group* o - sourceview_panel->size_range(384, 120); - sourceview_panel->end(); - } // Fl_Double_Window* sourceview_panel - return sourceview_panel; -} - -// diff --git a/fluid/sourceview_panel.h b/fluid/sourceview_panel.h deleted file mode 100644 index 281aa41ff..000000000 --- a/fluid/sourceview_panel.h +++ /dev/null @@ -1,55 +0,0 @@ -// -// Code dialogs for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2023 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// https://www.fltk.org/COPYING.php -// -// Please see the following page on how to report bugs and issues: -// -// https://www.fltk.org/bugs.php -// - -// generated by Fast Light User Interface Designer (fluid) version 1.0400 - -#ifndef sourceview_panel_h -#define sourceview_panel_h -#include -extern int sv_code_choice; -void update_sourceview_position(); -void update_sourceview_position_cb(class Fl_Tabs*, void*); -void update_sourceview_cb(class Fl_Button*, void*); -void update_sourceview_timer(void*); -void sourceview_defer_update(); -void sourceview_toggle_visibility(); -#include -extern void toggle_sourceview_cb(Fl_Double_Window*, void*); -extern Fl_Double_Window *sourceview_panel; -#include -extern Fl_Tabs *sv_tab; -#include -#include "CodeEditor.h" -extern CodeViewer *sv_source; -extern CodeViewer *sv_header; -extern TextViewer *sv_strings; -extern TextViewer *sv_project; -#include -extern Fl_Button *sv_find_text_case; -#include -extern Fl_Input *sv_find_text; -#include -#include -extern Fl_Light_Button *sv_autorefresh; -extern Fl_Light_Button *sv_autoposition; -#include -extern Fl_Choice *sv_code_choice_w; -extern void toggle_sourceview_b_cb(Fl_Button*, void*); -Fl_Double_Window* make_sourceview(); -extern Fl_Menu_Item menu_sv_code_choice_w[]; -#endif - -// diff --git a/fluid/widget_panel.cxx b/fluid/widget_panel.cxx index 46cd29548..cb08f132f 100644 --- a/fluid/widget_panel.cxx +++ b/fluid/widget_panel.cxx @@ -413,6 +413,10 @@ static void cb_widget_tabs(Fl_Tabs* o, void* v) { propagate_load((Fl_Group *)o,v); } +Fl_Group *wp_gui_tab=(Fl_Group *)0; + +Fl_Input *wp_gui_label=(Fl_Input *)0; + Fl_Input *widget_image_input=(Fl_Input *)0; static void cb_(Fl_Button*, void* v) { @@ -423,6 +427,8 @@ static void cb_(Fl_Button*, void* v) { Fl_Input *widget_deimage_input=(Fl_Input *)0; +Fl_Group *wp_gui_alignment=(Fl_Group *)0; + Fl_Menu_Item menu_[] = { {" Image Alignment ", 0, 0, (void*)((fl_intptr_t)0xFFFFFFFF), 1, (uchar)FL_NORMAL_LABEL, 2, 10, 0}, {"image over text", 0, 0, (void*)((fl_intptr_t)FL_ALIGN_IMAGE_OVER_TEXT), 0, (uchar)FL_NORMAL_LABEL, 0, 9, 0}, @@ -467,18 +473,50 @@ Fl_Menu_Item menu_Children[] = { {0,0,0,0,0,0,0,0,0} }; +Fl_Group *wp_gui_flexp=(Fl_Group *)0; + Fl_Value_Input *widget_flex_size=(Fl_Value_Input *)0; Fl_Check_Button *widget_flex_fixed=(Fl_Check_Button *)0; +Fl_Group *wp_gui_values=(Fl_Group *)0; + +Fl_Group *wp_gui_margins=(Fl_Group *)0; + +Fl_Group *wp_gui_sizerange=(Fl_Group *)0; + +Fl_Shortcut_Button *wp_gui_shortcut=(Fl_Shortcut_Button *)0; + +Fl_Group *wp_gui_xclass=(Fl_Group *)0; + +Fl_Group *wp_gui_attributes=(Fl_Group *)0; + +Fl_Input *wp_gui_tooltip=(Fl_Input *)0; + +Fl_Group *wp_style_tab=(Fl_Group *)0; + +Fl_Group *wp_style_label=(Fl_Group *)0; + Fl_Button *w_labelcolor=(Fl_Button *)0; +Fl_Group *wp_style_box=(Fl_Group *)0; + Fl_Button *w_color=(Fl_Button *)0; +Fl_Group *wp_style_downbox=(Fl_Group *)0; + Fl_Button *w_selectcolor=(Fl_Button *)0; +Fl_Group *wp_style_text=(Fl_Group *)0; + Fl_Button *w_textcolor=(Fl_Button *)0; +Fl_Group *wp_cpp_tab=(Fl_Group *)0; + +Fl_Group *wp_cpp_class=(Fl_Group *)0; + +Fl_Group *wp_cpp_name=(Fl_Group *)0; + Fl_Menu_Item menu_2[] = { {"private", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, {"public", 0, 0, (void*)(1), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, @@ -503,6 +541,8 @@ Fl_Text_Editor *wComment=(Fl_Text_Editor *)0; CodeEditor *wCallback=(CodeEditor *)0; +Fl_Group *wp_cpp_callback=(Fl_Group *)0; + Fl_Menu_Item menu_4[] = { {"void*", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 4, 11, 0}, {"long", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 4, 11, 0}, @@ -537,6 +577,8 @@ static void cb_widget_grid_transient(Fl_Box* o, void* v) { Fl_Box *widget_grid_unlinked=(Fl_Box *)0; +Fl_Group *wp_gridc_align=(Fl_Group *)0; + Fl_Menu_Item menu_Horizontal[] = { {"GRID_LEFT", 0, 0, (void*)(FL_GRID_LEFT), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, {"GRID_CENTER", 0, 0, (void*)(FL_GRID_CENTER), 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, @@ -553,6 +595,8 @@ Fl_Menu_Item menu_Vertical[] = { {0,0,0,0,0,0,0,0,0} }; +Fl_Group *wp_gridc_size=(Fl_Group *)0; + Fluid_Coord_Input *widget_grid_rowspan_input=(Fluid_Coord_Input *)0; Fluid_Coord_Input *widget_grid_colspan_input=(Fluid_Coord_Input *)0; @@ -643,6 +687,8 @@ static void cb_5(Fl_Button*, void* v) { } } +Fl_Group *wp_grid_margin=(Fl_Group *)0; + static void cb_Left(Fl_Value_Input* o, void* v) { Fl_Grid *grid = Fl_Grid_Type::selected(); if (!grid) return; @@ -719,6 +765,8 @@ static void cb_Bottom(Fl_Value_Input* o, void* v) { } } +Fl_Group *wp_grid_gaps=(Fl_Group *)0; + static void cb_Row(Fl_Value_Input* o, void* v) { Fl_Grid *grid = Fl_Grid_Type::selected(); if (!grid) return; @@ -963,24 +1011,24 @@ Fl_Double_Window* make_widget_panel() { widget_tabs->labelcolor(FL_BACKGROUND2_COLOR); widget_tabs->callback((Fl_Callback*)cb_widget_tabs); widget_tabs->when(FL_WHEN_NEVER); - { Fl_Group* o = new Fl_Group(10, 30, 400, 330, "GUI"); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->when(FL_WHEN_NEVER); + { wp_gui_tab = new Fl_Group(10, 30, 400, 330, "GUI"); + wp_gui_tab->labelsize(11); + wp_gui_tab->callback((Fl_Callback*)propagate_load); + wp_gui_tab->when(FL_WHEN_NEVER); { 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(FL_ALIGN_LEFT)); - { Fl_Input* o = new Fl_Input(95, 40, 190, 20); - o->tooltip("The label text for the widget.\nUse Ctrl-J for newlines."); - o->labelfont(1); - o->labelsize(11); - o->textsize(11); - o->callback((Fl_Callback*)label_cb); - o->when(FL_WHEN_RELEASE | FL_WHEN_ENTER_KEY_CHANGED); - Fl_Group::current()->resizable(o); - } // Fl_Input* o + { wp_gui_label = new Fl_Input(95, 40, 190, 20); + wp_gui_label->tooltip("The label text for the widget.\nUse Ctrl-J for newlines."); + wp_gui_label->labelfont(1); + wp_gui_label->labelsize(11); + wp_gui_label->textsize(11); + wp_gui_label->callback((Fl_Callback*)label_cb); + wp_gui_label->when(FL_WHEN_RELEASE | FL_WHEN_ENTER_KEY_CHANGED); + Fl_Group::current()->resizable(wp_gui_label); + } // Fl_Input* wp_gui_label { Fl_Choice* o = new Fl_Choice(285, 40, 119, 20); o->tooltip("The label style for the widget."); o->box(FL_THIN_UP_BOX); @@ -1038,11 +1086,11 @@ Fl_Double_Window* make_widget_panel() { } // Fl_Button* o o->end(); } // Fl_Group* o - { Fl_Group* o = new Fl_Group(95, 115, 310, 20, "Alignment:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->align(Fl_Align(FL_ALIGN_LEFT)); + { wp_gui_alignment = new Fl_Group(95, 115, 310, 20, "Alignment:"); + wp_gui_alignment->labelfont(1); + wp_gui_alignment->labelsize(11); + wp_gui_alignment->callback((Fl_Callback*)propagate_load); + wp_gui_alignment->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Button* o = new Fl_Button(95, 115, 30, 20, "Clip"); o->tooltip("Clip the label to the inside of the widget."); o->type(1); @@ -1120,8 +1168,8 @@ Fl_Double_Window* make_widget_panel() { o->labelsize(11); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o + wp_gui_alignment->end(); + } // Fl_Group* wp_gui_alignment { Fl_Group* o = new Fl_Group(95, 150, 314, 20, "Position:"); o->labelfont(1); o->labelsize(11); @@ -1205,12 +1253,12 @@ sized to fit the container."); o->end(); } // Fl_Group* o { // This group is only visible if the parent is an Fl_Flex widget - Fl_Group* o = new Fl_Group(95, 150, 314, 20, "Flex Parent:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)flex_size_group_cb); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->hide(); + wp_gui_flexp = new Fl_Group(95, 150, 314, 20, "Flex Parent:"); + wp_gui_flexp->labelfont(1); + wp_gui_flexp->labelsize(11); + wp_gui_flexp->callback((Fl_Callback*)flex_size_group_cb); + wp_gui_flexp->align(Fl_Align(FL_ALIGN_LEFT)); + wp_gui_flexp->hide(); { widget_flex_size = new Fl_Value_Input(95, 150, 55, 20, "Size:"); widget_flex_size->tooltip("Fixed Width or Height for a horizontal or vertical Fl_Flex Parent."); widget_flex_size->labelsize(11); @@ -1227,13 +1275,13 @@ sized to fit the container."); { Fl_Box* o = new Fl_Box(398, 150, 1, 20); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Values:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)values_group_cb); - o->align(Fl_Align(FL_ALIGN_LEFT)); + wp_gui_flexp->end(); + } // Fl_Group* wp_gui_flexp + { wp_gui_values = new Fl_Group(95, 185, 300, 20, "Values:"); + wp_gui_values->labelfont(1); + wp_gui_values->labelsize(11); + wp_gui_values->callback((Fl_Callback*)values_group_cb); + wp_gui_values->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Size:"); o->tooltip("The size of the slider."); o->labelsize(11); @@ -1273,15 +1321,15 @@ sized to fit the container."); { Fl_Box* o = new Fl_Box(395, 185, 0, 20); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o + wp_gui_values->end(); + } // Fl_Group* wp_gui_values { // This group is only visible for Fl_Flex widgets - Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Margins:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)flex_margin_group_cb); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->hide(); + wp_gui_margins = new Fl_Group(95, 185, 300, 20, "Margins:"); + wp_gui_margins->labelfont(1); + wp_gui_margins->labelsize(11); + wp_gui_margins->callback((Fl_Callback*)flex_margin_group_cb); + wp_gui_margins->align(Fl_Align(FL_ALIGN_LEFT)); + wp_gui_margins->hide(); { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Left:"); o->tooltip("Left margin in group."); o->labelsize(11); @@ -1320,14 +1368,14 @@ sized to fit the container."); { Fl_Box* o = new Fl_Box(395, 185, 0, 20); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // 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*)size_range_group_cb); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->hide(); + wp_gui_margins->end(); + } // Fl_Group* wp_gui_margins + { wp_gui_sizerange = new Fl_Group(95, 185, 300, 20, "Size Range:"); + wp_gui_sizerange->labelfont(1); + wp_gui_sizerange->labelsize(11); + wp_gui_sizerange->callback((Fl_Callback*)size_range_group_cb); + wp_gui_sizerange->align(Fl_Align(FL_ALIGN_LEFT)); + wp_gui_sizerange->hide(); { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Minimum Size:"); o->tooltip("The size of the slider."); o->labelsize(11); @@ -1375,34 +1423,34 @@ sized to fit the container."); { Fl_Box* o = new Fl_Box(395, 185, 0, 20); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o + wp_gui_sizerange->end(); + } // Fl_Group* wp_gui_sizerange { Fl_Group* o = new Fl_Group(95, 210, 310, 20, "Shortcut:"); o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)propagate_load); o->align(Fl_Align(FL_ALIGN_LEFT)); { // This is a special button that grabs keystrokes directly - Fl_Shortcut_Button* o = new Fl_Shortcut_Button(95, 210, 310, 20); - o->tooltip("The shortcut key for the widget.\nUse \'Backspace\' key to clear."); - o->box(FL_DOWN_BOX); - o->color(FL_BACKGROUND2_COLOR); - o->selection_color((Fl_Color)12); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(0); - o->labelsize(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)shortcut_in_cb); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_CHANGED); - } // Fl_Shortcut_Button* o + wp_gui_shortcut = new Fl_Shortcut_Button(95, 210, 310, 20); + wp_gui_shortcut->tooltip("The shortcut key for the widget.\nUse \'Backspace\' key to clear."); + wp_gui_shortcut->box(FL_DOWN_BOX); + wp_gui_shortcut->color(FL_BACKGROUND2_COLOR); + wp_gui_shortcut->selection_color((Fl_Color)12); + wp_gui_shortcut->labeltype(FL_NORMAL_LABEL); + wp_gui_shortcut->labelfont(0); + wp_gui_shortcut->labelsize(11); + wp_gui_shortcut->labelcolor(FL_FOREGROUND_COLOR); + wp_gui_shortcut->callback((Fl_Callback*)shortcut_in_cb); + wp_gui_shortcut->align(Fl_Align(FL_ALIGN_CENTER)); + wp_gui_shortcut->when(FL_WHEN_CHANGED); + } // Fl_Shortcut_Button* wp_gui_shortcut o->end(); } // Fl_Group* 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(FL_ALIGN_LEFT)); + { wp_gui_xclass = new Fl_Group(95, 235, 300, 20, "X Class:"); + wp_gui_xclass->labelfont(1); + wp_gui_xclass->labelsize(11); + wp_gui_xclass->callback((Fl_Callback*)propagate_load); + wp_gui_xclass->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Input* o = new Fl_Input(95, 235, 95, 20, ":"); o->tooltip("The X resource class."); o->labelfont(1); @@ -1430,13 +1478,13 @@ sized to fit the container."); o->callback((Fl_Callback*)non_modal_cb); o->align(Fl_Align(132|FL_ALIGN_INSIDE)); } // Fl_Light_Button* o - o->end(); - } // 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(FL_ALIGN_LEFT)); + wp_gui_xclass->end(); + } // Fl_Group* wp_gui_xclass + { wp_gui_attributes = new Fl_Group(95, 260, 305, 20, "Attributes:"); + wp_gui_attributes->labelfont(1); + wp_gui_attributes->labelsize(11); + wp_gui_attributes->callback((Fl_Callback*)propagate_load); + wp_gui_attributes->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Light_Button* o = new Fl_Light_Button(95, 260, 60, 20, "Visible"); o->tooltip("Show the widget."); o->selection_color((Fl_Color)1); @@ -1467,32 +1515,32 @@ sized to fit the container."); o->labelsize(11); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o - { Fl_Input* o = new Fl_Input(95, 285, 310, 20, "Tooltip:"); - o->tooltip("The tooltip text for the widget.\nUse Ctrl-J for newlines."); - o->labelfont(1); - o->labelsize(11); - o->textsize(11); - o->callback((Fl_Callback*)tooltip_cb); - } // Fl_Input* o + wp_gui_attributes->end(); + } // Fl_Group* wp_gui_attributes + { wp_gui_tooltip = new Fl_Input(95, 285, 310, 20, "Tooltip:"); + wp_gui_tooltip->tooltip("The tooltip text for the widget.\nUse Ctrl-J for newlines."); + wp_gui_tooltip->labelfont(1); + wp_gui_tooltip->labelsize(11); + wp_gui_tooltip->textsize(11); + wp_gui_tooltip->callback((Fl_Callback*)tooltip_cb); + } // Fl_Input* wp_gui_tooltip { Fl_Box* o = new Fl_Box(95, 305, 300, 5); o->hide(); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - Fl_Group::current()->resizable(o); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 30, 400, 330, "Style"); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->when(FL_WHEN_NEVER); - o->hide(); - { 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(FL_ALIGN_LEFT)); + wp_gui_tab->end(); + Fl_Group::current()->resizable(wp_gui_tab); + } // Fl_Group* wp_gui_tab + { wp_style_tab = new Fl_Group(10, 30, 400, 330, "Style"); + wp_style_tab->labelsize(11); + wp_style_tab->callback((Fl_Callback*)propagate_load); + wp_style_tab->when(FL_WHEN_NEVER); + wp_style_tab->hide(); + { wp_style_label = new Fl_Group(95, 40, 309, 20, "Label Font:"); + wp_style_label->labelfont(1); + wp_style_label->labelsize(11); + wp_style_label->callback((Fl_Callback*)propagate_load); + wp_style_label->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Choice* o = new Fl_Choice(95, 40, 152, 20); o->tooltip("The style of the label text."); o->box(FL_THIN_UP_BOX); @@ -1522,13 +1570,13 @@ sized to fit the container."); o->callback((Fl_Callback*)labelcolor_menu_cb); o->menu(colormenu); } // Fl_Menu_Button* o - o->end(); - } // 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(FL_ALIGN_LEFT)); + wp_style_label->end(); + } // Fl_Group* wp_style_label + { wp_style_box = new Fl_Group(95, 65, 309, 20, "Box:"); + wp_style_box->labelfont(1); + wp_style_box->labelsize(11); + wp_style_box->callback((Fl_Callback*)propagate_load); + wp_style_box->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Choice* o = new Fl_Choice(95, 65, 201, 20); o->tooltip("The \"up\" box of the widget."); o->box(FL_THIN_UP_BOX); @@ -1549,20 +1597,19 @@ sized to fit the container."); o->callback((Fl_Callback*)color_menu_cb); o->menu(colormenu); } // Fl_Menu_Button* o - o->end(); - } // 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(FL_ALIGN_LEFT)); + wp_style_box->end(); + } // Fl_Group* wp_style_box + { wp_style_downbox = new Fl_Group(95, 90, 309, 20, "Down Box:"); + wp_style_downbox->labelfont(1); + wp_style_downbox->labelsize(11); + wp_style_downbox->callback((Fl_Callback*)propagate_load); + wp_style_downbox->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Choice* o = new Fl_Choice(95, 90, 201, 20); o->tooltip("The \"down\" box of the widget."); o->box(FL_THIN_UP_BOX); o->down_box(FL_BORDER_BOX); o->labelfont(1); o->labelsize(11); - o->labelcolor(FL_DARK2); o->textsize(11); o->callback((Fl_Callback*)down_box_cb); Fl_Group::current()->resizable(o); @@ -1577,13 +1624,13 @@ sized to fit the container."); o->callback((Fl_Callback*)color2_menu_cb); o->menu(colormenu); } // Fl_Menu_Button* o - o->end(); - } // 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(FL_ALIGN_LEFT)); + wp_style_downbox->end(); + } // Fl_Group* wp_style_downbox + { wp_style_text = new Fl_Group(95, 115, 309, 20, "Text Font:"); + wp_style_text->labelfont(1); + wp_style_text->labelsize(11); + wp_style_text->callback((Fl_Callback*)propagate_load); + wp_style_text->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Choice* o = new Fl_Choice(95, 115, 152, 20); o->tooltip("The value text style."); o->box(FL_DOWN_BOX); @@ -1613,8 +1660,8 @@ sized to fit the container."); o->callback((Fl_Callback*)textcolor_menu_cb); o->menu(colormenu); } // Fl_Menu_Button* o - o->end(); - } // Fl_Group* o + wp_style_text->end(); + } // Fl_Group* wp_style_text { Fl_Box* o = new Fl_Box(95, 165, 300, 40); o->labelsize(11); Fl_Group::current()->resizable(o); @@ -1625,18 +1672,18 @@ sized to fit the container."); o->labelsize(11); o->callback((Fl_Callback*)compact_cb); } // Fl_Light_Button* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 30, 400, 330, "C++"); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->when(FL_WHEN_NEVER); - o->hide(); - { 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(FL_ALIGN_LEFT)); + wp_style_tab->end(); + } // Fl_Group* wp_style_tab + { wp_cpp_tab = new Fl_Group(10, 30, 400, 330, "C++"); + wp_cpp_tab->labelsize(11); + wp_cpp_tab->callback((Fl_Callback*)propagate_load); + wp_cpp_tab->when(FL_WHEN_NEVER); + wp_cpp_tab->hide(); + { wp_cpp_class = new Fl_Group(95, 40, 310, 20, "Class:"); + wp_cpp_class->labelfont(1); + wp_cpp_class->labelsize(11); + wp_cpp_class->callback((Fl_Callback*)propagate_load); + wp_cpp_class->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Input* o = new Fl_Input(95, 40, 172, 20); o->tooltip("The widget subclass."); o->labelfont(1); @@ -1654,13 +1701,13 @@ sized to fit the container."); o->textsize(11); o->callback((Fl_Callback*)subtype_cb); } // Fl_Choice* o - o->end(); - } // 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(FL_ALIGN_LEFT)); + wp_cpp_class->end(); + } // Fl_Group* wp_cpp_class + { wp_cpp_name = new Fl_Group(95, 65, 310, 20, "Name:"); + wp_cpp_name->labelfont(1); + wp_cpp_name->labelsize(11); + wp_cpp_name->callback((Fl_Callback*)propagate_load); + wp_cpp_name->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Input* o = new Fl_Input(95, 65, 235, 20); o->tooltip("The name of the widget."); o->labelfont(1); @@ -1688,8 +1735,8 @@ sized to fit the container."); o->hide(); o->menu(menu_3); } // Fl_Choice* o - o->end(); - } // Fl_Group* o + wp_cpp_name->end(); + } // Fl_Group* wp_cpp_name { 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); @@ -1764,11 +1811,11 @@ access the Widget pointer and \'v\' to access the user value."); o->end(); Fl_Group::current()->resizable(o); } // Fl_Tile* o - { Fl_Group* o = new Fl_Group(95, 310, 310, 20, "User Data:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->align(Fl_Align(FL_ALIGN_LEFT)); + { wp_cpp_callback = new Fl_Group(95, 310, 310, 20, "User Data:"); + wp_cpp_callback->labelfont(1); + wp_cpp_callback->labelsize(11); + wp_cpp_callback->callback((Fl_Callback*)propagate_load); + wp_cpp_callback->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Input* o = new Fl_Input(95, 310, 158, 20); o->tooltip("The user data to pass into the callback code."); o->labelfont(1); @@ -1789,8 +1836,8 @@ access the Widget pointer and \'v\' to access the user value."); o->when(FL_WHEN_CHANGED); o->menu(whenmenu); } // Fl_Menu_Button* o - o->end(); - } // Fl_Group* o + wp_cpp_callback->end(); + } // Fl_Group* wp_cpp_callback { Fl_Group* o = new Fl_Group(95, 332, 310, 26, "Type:"); o->labelfont(1); o->labelsize(11); @@ -1814,8 +1861,8 @@ access the Widget pointer and \'v\' to access the user value."); } // Fl_Box* w_when_box o->end(); } // Fl_Group* o - o->end(); - } // Fl_Group* o + wp_cpp_tab->end(); + } // Fl_Group* wp_cpp_tab { widget_tab_grid_child = new Fl_Group(10, 30, 400, 330, "Grid Child"); widget_tab_grid_child->labelsize(11); widget_tab_grid_child->callback((Fl_Callback*)propagate_load); @@ -1898,11 +1945,11 @@ access the Widget pointer and \'v\' to access the user value."); } // Fl_Box* widget_grid_unlinked o->end(); } // Fl_Group* o - { Fl_Group* o = new Fl_Group(95, 100, 315, 20, "Align:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->align(Fl_Align(FL_ALIGN_LEFT)); + { wp_gridc_align = new Fl_Group(95, 100, 315, 20, "Align:"); + wp_gridc_align->labelfont(1); + wp_gridc_align->labelsize(11); + wp_gridc_align->callback((Fl_Callback*)propagate_load); + wp_gridc_align->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Choice* o = new Fl_Choice(95, 100, 115, 20, "Horizontal"); o->down_box(FL_BORDER_BOX); o->labelsize(11); @@ -1923,13 +1970,13 @@ access the Widget pointer and \'v\' to access the user value."); o->hide(); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(95, 135, 315, 20, "Min. Size:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->align(Fl_Align(FL_ALIGN_LEFT)); + wp_gridc_align->end(); + } // Fl_Group* wp_gridc_align + { wp_gridc_size = new Fl_Group(95, 135, 315, 20, "Min. Size:"); + wp_gridc_size->labelfont(1); + wp_gridc_size->labelsize(11); + wp_gridc_size->callback((Fl_Callback*)propagate_load); + wp_gridc_size->align(Fl_Align(FL_ALIGN_LEFT)); { Fluid_Coord_Input* o = new Fluid_Coord_Input(95, 135, 55, 20, "Width:"); o->box(FL_DOWN_BOX); o->color(FL_BACKGROUND2_COLOR); @@ -1960,8 +2007,8 @@ access the Widget pointer and \'v\' to access the user value."); o->hide(); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o + wp_gridc_size->end(); + } // Fl_Group* wp_gridc_size { Fl_Group* o = new Fl_Group(95, 170, 315, 20, "Span:"); o->labelfont(1); o->labelsize(11); @@ -2108,11 +2155,11 @@ access the Widget pointer and \'v\' to access the user value."); } // Fl_Box* o o->end(); } // Fl_Group* o - { Fl_Group* o = new Fl_Group(95, 100, 315, 20, "Margin:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->align(Fl_Align(FL_ALIGN_LEFT)); + { wp_grid_margin = new Fl_Group(95, 100, 315, 20, "Margins:"); + wp_grid_margin->labelfont(1); + wp_grid_margin->labelsize(11); + wp_grid_margin->callback((Fl_Callback*)propagate_load); + wp_grid_margin->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Value_Input* o = new Fl_Value_Input(95, 100, 55, 20, "Left:"); o->tooltip("Left margin in group."); o->labelsize(11); @@ -2152,13 +2199,13 @@ access the Widget pointer and \'v\' to access the user value."); { Fl_Box* o = new Fl_Box(396, 100, 0, 20); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(95, 135, 315, 20, "Gaps:"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)propagate_load); - o->align(Fl_Align(FL_ALIGN_LEFT)); + wp_grid_margin->end(); + } // Fl_Group* wp_grid_margin + { wp_grid_gaps = new Fl_Group(95, 135, 315, 20, "Gaps:"); + wp_grid_gaps->labelfont(1); + wp_grid_gaps->labelsize(11); + wp_grid_gaps->callback((Fl_Callback*)propagate_load); + wp_grid_gaps->align(Fl_Align(FL_ALIGN_LEFT)); { Fl_Value_Input* o = new Fl_Value_Input(95, 135, 55, 20, "Row:"); o->tooltip("Gap between children."); o->labelsize(11); @@ -2180,8 +2227,8 @@ access the Widget pointer and \'v\' to access the user value."); { Fl_Box* o = new Fl_Box(396, 135, 0, 20); Fl_Group::current()->resizable(o); } // Fl_Box* o - o->end(); - } // Fl_Group* o + wp_grid_gaps->end(); + } // Fl_Group* wp_grid_gaps { Fl_Group* o = new Fl_Group(95, 175, 315, 20, "Row:"); o->labelfont(1); o->labelsize(11); diff --git a/fluid/widget_panel.fl b/fluid/widget_panel.fl index de9863c74..b6ee299b6 100644 --- a/fluid/widget_panel.fl +++ b/fluid/widget_panel.fl @@ -335,7 +335,7 @@ Function {make_widget_panel()} { } { Fl_Window {} { comment {Use a Double Window to avoid flickering.} open - xywh {160 297 420 400} type Double labelsize 11 align 80 resizable hotspot + xywh {430 217 420 400} type Double labelsize 11 align 80 resizable hotspot code0 {o->size_range(o->w(), o->h());} size_range {420 400 0 0} visible } { Fl_Tabs widget_tabs { @@ -343,9 +343,9 @@ Function {make_widget_panel()} { xywh {10 10 400 350} selection_color 12 labelsize 11 labelcolor 7 when 0 resizable code0 {o->show();} } { - Fl_Group {} { + Fl_Group wp_gui_tab { label GUI - callback propagate_load open + callback propagate_load open selected xywh {10 30 400 330} labelsize 11 when 0 resizable } { Fl_Group {} { @@ -353,7 +353,7 @@ Function {make_widget_panel()} { callback propagate_load open xywh {95 40 309 20} labelfont 1 labelsize 11 align 4 } { - Fl_Input {} { + Fl_Input wp_gui_label { callback label_cb tooltip {The label text for the widget. Use Ctrl-J for newlines.} xywh {95 40 190 20} labelfont 1 labelsize 11 when 15 textsize 11 resizable @@ -402,7 +402,7 @@ Use Ctrl-J for newlines.} xywh {95 40 190 20} labelfont 1 labelsize 11 when 15 t tooltip {Click to choose the inactive image.} xywh {295 90 89 20} labelsize 11 } } - Fl_Group {} { + Fl_Group wp_gui_alignment { label {Alignment:} callback propagate_load xywh {95 115 310 20} labelfont 1 labelsize 11 align 4 @@ -561,7 +561,7 @@ Use Ctrl-J for newlines.} xywh {95 40 190 20} labelfont 1 labelsize 11 when 15 t Fl_Button {} { label {@-3square} user_data {(fl_intptr_t)FL_ALIGN_INSIDE} - callback align_cb selected + callback align_cb tooltip {Show the label inside the widget.} xywh {384 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Box {} { @@ -570,7 +570,7 @@ Use Ctrl-J for newlines.} xywh {95 40 190 20} labelfont 1 labelsize 11 when 15 t } Fl_Group {} { label {Position:} - callback position_group_cb + callback position_group_cb open xywh {95 150 314 20} labelfont 1 labelsize 11 align 4 } { Fl_Input widget_x_input { @@ -627,7 +627,7 @@ h, ph, sh, ch, and i} xywh {275 150 55 20} labelsize 11 align 5 textsize 11 xywh {399 150 1 20} hide resizable } } - Fl_Group {} { + Fl_Group wp_gui_flexp { label {Flex Parent:} callback flex_size_group_cb comment {This group is only visible if the parent is an Fl_Flex widget} @@ -647,7 +647,7 @@ h, ph, sh, ch, and i} xywh {275 150 55 20} labelsize 11 align 5 textsize 11 xywh {398 150 1 20} resizable } } - Fl_Group {} { + Fl_Group wp_gui_values { label {Values:} callback values_group_cb open xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 @@ -681,7 +681,7 @@ h, ph, sh, ch, and i} xywh {275 150 55 20} labelsize 11 align 5 textsize 11 xywh {395 185 0 20} resizable } } - Fl_Group {} { + Fl_Group wp_gui_margins { label {Margins:} callback flex_margin_group_cb comment {This group is only visible for Fl_Flex widgets} @@ -716,7 +716,7 @@ h, ph, sh, ch, and i} xywh {275 150 55 20} labelsize 11 align 5 textsize 11 xywh {395 185 0 20} resizable } } - Fl_Group {} { + Fl_Group wp_gui_sizerange { label {Size Range:} callback size_range_group_cb open xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 hide @@ -755,10 +755,10 @@ h, ph, sh, ch, and i} xywh {275 150 55 20} labelsize 11 align 5 textsize 11 } Fl_Group {} { label {Shortcut:} - callback propagate_load + callback propagate_load open xywh {95 210 310 20} labelfont 1 labelsize 11 align 4 } { - Fl_Button {} { + Fl_Button wp_gui_shortcut { callback shortcut_in_cb comment {This is a special button that grabs keystrokes directly} tooltip {The shortcut key for the widget. @@ -767,7 +767,7 @@ Use 'Backspace' key to clear.} xywh {95 210 310 20} box DOWN_BOX color 7 selecti class Fl_Shortcut_Button } } - Fl_Group {} { + Fl_Group wp_gui_xclass { label {X Class:} callback propagate_load xywh {95 235 300 20} labelfont 1 labelsize 11 align 4 @@ -793,7 +793,7 @@ Use 'Backspace' key to clear.} xywh {95 210 310 20} box DOWN_BOX color 7 selecti tooltip {Make the window non-modal.} xywh {320 235 75 20} selection_color 1 labelsize 11 align 148 } } - Fl_Group {} { + Fl_Group wp_gui_attributes { label {Attributes:} callback propagate_load xywh {95 260 305 20} labelfont 1 labelsize 11 align 4 @@ -822,7 +822,7 @@ Use 'Backspace' key to clear.} xywh {95 210 310 20} box DOWN_BOX color 7 selecti xywh {395 260 0 20} labelsize 11 resizable } } - Fl_Input {} { + Fl_Input wp_gui_tooltip { label {Tooltip:} callback tooltip_cb tooltip {The tooltip text for the widget. @@ -832,12 +832,12 @@ Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize xywh {95 305 300 5} hide resizable } } - Fl_Group {} { + Fl_Group wp_style_tab { label Style callback propagate_load open xywh {10 30 400 330} labelsize 11 when 0 hide } { - Fl_Group {} { + Fl_Group wp_style_label { label {Label Font:} callback propagate_load open xywh {95 40 309 20} labelfont 1 labelsize 11 align 4 @@ -864,7 +864,7 @@ Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize code1 {o->menu(colormenu);} } {} } - Fl_Group {} { + Fl_Group wp_style_box { label {Box:} callback propagate_load open xywh {95 65 309 20} labelfont 1 labelsize 11 align 4 @@ -887,14 +887,14 @@ Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize code1 {o->menu(colormenu);} } {} } - Fl_Group {} { + Fl_Group wp_style_downbox { label {Down Box:} callback propagate_load open 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 {95 90 201 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 labelcolor 45 textsize 11 resizable + tooltip {The "down" box of the widget.} xywh {95 90 201 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 resizable code0 {extern Fl_Menu_Item boxmenu[];} code1 {o->menu(boxmenu);} } {} @@ -910,7 +910,7 @@ Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize code1 {o->menu(colormenu);} } {} } - Fl_Group {} { + Fl_Group wp_style_text { label {Text Font:} callback propagate_load open xywh {95 115 309 20} labelfont 1 labelsize 11 align 4 @@ -946,12 +946,12 @@ Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize tooltip {use compact box types for closely set buttons} xywh {95 140 90 20} selection_color 1 labelsize 11 } } - Fl_Group {} { + Fl_Group wp_cpp_tab { label {C++} - callback propagate_load + callback propagate_load open xywh {10 30 400 330} labelsize 11 when 0 hide } { - Fl_Group {} { + Fl_Group wp_cpp_class { label {Class:} callback propagate_load open xywh {95 40 310 20} labelfont 1 labelsize 11 align 4 @@ -966,9 +966,9 @@ Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize tooltip {The widget subtype.} xywh {267 40 138 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11 textsize 11 } {} } - Fl_Group {} { + Fl_Group wp_cpp_name { label {Name:} - callback propagate_load open + callback propagate_load xywh {95 65 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { @@ -1059,7 +1059,7 @@ wCallback->do_callback(wCallback, v);} open } } } - Fl_Group {} { + Fl_Group wp_cpp_callback { label {User Data:} callback propagate_load open xywh {95 310 310 20} labelfont 1 labelsize 11 align 4 @@ -1179,7 +1179,7 @@ wCallback->do_callback(wCallback, v);} open xywh {250 60 80 20} labelsize 11 labelcolor 1 hide } } - Fl_Group {} { + Fl_Group wp_gridc_align { label {Align:} callback propagate_load open xywh {95 100 315 20} labelfont 1 labelsize 11 align 4 @@ -1240,7 +1240,7 @@ wCallback->do_callback(wCallback, v);} open xywh {395 100 1 20} hide resizable } } - Fl_Group {} { + Fl_Group wp_gridc_size { label {Min. Size:} callback propagate_load open xywh {95 135 315 20} labelfont 1 labelsize 11 align 4 @@ -1432,8 +1432,8 @@ if (v == LOAD) { xywh {396 60 0 20} resizable } } - Fl_Group {} { - label {Margin:} + Fl_Group wp_grid_margin { + label {Margins:} callback propagate_load open xywh {95 100 315 20} labelfont 1 labelsize 11 align 4 } { @@ -1521,7 +1521,7 @@ if (v == LOAD) { xywh {396 100 0 20} resizable } } - Fl_Group {} { + Fl_Group wp_grid_gaps { label {Gaps:} callback propagate_load open xywh {95 135 315 20} labelfont 1 labelsize 11 align 4 diff --git a/fluid/widget_panel.h b/fluid/widget_panel.h index 013fa4abd..38a2599a9 100644 --- a/fluid/widget_panel.h +++ b/fluid/widget_panel.h @@ -45,8 +45,10 @@ Fl_Double_Window* make_image_panel(); void run_image_panel(); #include extern Fl_Tabs *widget_tabs; +extern Fl_Group *wp_gui_tab; #include extern void label_cb(Fl_Input*, void*); +extern Fl_Input *wp_gui_label; #include extern Fl_Menu_Item labeltypemenu[]; extern void labeltype_cb(Fl_Choice*, void*); @@ -56,6 +58,7 @@ extern void image_browse_cb(Fl_Button*, void*); extern void inactive_cb(Fl_Input*, void*); extern Fl_Input *widget_deimage_input; extern void inactive_browse_cb(Fl_Button*, void*); +extern Fl_Group *wp_gui_alignment; extern void align_cb(Fl_Button*, void*); extern void align_text_image_cb(Fl_Choice*, void*); extern void align_position_cb(Fl_Choice*, void*); @@ -70,24 +73,28 @@ extern void h_cb(Fluid_Coord_Input*, void*); extern Fluid_Coord_Input *widget_h_input; extern void wc_relative_cb(Fl_Choice*, void*); extern void flex_size_group_cb(Fl_Group*, void*); +extern Fl_Group *wp_gui_flexp; #include extern void flex_size_cb(Fl_Value_Input*, void*); extern Fl_Value_Input *widget_flex_size; extern void flex_fixed_cb(Fl_Check_Button*, void*); extern Fl_Check_Button *widget_flex_fixed; extern void values_group_cb(Fl_Group*, void*); +extern Fl_Group *wp_gui_values; extern void slider_size_cb(Fl_Value_Input*, void*); extern void min_cb(Fl_Value_Input*, void*); extern void max_cb(Fl_Value_Input*, void*); extern void step_cb(Fl_Value_Input*, void*); extern void value_cb(Fl_Value_Input*, void*); extern void flex_margin_group_cb(Fl_Group*, void*); +extern Fl_Group *wp_gui_margins; extern void flex_margin_left_cb(Fl_Value_Input*, void*); extern void flex_margin_top_cb(Fl_Value_Input*, void*); extern void flex_margin_right_cb(Fl_Value_Input*, void*); extern void flex_margin_bottom_cb(Fl_Value_Input*, void*); extern void flex_margin_gap_cb(Fl_Value_Input*, void*); extern void size_range_group_cb(Fl_Group*, void*); +extern Fl_Group *wp_gui_sizerange; extern void min_w_cb(Fl_Value_Input*, void*); extern void min_h_cb(Fl_Value_Input*, void*); extern void set_min_size_cb(Fl_Button*, void*); @@ -96,16 +103,22 @@ extern void max_h_cb(Fl_Value_Input*, void*); extern void set_max_size_cb(Fl_Button*, void*); #include extern void shortcut_in_cb(Fl_Shortcut_Button*, void*); +extern Fl_Shortcut_Button *wp_gui_shortcut; +extern Fl_Group *wp_gui_xclass; extern void xclass_cb(Fl_Input*, void*); #include extern void border_cb(Fl_Light_Button*, void*); extern void modal_cb(Fl_Light_Button*, void*); extern void non_modal_cb(Fl_Light_Button*, void*); +extern Fl_Group *wp_gui_attributes; extern void visible_cb(Fl_Light_Button*, void*); extern void active_cb(Fl_Light_Button*, void*); extern void resizable_cb(Fl_Light_Button*, void*); extern void hotspot_cb(Fl_Light_Button*, void*); extern void tooltip_cb(Fl_Input*, void*); +extern Fl_Input *wp_gui_tooltip; +extern Fl_Group *wp_style_tab; +extern Fl_Group *wp_style_label; extern Fl_Menu_Item fontmenu[]; extern void labelfont_cb(Fl_Choice*, void*); extern void labelsize_cb(Fl_Value_Input*, void*); @@ -114,23 +127,29 @@ extern Fl_Button *w_labelcolor; #include extern Fl_Menu_Item colormenu[]; extern void labelcolor_menu_cb(Fl_Menu_Button*, void*); +extern Fl_Group *wp_style_box; extern Fl_Menu_Item boxmenu[]; extern void box_cb(Fl_Choice*, void*); extern void color_cb(Fl_Button*, void*); extern Fl_Button *w_color; extern void color_menu_cb(Fl_Menu_Button*, void*); +extern Fl_Group *wp_style_downbox; extern void down_box_cb(Fl_Choice*, void*); extern void color2_cb(Fl_Button*, void*); extern Fl_Button *w_selectcolor; extern void color2_menu_cb(Fl_Menu_Button*, void*); +extern Fl_Group *wp_style_text; extern void textfont_cb(Fl_Choice*, void*); extern void textsize_cb(Fl_Value_Input*, void*); extern void textcolor_cb(Fl_Button*, void*); extern Fl_Button *w_textcolor; extern void textcolor_menu_cb(Fl_Menu_Button*, void*); extern void compact_cb(Fl_Light_Button*, void*); +extern Fl_Group *wp_cpp_tab; +extern Fl_Group *wp_cpp_class; extern void subclass_cb(Fl_Input*, void*); extern void subtype_cb(Fl_Choice*, void*); +extern Fl_Group *wp_cpp_name; extern void name_cb(Fl_Input*, void*); extern void name_public_member_cb(Fl_Choice*, void*); extern void name_public_cb(Fl_Choice*, void*); @@ -142,6 +161,7 @@ extern Fl_Text_Editor *wComment; #include "CodeEditor.h" extern void callback_cb(CodeEditor*, void*); extern CodeEditor *wCallback; +extern Fl_Group *wp_cpp_callback; extern void user_data_cb(Fl_Input*, void*); extern Fl_Menu_Item whenmenu[]; extern void when_cb(Fl_Menu_Button*, void*); @@ -159,8 +179,10 @@ extern void grid_dec_col_cb(Fl_Button*, void*); extern void grid_inc_col_cb(Fl_Button*, void*); extern Fl_Box *widget_grid_transient; extern Fl_Box *widget_grid_unlinked; +extern Fl_Group *wp_gridc_align; extern void grid_align_horizontal_cb(Fl_Choice*, void*); extern void grid_align_vertical_cb(Fl_Choice*, void*); +extern Fl_Group *wp_gridc_size; extern void grid_set_min_wdt_cb(Fluid_Coord_Input*, void*); extern void grid_set_min_hgt_cb(Fluid_Coord_Input*, void*); extern void grid_set_rowspan_cb(Fluid_Coord_Input*, void*); @@ -174,6 +196,8 @@ extern void grid_inc_colspan_cb(Fl_Button*, void*); extern Fl_Group *widget_tab_grid; extern Fluid_Coord_Input *widget_grid_rows; extern Fluid_Coord_Input *widget_grid_cols; +extern Fl_Group *wp_grid_margin; +extern Fl_Group *wp_grid_gaps; extern Fluid_Coord_Input *widget_grid_curr_row; extern Fl_Group *widget_grid_curr_row_attributes; extern Fluid_Coord_Input *widget_grid_curr_col; diff --git a/src/Fl_Input_Choice.cxx b/src/Fl_Input_Choice.cxx index fcb9f9c55..534e68f19 100644 --- a/src/Fl_Input_Choice.cxx +++ b/src/Fl_Input_Choice.cxx @@ -230,14 +230,21 @@ void Fl_Input_Choice::menu_cb(Fl_Widget*, void *data) { void Fl_Input_Choice::inp_cb(Fl_Widget*, void *data) { Fl_Input_Choice *o=(Fl_Input_Choice *)data; Fl_Widget_Tracker wp(o); - if (o->inp_->changed()) { - o->Fl_Widget::set_changed(); - if (o->when() & (FL_WHEN_CHANGED|FL_WHEN_RELEASE)) - o->do_callback(FL_REASON_CHANGED); + if ( ( (Fl::callback_reason()==FL_REASON_RELEASED) + || (Fl::callback_reason()==FL_REASON_LOST_FOCUS) ) + && (o->when() & FL_WHEN_RELEASE) ) + { + o->do_callback(FL_REASON_RELEASED); } else { - o->Fl_Widget::clear_changed(); - if (o->when() & FL_WHEN_NOT_CHANGED) - o->do_callback(FL_REASON_RESELECTED); + if (o->inp_->changed()) { + o->Fl_Widget::set_changed(); + if (o->when() & FL_WHEN_CHANGED) + o->do_callback(FL_REASON_CHANGED); + } else { + o->Fl_Widget::clear_changed(); + if (o->when() & FL_WHEN_NOT_CHANGED) + o->do_callback(FL_REASON_RESELECTED); + } } if (wp.deleted()) return; @@ -259,7 +266,7 @@ Fl_Input_Choice::Fl_Input_Choice (int X, int Y, int W, int H, const char *L) inp_ = new Fl_Input(inp_x(), inp_y(), inp_w(), inp_h()); inp_->callback(inp_cb, (void*)this); inp_->box(FL_FLAT_BOX); // cosmetic - inp_->when(FL_WHEN_CHANGED|FL_WHEN_NOT_CHANGED); + inp_->when(FL_WHEN_CHANGED|FL_WHEN_NOT_CHANGED|FL_WHEN_RELEASE); menu_ = new InputMenuButton(menu_x(), menu_y(), menu_w(), menu_h()); menu_->callback(menu_cb, (void*)this); end(); diff --git a/src/Fl_get_system_colors.cxx b/src/Fl_get_system_colors.cxx index e0a78fd86..ecc08a5e0 100644 --- a/src/Fl_get_system_colors.cxx +++ b/src/Fl_get_system_colors.cxx @@ -186,10 +186,11 @@ static Fl_Pixmap tile(tile_xpm); \param[in] s Scheme name of NULL - \returns Current scheme name or NULL - \retval NULL if the scheme has not been set or is the default scheme + \retval 0 if the scheme has not been set or is the default scheme + \retval 1 if a scheme other than "none"/"base" was set - \see Fl::is_scheme() + \see Fl::scheme() to get the name of the current scheme + \see Fl::is_scheme(const char*) to test if the specified scheme is set */ int Fl::scheme(const char *s) { if (!s) { @@ -197,12 +198,12 @@ int Fl::scheme(const char *s) { } if (s) { - if (!fl_ascii_strcasecmp(s, "none") || !fl_ascii_strcasecmp(s, "base") || !*s) s = 0; + if (!fl_ascii_strcasecmp(s, "none") || !fl_ascii_strcasecmp(s, "base") || !*s) s = NULL; else if (!fl_ascii_strcasecmp(s, "gtk+")) s = fl_strdup("gtk+"); else if (!fl_ascii_strcasecmp(s, "plastic")) s = fl_strdup("plastic"); else if (!fl_ascii_strcasecmp(s, "gleam")) s = fl_strdup("gleam"); else if (!fl_ascii_strcasecmp(s, "oxy")) s = fl_strdup("oxy"); - else s = 0; + else s = NULL; } if (scheme_) free((void*)scheme_); scheme_ = s; @@ -210,12 +211,13 @@ int Fl::scheme(const char *s) { // Save the new scheme in the FLTK_SCHEME env var so that child processes // inherit it... static char e[1024]; - strcpy(e,"FLTK_SCHEME="); - if (s) strlcat(e,s,sizeof(e)); + strcpy(e, "FLTK_SCHEME="); + if (s) strlcat(e, s, sizeof(e)); Fl::system_driver()->putenv(e); // Load the scheme... - return reload_scheme(); + reload_scheme(); + return (s != NULL); } /**

TAF7g)d;; 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