From 1fc269b0d4c79b256cc57740d318f95dded8c340 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 21 Jan 2023 17:14:41 +0100 Subject: [PATCH] Move global FLTK options into new app fltk-admin (#560) --- CMake/install.cmake | 3 + CMake/options.cmake | 7 +- CMakeLists.txt | 18 +- Makefile | 6 +- README.CMake.txt | 3 + configure.ac | 3 + documentation/Doxyfile.in | 1 + documentation/Makefile | 8 +- documentation/src/advanced.dox | 4 +- documentation/src/fltk-config.man | 2 +- documentation/src/fltk-options.dox | 85 +++ documentation/src/fltk-options.man | 98 ++++ documentation/src/fluid.dox | 4 +- documentation/src/index.dox | 2 + documentation/src/preface.dox | 1 + fltk-options/CMakeLists.txt | 141 +++++ fltk-options/Makefile | 93 ++++ fltk-options/fltk-options.cxx | 689 ++++++++++++++++++++++++ fltk-options/fltk-options.desktop | 10 + fltk-options/fltk-options.plist | 34 ++ fltk-options/fltk-options.xml | 6 + fltk-options/icons/fltk-options-128.png | Bin 0 -> 9072 bytes fltk-options/icons/fltk-options-16.png | Bin 0 -> 680 bytes fltk-options/icons/fltk-options-16i.png | Bin 0 -> 680 bytes fltk-options/icons/fltk-options-256.png | Bin 0 -> 19934 bytes fltk-options/icons/fltk-options-32.gif | Bin 0 -> 470 bytes fltk-options/icons/fltk-options-32.png | Bin 0 -> 1546 bytes fltk-options/icons/fltk-options-32.xpm | 70 +++ fltk-options/icons/fltk-options-32i.png | Bin 0 -> 1546 bytes fltk-options/icons/fltk-options-48.png | Bin 0 -> 2516 bytes fltk-options/icons/fltk-options-64.png | Bin 0 -> 3642 bytes fltk-options/icons/fltk-options-96.gif | Bin 0 -> 1679 bytes fltk-options/icons/fltk-options-96.xpm | 134 +++++ fltk-options/icons/fltk-options.icns | Bin 0 -> 70423 bytes fltk-options/icons/fltk-options.ico | Bin 0 -> 136606 bytes fltk-options/icons/fltk-options.xcf | Bin 0 -> 337769 bytes fltk-options/makedepend | 1 + fltk.list.in | 24 +- fluid/Fl_Window_Type.cxx | 5 - fluid/Fl_Window_Type.h | 1 - fluid/alignment_panel.cxx | 380 ------------- fluid/alignment_panel.fl | 392 +------------- fluid/alignment_panel.h | 21 - fluid/fluid.cxx | 4 +- makeinclude.in | 3 + test/demo.cxx | 36 +- test/demo.menu | 4 +- 47 files changed, 1465 insertions(+), 828 deletions(-) create mode 100644 documentation/src/fltk-options.dox create mode 100644 documentation/src/fltk-options.man create mode 100644 fltk-options/CMakeLists.txt create mode 100644 fltk-options/Makefile create mode 100644 fltk-options/fltk-options.cxx create mode 100644 fltk-options/fltk-options.desktop create mode 100644 fltk-options/fltk-options.plist create mode 100644 fltk-options/fltk-options.xml create mode 100644 fltk-options/icons/fltk-options-128.png create mode 100644 fltk-options/icons/fltk-options-16.png create mode 100644 fltk-options/icons/fltk-options-16i.png create mode 100644 fltk-options/icons/fltk-options-256.png create mode 100644 fltk-options/icons/fltk-options-32.gif create mode 100644 fltk-options/icons/fltk-options-32.png create mode 100644 fltk-options/icons/fltk-options-32.xpm create mode 100644 fltk-options/icons/fltk-options-32i.png create mode 100644 fltk-options/icons/fltk-options-48.png create mode 100644 fltk-options/icons/fltk-options-64.png create mode 100644 fltk-options/icons/fltk-options-96.gif create mode 100644 fltk-options/icons/fltk-options-96.xpm create mode 100644 fltk-options/icons/fltk-options.icns create mode 100644 fltk-options/icons/fltk-options.ico create mode 100644 fltk-options/icons/fltk-options.xcf create mode 100644 fltk-options/makedepend diff --git a/CMake/install.cmake b/CMake/install.cmake index 0487f58cb..729cc5b65 100644 --- a/CMake/install.cmake +++ b/CMake/install.cmake @@ -125,6 +125,9 @@ if (UNIX OR MSYS OR MINGW) if (FLTK_BUILD_FLUID) INSTALL_MAN (fluid 1) endif (FLTK_BUILD_FLUID) + if (FLTK_BUILD_FLTK_OPTIONS) + INSTALL_MAN (fltk-options 1) + endif (FLTK_BUILD_FLTK_OPTIONS) INSTALL_MAN (fltk-config 1) INSTALL_MAN (fltk 3) diff --git a/CMake/options.cmake b/CMake/options.cmake index b45987d23..e0235236d 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake @@ -360,9 +360,10 @@ option (OPTION_BUILD_SHARED_LIBS option (OPTION_PRINT_SUPPORT "allow print support" ON) option (OPTION_FILESYSTEM_SUPPORT "allow file system support" ON) -option (FLTK_BUILD_FLUID "Build FLUID" ON) -option (FLTK_BUILD_TEST "Build test/demo programs" ON) -option (FLTK_BUILD_EXAMPLES "Build example programs" OFF) +option (FLTK_BUILD_FLUID "Build FLUID" ON) +option (FLTK_BUILD_FLTK_OPTIONS "Build fltk-options" ON) +option (FLTK_BUILD_TEST "Build test/demo programs" ON) +option (FLTK_BUILD_EXAMPLES "Build example programs" OFF) if (DEFINED OPTION_BUILD_EXAMPLES) message (WARNING diff --git a/CMakeLists.txt b/CMakeLists.txt index c6ba3a069..19d7b09c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,6 +115,14 @@ if (FLTK_BUILD_FLUID) add_subdirectory (fluid) endif (FLTK_BUILD_FLUID) +####################################################################### +# build fltk-options +####################################################################### + +if (FLTK_BUILD_FLTK_OPTIONS) + add_subdirectory (fltk-options) +endif (FLTK_BUILD_FLTK_OPTIONS) + ####################################################################### # variables shared by export and install # export.cmake creates configuration files for direct use in a built but uninstalled FLTK @@ -214,9 +222,15 @@ endif () if (FLTK_BUILD_FLUID) message (STATUS "FLUID will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/fluid") - else () +else () message (STATUS "FLUID will not be built (set FLTK_BUILD_FLUID=ON to build)") - endif () +endif () + +if (FLTK_BUILD_FLTK_OPTIONS) + message (STATUS "fltk-options will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/fltk-options") +else () + message (STATUS "fltk-options will not be built (set FLTK_BUILD_FLTK_OPTIONS=ON to build)") +endif () if (FLTK_BUILD_TEST) message (STATUS "Test programs will be built in ${CMAKE_CURRENT_BINARY_DIR}/bin/test") diff --git a/Makefile b/Makefile index 83ba9a723..7dbb8ac8f 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ include makeinclude -DIRS = $(IMAGEDIRS) $(LIBDECORDIR) src $(CAIRODIR) fluid test documentation +DIRS = $(IMAGEDIRS) $(LIBDECORDIR) src $(CAIRODIR) fluid fltk-options test documentation all: makeinclude fltk-config for dir in $(DIRS); do\ @@ -36,6 +36,7 @@ install: makeinclude install-desktop: makeinclude cd documentation; $(MAKE) $(MFLAGS) $(INSTALL_DESKTOP) cd fluid; $(MAKE) $(MFLAGS) $(INSTALL_DESKTOP) + cd fltk-options; $(MAKE) $(MFLAGS) $(INSTALL_DESKTOP) cd test; $(MAKE) $(MFLAGS) $(INSTALL_DESKTOP) uninstall: makeinclude @@ -48,6 +49,7 @@ uninstall: makeinclude uninstall-desktop: makeinclude cd documentation; $(MAKE) $(MFLAGS) $(UNINSTALL_DESKTOP) cd fluid; $(MAKE) $(MFLAGS) $(UNINSTALL_DESKTOP) + cd fltk-options; $(MAKE) $(MFLAGS) $(UNINSTALL_DESKTOP) cd test; $(MAKE) $(MFLAGS) $(UNINSTALL_DESKTOP) depend: makeinclude @@ -111,7 +113,7 @@ native-dist: epm -v -f native fltk etags: - etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h src/xutf8/*.h src/xutf8/*.c cairo/*.cxx fluid/*.h fluid/*.cxx test/*.h test/*.cxx + etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h src/xutf8/*.h src/xutf8/*.c cairo/*.cxx fluid/*.h fluid/*.cxx fltk-options/*.cxx test/*.h test/*.cxx # # Run the clang.llvm.org static code analysis tool on the C sources. diff --git a/README.CMake.txt b/README.CMake.txt index bc9e81008..922e4c705 100644 --- a/README.CMake.txt +++ b/README.CMake.txt @@ -122,6 +122,9 @@ OPTION_BUILD_SHARED_LIBS - default OFF FLTK_BUILD_FLUID - default ON Builds the Fast Light User-Interface Designer ("FLUID"). +FLTK_BUILD_FLTK_OPTIONS - default ON + Builds the FLTK options editor ("fltk-options"). + FLTK_BUILD_TEST - default ON Builds the test and demo programs in the 'test' directory. diff --git a/configure.ac b/configure.ac index 65df603c8..410aebd99 100644 --- a/configure.ac +++ b/configure.ac @@ -292,6 +292,7 @@ AS_IF([test "x$enable_shared" = xyes], [ PICFLAG=1 SHAREDSUFFIX="" FLUID="fluid-shared" + FLTK_OPTIONS="fltk-options-shared" AS_CASE([$host_os], [darwin*], [ DSONAME="libfltk.$FL_DSO_VERSION.dylib" @@ -441,6 +442,7 @@ AS_IF([test "x$enable_shared" = xyes], [ PICFLAG=0 SHAREDSUFFIX="" FLUID="fluid" + FLTK_OPTIONS="fltk-options" LINKSHARED="$LINKFLTKCAIRO ../lib/libfltk_images.a ../lib/libfltk_forms.a ../lib/libfltk.a" ]) @@ -467,6 +469,7 @@ AC_SUBST([SHAREDSUFFIX]) AC_SUBST([LINKSHARED]) AC_SUBST([FLUID]) AC_SUBST([FLUID_BUILD]) +AC_SUBST([FLTK_OPTIONS]) dnl Find commands... diff --git a/documentation/Doxyfile.in b/documentation/Doxyfile.in index 0ab78f33b..627f70c03 100644 --- a/documentation/Doxyfile.in +++ b/documentation/Doxyfile.in @@ -565,6 +565,7 @@ INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/events.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/subclassing.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/opengl.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/fluid.dox +INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/fltk-options.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/advanced.dox INPUT += @CMAKE_CURRENT_SOURCE_DIR@/src/unicode.dox INPUT += @FLTK_SOURCE_DIR@/FL diff --git a/documentation/Makefile b/documentation/Makefile index 726ebdf1b..ac0ad93f4 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -37,6 +37,7 @@ HTMLFILES = \ $(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 \ $(SRC_DOCDIR)/enumerations.dox \ @@ -51,7 +52,8 @@ HTMLFILES = \ MANPAGES = $(SRC_DOCDIR)/fltk.$(CAT3EXT) $(SRC_DOCDIR)/fltk-config.$(CAT1EXT) \ $(SRC_DOCDIR)/fluid.$(CAT1EXT) $(SRC_DOCDIR)/blocks.$(CAT6EXT) \ - $(SRC_DOCDIR)/checkers.$(CAT6EXT) $(SRC_DOCDIR)/sudoku.$(CAT6EXT) + $(SRC_DOCDIR)/checkers.$(CAT6EXT) $(SRC_DOCDIR)/sudoku.$(CAT6EXT) \ + $(SRC_DOCDIR)/fltk-options.$(CAT1EXT) all: $(MANPAGES) @@ -91,11 +93,13 @@ install: $(MANPAGES) -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat1 $(INSTALL_MAN) $(SRC_DOCDIR)/fluid.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1 $(INSTALL_MAN) $(SRC_DOCDIR)/fltk-config.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1 + $(INSTALL_MAN) $(SRC_DOCDIR)/fltk-options.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1 -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat3 $(INSTALL_MAN) $(SRC_DOCDIR)/fltk.$(CAT3EXT) $(DESTDIR)$(mandir)/cat3 -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man1 $(INSTALL_MAN) $(SRC_DOCDIR)/fluid.man $(DESTDIR)$(mandir)/man1/fluid.1 $(INSTALL_MAN) $(SRC_DOCDIR)/fltk-config.man $(DESTDIR)$(mandir)/man1/fltk-config.1 + $(INSTALL_MAN) $(SRC_DOCDIR)/fltk-options.man $(DESTDIR)$(mandir)/man1/fltk-options.1 -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man3 $(INSTALL_MAN) $(SRC_DOCDIR)/fltk.man $(DESTDIR)$(mandir)/man3/fltk.3 @@ -116,6 +120,8 @@ uninstall: $(RM) $(DESTDIR)$(mandir)/man1/fluid.1 $(RM) $(DESTDIR)$(mandir)/cat1/fltk-config.$(CAT1EXT) $(RM) $(DESTDIR)$(mandir)/man1/fltk-config.1 + $(RM) $(DESTDIR)$(mandir)/cat1/fltk-options.$(CAT1EXT) + $(RM) $(DESTDIR)$(mandir)/man1/fltk-options.1 $(RM) $(DESTDIR)$(mandir)/cat3/fltk.$(CAT3EXT) $(RM) $(DESTDIR)$(mandir)/man3/fltk.3 diff --git a/documentation/src/advanced.dox b/documentation/src/advanced.dox index 7489a4698..19ee40041 100644 --- a/documentation/src/advanced.dox +++ b/documentation/src/advanced.dox @@ -425,9 +425,9 @@ Fl::thread_message(). diff --git a/documentation/src/index.dox b/documentation/src/index.dox index 7d3858d57..b7e04ac99 100644 --- a/documentation/src/index.dox +++ b/documentation/src/index.dox @@ -72,6 +72,8 @@ - \ref fluid_selecting_moving - \ref fluid_images + \subpage fltk-options + \subpage advanced \subpage unicode diff --git a/documentation/src/preface.dox b/documentation/src/preface.dox index 168240570..95e0216f1 100644 --- a/documentation/src/preface.dox +++ b/documentation/src/preface.dox @@ -31,6 +31,7 @@ This manual is organized into the following chapters and appendices: \li \ref subclassing \li \ref opengl \li \ref fluid +\li \ref fltk-options \li \ref advanced \li \ref unicode \li \ref enumerations diff --git a/fltk-options/CMakeLists.txt b/fltk-options/CMakeLists.txt new file mode 100644 index 000000000..40825cd60 --- /dev/null +++ b/fltk-options/CMakeLists.txt @@ -0,0 +1,141 @@ +# +# CMakeLists.txt to build fltk-options for the FLTK project using CMake (www.cmake.org) +# +# Copyright 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 +# + +set (CPPFILES + fltk-options.cxx +) + +set (HEADERFILES +) + +set (FLTK_OPTIONS_TARGETS fltk-options) # fltk-options and optional fltk-options-cmd target +set (FLTK_OPTIONS_LIBS fltk) # libraries used to link fltk-options executables + +if (APPLE AND (NOT OPTION_APPLE_X11)) + + # macOS + + set (ICON_NAME fltk-options.icns) + set (ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/icons/${ICON_NAME}") + add_executable (fltk-options MACOSX_BUNDLE ${CPPFILES} ${HEADERFILES} ${ICON_PATH}) + + # create macOS bundle wrapper script + + set (WRAPPER "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/fltk-options") + add_custom_command ( + TARGET fltk-options POST_BUILD + COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/macOS-bundle-wrapper.in ${WRAPPER} + COMMAND chmod u+x,g+x,o+x ${WRAPPER} + BYPRODUCTS ${WRAPPER} + VERBATIM + ) + unset (WRAPPER) + +else () + + # option WIN32 builds a Windows GUI program, ignored on other platforms + add_executable (fltk-options WIN32 ${CPPFILES} ${HEADERFILES}) + +endif () + +# we must link all programs with fltk_cairo if option CAIROEXT is enabled +if (FLTK_HAVE_CAIROEXT) + list (APPEND FLTK_OPTIONS_LIBS fltk_cairo cairo) +endif (FLTK_HAVE_CAIROEXT) + +if (FLTK_HAVE_CAIRO) + fl_target_link_directories (fltk-options PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") +endif (FLTK_HAVE_CAIRO) + +if (USE_GDIPLUS) # can only be true on Windows + list (APPEND FLTK_OPTIONS_LIBS gdiplus) +endif (USE_GDIPLUS) + +target_link_libraries (fltk-options ${FLTK_OPTIONS_LIBS}) + + +# Add fltk-options-cmd console app (Windows only) for editing FLTK options. +# This is done for all Windows targets, even if cross-compiling. + +if (WIN32) + list (APPEND FLTK_OPTIONS_TARGETS fltk-options-cmd) + add_executable (fltk-options-cmd ${CPPFILES} ${HEADERFILES}) + target_link_libraries (fltk-options-cmd ${FLTK_OPTIONS_LIBS}) + if (FLTK_HAVE_CAIRO) + fl_target_link_directories (fltk-options-cmd PRIVATE "${PKG_CAIRO_LIBRARY_DIRS}") + endif (FLTK_HAVE_CAIRO) +endif () + + +# install fltk-options GUI and commandline tool + +if (APPLE AND (NOT OPTION_APPLE_X11)) + + # On macOS, fltk-options must be installed twice. The bundled version of + # fltk-options needs to go into the /Applications folder to make it visible + # as a user App with full GUI. + # The binary without bundle should go into ${FLTK_BINDIR}, usually + # /usr/local/bin, so it will be picked up as a command line tool by + # the build process of other apps. + # On macOS the command line tool is the same target ('fltk-options') as the + # one included in the bundle. + + # create bundle + set_target_properties (fltk-options PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/fltk-options.plist") + set_target_properties (fltk-options PROPERTIES MACOSX_BUNDLE_ICON_FILE ${ICON_NAME}) + + # The line below would wrongly install /Applications/fltk-options.icns + # ## set_target_properties (fltk-options PROPERTIES RESOURCE ${ICON_PATH}) + + # install fltk-options GUI and commandline tools + #install (TARGETS fltk-options DESTINATION "/Applications") + + # install command line tool + install (PROGRAMS $ DESTINATION ${FLTK_BINDIR}) + +else() + + # install fltk-options GUI and optional commandline tool 'fltk-options-cmd' + # (only on Windows) + + install (TARGETS ${FLTK_OPTIONS_TARGETS} + EXPORT FLTK-Targets + RUNTIME DESTINATION ${FLTK_BINDIR} + LIBRARY DESTINATION ${FLTK_LIBDIR} + ARCHIVE DESTINATION ${FLTK_LIBDIR} + ) + + endif (APPLE AND (NOT OPTION_APPLE_X11)) + +# install desktop files + +if (UNIX) + install (FILES fltk-options.desktop + DESTINATION ${FLTK_DATADIR}/applications + ) + # Install mime-type file (x-fltk-options.desktop method is deprecated) + install (FILES fltk-options.xml + DESTINATION ${FLTK_DATADIR}/mime/packages + ) + + # Install desktop icons + foreach (icon 32 48 64 128) + install (FILES icons/fltk-options-${icon}.png + DESTINATION ${FLTK_DATADIR}/icons/hicolor/${icon}x${icon}/apps + RENAME fltk-options.png + ) + endforeach() +endif (UNIX) diff --git a/fltk-options/Makefile b/fltk-options/Makefile new file mode 100644 index 000000000..0c7c9c6da --- /dev/null +++ b/fltk-options/Makefile @@ -0,0 +1,93 @@ +# +# fltk-options Makefile for the Fast Light Tool Kit (FLTK). +# +# Copyright 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 +# + +include ../makeinclude + +CPPFILES = \ + fltk-options.cxx + +################################################################ + +OBJECTS = $(CPPFILES:.cxx=.o) + +all: $(FLTK_OPTIONS) fltk-options$(EXEEXT) + +fltk-options$(EXEEXT): $(OBJECTS) $(LIBNAME) $(FLLIBNAME) + echo Linking $@... + $(CXX) $(ARCHFLAGS) $(CXXFLAGS) -o $@ $(OBJECTS) $(LINKFLTKIMG) $(LDFLAGS) $(LDLIBS) + $(OSX_ONLY) $(RM) -r -f fltk-options.app + $(OSX_ONLY) mkdir -p fltk-options.app/Contents/MacOS fltk-options.app/Contents/Resources + $(OSX_ONLY) $(INSTALL_BIN) fltk-options fltk-options.app/Contents/MacOS + $(OSX_ONLY) $(INSTALL) icons/fltk-options.icns fltk-options.app/Contents/Resources + $(OSX_ONLY) $(INSTALL) fltk-options.plist fltk-options.app/Contents/Info.plist + +fltk-options-shared$(EXEEXT): $(OBJECTS) ../src/$(DSONAME) ../src/$(FLDSONAME) + echo Linking $@... + $(CXX) $(ARCHFLAGS) $(CXXFLAGS) -o $@ $(OBJECTS) $(LINKSHARED) $(LDFLAGS) $(LDLIBS) + +clean: + -$(RM) *.o core.* *~ *.bck *.bak + -$(RM) core fltk-options$(EXEEXT) fltk-options-shared$(EXEEXT) + $(OSX_ONLY) -$(RMDIR) fltk-options.app + +depend: $(CPPFILES) + makedepend -Y -I.. -f makedepend -w 20 $(CPPFILES) + echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > makedepend.tmp + echo "" >> makedepend.tmp + grep '^[a-zA-Z]' makedepend | ( LC_ALL=C sort -u -f >> makedepend.tmp; ) + mv makedepend.tmp makedepend + +# Automatically generated dependencies... +include makedepend + +install: all + echo "Installing fltk-options in $(DESTDIR)$(bindir)..." + -$(INSTALL_DIR) $(DESTDIR)$(bindir) + $(INSTALL_BIN) $(FLTK_OPTIONS) $(DESTDIR)$(bindir)/fltk-options$(EXEEXT) + +install-linux: + -$(INSTALL_DIR) $(DESTDIR)/usr/share/applications + $(INSTALL_DATA) fltk-options.desktop $(DESTDIR)/usr/share/applications + for size in 16 32 48 64 128; do \ + if test ! -d $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; then \ + $(INSTALL_DIR) $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; \ + fi; \ + $(INSTALL_DATA) icons/fltk-options-$$size.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/fltk-options.png; \ + done + -$(INSTALL_DIR) $(DESTDIR)/usr/share/mimelnk/application + $(INSTALL_DATA) x-fltk-options.desktop $(DESTDIR)/usr/share/mimelnk/application + +install-osx: + echo Installing fltk-options in $(DESTDIR)/Applications... + -$(INSTALL_DIR) $(DESTDIR)/Applications/fltk-options.app + -$(INSTALL_DIR) $(DESTDIR)/Applications/fltk-options.app/Contents + $(INSTALL_DATA) fltk-options.app/Contents/Info.plist $(DESTDIR)/Applications/fltk-options.app/Contents/Info.plist + -$(INSTALL_DIR) $(DESTDIR)/Applications/fltk-options.app/Contents/MacOS + $(RM) $(DESTDIR)/Applications/fltk-options.app/Contents/MacOS/fltk-options + $(LN) $(bindir)/fltk-options $(DESTDIR)/Applications/fltk-options.app/Contents/MacOS/fltk-options + -$(INSTALL_DIR) $(DESTDIR)/Applications/fltk-options.app/Contents/Resources + $(INSTALL_DATA) fltk-options.app/Contents/Resources/fltk-options.icns $(DESTDIR)/Applications/fltk-options.app/Contents/Resources + +uninstall: + $(RM) $(DESTDIR)$(bindir)/fltk-options$(EXEEXT) + +uninstall-linux: + $(RM) $(DESTDIR)/usr/share/applications/fltk-options.desktop + $(RM) $(DESTDIR)/usr/share/icons/hicolor/*/fltk-options.png + $(RM) $(DESTDIR)/usr/share/mimelnk/application/x-fltk-options.desktop + +uninstall-osx: + $(RM) -r $(DESTDIR)/Applications/fltk-options.app diff --git a/fltk-options/fltk-options.cxx b/fltk-options/fltk-options.cxx new file mode 100644 index 000000000..8107d9129 --- /dev/null +++ b/fltk-options/fltk-options.cxx @@ -0,0 +1,689 @@ +// +// fltk-options for the Fast Light Tool Kit (FLTK). +// +// Copyright 2022-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 +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../src/flstring.h" + +#include +#include + +// user interface sizes +// |<->|<- group browser ->|<->|<- options ->|<->| +const int FO_GAP = 10; +const int FO_BROWSER_W = 200; +const int FO_SCROLL_W = 16 + 4; //Fl::scrollbar_size() + Fl::box_dw(FL_DOWN_BOX); +const int FO_CHOICE_W = 75; +const int FO_OPTIONS_W = 380; +const int FO_BUTTON_W = 75; +const int FO_WINDOW_W = FO_GAP + FO_BROWSER_W + FO_GAP + FO_SCROLL_W + FO_OPTIONS_W + FO_SCROLL_W + FO_GAP; +const int FO_SYSTEM_X = FO_OPTIONS_W - 2*FO_GAP - 2*FO_CHOICE_W; +const int FO_USER_X = FO_OPTIONS_W - FO_GAP - FO_CHOICE_W; + +const int FO_TITLE_H = 20; +const int FO_BROWSER_H = 340; +const int FO_BUTTON_H = 25; +const int FO_CHOICE_H = 22; +const int FO_WINDOW_H = FO_GAP + FO_BROWSER_H + FO_GAP + FO_BUTTON_H + FO_GAP; + +Fl_Window* g_window = NULL; +Fl_Hold_Browser* g_headline_browser = NULL; +Fl_Scroll* g_option_scroll = NULL; + +// command line options +int g_verbose = 0; +int g_batch_mode = 0; +int g_system_write_ok = 0; +int g_user_write_ok = 0; + +// Magic value when calling the handle function. +const int FO_PRINT_VALUE = -999; + +// User or system setting +typedef enum { + FO_SYSTEM, + FO_USER +} Fo_Context; + +// Avalable option types. +// We can add more types later as needed. +// See: Fl_Group* add_option( Fo_Option_Descr* opt) +// See: Fl_Group* add_option_bool(Fo_Option_Descr* opt) +typedef enum { + FO_END_OF_LIST = 0, + FO_HEADLINE, + FO_OPTION_BOOL, + // FO_OPTION_INT, // not yet implemented + // FO_OPTION_TEXT, // not yet implemented + // FO_OPTION_SCHEME, // not yet implemented +} Fo_Type; + +// Record holding the information for headlines and options. +typedef struct { + Fo_Type type; + const char* text; + Fl::Fl_Option id; + const char* name; + bool bool_default; + const char* brief; + const char* tooltip; + Fl_Group* ui; +} Fo_Option_Descr; + +// List of all entries in the user interface, including headlines and options. +// This list can be arbitrarily extended. The app will generate a scrollable +// area if the list does not fit the app window. +Fo_Option_Descr g_option_list[] = { + { FO_HEADLINE, "Keyboard Focus Options" }, + { FO_OPTION_BOOL, "Visible Keyboard Focus:", + Fl::OPTION_VISIBLE_FOCUS, "OPTION_VISIBLE_FOCUS", true, + "Draw a dotted rectangle in widget with keyboard focus.", + "If visible focus is switched on, FLTK will draw a dotted rectangle inside " + "the widget that will receive the next keystroke. If switched off, no such " + "indicator will be drawn and keyboard navigation is disabled." }, + { FO_OPTION_BOOL, "Arrow Keys move Focus:", + Fl::OPTION_ARROW_FOCUS, "OPTION_ARROW_FOCUS", false, + "Arrow keys will move focus beyond text input field.", + "When switched on, moving the text cursor beyond the start or end of the " + "text in a text widget will change focus to the next widget. When switched " + "off, the cursor will stop at the end of the text. Pressing Tab or Ctrl-Tab " + "will advance the keyboard focus. Switch this on, if you want the old " + "behavior of FLTK 1.1." }, + { FO_HEADLINE, "Tooltip Options" }, + { FO_OPTION_BOOL, "Show Tooltips:", + Fl::OPTION_SHOW_TOOLTIPS, "OPTION_SHOW_TOOLTIPS", true, + "Show or hide tooltips.", + "If tooltips are enabled, hovering the mouse over a widget with a tooltip " + "text will open a little tooltip window until the mouse leaves the widget. " + "If disabled, no tooltip is shown." }, + { FO_HEADLINE, "Drag And Drop Options" }, + { FO_OPTION_BOOL, "Allow dragging Text:", + Fl::OPTION_DND_TEXT, "OPTION_DND_TEXT", true, + "User can drag text from FLTK into other apps.", + "If text drag-and-drop is enabled, the user can select and drag text from " + "any text widget. If disabled, no dragging is possible, however dropping " + "text from other applications still works." }, + { FO_HEADLINE, "Native File Chooser Options" }, + { FO_OPTION_BOOL, "Native File Chooser uses GTK:", + Fl::OPTION_FNFC_USES_GTK, "OPTION_FNFC_USES_GTK", true, + "Use GTK file chooser instead of FLTK if available.", + "If 'Native File Chooser uses GTK' is enabled, the Fl_Native_File_Chooser " + "class calls the GTK open/save file dialogs when they are available on the " + "platfom. If disabled, the Fl_Native_File_Chooser class always uses FLTK's " + "own file dialog (i.e., Fl_File_Chooser) even if GTK is available." }, + { FO_OPTION_BOOL, "Native File Chooser uses Zenity:", + Fl::OPTION_FNFC_USES_ZENITY, "OPTION_FNFC_USES_ZENITY", true, + "Use Zenity file chooser instead of FLTK if available.", + "Meaningful for the Wayland/X11 platform only. When switched on (default)," + "the library uses a Zenity-based file dialog. When switched off, the GTK" + "file dialog is used instead." }, + { FO_HEADLINE, "Print dialog Options" }, + { FO_OPTION_BOOL, "Print dialog uses GTK:", + Fl::OPTION_PRINTER_USES_GTK, "OPTION_PRINTER_USES_GTK", true, + "Use GTK printer dialog instead of FLTK if available.", + "If 'Print dialog uses GTK' is enabled, the Fl_Printer class calls the " + "GTK print dialog when it's available on the platfom. If disabled, the " + "Fl_Printer class always uses FLTK's own print dialog even " + "if GTK is available." }, + { FO_HEADLINE, "Scaling Factor Options" }, + { FO_OPTION_BOOL, "Transiently show scaling factor:", + Fl::OPTION_SHOW_SCALING, "OPTION_SHOW_SCALING", true, + "Show the zoom factor in a transient popup window.", + "If 'Transiently show scaling factor' is enabled, the library shows in a " + "transient popup window the display scaling factor value when it is " + "changed. If disabled, no such transient window is used." }, + // -- When adding new options here, please make sure that you also update + // -- documentation.src/fltk-options.dox + // -- and + // -- documentation.src/fltk-options.man + { FO_END_OF_LIST } +}; + +/** Check for write permission. + \param[in] ctx settings context + \return true if writing to the requested preferences is ok + */ +bool write_permission(Fo_Context ctx) { + if (ctx == FO_SYSTEM) + return g_system_write_ok; + else + return g_user_write_ok; +} + +/** Write an option into the system or user preferences file. + \param[in] ctx settings context + \param[in] name the name of the option + \param[in] value 0 or 1, or -1 to remove the entry, so it will be reset to + its default value + */ +void set_option(Fo_Context ctx, const char *name, int value) { + enum Fl_Preferences::Root context = + (ctx==FO_SYSTEM) ? Fl_Preferences::SYSTEM_L : Fl_Preferences::USER_L; + Fl_Preferences prefs(context, "fltk.org", "fltk"); + Fl_Preferences options(prefs, "options"); + if (value==-1) + options.deleteEntry(name); + else + options.set(name, value); +} + +/** Read an option from the system or user preferences file. + \param[in] ctx settings context + \param[in] name the name of the option + \return 0 or 1, or -1 if the value is not set + */ +int get_option(Fo_Context ctx, const char *name) { + int value = -1; + enum Fl_Preferences::Root context = + (ctx==FO_SYSTEM) ? Fl_Preferences::SYSTEM_L : Fl_Preferences::USER_L; + Fl_Preferences prefs(context, "fltk.org", "fltk"); + Fl_Preferences options(prefs, "options"); + options.get(name, value, -1); + return value; +} + +/** Delete an option in the system or user preferences file. + \param[in] ctx settings context + \param[in] name the name of the option + */ +void clear_option(Fo_Context ctx, const char *name) { + set_option(ctx, name, -1); +} + +/** Print the Usage: text and list all system and user options. + \param[in] argv application name when called from the shell + */ +void print_usage(const char *argv0) { + const char *app_name = NULL; + if (argv0 && argv0[0]) + app_name = fl_filename_name(argv0); + if (!app_name || !app_name[0]) + app_name = "fltk-options"; + fprintf(stdout, "FLTK %d.%d.%d. Usage:\n", FL_MAJOR_VERSION, FL_MINOR_VERSION, FL_PATCH_VERSION); + fprintf(stdout, "%s [-Soption[=val]] [-Uoption[=val]] [-L] [-LS] [-LU] [-f] [-v] [-h[option]]\n", app_name); + fprintf(stdout, " -Soption[=value] change or print system wide option\n"); + fprintf(stdout, " -Uoption[=value] change or print user option\n"); + fprintf(stdout, " Values can be 0 or OFF to clear, or 1 or ON to set the option.\n" + " The value -1 or DEFAULT sets the option to its default value.\n" + " If no value is given, the current setting is returned as -1, 0, or 1.\n"); + fprintf(stdout, " -L, -LS, -LU list the value of all options, of all system settings, \n" + " or of all user setting\n"); + fprintf(stdout, " -f suppresses error messages concerning file access permissions\n"); + fprintf(stdout, " -v, --verbose prints additional information in command line mode\n"); + fprintf(stdout, " -h[option], --help [option] general help, or info for the given option\n\n"); + fprintf(stdout, " This version of %s supports the following options:\n", app_name); + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if (opt->name) { + if (opt->brief) + fprintf(stdout, " %-24s %s\n", opt->name, opt->brief); + else + fprintf(stdout, " %s\n", opt->name); + } + } + fprintf(stdout, "\n Calling %s without options will launch %s interactive mode.\n", app_name, app_name); +} + +/** Print more information for a given options. + \param[in] options the name of the option, case insensitive + */ +void print_info(const char *option) { + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if ( opt->name && (fl_ascii_strcasecmp(opt->name, option) == 0) ) { + if (opt->brief) + fprintf(stdout, "%s: %s\n", opt->name, opt->brief); + else + fprintf(stdout, "%s: see FLTK manual for details\n", opt->name); + if (opt->tooltip) + fprintf(stdout, "\n%s\n", opt->tooltip); + fprintf(stdout, "\nDefault is %s.\n", opt->bool_default ? "on" : "off"); + break; + } + } + if (opt->type == FO_END_OF_LIST) + fprintf(stderr, "Warning: Unrecognized option \"%s\".\n", option); +} + +/** List the current value of all options. + \param[in] cmd 'S' lists system options, 'U' lists user options, 0 lists both + */ +void list_options(char cmd) { + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if (opt->name) { + printf("%-24s", opt->name); + if (cmd == 'S' || cmd == 0) { + int value = get_option(FO_SYSTEM, opt->name); + printf(" system:%2d", value); + } + if (cmd == 0) + printf(","); + if (cmd == 'U' || cmd == 0) { + int value = get_option(FO_USER, opt->name); + printf(" user:%2d", value); + } + printf("\n"); + } + } +} + +/** Handle a commmand line argument for system or user options. + \param[in] ctx settings context + \param[in] name the name of the option + \param ival 0 or 1 to set, -1 to reset to default, and FO_PRINT_VALUE to + print the current value + */ +void handle_option(Fo_Context ctx, const char *name, int ival) { + const char *ctx_name = (ctx==FO_SYSTEM) ? "system" : "user"; + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if ( opt->name && (fl_ascii_strcasecmp(opt->name, name) == 0) ) { + if (ival == FO_PRINT_VALUE) { + int value = get_option(ctx, opt->name); + if (g_verbose) + printf("Current value for %s option %s is %d\n", ctx_name, name, value); + else + printf("%d\n", value); + } else if (ival ==-1) { + if (g_verbose) printf("Reset %s option %s to default\n", ctx_name, name); + clear_option(ctx, opt->name); + } else { + if (g_verbose) printf("Set %s option %s to %d\n", ctx_name, name, ival); + set_option(ctx, opt->name, ival); + } + if ( (ival != FO_PRINT_VALUE) && !write_permission(ctx) ) { + fprintf(stderr, "ERROR: No write permission for %s options\n", ctx_name); + exit(1); + } + break; + } + } + if (opt->type == FO_END_OF_LIST) + fprintf(stderr, "Warning: Unrecognized %s option \"%s\".\n", ctx_name, name); +} + +/** FLTK callback for every item in the command line. + + Command line arguments start with "-S" for system wide settings or "-U" for + user settings, followed by the option name, followed by a value "=0", "=1", + "=ON", or "=OFF". If no value is give, we will print a "0" or "1" to stdout. + + \param[in] argc number of arguments in the list + \param[in] argv pointer to the list of arguments + \param[inout] index into current argument, increment for every used entry + \return 1 if the entry was correct, 0 if it was not understood + */ +static int read_command_line_args(int argc, char** argv, int& i) { + char cmd = 0; + char opt[64] = ""; + char val[32] = ""; + int ival = FO_PRINT_VALUE; + const char *arg = argv[i++]; + + if ( (strcmp(arg, "--help") == 0)) { + if (argv[i] && argv[i][0]) { + print_info(argv[i]); + i++; + } else { + print_usage(argv[0]); + } + g_batch_mode = 1; + return 1; + } + if ( (strncmp(arg, "-h", 2) == 0) ) { + if (arg[2]) { + print_info(arg+2); + i++; + } else { + print_usage(argv[0]); + } + g_batch_mode = 1; + return 1; + } + if ( (strcmp(arg, "--help") == 0) || (strcmp(arg, "-h") == 0) ) { + print_usage(argv[0]); + g_batch_mode = 1; + return 1; + } + if ( (strcmp(arg, "--verbose") == 0) || (strcmp(arg, "-v") == 0) ) { + g_verbose = 1; + return 1; + } + if (strcmp(arg, "-f") == 0) { // suppress write access error + g_system_write_ok = g_user_write_ok = 1; + return 1; + } + if (arg[0] == '-') { + cmd = arg[1]; + if (cmd == 'U' || cmd == 'S') { + const char *eq = strchr(arg+2, '='); + if (eq) { + size_t n = (eq - (arg+2)); + if (n==0) { + i--; + return 0; + } + if (n > sizeof(opt)-1) n = sizeof(opt)-1; + strlcpy(opt, arg+2, n+1); + strlcpy(val, eq+1, sizeof(val)); + if (fl_ascii_strcasecmp(val, "ON")==0) + ival = 1; + else if (fl_ascii_strcasecmp(val, "OFF")==0) + ival = 0; + else if (fl_ascii_strcasecmp(val, "DEFAULT")==0) + ival = -1; + else if (strcmp(val, "1")==0) + ival = 1; + else if (strcmp(val, "0")==0) + ival = 0; + else if (strcmp(val, "-1")==0) + ival = -1; + else { + fprintf(stderr, "Warning: Unrecognized value \"%s\" for option \"%s\".\n", val, opt); + g_batch_mode = 1; + return 1; + } + } else { + strlcpy(opt, arg+2, sizeof(opt)); + } + } + } + if (cmd == 'S') { // system setting + handle_option(FO_SYSTEM, opt, ival); + g_batch_mode = 1; + return 1; + } + if (cmd == 'U') { // user setting + handle_option(FO_USER, opt, ival); + g_batch_mode = 1; + return 1; + } + // check for -L, -LS, or -LU + if (strcmp(arg, "-L")==0 || strcmp(arg, "-LS")==0 || strcmp(arg, "-LU")==0) { + list_options(arg[2]); + g_batch_mode = 1; + return 1; + } + i--; + return 0; +} + +/** Check if we have write permission for either database. + + If there is no write permission for a set of options, the UI will show + them grayed out. + + \param[out] sys system preferences write permission + \param[out] user user preferences write permission + */ +void check_write_permissions(int &sys, int &user) { + char path[FL_PATH_MAX+1]; + sys = 0; + Fl_Preferences sys_prefs(Fl_Preferences::SYSTEM_L, "fltk.org", "fltk"); + if (sys_prefs.file_access() & Fl_Preferences::SYSTEM_WRITE_OK) { + path[0] = 0; + sys_prefs.filename(path, FL_PATH_MAX); + if ( path[0] && (fl_access(path, 2) == 0) ) // W_OK + sys = 1; + } + user = 0; + Fl_Preferences user_prefs(Fl_Preferences::USER_L, "fltk.org", "fltk"); + if (user_prefs.file_access() & Fl_Preferences::USER_WRITE_OK) { + path[0] = 0; + user_prefs.filename(path, FL_PATH_MAX); + if ( path[0] && (fl_access(path, 2) == 0) ) // W_OK + user = 1; + } +} + +/** Called when the UI Close button is clicked. + */ +static void close_cb(Fl_Widget*, void*) { + Fl::hide_all_windows(); +} + +/** Called when a boolenan system option is changed. + */ +void set_system_option_cb(Fl_Widget* w, void* user_data) { + Fl_Choice* choice = (Fl_Choice*)w; + Fo_Option_Descr* opt = (Fo_Option_Descr*)user_data; + const Fl_Menu_Item* mi = choice->mvalue(); + if (!mi) return; + int value = (int)mi->argument(); + set_option(FO_SYSTEM, opt->name, value); +} + +/** Called when a boolenan user option is changed. + */ +void set_user_option_cb(Fl_Widget* w, void* user_data) { + Fl_Choice* choice = (Fl_Choice*)w; + Fo_Option_Descr* opt = (Fo_Option_Descr*)user_data; + const Fl_Menu_Item* mi = choice->mvalue(); + if (!mi) return; + int value = (int)mi->argument(); + set_option(FO_USER, opt->name, value); +} + +/** Add an option group to the pack group. + */ +void add_option(Fl_Pack* pack, Fo_Option_Descr* opt) { + static Fl_Menu_Item bool_option_menu[] = { + { "off", 0, 0, (void*)(0), 0}, + { "on", 0, 0, (void*)(1), FL_MENU_DIVIDER}, + { "default", 0, 0, (void*)(-1), 0}, + { NULL } + }; + // -- get the height of the tooltip text, so we can create the correct group size + int tooltip_h = 0; + if (opt->tooltip) { + int ww = FO_OPTIONS_W - 2*FO_GAP - 6; // 6 is the FL_ALIGN_LEFT margin + int hh = 100; + fl_font(FL_HELVETICA, 11); + fl_measure(opt->tooltip, ww, hh); + tooltip_h = hh+5; + } + // -- create a group that contains all the UI elements for the option + int yy = 0; + Fl_Group* option_group = new Fl_Group(0, 0, + FO_OPTIONS_W, + 2*FO_GAP + FO_BUTTON_H + tooltip_h + 2*FO_GAP + FO_CHOICE_H +17); + opt->ui = option_group; + yy += FO_GAP; + // -- name of the options + Fl_Box* name = new Fl_Box(0, yy, FO_OPTIONS_W, 21); + name->copy_label(opt->name); + name->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE); + name->labelfont(FL_HELVETICA_BOLD); + yy += name->h(); + // -- description + Fl_Box* brief = new Fl_Box(FO_GAP, yy, + FO_OPTIONS_W - 2*FO_GAP, tooltip_h, + opt->brief); + brief->labelsize(11); + brief->labelcolor(fl_lighter(FL_FOREGROUND_COLOR)); + brief->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_WRAP); + yy += 17; + // -- tooltip, if one exists + Fl_Box* tooltip = new Fl_Box(FO_GAP, yy, + FO_OPTIONS_W - 2*FO_GAP, tooltip_h, + opt->tooltip); + tooltip->labelfont(FL_HELVETICA); + tooltip->labelsize(11); + tooltip->labelcolor(fl_lighter(FL_FOREGROUND_COLOR)); + tooltip->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_WRAP); + yy += tooltip_h; + // -- default setting + Fl_Box* default_setting = new Fl_Box(FO_GAP, yy, FO_SYSTEM_X - FO_GAP, 14); + char buf[64]; + fl_snprintf(buf, 64, "Default is %s.",opt->bool_default ? "on" : "off"); // -- label the pulldown menus + default_setting->copy_label(buf); + default_setting->labelsize(11); + default_setting->labelcolor(fl_lighter(FL_FOREGROUND_COLOR)); + default_setting->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE); + yy += 18; + // -- option text + Fl_Box* text = new Fl_Box(0, yy, FO_SYSTEM_X, FO_CHOICE_H); + text->copy_label(opt->text); + text->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE); + // -- system choice + Fl_Choice* system_choice = new Fl_Choice(FO_SYSTEM_X, yy, FO_CHOICE_W, FO_CHOICE_H, "System:"); + system_choice->down_box(FL_BORDER_BOX); + system_choice->labelsize(11); + system_choice->align(FL_ALIGN_TOP); + system_choice->callback((Fl_Callback*)set_system_option_cb, (void*)opt); + system_choice->menu(bool_option_menu); + switch (get_option(FO_SYSTEM, opt->name)) { + case 0: system_choice->value(0); break; + case 1: system_choice->value(1); break; + default: system_choice->value(2); break; + } + if (!g_system_write_ok) system_choice->deactivate(); + // -- user choice + Fl_Choice* user_choice = new Fl_Choice(FO_USER_X, yy, FO_CHOICE_W, FO_CHOICE_H, "User:"); + user_choice->down_box(FL_BORDER_BOX); + user_choice->labelsize(11); + user_choice->align(FL_ALIGN_TOP); + user_choice->callback((Fl_Callback*)set_user_option_cb, (void*)opt); + user_choice->menu(bool_option_menu); + switch (get_option(FO_USER, opt->name)) { + case 0: user_choice->value(0); break; + case 1: user_choice->value(1); break; + default: user_choice->value(2); break; + } + if (!g_user_write_ok) user_choice->deactivate(); + option_group->end(); +} + +/** Fill the options list and make the unused options invisible. + */ +void add_options(Fl_Pack* pack) { + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if (opt->type != FO_HEADLINE) + add_option(pack, opt); + } +} + +void select_headline_cb(Fl_Widget*, void*) { + int line = g_headline_browser->value(); + if (line) { + Fo_Option_Descr* sel = (Fo_Option_Descr*)g_headline_browser->data(line); + Fo_Option_Descr *opt; + bool show = false; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if (opt->type == FO_HEADLINE) show = false; + if (opt == sel) { + show = true; + g_option_scroll->label(opt->text); + } + if (opt->ui) { + if (show) + opt->ui->show(); + else + opt->ui->hide(); + } + } + } else { + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if (opt->ui) + opt->ui->show(); + } + g_option_scroll->label("All Options"); + } + g_window->redraw(); +} + +/** Fill the headline browser and set callbacks. + */ +void add_headlines(Fl_Hold_Browser* browser) { + Fo_Option_Descr *opt; + for (opt = g_option_list; opt->type!=FO_END_OF_LIST; ++opt) { + if (opt->type == FO_HEADLINE) + browser->add(opt->text, (void*)opt); + } + browser->callback(select_headline_cb, NULL); +} + +/** Build the modular user interface (ALT VERSION). + */ +Fl_Window* build_ui() { + Fl_Tooltip::size(11); + // -- the main application window + g_window = new Fl_Double_Window(FO_WINDOW_W, FO_WINDOW_H, + "FLTK Options"); + // -- a clickable browser for all headlines + g_headline_browser = new Fl_Hold_Browser(FO_GAP, FO_GAP + FO_TITLE_H, + FO_BROWSER_W, FO_BROWSER_H - FO_TITLE_H, + "Groups"); + g_headline_browser->align(FL_ALIGN_TOP); + g_headline_browser->textsize(FL_NORMAL_SIZE+1); + add_headlines(g_headline_browser); + // -- scrollable area for all options inside a group + g_option_scroll = new Fl_Scroll(FO_GAP + FO_BROWSER_W + FO_GAP, FO_GAP + FO_TITLE_H, + FO_OPTIONS_W +2*FO_SCROLL_W, FO_BROWSER_H - FO_TITLE_H, + "All Options"); + g_option_scroll->box(FL_DOWN_BOX); + g_option_scroll->type(Fl_Scroll::VERTICAL); + Fl_Pack* option_list = new Fl_Pack(g_option_scroll->x() + FO_SCROLL_W, + g_option_scroll->y() + Fl::box_dy(FL_DOWN_BOX), + FO_OPTIONS_W, 10); + add_options(option_list); + // -- end all groups + g_option_scroll->end(); + g_window->resizable(g_option_scroll); + // -- close button + Fl_Button* close = new Fl_Button(FO_WINDOW_W - 2*FO_GAP-FO_BUTTON_W, + FO_WINDOW_H - FO_GAP - FO_BUTTON_H, + FO_BUTTON_W, FO_BUTTON_H, + "Close"); + close->callback(close_cb); + g_window->end(); + g_window->size_range(FO_WINDOW_W, 200, FO_WINDOW_W, 32767); + return g_window; +} + +/** This is where it all begins. + */ +int main(int argc,char **argv) { + check_write_permissions(g_system_write_ok, g_user_write_ok); + + int i = 1; + int args_processed = Fl::args(argc, argv, i, read_command_line_args); + if (args_processed < argc) { + fprintf(stderr, "ERROR: Unrecognized command line option \"%s\".\n", argv[i]); + return 1; + } + if (g_batch_mode) + return 0; + + Fl_Window *win = build_ui(); + win->show(argc, argv); + Fl::run(); + + return 0; +} diff --git a/fltk-options/fltk-options.desktop b/fltk-options/fltk-options.desktop new file mode 100644 index 000000000..33d32f571 --- /dev/null +++ b/fltk-options/fltk-options.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=fltk-options +Comment=FLTK Options Editor +TryExec=fltk-options +Exec=fltk-options %F +Icon=fltk-options +Terminal=false +Type=Application +MimeType=application/x-fltk-options; +Categories=Development;Settings; diff --git a/fltk-options/fltk-options.plist b/fltk-options/fltk-options.plist new file mode 100644 index 000000000..7e168ea0c --- /dev/null +++ b/fltk-options/fltk-options.plist @@ -0,0 +1,34 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleExecutable + fltk-options + CFBundleIdentifier + org.fltk.fltk-options + CFBundleVersion + 1.4.0 + CFBundleDevelopmentRegion + English + NSHumanReadableCopyright + Copyright 2023 by Bill Spitzak and others + CFAppleHelpAnchor + help + CFBundleName + fltk-options + CFBundlePackageType + APPL + CFBundleSignature + FLOP + CFBundleIconFile + fltk-options.icns + CFBundleShortVersionString + 1.4.0 + CFBundleGetInfoString + 1.4.0, Copyright 2023 by Bill Spitzak and others + NSHighResolutionCapable + + + diff --git a/fltk-options/fltk-options.xml b/fltk-options/fltk-options.xml new file mode 100644 index 000000000..42b09dc60 --- /dev/null +++ b/fltk-options/fltk-options.xml @@ -0,0 +1,6 @@ + + + + FLTK Options Editor + + diff --git a/fltk-options/icons/fltk-options-128.png b/fltk-options/icons/fltk-options-128.png new file mode 100644 index 0000000000000000000000000000000000000000..dce79fb5cdef61a762bb41e6b7f51ca4e167f7d5 GIT binary patch literal 9072 zcmV-$BahsPP)$l7XI;{#Z+q&{F*HylNU6vFqG6z`Y-(pfc8@kP$+hZM^} z2ndM>1k>y*#mRsWFo&AdvRx=0U}D|8GRd>|h9K@31Z5~6XRn2by83?z>9QR$RkFt3 zpeeY*)rT?74&;B7W_Vz)CiwnzCY%^~%Ly*u{X)1iPM8oPnVKNFxp#72R&K}$FQiQ@$Kq8~w4FM5wk(?8{y!pad-tf2N&h+-Fc4x>?M2ZYfL3s?*{ zcn^ToQlGN+h9uiu5QlOS$atTidE??AL!|O9vJy1=LlFQWMBy9|F5NYvuxqy{srkVt zrrXI`{Y!lTLa4Hq4G3Do0vIF6+bJVg&76mV zb43%pZp!NhT*W|;s4`*qXOX4mMkE6f;tY)UKDqHrLE~d7S(^uwAcPjdFgI{2KMFB= zYevy7`camvfi$0gC1*#@^C-E@btHr+DoA8VSS_ES@5{;5T@68@NRDf$STx3fG*A0> zrR|O4_}gZ=i&}zKb2=TDPXF4s{V7Vbq%($$R;>QliSb`*snk5OK>!ExvEeS%}wK<#%yTuRJ+7%Sz1B^y}A~;wujsz5=`i~`Zi!U0jEz`N`*JhusXmdjj zhhs?&1Nc+bU!d&`Fb|GF6qo5-HoN9d7_PkObUJbJW30*rpHAuRN&BO+Lgux8-keno zW7wPY|1qOAug#q3isnNUP2WCp06;=EX3CFKOHp_?%m_!uI#4mov$9r<1t5eBFq8@o zEC;b@_tv;(hoS;Ph>Af>wgoKD9mw`d9*cFupYu%Scqh`!uaBOwy@R zTAe!0aopV)1wjbyR@3N}4-D>25EY8p5T*Jbn+exY>1mm_v({RU;n&=*^^RQav+3z` z=J*F1Mw$1cvI1hZW2{iVoF~L4x}5?-XwA8@BDo-k!*TB2m&&&sWv!LVSPzP^ZvyrP zZavvCny0*bW9FK4;5|0ouTsXW;~~n~43;rpqRP|VZ*Fzl)?qtVBo)E3Y)yrAsQvkd zN52edcA1v5-rIZ#k=~`&eJ-a;1kn_tmN|ylbe}qX%G`MW-Al$n2&*b9LtQU~dfzV` z4&B)X5utg2=w+@xR>Yx?eq2}WT`G#bDA%%i*vL$%U7tZ8FK<;uLd?y6-h3p&5r4^JqBJ`nDK!z z3DIq=rDB!(NK{!$h122j#7zI($oc5lc_|%M#TZ1C&EKlASC@7>4I%P3-fsYB?_lc6 ztrifFszKeSAfurWq86ELxk@(2qz7Zc4rB6T6E8vt2mmp~1}gR!$F0t{OlWYj>$kH5 zrxL+IIUB}u1|h_b`L>$P=E;E%d81QfE@QN2h$sM2X>ilCD?WI^tS5Jc02Gyo zmMxn6u{?x`Gl24aNqKuR+)Jk?M8*os+Njm-0K`_nitHTdS~4}N8>?_r5vu>=Oc|NX4qv^Pf@oy078hOLPb>xAqXLc zMhIR#*jN(?B7`K;n5(E*uJSNi;M%5=HX6d!BZJQB+p}k{%WgCpjXclK`@@A}tFEpN zhr`KaFw{3Oefcf^gxA0QY44V!I(K7XN<8mGDEE%|;023Tgb>cBrHC?#tImwRQ8v0M zR!bo$D=Lr@loVyfpeEC&XC;P4B}u!3-~8q`uTOF!=O+!HgK)ir0aeP5pMRx^J#VvG z@&pB{s%A2oWHK2H1}|T}9F0a9t)uCYKlSc-W|j7b;}g2+H#l`#CVWQUCJIfA(Y3gF z5e%>*C#LAch%s}~tXb`uC3Wb~q3bgYDrJnl0j#e_%Em)Izx`h$AN+koeT`11%LCU4 zA&%pWMx)E+s;#ZH*=&heX!ydLQYvOH+eGt*q74!9CdINPCv1}(`+&KQ(wLUiLI?q( zD2)IGe=-XNbqK9)xv0a34_`koJ@xL3dQU57aITvS(&34VFMKt0>E&HJcT`nXp=BS! zvMg(}*=lNPv>N{MCvQY1F54@&uj-H)B0%#H(aWAY1OW2Ua~w;T>`YkDfwRB(a&qbt zSeJ_>QaXC^*MB3?_!wYBx=(W6SZtLxRT%c;5bv|UPX&&YJi zAP7R}a5!eh`vxz(Z>!wO860bB2dbRA{LVi~Bfok4@uN1^IOUWA&!n4>G*0~F}fw+Dy-J&bY{VHvHg9|=7)<8iU`3Jk*VCQL+)$S zoT5{KC{wlQ^rdW~`_1n#k@i(i;Z^}$mq9KQzkK?Y_(T_Cw7gD040km@cJ*WcAyZv% zI&shD&6`Wef6Zf2E*VT@DU+{t*-AqI!IYY#)04HRYp3DF0sBuLul<)p_3tOtk;#@dM2zKlP?4s=^nYB|Ch-37o`jOnF7y>ZNM zy5cc)x$J2Tn?r~!To12p0tI7OW52OuP?hlLh0a&LfuolmJ95P9^{&!_mvrJR%WmGh z+3WRocXwa8a%K3;PcX(1LYg!1dRy&-U-IqzTygF$KGj?0qF1RnOEr_pR9h~@rw8n} z3VQS zwbky05KwBC$^@%4<6~lZR$smFo1uiBrlkB3$TCu`ZuFwODH9EZ22PKh`cW!)xxT(` z@7}$oVz3LJh*1<}GMP*!6S>y1*=%obZ+yDnQhWc3c?+z9xl2O1eJun)2!Vj;wTwS} zY8U0KF!g(cODofA&%{%tj)z#^Ay0v0MSN1cS zwi>lXY?l>9v{{AgvMge`ul_@1EGOO8wAYbv+2Sr6(d#f;`qZ+_(ubmH%-(Q3l)*hQ z!{!$N0Kn~F4;(yXb5zV{N|)Sli{D8TT319!3IP;MrXub|0YFqG$5TnKJ>{{-oVK*X z3RxD<-^MQ3Ts8@HO)V4vWc9X_vfO?Vs4?{q zhz~6+l9piokr?f=EBQ6XZA)C4!f0(WZs_H#xS|44QWO;{D#Dar;(Qs`E=F%JqCZ9} zWJIE0jP}o@6Z=~RD#}uJ3t|}zQ7I4LAp~Bb6HUux!Tyml`X*q*LXdgwKrtSd)Brk39*8 zg2Z^^%oS?PqrviR%>(((%VHudN`bX0d$0%u&4Wxb3xoU~T(Jc)8g{{VR;iT`p)BVE zU=abx3K$Pa<({>2cY-lz#S^n&fdCNI7j9AU08QoJ2@#(&8HlgRonf??;=@U?GT?d^ zcy=SUiOR6Z3d>Ujke9b&dcu)AoLT6=a!g!3bRIS5pI?7r-8*%u!=q*%-VDU^&hisPB zo+%OnFeW((1Vi%ZWUgQ>>*(l6 zrBbDjf(RiKDI4-tuG3vc#H2k(;-TjS9l1#WX4~-iSZgC&1o&YBFeZs43Cu{N6XK;l z@Nth`Hr~g$w&)$zx&z*7tr;M63wsC=>Pyv&VqsQJOOI%^`}XYFbMfNEnVFeV9cJ8! zf>NPAeZ2~(b;`=346dN~D3^X+%ipj1L zN;X#9_NvIek+ptOiu&bt_F9o#ole(rmd<3Mp-{GLBnCRV6TO4!_VcOXv2 z<}Iz&`|XfoRz#8`L)pX(lV1P;0H;m5I5np!(@_+)b?erTKmIrti>>}h6SNOz5M&mN1O4waTC+y*K#Ey9 z|C?Y%PR)+QN6)6iVUaqgaor=bYixys=$ed%RxD; zY$ytB^^Y_^_7$VMuIQ9j2vKjONm0)hWaTty9OE7HTF)?ys;Xes1oaIF((CoX&R_KW z?q^nCle6(*v$vTydsvMLP|Ve8VFb(R$lO@xWXJ2F{tt0(4r7dHzUh%KS3UTpRir~f zVD!#$pG$<=t#Y>@n0p7M!}~yf%Vd~J;Z8-rGg;{R0sfubbblM*{Vp4 za@p1VZot3}sj7ky3jk16wX?Hx)22-&^8qwXx3;vjx3|v@d@$Yn9?cmjUeM?*2D6hF zyt!OPijF0tQ`y)Qf~v#eXxej7r_)VMOtpNI-2w5*Ted8OV2UUxJ7FKZodAGvIGjqQN^mHD{Sgqt*4Ebg`ue%Kxj-N=I5-%Igfp`<$(io?IF+I(jYhMz zZF7Bnz02idSr$TAUte#xU+QcBNt3$)(W|Sj10m7~sPX{ITW2GG>2nugiOVg$R6xRz z0szxkq%t#An(-Q8sLXJ|ZJRUda|o#rfMixPls*ENDArD}GJfvm%WwYOBY(nd+brZ? zPr)dsCWAJ+6Jy-p-|uiZR_}!ATedpOc%jM>GfE>q}OeU>X zyRcV^q8b_+dS7`xJ$}wmwWk!@2uKUQiD@Rk0000Ud&+$2WVJ)`o34}zola|x=W+;= zTNcr4zDy-D7%hJLH#&M@;J4pm)MQ7G{+VM!0agxSkn3r0PY(_be*E#rt0^*&j|~Oa zlJOaaSx)i=$8p=YwRT^6yWYQRb(dAHhb6|b*_vIXJAWBovnl)M$NqsrYJM$r+jH>p zG!PaMfSgTSe(!rb+8Uagn$EVrok|12SildnNdl$o|j zYaN}omFft@V~>E$>@9!P3a*N(hU+k5Fc{AFKuId7u)t%Bmhf<_TgErxijplB>z&kU>`hAy7zdFb$s}_ub5|K*>}y3ORTD zZHqPwArvgm@xT?ouRvjHkCTYG6wPo;CD&ZtUnnBPNw+28wnZJ5xXVUp8vpRs1^{k~ zor-jHli4!t-La-Oiiy!b9ij}CB@h5Yz;Eh06MyD5f(rs;`84}A%kmdT31^cTRplF0$k=%G@HQuVwK={A?i6UPrT|h=FVS~KmSYt8j3=o%pMzy zUh7zlyW8X1q_h1>EKLlDMf3bxW(>k4KMND;L) zAgvjhYa;kmab`vcP%%lTNgybXPGm3kN*UKI&o41-noqbM)=d2*p0Pw?#A%25-9S}Y zN>&HmmZ-xLbJ!5asmn}J^*9viaz>*y7H;a$h(wi%DQS3I?7TvE4qJia0Pk$n+p7#qzx53OfHdYg!+uWp z$;5QfX)iF&`l?J_b10jBxNxd>I}DnJS;Dwvp3$0pN#L*(2gY9d|BdUk5;HJsOI_iHp} z56v5wRk7H*DTykFMn|`8=JJ0X-o`jBmw2GD+meWgH?m__20`hJloOhlb7U@y>F(eD z@67lI`}gnD>2%}c<5xcV-gM8~&5wTB(el_b4-Y6~+4wY5PymS}^=IF$743WV_A1>2 z-fE4Yh^gtz9}K+x?buvEaMiVb>d*9L%eXg5aeU3A9X)S7brjHRQ#BVM;ITy_fg8s- z)X}3ym;d{j1S`1;7iPk$GJNW%v5P z$V99u-qBb+oBz8s4f@3|(3M9tf(Jk}d*wvu%YQX;>ia+pbCi;ajD|4D{7Ep?5Ejr4f|Z$`cScV9{nJl8YPVm#3&t=^ zLqkJZSy^XiXYVJ^yIUWJ%cw2~5$cV!VznnfD@ReJ!8{Ve`>~?*fAHMkd*9(0^1!}5 zn>TOPYPHd5w7tE3@cn;mI{p`kDNxfCaeCHwcslr6K~}El=Cna68)sR~in$;alN2)N z)m$QH6GNwdcJWtVJ^bJEg}pM7@!{{2>~Rin{(Jf1^`4yA_QndyG3U=;%hk;d6LG9j&9wGy6FZKhN) zT#zK@`rrRYDG^-MI#ekgy7J++<*dqNG95bjz~H;z&IGy&rg3QPl|2L0nq{a0gg}`! zOs>%^D}W%Hrj>B_rC)z*^YO3Erwc=VCOTefUjs`_st zC5ggjI{$n2R@^-;P2&<~98pp@a z{QSRc`Sdr;Rrlpde&tQB^B-9xDW~B}ECh^!s)A@-i9}}!AaJEo5YO|EKYsL=zkH$l zRZ{ohzfHyGVu7By{@=xegK|2^GIUFGu?B4ncT&8}Cz#?b^J zBxmu(9_z8ghWuG*3@z8`M=qe2$gEuei=36yG`)NG?r`|^(?9%ojfeh2+14jGlY7yC zSdpceWDd?w_?IcY2)_6=q~xtP2%m=aaP7rv-+9KGUwfYa&x^rxSE z>7|!G8U9@|9tK2V7{;L2w`|{ETU+aLx$4u_#if(>?asWADEEZucAC8aewf^#}gFv*7_+ zZ(n$fDyE~C-ugeGjyJ~wwSJ$rxJ6enNu@v_m>ZkO_4H>?os9)%q)1$q%DF$U@p1I%kA3LHt)bO z#s8QyoFc9}72f5f<|%J+IgM#V>ww{t+vZUxs!Ubo){&;xBh!wAIYI!&K$O5tNE)3K`-al(=aYk@nMh1cXYtM5vGa*0<>lq`%Bt7v z=XI-iHWWfwM6m=yh)SCZ@(^-rR?nY z5DJ2@Z{NPw*4DAHvChuU>FLRV-+j+!v;EO$KkIh82_Z?*7Ks6;{bp=YNg_o8Gt%gI zw(Cmv;|tNLpcIMY`8U;F*BGAXjYeZ-Wo21enbm3)1R)PXtlulmA%sdn28EDZd|Kzb zsfN7CWIFR9mKDIU1;V>pp>H7f5TyC#m?lM0f*=Tj(A?Y{kH=?cXXiC^zI?02RyHv` zY`5~VLgpfPaw1x-d><7>4J0r_<^8`<+gw)oL{wjWm6AZS#+0 zearn9itDf<=EhI5)i0_X*ei5WQ(`Kc1^VUc#5^=xt=5Gvje!ta zt@dBPbGiLo?97Ga&{#Se$C=zs*uwLiR;w*9FZcO;4u`{RHtTe{h1jy(;C@{NfTdds zC*9KG;~i#t4xxsdG2hP?00096NklVJRX7fM) zDwIeh7FrC?^Cpw2s;bKEcF&i#<~XkC!XtMAg3@ygAxn`NayCBr(GMTpQGUym2q9Lh zeQ>0E=T?wESI(r**~wUzq*u8p^D(Q_>CEMFJkPt`?#jwahr?m9Sd2#F^#G%&&nYR*BN`q<3R{l`=(Heq7EE5 zKnO9L&GYH7Yow{`SEn07$VgK}l@|5A!TwWYC%&_L_pU`b42?z;j0%Y)DagwC4DV55 zpd_Q6j~xvL!*!Kki$<^K%OmtW3CE^%_UcLx__(3<5_e(2qBBjJ2^dW zHFNoQp>BKH<*dFVZ-cqpAqYY!m~>;)y;^Gpy!KvALh$U+Cl`M8=dD%7ZQHgjwQvwZ zi`6kaKG3r1*2BX2E5WG@oSMmvPKcNKM2+46?wz)-KEPtJ4FBk_Lj$Mnwf75UjjYi% zJKAyfXaBj;FC090F#qPxYPI(C%b$7(P}Ka^pG4z$VoDqt7rU>Jp-F8;)n=#D^U^!N zJa$aImjtk$5Twy)$~~6z?f-A+^p9A*!{w`=4Ge5=^c_5SFwdIv5>@?YKKsYjElz)vIyE)*(aDqPbO}PB^=$CD=bl^7{?h66+mpV^ItH0h5v@pun>-Bp5%4(cDoz89Bws|}ryWMWJTIaX^yLRnj7-sc5 z(mMu0-~ayi@0GF67xlYG7y9n9fT9Cg@O#$~*k~I9_(N{=@1#p0bv%h9`=ACystO;qCKBwn_=hv6#OUB2?;eSB-H?{ahWD2F!jSLa0&|NS}DF6tN z5L}mgwfITKOX&WxIz}5(Cbhoq*s#@5h+iix5LtWb)ylR$fIb(VORW`4Kj$$moPEBt zfn}zwuB*A8dlZNV-~k{&q5H0oR5aeyYqm59xwRNRqpB);HUQyv$yt4Cnd<-`BvqJ3 z%$^h^h<{*?kT%2pOb*ruG#W2jWW(KfwN@M^iBlL(c;Q z0OZW%%hd+}aH1pr@fYo9*rDDMtm|k$4Xy2N7I<}{JWq9`Hg^6RGIi!>V5SE@gP#p0bv%h9`=ACystO;qCKBwn_=hv6#OUB2?;eSB-H?{ahWD2F!jSLa0&|NS}DF6tN z5L}mgwfITKOX&WxIz}5(Cbhoq*s#@5h+iix5LtWb)ylR$fIb(VORW`4Kj$$moPEBt zfn}zwuB*A8dlZNV-~k{&q5H0oR5aeyYqm59xwRNRqpB);HUQyv$yt4Cnd<-`BvqJ3 z%$^h^h<{*?kT%2pOb*ruG#W2jWW(KfwN@M^iBlL(c;Q z0OZW%%hd+}aH1pr@fYo9*rDDMtm|k$4Xy2N7I<}{JWq9`Hg^6RGIi!>V5SE@gP^N96(`UK*RE$-=l&+Bp^vK5f!)P6K^vEq6O!(4z`B2hK~CXU4tnR zFbUKhV_ZD-RI;)2u%r(4QXLkb;!Aec;zYy_L~a|x6fJ$V%FwE7Gm!xmR031tPj^t}4SEiNs!x=y&B^BiPD=lH(4D~KYw(#B3>Cn}H$BT=m8b&~`Y zX;SC?f=N^m4Fgg9-{wR_U^fcrM1@|hZ^I}mqCXI*^MWv;q^R@6{4k}cF>-@2rC@s8!z0r;!7`Qb9XCl0 zY1mu@&Xr$xZ|{Mdz1q5d$DGAIW@-^ISQGSS$0_!msHvRL;gAHVlqzyI@8qPq5fj4? zKb7N`<1yL`Z#kkDXl)o?HUoA(chab;CO@;6USrho8BlUQgolO#K6%q8Xcci z&VQE04lcuI;q{}&C{WW6GYTy4XK`+dk@YaHu;kF$>q;y6kPt*wr{1h6^G-B%x$8gK z{s!S8Rh;3TzSNJO(IMG{fg*wyb})_!_ucDix4wUq${03Iel9}{z(=RkJQfOO)o5nf zz@Q{ul885!bdiSDKo$Kc$e7x!27@s$KPkhLFiL9&k^BI^+bf&XT6J^KGgTQgxI?kT zfML)hQ8JTig9nGVsa>ccI^5J%FUyyFUiLLpq4o9pI?)H@Cv1WQ5B;bF&?(jB^4l+QR%i~s!*VVE!bNA<8&vkJfAnT;A5aPbvA9luJ zpG;cW2|j+mQd2u;;G#$rzZ``kk@`+w^vU46#8n2=h*m$IWF+~@gJj8!0{@PNL>3{_JH>%9CK+{Y7F35 zMM^UEOWR%O7?1mA0&n;X=xo;a5}X1kapKwi5kcD;^lF$Jm{7R+?~sI4g||o{;FTx?(l?(|8?yL7oq_%3K^-&Czu;deP&k%PVcqVd5yTl6h@sNXY@7Jt2GgMB# zrLhOGr>MOH=M0}RnnYoac+?{nB927@Ml7|w`}->|sjykhFPH=q2@8Uz1Or8aD_v;7 z>}LmYI&uQO!^a+!Spo@y=sK_)S_HEwW{|>!@eEn37jd&OY>JB?T$m6vrXB&V9&CjD zJj2yTH!b8mQZ$@lF~cbXNw0_u(50J~l@~2GG6rlNw9udd^R@^dL$e`ETEq}|XwM<> zujnXDKc;>BP;!3?JdSyz4>wo}*2x#5p^kAY-(r>WaZ8XWjNbAQMldG_k>~Lj*v~&6 z5=MfeEf_z%t0d=Z3ya~LY}_1*v}uQsz@ZPOr2~OlenY8qf#OLDqJMZY@i@wj-AETH zElY0;BU&H$g!E}*NMD;VI@S_^Z=k${8emBq~ z3m_BikSImqxHo>mDlno-^S{=L3K%e)x^3f*=BtEJ^hBSmwGV5Kk9b&;NFLU~k5ekc zo+v6=S2KPH4H~8oV?u+~7!D4~FSVx%vwc#gRQEa#Cip%=TUd`A>$A#hpKbD7rB-0f zj4%D}oTnfG4r;hI8I4DZ{XSg3bRt?34U3BVt;GpXVZ_#1{#P0&M+&FEA!`6lI6>Wk zMn-my^pjAo`Sk$Dy`AgpvH9gyG8S>gb@?&f(~y2?G6u-RenGyv?7Nk6yjM5t0QHhHEVktGfD_t_klrSw~$W9A%;jLE)Tht@c;;PT72qHndW)o;to z-i7)3y@qvv9|8~qF5FgU1UCaXkftb22l`fj54Ms2(dwUna{C4`sA1`_ z3`UF{-Q#7+i!i?5gImCYI8Z=zI3};oQVrvOR!_% zH01DwRQje?*!C8gATqWb{lG{DCDq)2=xqDLUF)EiTWiLS<-!Uvk#^h*71MrmdK!5@ z?7`0H*o^f+{BCW1y3}Bn)pu|^5>oUbY#7V>4fSJonp0H6cEZvs2OUN7NIb-3`&&Cp z>VEpeTn08P48zpuOrTjooZr_1Me1a&y2SiaJMNPSg1k$Stv~R@0sbrEczMtao-^u{ zj6O3~vDF_xRL0^Vih$z_uL64Cj;EwKljHjgXW6G8U3CjQU7XS#H+)1uMB8f*|8X+W7Uyyx(x$;AVe1D5>8Go+X;f_bz>$3|E8Q#=aJTE$gN7S*;( zokryxqhJG1$|%~Tv8l2AsH*^zPVS99o6oPPrEvK+oob+sHNj}m;~sP?O8iwBgE5li z5-@96!o8de4@Z{j_!+(DE53E;$(1G7+|~pa!yl!FIFgd@Ix@imYo2vpj71Wa`5#@ zUXt)L?Bet!S?=g5YGv3{A>B7noCGWh`8ILEWp+Ra0u@XU%LL ziTr^1dA0p~GLlR=^`?DCepvwl^n|eSUmY!+C!0y+e!?W1*N+8ng;n!M66@pi?f$tv-|d@*aRUw z-?YJfe>z5(Q)CCEkoO@`2nQAZ;O*9lSAa9&1je<@<&7r*#{@sE^HHR0qxtU-`I4Cg zgMvy!lqh-3)OOK$V?kUPTpqPquu8=oC_h14iI{m?$CWc|kQyp>nv*ND$bh0O;PjanU{j;VZFaL^zL2xdH_WW`7J z+MBdj!*`K5WdlOgs$;Xfl_S=4eeWZ!*xDh1_eS`0SpQx_>iyRor@-V@BqY9UVqs_#GEU1H(xCm$PvTkY%gW2b!otD9!+&%> zY9*%iE~nxO7WrtoV-1BUX~Nd|s{hB(#HQKv%+k8)qKX^0@~32ej#^HX-@lu#|9q`Ncx^Y=74 zsqu6+Y-G5&^gf-i=>43D{t$VeoY6h0qUlDKv?1gbA`=r6>hQa+Yim~SI+-tIsn7v5 zI@d`sX;-xC(KRbWUjcxkID7lCn0jQ(&QryA>~GWGw*vp+yV^-LJ-rD7=FRkOsS>ep zF|vjweqLSzVjjw+n;+#Wn+`O`EF;@og7AGAo*o;9gP!*6IPz?Wk7^>x+^`}jT0;n|E-Ja>sYqDNl= zeGHD&>J?$GmETcv4s&%b!?V?Ix@`D0-Y#6jTP zCx;|-f8SI~>DRdqG&6oA&;x`Ksd)A8o!;^wZQ}mj7f9;o71ZI$Nl8^j_EmCXg*^s9 z6`FT3SAOy=f6F|HB?MVaC^PvT}diOPNU<>*v$2 z5+iNfu8z;dDUE{?HoQnGZ2*ufCkF=uFKHXI|JhOluYV7;KS|0c4^gxNH~-peu>#4S z<-c&oukUig(_C|xqX&j{=F-xm={z7k6CCOo;H<;Mph?G!rw@E@UxtqL5soAzH<4u@ zTQ4G*9$p0jgs!jObqC*)4r|b`gn&+rjR*?@h39+7zjZa`yht*dGlc2-`{fV$7i^%( zWe0+7R+_A%e!N%611(gHY^m8+U$8bgpL%684eR}Js(}$9?CjV{y6<1sl zGc0JGRg8jg)BED_rM{juW-!6lJ6rNAH2F6UGQnaUbqm;LEs22_D^_@na= zdjb(s%D`*o1teM!U>tn;`5{Zd)5Y98G{4k<`QnbLvpuG2TXju2ejsVV)2ra1`t8l~ z$Gd{yp~t~QmgUi5^QMcRrC2|6!f?MatC^|k)gC;5AJqsKKdeSTyi7HI{qW(?)cfJX zI9|QIt&d4%W##H`=VJoKFHtxX1tf^mtE=>wVRG60X)=_3dAVlwU#3dwhWAEDj89M8 z9trcx93S6B5gBkt*E>8HQg^!SkYax>S>YlFQ^{qfrlm=?`~-2UV2r^!C>`FftI z`-&@G{JvS3o3mbNLhGw-6u1*5%2uK6ILP)~ciTaW?_rWWa3D{Si|l-K-KuM@krs*> zTxqmS88-fnMPP?*o?{@Gv$49Gsh}kV{d*vG^cg=w?;<)K`wQgI>Dqj(j zy}ykeSTu4tE`uvs%tPfw&7rBUsXgA5`YDe?UEH|l9cxYIb%u$$Xoy`-?%*NwCF*Y8Oi(F zjpd_%-W-_iYK1`q59xVsh{CMmNl8i0&d#pIH%yTraIY8{1}glQJmvwV5*GJl{ec~6 z#J%yspjZhbNmu$qqXDXx{zMr{EJWCA_VW1QLU|`)S>IcG_9b3eA_u8v560#% z=45HlcKz{Y7rHwWW@Thy$H@fq!^#|%>kB-1P&RbHMP&seitQ}HmOv?6ZOv)BdEtcT zHhT|xfk3$iwAgp(@-d&(>pED|PMUW=>Q>DlRuVE~hudbV%3lTWo#6dW| z>3Si4Hz-b!aU)gN#IDIPTTK1ci8?Qqwqmjbl|N-}JDaa_&qFN#rz5Xxt=))&G&lm| z)HKe;afodj-%B%EQ00DIBGB=1ZF0aj8yo80nbbU<8jO!fovG4q5H_GwAlw^XGXyoUR`B7oXG@w$NS4S zNWY&}RcG0hDl`5?s8H_$S52{8rfk#eAmvZG*cxVM?YwW`eslJJPQ0x;jMxBE+&`}A zTE9J>939h!4Nq&a$4l-d$qP5?ER&+J1Yz zR61%Q0MBpMN`xD|6DI+Q#bBF%rO~e&!ASuphDjg$ACFZPeii}aMyM((<|&mGDwRn< zdTY^3GGPyVkx0c9#fr75=r+ivxBy`ywuXTl!!OifCt<$RSKnxl*qlU| zonRnp6q7FeQZ@JON2)h7W@_}FVWK2CMmb7eDrv9*^o+}2-~Hkwy(%@!My(_%3e2zv zuQwuD0#(|%?(Xi!HboW2Z!N{Vy2@D~5Ij~*$8*F}F#@x_rih79!4&~h-qfB0N_~i9 zs}6wNOdDEtq9Ky7A_{;IggtnfK|qB^2bC#TVl3UqDn%F=L5EV!nmJTUEIMSsj0zv9 zSCb+E0q#*w11D40h?T0*^|K^p)``c?=a86J?SbTyUkvj0iAmT>Bsj&ng_rh|L%u)u zzav2s0P>CjlU|rhoRX->pE=r}iXTr=s=El2mH$r9cBK(1mo7G<)K$)|DEN=Ju_F+BfwTU$v<3DEBxT34M_|50WkiyO>^ zJUeL%4RF}d#P)Mdww`ki2{g>7!-D{5fBUFouPE0hZ)zo`>2<})#|amTnik%l1@mzb zN6tcm79)IMo5F=#j|UpKZPDg|)q8P#Qcsd(eC~H8U$3q(kGqtxlg3Sr>NL2CKEOhA zW{e*>nKmqCREsG7dR*_CJ@>+8Mj<)lz=~>o|4V&g-?~cpnUy$(PXMFKpk#KoH$Is` zPB~bNcI%_`B43)nG#O*8RFM^D8?9e=PanRSnVEH_Ki&#JiE2!F`HuH={ei$KIHZjYP)_8}tEWm34K9U=@keT< znmj)|-NqJkvc-;>6r8o(*7Mt!gIO8sc<2qXPd+%H1X=5<`&^bNo*&lJvw+fz&reT({`{$)G5Ga*8*60nO8(xN~I zKv&LZ?tAJQEDUnm==5&zVP<9Rjps6izD>vT4u@2#>vuf#l_;^;zVVNmvs)w|7yzUs zPa)L|8q|H>ji+H9)2GEQm-d?lY{}geiw?amqrvEQSKl-cX!FtyC~L#I z{+&y&QRjGwDZCtOXkq`Xl&yAKFKk?NT|yssbdAl=RP8fRU|^u!Pl2O<>Z<1fm5piX z5^?<(EAR8Kcg;0)v>9Bs>us**+b=>W)1g-Yfuu|b>oFJ`8`~9fko}cc=GX4Ak?z__ z3O2PG95B4375cOKS^MXNYx~7V)_*z)=LYqsd;YHP9PhU9f%b=g^BA<7D(&tOC=-^Z zr?0wU(05VLMG>DTJ2qP`-a+D(*3irYPYTo;Eu4N55Q2{%0Z#S(-D!HN;qDIVeKB}c z$cJ)6PcBb^|K{%(t&cFr|5mgo-IHENx z+K2~v3F=cOL`6m_VB=gZ#ZRm^_WOr=zVymxk5ayXd*|op+s->Z=jgiXm#h+ogLYa* z_s9@?r>;Zt-WVfmblOn;!X$*DPb*gJj*?-AY@zvyZ5#@i(jA3im-Okj6^>X?$rCylI>F$42U{u1cBJiZ`c@DZbb`L1c0r8 zv;_-Y7y7wB^J@7OY*H!tC?BHRtK!=UJ6i7UfA;&hx^-@bAK}m7AQb2_wr|Q)jCQ6j zNmYC~Y?;Tc_Z=zstIiBfet ze?Wu{;75>%zmn6rL?eo$iKMTC68@!uxJe+$=WwGB1w!~hR9Z@XXp%H}APtF+i;L6v zTg^FJpTtq|+o4by!_}%dW5>-?;AM;RNS@e+zp=saaP5p$$5b!!#`pcwX%>o9#~FHz z3yRE^i44(UyFbi{S5`4`frH~^exufz4^3NeVrCXkNq$! zzzFEH+v?q1*;rL;&FCGVqr0Axv7XH@3!AF14bP?*0M}f(5~WAj%LNe0YP6 z-uc{4*A<`FBAHnzP`AC;oU}bdCB2ljb(I8!*W;#i;~W8`QKe??`F(dAWv@#9aAAXr z)w&p2g9cenr|I^yNy8EY1A}{oXi36M1PYr(s^nDKO> zU-_^arPSt)%Rh-d4rj}hf#WZ{&_Xyoj#7+Ld@0l|WC;b~-L;}M`Y?akXJc=Q`mv() z>QJ&8QFVTapWPqNh$vmk5GGk{cfY>e8AOQjHPar4LN3wN&JC5}+>Z486MR%>I`C*w zur@muFRcjwb>g6kL-jFwP$1UTv&MkzZ{}`$Vr07n@(7h2Clk)gAC$$Fx)Nw`_fuS6icNfMG-M9x z)XiWWG5yFSHx64Xx}K$`xs=SO(Q$PNFvO>pm$eF}+|E{8{r&wjlswm;nYNwW{f_UI zvr>ggLI(?O+t82i1<-3%sh@WMsvW<3ce;YYBjl`h;ntps{cO?0ez;ORIkzj8nJ2zjN{b~#bi5XK29$=_Zl_rvHIxOoV#Dp1ys1F(f5zw zI~dSLMn?gDy63pjGFLa)zu1TM>J&?pD%`UvFtYiO87M;Mn_lLt9I$yrLo^ z4g?@_k=Uc7AFsa=n9oks$O|RNKJA&UYW}enr9zbVjruiOTF~Q;Mtafm%C`8;MkZ^R zB49nvvBUS_>LEBsY4`cZ-<4+DjXEQQ=p8tY<{K6IFJLhe@a)0@K$!N9#i5D+a67|t0(dKw67Q%sAb*kk`P~>#u=Fa5diyi%0IPlBjGOHQn@wv#AFaq+i zK{`JNy-7d%5iJol1G4FXp0v;Y4kmoE_ETUIp{DM}bCX)ZamRxc?Z1f{Cd7bUB)@!f z$Nzowc&w}Co0E7O6@P@lVQBKT&q4n}Fq)oc}wkbb>404pNXI0J&w4Z%-=Aomg)eT~_3mCi{>a?Va zuo+z?O5G)itu`RytY`d)0!=P%m%^gBY?A7I_&et*^@_RUg&MAm@#b=7*AhS&8rr#> zrqe(rmyXq8R3`yrFV6x9Qm*9nO_=i&{lXuMD8U`vY&}48uLm)M3|1}Da*mzz#R7kK zFr~mR>P+C~tu8L%c
1hHEUc%U`Z*N>R9Q)45Ci7A;6psNod>Xo*(_cA6zyVJpn zh!rSyZ7>=Cj4D^K{PdmEK#3)A08-sJ3$;Y?CZ-gN7lF90t}cs~=3+S_RL^G3E_%(`urzO0v=~`jtv+ewZ2GGSnoI&Q9ugv~$OhZ@ zBYIHYf?a%;kt3F0?;`XJV@5|!b^Hf(96lq3{)pM0T4Y#ZMdRSWuj<^pv5^0!^m_yn zjPk#54LHa6@`Si-Is`= zjVah6ey0>WNumO^e3T~7-HyIwawE4e@v+TU;_x<9+74s|{x1uF*`t6+8t_%sEsIA>?~l@mh86$)x{MOaVQ#BcZ6aw`7c)a@ z0tk$UNuMy2!2DMcP6IL|LZ+3-*)64Ywq(_`K%rp6(-KdCRZNYYKTNdP`S~r=uaocm#5rko1UOUWtiF4cAz#B#9w9*sB@y(y zDYTnKx3vODg3cLfiVIOPFHZNS9z>XpxDWGthgs5o?Z@PRFqJTD#rY*(1#kzc{}^og zjP>pgx9pb$=g(1h4kv$QLt%WIacO-0wh?4V3iaJ5jj33v5v(M;S8xzd8YGZXHIVX8 zt^?^Mh5yhGuk|J7n^!h>2vUZwpjS>2V`)7Q{$V7%0Rp91WQI}*;>qa63&79G8x-OrTz28vnW!~Hi{e3Y5(dF8x$(tT)+)@@xjC&edE>`mF%N2}I zc>g#TiEdC6`Y4ND%gHjzOugEE`-|^0`N!q;Q#_ zc9r1C7d=--`}eDilz)A)w5pthV1{vsgH|HVq%KMe&jdqr2k6kS#U9b*xrw6P^_XxY z?1_Zz1toB*F#G?^sJ1)${f@G8OjLdC!+1I|=s&ow`UD-x$2wKc3(3vpHO7xJX5-;SF^C^03ZnkR1WS~o>h{L zojBuLM;U+QN+bnD%2Lm2a=-| z&7u~3EDm0Q8?Z3#2tIqjx6j_}8RPqeet0c-<}U97;))$R7>hS>xaz3$;M9L#JvV9^ zm)$?jm#WalLw^1VEB-CI@S4wJv5XWlnD9zo)+`rN$p!_hw=#0J;r&b^8~tN4a!36u z1KLj>Z~*c+Bs?Eo@L_XzcXz7b8yfr<(sP)_O62ZZhSs~n_hrhz7cJiVcmTOQ*nWFDC?TNfM#_0>JtB%GOKOm8(57)mXHVsr_!+ zbYCl*oX{zo8~yJW5*MF0PVPkXkG(h|=EKm%lKQp;V}#TT`}7%W1t&O|KJ2upLqJ4BaZFEleCHsul2_SRXmV za@%?CKj5+Hj}T47gBdf3QcHC}kHiA*4Yia|a%Iw}=w56umPgfn`x#=vz-ksuR-}YP zicc)BmZpAq5|i(@A}uGAK)zEqlhSKeLpfdMrgx}_x}a{IuyArfL+@n*_eWhMQgR`m zr12y@Q;-y6$_^5lhy9sw)U;tiySsqeI(0z6p;i%S zcj)h}ui*SUQ&RF(s~3S1O;D{ZwZq|=2|tufu|f(LpJ37<0m(W)MrQg4OjsmPE_FQJ zboqj}%6AJ~a|`=245NtTvVmxc4Q_THr!O!9Ts52&UV=GVuRf*tKxy$`bX(SRsF^=^ z)599DrcG=aiIMr)?HQZ~ka8ABPL7SexJ0Yi{iq8;U`_`$}5dZom?rkQN*oZE9Q24q!CL#%LL<3LkoqXK_JCM1f_pYGY-wR&0QRTrFiM_hIqElba zByNZ+wrWz3A?xz=-XFse%4OYrbx~SK!l=AV%b}%fuD(%0oIBvHzl0sx`3uG?RLe~$ zDdx0Vw42#b#9r(2eUD)395Sp!?q^~jO&&bB23*iZfe-V7B+dJ|NzV5-zh2cyb$GKr zh#EA^;O?KHi^=IbC>Zl@Fz&)I!I)SJzN{pr_<%s&cJ_~JGjbj(B#eA15$J1+N(E10)xs4+leK_>$9(nLp;qhkjxn zVjmN)UzT)fiXS0>5V7~~^p^AWN27Gw)_f}D6|t>tZJAaT5P>L)G3$!&ll@*u3FJ3# zbg$_5lcKw}3Cb_gd1({sFo88j%s^>^06XL=3Vp$6_Z%E;?93y~(vq1x86DGJhhWWhox>Qe0Pbw;H-vXN31+ujfHhqoiZxdWsO`8jMMyi2BrD zv*AYB?ygsAx@p#&+N_%3y!{3&VR~Fo{%j|YWnKpy(NdN2q}$JNDjN(6$pt!ajU@6! z;)SA&3!B4fP5RH)rw~a%D$%{CkaV~iIWH}2KAU=vxKQK!_kql9?iI?`-Qa=hYn0#U z-acL!(9_=Dd@8aMr|r3;^ZJ``A2&5LNWdiZrlY#Plw7v-h$dh>lh(#gKXvIr&)D#3 z(hY{BOn~o04`-xhfw-enl9JHS(GS+J8B_XB-=MhPU^pk(Iale*7AF$b9bp|Z$sw9# z%-W?`kcJ}-lGBfw7QWUm(@dq>gSyJt9Mj&=J)J7g{pf1mIIy7HD*~yj`&TTyi##qT znrU zcrxzf<|8o!U#ptZT3kc>_Qc8JGGwd)WJ&@!29RNy{d77zkHbipf8|5<4J0Rqi8Q}X zLiQQd7B>4g>G;7v!Fs1iLa(s_$-SH!HUq*(Jj>I*8qAeJ+272$DkJQ5{!)@1X0mhFY8~g zaTS=62C+xB%@<(Ce^=TTKKhK#b>ijQQ|3qq4p%1{MgC<5p^$*mqz}j@NT0zD5Y=f1jq#e4AG}+!=^bVGEzoXc5R=+d+0plGii_l1hetiuT+_0LQlZu zLT%KlQYzbZc;q{8XPa}awAj`485dDd@I(Bfr|XmJ!TmASD*&FI(b4@(rruc&FgTiw3G&kl|(NjSdy@l{-e)#9dD{27Wjly zbPHolf)j(H$n;cvK(QE<6?HgSWZ}$UNEsD@DvVs)XOHeN0I)}r)ZFYWcGTA_xr5o+ z*}s1kI!~WZZ+~D{)zsLUoBy?FZ03Co1OvuCTwssm!35gpSC zXd^Cxp$BPUI&E<@<;$V0*(tVUe~0}!1UGAuq(h~MkfEk{Rti2ME$83T5?P8uXxBj# z!*`oUW)+*42jAPy+Zb>@*iVL+#RP$s*UN!gN^;34Z44pb##?aXXr=^^@%de;ZSugI zUr)sW9vj>X6p4W69bgauHy;re&{`%B$R$}Z!w`de0mlxASny|y<^leUMWctH?iZ3E zLQbm|kK2E{=FMgA&I2J-p}o@Lc+@hd9sM1ihppOa*%?P^hK_qGj7iALMx8VaQ_UjY zvz3z{Gc=`m{Dtk5u}-u*MI)C>f8>xUVgJVWuZHVbg35d-lOkn7=!bgCfHEkKKu&*C)^c(whv z+yPrn&kkJ+`LpAT_&(=IhMN#FAT_7$ihWY#2dpN9Vbr$k>4c;ul4P5VClApwE-9yhk=kJ@h9!z@esd6RP?BtU5 zcFTi!Quzcyc5A<#Qy6vYW#v<%^y1mQ3OAcT#eVTtxA4WzPVIbgB(DifuC=MyAVg3l z1t$^p%ymM^Af5~;oS^fet^FoLrWi2j>9E6d-d_&BO%56&F)(~m;gE7WSsWJb_T2fL zk)DoBMSx9{`QjBO7SEMxIN=Zd3knqEpnM$^m3w5mDKMT5Z>~zRbEbXRoL`;iztHtH z-dI_ArXWVpf*IeAsHVF5!^0XQxbkRIX|H`MQ`|3pZZ0>r%dT+iCi^8cE%V~a=0{N)^*FTQu=uqU#$ zw&oy+3TAT-PO6yPvTL$l!NtZi|HPQx>$O(}eza!{z|M@*Gt1=9K~^|<DtX` zM)AhdgjymcCbK3>w_1SvK74ybS&Z*^JNyEEXHm#HVct4z70grt|}^wm^^Baf-A?U zU3@hlN@U{5y9y8w>Rb}V7LFN|P*9J79rH}S`4c|1L1^Uoj&dBd7js=Kn1XlT-JX$I zL~-_Pt&JmHGrbTn)&oe2KWSO!7H5d-&MsJJCQv$zcCflz+apnR)r z`>U5L3!^0iBVnqy3rQ0#m|9$3<~=?JBw&!Azv6N@U}Lg~<|$0MhH6p<^=)yMu&!O; z@yo6$Ioc$DwyHam68ad1lmAh{a`?}eYYS+y1r>Hq&UGpB$&?TwAJQ*Vv%HcuTi90P zH*^2RI5?jJ0d_V#gPo7ampB;nYn&_H^HL%fvf+wzM%!w08+Jv=WUe%C7m%Vvd!mGMilw4YoQ84HQs(D z(8urj75BlsvY3NHU`blcFlN-YX&mnpD39!d zR0f!Z~TwT08sW* zpx)gjj&&%^eefS0D~W*!-UcCxBUgApf>a8A?0WGcU%*+eDCCk8cFnHcjsMYt2_SjQ zT(8g4mt2cl)&}4q?cU& z!$X=*iUFw=RNKfOdl*wts@xE1Qsb$lIbgsc%k{%&yalniQs{A3A3R>|R?{uc!;09N z1~34&;y#jjso3_ankAHp`V5JkbAt4W&wf>FvcFIA2%F~UiG%OR~To>%(#<6u+hV0^Ii zyWugsN7LCSLLyM5xs;z=aL^Y$5Pij0AfFiWqGYW+;IO(fckQzAxf4Go`1&0XrZa?| zRMqB4yLIkHL|cUIJF)r`=ovlTXJDp3&hAl^oYr;5t%hAsjb_<|d(@<163)!7Rg|ue zt0!J#@6l%`isIiKf?F1&Y!^%?Ho1LnbY3nJxT)o8FC#^WbNXI?pTJ&tbevoT{`&UJ zTpD?LRa5hFCJlLfTZHx(e$IIB|NS8Knpabo*f>g{Da-0cv=;sGKx2+or6r82I}#-_ zlIr>Aml8$_kDme59@defc@k?EirIOprPbS^9Ei`}cxW9z(qF=L*#`AF@KFW4*?MY4 z=^^2XFmrpQ9N0V8j}>41>?^*tyM8)t{$%Ote9>5g0qc&{(4oh4S-RAf+ z`H6|uJp;RS-Gq~B+R;=%Jk4LBUi=K?>{cS%W2ZK+rFID;e9DD|GD398UmRAgaCpZg z;ZS4=b}=oKyo;!bBL{xcvYiNG{HB0Po`=0&3a>U}4my{9UyE9PvwfsfAE5W5ha*N-FQu z^t0>q7r!2s{l1?}aS$ZXz<#*waq}oWUu(HVr%KFK(t;~n_|Q{`TyUGu{KDOYXFvH#L*-)U9{a-3^%z>KtYO*Urt(J9oI@J#s?}rjT z{Rh-IX#hGfrnH%i;#R3e?6}b;U3qkvO=df{t+^9$pDNE<>ML^GrJg;J8Q1>!{7GBO zWxr|>Pl&>Vj;m%|4mOkdu;chcp-Yp#-nMsa<$(uYK6-T)I-6`KI(v(JQ`(@ z)K8BoM{flnP+*T8kk3JP{oG^kbv$2{^UzN~wqxtBrjf)t;ma}wWz)s56Sj%CkYkGGN=fZU)+3`)0e13gfL$vp-us4aV;vf$DtrTxtFBnkw&SkdG(~))>$K!l-V`C$0 znw5tKZ_dYlVGQv;ktc=$oe&)EI{Qxo>BeM|F7C~FtM@UiLoMg4F+xVC4_^eWDY`Bk zTUP@S&;du-5eQ=e(T(cLN-@RREjwXE0iy%7WLZ>#;}PK?e~{&YrDv1WXp}}ACP?&- z@1Ta_xn}hP^A2i#k}5kA!S{1-*Zo}~1?*swA@Uf0*1@Iq#-fNGb1SQtmjj`$?|ty_ zff$+m!Ta04V&dqy^iS{NAObTQHpU@qSPSnNqmaqB-G-j9nR6y}>fb;hpzkL-7bj== z+&?c04pWc!dJBFI0uB%eP_*nA|D6XQJFTs)O*5nsJ!TY1ca)u(GtG%7#L{8&a-n-d3z9E`^JxZxUp*Qx)N&?qAS^c-U$8&zS zlNAK`nD>qL8~p{n|3YZMKxCAAf&vASb86zCrJ1+3od25?oVjabdTg&gUUx+nj#=Q^ zxoB;_$%Mb)K0=;PdgE?_HI5+v7D={3Sbin*&Yidhd-M#%$TtgoC5{Xnvj0*l`QTe;(VU5^_(_N_P+hf^{$i4 zEQ>LKz2Er+Zg4>MOje{1+)E+tC5;+tEjB&xhg)7hWoSPpP;$D!%IQBZ&YxgtBSLRmG|0E zn@oT>|7UrPGIhx)VvEFE*Suog&&CjZ@DW$_MQ^e|g;dAx-vm)ECTke|AqI|UPRT<&pigl{#AiuT!S`D}e)x~qM9 zZji0*Gw{0tCjb2|fcM4f{pZO6U2JjP6B6Ri8j_%F5^zaM>Mx7}tT-&ZfP-qvP#pqM zZuwSyQs~|09jY9!s{uTHr?xd^W#xwITx{{n#}{DHh9*63nTk}38Yc@+Rk?3EJQqov zeT;qxn3&rxx2R~ZFS|4?E$teQ(bFqQioV7qU41+gW9%&Id!1 z3n;pv$pdYA+$_10|7213&O?l-+9$to=`Z1SydTjfoX(aT&44!45U*S@Cn_wnh^U3= zM`oOmS3yOHfXWCGR%�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 literal 0 HcmV?d00001 diff --git a/fltk-options/icons/fltk-options-32.gif b/fltk-options/icons/fltk-options-32.gif new file mode 100644 index 0000000000000000000000000000000000000000..a134f8dbb6e3d42dc84d669c0dd217f04520871e GIT binary patch literal 470 zcmZ?wbh9u|RA5kGXpv%&l9AChceAv%F!n2njETugH1*A$msK&bys|8!^;msl{ghVA z$iC~j-Mc%w+GD3bpD?L^=A4-c%l^+>IB(UWs$I+Mj%-f9c{uRo>0{p?`Y>Ps9gqmf zE(X?r3QBz`ne#GMty_6$-_y@B$;O9YD0=qXc*A?AL+z5M+#>c5OEa|U`rU#xGi6q^ zryYLvrmBAT;Zk=yGfC^V^0$ko-FGjUu~+W!`$;TK`}_{vO|7c&_X^DCWM^S(u;EI| z;VY_V=bOsGmY>Hvbq*iLq|_;Mx$07d9p=vA=t|{TIW?JITvC#kjcfhf)Y)@H#5PMx z2ptgFIW@Xrw#b1kTf~IK&K*mb$;Wl}#(9Y?;sQG>LirAeiOTg)~XM7u^@$h@01^ ze3{bpOh-w}0dK8WChP!ROhC-p@^5J^Sxp%leCv?;An zX{98MZPQB{HqE8k+%|jP?Ce~BA12LZlQdNnJx?>|oH^f|`$0#K9)*9CXoS#z31AaU zD3P*De;)v2ypfC$l52h&)0{i;DQ)K+W~t^$O=*|MzGSV`{QzLJFT~u z_v|UIGDMphEkDh9>L|`t5j!ZmY`Y==Ky1^R{{smK093X`m$wV~e%74Y9Kcf306+v^ zzW&9U(a#Z0Se63-K)BR+WJ%3b^8rCa2xS6C3}puZR4h7_|8Dani{&e+Qa9)F0mY`{ zuLGhGrq+JLNWOIJP0Gj{o)(9LQvI06nN@#xAYmBJhVAc|er`eONtfhFtNkqdr$ ze4`{|hnzrRjGO9cVPR~oMMEtRVz1>FZ=H@W{K#<}-hgO?P)a^jc5eqvbLy0!P7vSj zRVF3|%;9g`)LhbaNQrk!wGAt!0e?Ww%R0C%%1fIm2C3`hAZvRBRssM+jvI1(rMR4% z_N7nOwa5T+gLNxCdSP;Mzi-!JxLX>k(lI53P2PtP24cHs&njA9bq>4}U*zsw1wyI= zZ5pn`v9ND3Pc%&jgTW5h^@Z_^%Ss4)MS8C^1ONmeUtFkeG=xw%=#lcrCx?%zN|$fX z%gg0BKhzYUs)iNEaiQY*02?cqd_l+W?tM>jjoCI_`u_cF;#_+mix9U?nJS8+D2i%j zS9Xg+l_-k3>#0%iFVzQ%L0`_VQTZCePfQiM6n8HGY>ngDLA-t^&k6?%o?WnJZkNS4 zQE{dK${OpsLA2rk5PPD~)&{)*Q0FhRENd7>H9$qT^1=3Xw}Q=iQc|}cdS_EsBt!u~ za$38bXipd~+$c9P?hwLwDA)KD008(r>CVoFE?pYXb$u0p$TPVMAD7*2m}a@`HAax- zJ+Cc~KhI8sQIgq0Bs2g3GlhqL*5277mmc@coG(TJ;AT!%E4IL6ma$}BrD?j#37Vp) zecQk=uGzND1vpJh4J~9Csb)z-73*(Tp6P@E0O)8M`LN*)iO*UV^q)VjA&DD3F+E2$ z#RvdQ4u74?wF-i;&MabCmgjjJm^ttBE3G?pqtM{=2+I^DJ_`U81v^|xLabOwnN8O^ zYK>7WiXuV?07;zc5f`c#PLkeVl$xE@V`?RummPiv`Ev!Y;?6D3C6mmiDA2PA(|7zY z4bROz0%rgqSd)36X)>T>{mQ&7>EqLZQ~eJv?*qfaS#g{5vM_woS2&aM9hRFO1ptJp zWWGyrp9Fv_qX#}X-C?E%p(A@{_Zj3LtM7fc~M+svGN5Pa& z3J2ASW>3v%we>!J=q7-P}9J??9d|JB1wNq&_ov3s|9FlGSY?8TaIf4MrDX$ywsXmr(A_b`Hb wdV22j2-Gx c #90928F", +", c #999C99", +"< c #60A6FF", +"1 c #9EA19E", +"2 c #AAA27A", +"3 c #BAA63E", +"4 c #C4B367", +"5 c #D9C351", +"6 c #C9CBC6", +"7 c #F7E14C", +"8 c black", +"9 c black", +"0 c black", +"q c black", +"w c black", +"e c black", +/* pixels */ +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$&$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$::#$$$-:#$$$$$$$$$$$$$", +"$$$$$$$$$#<<=$$-<<-$$$$$$$$$$$$$", +"$$$$$#$$$#<<:$$:<<-$$$$$$$$$$$$$", +"&&&&-<:-&&:<<-#:<<#&&--#&&&&&&&&", +"&&&&-<<<##:<<<<<<:&&=<<=&&&&&&&&", +"&&&&$:<<<<<<<<<<<<:=<<<#&&&&&&&&", +"&&&&&#:<<<<<<<<<<<<<<<%$&&&&&&&&", +"&&&&&&%<<<<<<:<<<<<<<%$&&&&&&&&&", +"&-:<:-<<<<<%#O@:<<<<<=&##&&&&&&&", +";=<<<<<<<<:#;;;$@<<<<<:<<<-;;;;;", +";$=<<<<<<<#;;;;;&%<<<<<1<<-;;;;;", +";;$O@<<<<=;;;;;;;#:<:577-@&;;;;;", +";;;;;<<<<-;;;;245776<5772;;;;;;;", +";;--:<<<<-;257777774<4774;;;;;;;", +";-<<<<<<<:;&77777774<6775>;;;;;;", +";<<<<<<<<<-;57752-:<<:7776>>>>>>", +">#%%@@<<<<<:4774::1<<:7776,>>>>>", +">>;;>;:<<<<<6777777<<#5774;>>>>>", +">>>>>=<<<<<<:7777776<-4775>>>>2>", +">>>>-<<<:<<<<5777751<<,77745775>", +">>>><<<%$%<<<4774%@:<<=77777777>", +">>>>:=@;>-<<:2774->#:<<57777775>", +",,,,&&,,,:<<-2777-,,$@@47753*O$>", +",,,,,,,,,:<:>>7771,,,,>&+O$;>,,,", +",,,,,,,,,:<-,,5772,,,,,,,,,,,,,,", +",,,,,,,,,&#>,,2*O&,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,>,,,,,,,,,,,,,,,,,", +"11111111111111111111111111111111", +"11111111111111111111111111111111" +}; diff --git a/fltk-options/icons/fltk-options-32i.png b/fltk-options/icons/fltk-options-32i.png new file mode 100644 index 0000000000000000000000000000000000000000..d71c976cef120103bd0a044f2b3ccc0a9f2c7db0 GIT binary patch literal 1546 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 M07*qoM6N<$f?LDtqW}N^ literal 0 HcmV?d00001 diff --git a/fltk-options/icons/fltk-options-96.gif b/fltk-options/icons/fltk-options-96.gif new file mode 100644 index 0000000000000000000000000000000000000000..09a59fe972b827e466f48ebb1c6af86a011b1fe4 GIT binary patch literal 1679 zcmV;A25|XDNk%v~VPF7Y0E8L<8XO!gH%2)-I5SRkSzKIdVKq%{o@#iJcX@VLg~oq@ zf0TteS&r9ji@S)5hh3NFkdlv?oS9&z|DK_qs-k+jrar{8XW7G1$;-y~;Y-rX`X1Ru59bRa4gSsZQppV?|kq7z@TtQ zEEJ5LibM$)Z46oj6 zYj9&Hfqj2Ag<=UOe1?ZK27*#)CX!Nqk0S{Qaw&Omlq8>GUq=e3sHvz33|&}Es;304 zf_AE-U1_ng2)n+&z^Vvbf(^R}k&$J0@34_ z*Xh3l-o~l~-tk=q(5VOKuJ!8s3IvUPs+!5OWFQt4OAiR}TR6-cH3e4&%6o_npCWw= zuOVRPaGJ!A?i2`gmT}>%k0|~pii^iUVaa_60{lx!^W(FZ{0Iz~S+l341TJyz6A-|n z&!bZUU=(_d005&%X(k8|l<7X5QI9?t0HCVXeTlN793Wun*J}rBK44&gr^JM3cS&RL zpe}39 zP{D>T2J!%vMONULjYItKeap*|_pUE{~8h`S1mt3KS))@!`dRo9}XMuh6fQ=PYD(abD zP|D$&e7^ZnY_lyOYNZs2L4lrpb}AKc1iWhK1!5eaXqP9V#Hx>`ih4l>1$=^OofKfu z>O$@E3CuxmYK>@z!hbybgrM6I%n=ijV^0>RCZc0? z{e@ewa2`WCM{S@K<1qYQd=aq-Z}s?%$<#3 z^t=Q(+>V|ZQp&3{0-#&w%>*2+wZ;nQD9^IGc8Cv9`}SMb)@ax3G(yE1N~#wD7@cd& zOQ)T-18aMubJ(%w6D|TL*KN1fY4s#<*cnXS#R29DU8LZHZ>*|B79*a)KMjP-FS7@; zHm3#tb}Nt-%a(_g`P^lKF0TV)PWj>mki$&!KxrZ#fii$^3&EU*rVZ_3c}sBkt`#h> zt|bRJZaIe(pzX9@1Dx1Ey2w7bNqr1hy*!7iA1%5!ntA567nz80 z3oM`jS$m-n5m2-E2r&Xof{VE+WVU->rM c #90928F", +", c #999C99", +"< c #60A6FF", +"1 c #9EA19E", +"2 c #AAA27A", +"3 c #BAA63E", +"4 c #C4B367", +"5 c #D9C351", +"6 c #C9CBC6", +"7 c #F7E14C", +"8 c black", +"9 c black", +"0 c black", +"q c black", +"w c black", +"e c black", +/* pixels */ +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#-#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#:<<:#$$$$$$$$$$$$$$-:-#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%<<<<:#$$$$$$$$$$$$-<<<<-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$:<<<<<=$$$$$$$$$$$-<<<<<=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#<<<<<<<-$$$$$$$$$#<<<<<<:$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#<<<<<<<:$$$$$$$$$:<<<<<<<#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-<<<<<<<<-$$$$$$$-<<<<<<<<#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$-<<<<<<<<%$$$$$$$:<<<<<<<<#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@<<<<<<<<=$$$$$$$<<<<<<<<<#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$%%-$$$$$$$$$$$#<<<<<<<<=$$$$$$#<<<<<<<<:#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", +"&&&&&&&&&&&&&$=<<<:-#$&&&&&&&O=<<<<<<<:$&&&&&#<<<<<<<<=$&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&", +"&&&&&&&&&&&&$%<<<<<<<-&&&&&&&$@<<<<<<<<-$&&&&%<<<<<<<;;;;;;;;;;;;;;;;;;", +">>O<<<<<<<<<<<<<<<<<<<<<<<<<<<<%;>>;*777777777753*O@=:<<<<<<<<<<<2777777775666;>>>>>>>>>>>>>>>>>", +">>$:<<<<<<<<<<<<<<<<<<<<<<<<<<<<%;>>+777777777* o:<<<<<<<<<<<<<<,7777777776666;>>>>>>>>>>>>>>>>", +">>;@=:<<<<<<<=@o%<<<<<<<<<<<<<<<<:&>O7777777773 @<<<<<<<<<<<<<<<<%7777777772666$>>>>>>>>>>>>>>>>", +">>>X .o@%=%@o X =<<<<<<<<<<<<<<<<<-#5777777775=<<<<<<:--<<<<<<<<:5777777774666$>>>>>>>>>>>>>>>>", +">>>;$O X$;>$o<<<<<<<<<<<<<<<<<<<2777777777=<<:-14574<<<<<<<:o377777777566>;>>>>>>>>>>>>>>>>", +">>>>>>;&$$$;>>>>>O%<<<<<<<<<<<<<<<<<<-7777777771257777775<<<<<<$O>>>>>>>>>>>>>>>>>", +">>>>>>>>>>>>>>>>>&@<<<<<<<<<<<<<<<<<<=7777777777777777777=<<<<<%O>+777777777*X$>>>>>>>>>>>>>>>>>", +">>>>>>>>>>>>>>>>>>%<<<<<<<<<<<<<<<<<<:57777777777777777771<<<<:.;>O7777777774;>>>>>>>>>>>>>>>>>>", +">>>>>>>>>>>>>>>>;%<<<<<<<<<<<<<<<<<<<<27777777777777777772<<<<:$>>$5777777775;>>>>>>>>>>>>>>>>>>", +">>>>>>>>>>>>>>>#:<<<<<<<<<<<<<<<<<<<<<,7777777777777777775<<<<<#>>;3777777777;>>>>>>>>>>>>>>>>>>", +">>>>>>>>>>>>>>-<<<<<<<<<<<<<<<<<<<<<<<%7777777777777777777:<<<<<->>+7777777772>>>>>>>>;;2454>>>>", +">>>>>>>>>>>>>&<<<<<<<<<<<<<<<<<<<<<<<<:5777777777777777777-<<<<<<->O7777777774>>>>;243577775;>>>", +">>>>>>>>>>>>>=<<<<<<<<<<<<<<<<<<<<<<<<<4777777777777777777,<<<<<<<-$5777777775>2457777777777>>>>", +">>>>>>>>>>>>#<<<<<<<<<<<%%<<<<<<<<<<<<<,777777777777753*O@=<<<<<<<<#3777777777777777777777772>>>", +">>>>>>>>>>>>%<<<<<<<<<>>", +">>>>>>>>>>>&<<<<<<<<<<@O&&O @<<<<<<<<<<:7777777774:<<%. @<<<<<<<<<>>", +">>>>>>>>>>>-<<<<<<<<<%X>>>>$X:<<<<<<<<<:3777777775<:o O$$X=<<<<<<<<<@577777777777777777777777;>>", +">>>>>>>>>>>-<<<<<<<:@X;>>>>>&:<<<<<<<<<<2777777777:%O&>>>&.:<<<<<<<<=3777777777777777777777772>>", +">>>>>>>>>>>O%<<<<:@.X&>>>>>>#<<<<<<<<<%@$777777777-%>>>>>>Oo:<<<<<<<:*777777777777777777777774>>", +",,,,,,,,,,,&.%=@o O;,,,,,,>=<<<<<<<,,,,,>Xo=<<<<<<<$777777777777777777775*+O>,", +",,,,,,,,,,,,$ XO;,,,,,,,,#<<<<<<<<:O&;$5777777774<#,,,,,,>O o=<<<:o 77777777777777753*+ O>,", +",,,,,,,,,,,,,&$;>,,,,,,,,,,-<<<<<<<<=;,,;3777777777:=>,,,,,,>$X o@=oX$5777777777753*+ XO$;,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,%<<<<<<<<%>,,>*777777777-:;,,,,,,,,>$X O>;*7777753*+X XO$;>,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,%<<<<<<<<#,,,,O7777777771<;,,,,,,,,,,,>$>,>+753*+ XOO&>,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,%<<<<<<<:O,,,,$5777777774:;,,,,,,,,,,,,,,,,OX XO$;>,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,-<<<<<<<@&,,,,&3777777775=;,,,,,,,,,,,,,,,,$ XO$;,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,@<<<<<<=X,,,,,>*777777777#>,,,,,,,,,,,,,,,,>&>,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,#<<<<<:.;,,,,,,+777777777*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,$:<<<:.$,,,,,,,$777777753+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,;.@==.O,,,,,,,,&57753*$&$O,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,>O $,,,,,,,,,>++X $OX $,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,,,>&$,,,,,,,,,,,X X O$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,$$;,,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", +"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" +}; diff --git a/fltk-options/icons/fltk-options.icns b/fltk-options/icons/fltk-options.icns new file mode 100644 index 0000000000000000000000000000000000000000..63f79659f55f95c1e18a28e50149c3cf7da05473 GIT binary patch literal 70423 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 qfJgx%YRbtznuSBAOC;5!ToRm literal 0 HcmV?d00001 diff --git a/fltk-options/icons/fltk-options.ico b/fltk-options/icons/fltk-options.ico new file mode 100644 index 0000000000000000000000000000000000000000..34075c6cac959ced77e33702eb8f19e7904d8f01 GIT binary patch literal 136606 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 literal 0 HcmV?d00001 diff --git a/fltk-options/icons/fltk-options.xcf b/fltk-options/icons/fltk-options.xcf new file mode 100644 index 0000000000000000000000000000000000000000..ba5fdde8347730b5417ce32cf6b460c1d08e5684 GIT binary patch literal 337769 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

JX7Qb*Jc)aDiPd*tv>fc1^ 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�Ttj}87;Ux zBDuC>J`;UZq8=D~c_%S>;GshBQ_;^$^Q_zwT1^;&Nq_=Nv4mflpO5~{$vIZb36XG# zIN^yfuM-o(zr3Lxiv9u)iA=$r$rU6^m+WMoGKqU39Hf{n5c3lK+2Sk=Pi`S!#9)h> zk+X7^PB@2=H#M8E5n|tUGrBrI%kQyFDk9k2X9zhVo(4)OlT}~%2>3O0ONILA;+$kP zI|NVQ<4l|`;Wz|85cYte5dy$Hh^H&^0p_Tib*YT{91gWyg2@P`;CLRfT~_(IB7P@y z3HTDzvF9G~C!$M>^MoSIq+On835+0qhq21ayL%yR=I}pqW|N=x_R?eizUWd(M|(Pt z-G+Plt0YpzQg`m!D zW${%-$32zxFP{{a2CmvdO~fV0BX*8Z4q`=Imrx@{f~cPvXKqRNf6UXZQ$+1tdR{j; zXO6Koh}too44*_}*1{>>|H(Tg29jS(=t@5862!!>pvDJdz`-t>u&k2l-zf2L&Rw7A zB2G4L{*v$KY)ttuBIw>V=N4@OspP@HD)2>n2xYnkAPB+Z37;>s^o4oXe_))n_gH(( zU$TQN0LF(Qv)z2bDG~5=@1)`A-`i`B8)Fs$I=l@Lt5>k~#f3xu#vDO0`it-Cj~cgK zP~(CTYw`2`hCBrpteM;%eUA}A73$2t{e*uTHKL^~^-0I!7aKD_StvgxPw1$ATpPC@ zplJ#3p;W_3dG~P`l&r4L;=6WT)v$>46=zae0F)#Z0W3`)pX?*v36 z8GER~14*%M9bd>XikP)J;sIZ!1LHD z88B@^dkJi5udQbNG4mFahs+&XSz^cbDddbHBMzt z`*%-j1bb0`NxQ*prBxJ;lWd=%NzY}h~8 zFxFVC{eyRm@n2xTFkmkXcog%Hx;6dao5dvA;m?Vzs*K1-RdIKAc4n98X63ynZr+Hz z_nz;Kd+#~lGhr_9$Ib=**ttMf&BJqnKW;AY$Ik`+A7?J`k2M$g$D0dSO2}Lw%bmTsz#f_l>@jnJJ!vkm51R|@qvitpSaX4W?76^x zj=6yNm(Md7gmd=u%mv|${XBC)IBh@ATo69TTo4{}E(nh|7lg-}3ovmyVlD^|oeRQ4 z=7Mm-To8_(3&OE;K{#eE2*=F@;rO{AoIDqVljnkP@?5}=nlu-LhtCD!;d4QFXcymE`?71L3##|5{XD$ejGZ%!% znhU~X%mo#;8x^za@OjoyMmq_Z{3DPU%zHQ`XIEmUFuI@%jcUQQ6IfEDpauT|cEk99q6?IVXFctelIH*+VoM{Gq~CI`7|pL1@* zn2sZ*MM1o{Y9&lySfR6bMG)MwdU@kl_+FKL6&1FCXO+v#*Qb8p*<}N)s$T!?D_?OQ z;H1g^4?bze+OM)9z-Ed#TA`bj%fIZ*Xph-UDi^EkkTPhGO2v6xn)DxBh2KGYXs9?_ zQL(ZCF@%Oef@T#99FLUNp^?xYlnX^XYjS1iAS8bepDOY8DP-9Ly!tsLcX9n87EIP) z7mj_O&pM~s4|>Q_St;c->o@qF|7NB14_k$F3?N+V7lWj~jKi*noLoQ#;tA%s{ zYccgo*~v9OYPmPOMxPlcjc+z1CmWS-obSmumgH1l4f=zt(u_;OjHu+UT z!GKNjDcHnkADbi*VUr{xY>F-kHW8gYhE0T#k6{yG?uW6-PeI5%4x9Yb!DMXmPX>o! zlYb;O`A1`ue>67vM_`kG2sZg+vB@9BCO?Tyd~Xk%{5@>)2iW8%u!#j~0-O98Hj$2D z6S+7xkxgKexeh8b83}cf&j7|P9Hr;yFAI7FVK@6MrBynuo7saq?Pn5tWe>^t% zV_ z_5?9(+LOewXrae&to5Jzf6pq8D@Ca-QkHRL%S&qP_@JMV5kH)6(7}yjZ1Dhyw zG&Y43uqhmmP2nVL;=%-MqNefK6n@!xTr?}qAKth%eFG}9E2eP{LUO#QA!xZQ(J~<& z--g2lq*;Jczkz?i6{U8;{YMSBUVfnK=iM8Szg#xV#Vt5tuo~FpW5qBQ;E4gbpp02D z<&TB6?8^1jA2?t3V>k5UH}qpS^anTe4{qr1-;jO(=!Sm(hJOEsesn`$Zpa@ClU%u> z|K%`t!!UlsFm}UmaKrH6hT;AV*<6Zl81`=%_HP(QHw@*5{IRh6l^ce)w;)+}Z)~bs zAvMba>B{TGYrG4QdV9;{p!OvW&(~k?-G&CT;ry6JGAhp57 z^kZ>#$DiL@ESFQ+H0ON3)cZ&%h_|CIMK8>}gq-qp)3-#kXM%aJS8Bu6R0M5`)zb9q1`9Z9%HoxS&>MigR!*{30gI zAFt|#i-cux7c3)t2KNg~q#s?i%uAfuZf;_WkepD&PKJ4deH`t<6Q7%sM6wmt{0{UMm0~7; z8sn1BVWNEZ3PD-7BuZU6jXjNs?r`S|+YMIAMBP)%YoEnH`R=l2eyfE+M`o^QSbfoz zTID;N7t88ghLEDxXR%Jc_m*B=_!|{7o1WwNTO?GkzR}RMVhY|2ZRItLl<%!u#fz9J z%;kzzqc2&t%!MV@OwSh8+U3`i7XWC2Bd9Nn468`6riI2V2vrXXUCY`THAX+7Vuc ze97AQ47SM+6r!P)&ZJ>#S(p4L>zu6xuuBzmYfZ8bHx%7GSx8~ABH0J)bhS3iqETD_R1apE zT3O}hFrKVN+3#0$lVFAHI(({^cOIFVn#s^bT9kVW;*)HK-6qLBylxuwRe{m_N)Hwr z_J(pPMbkE-oKi7TX%wp*JLtG`aS0O{?S>tR-XptYoiZIh9R8NOk3G52hV`UY&)r#9WSY*r;l! z(^|QF7W5c~9U^NE!%i>?JHaUI1Y=+)7y~<$8-bl*4D1BsU?&&{JH#9tg`Hp=>;&Ur zCm0Jm67*~oc7hN6F|dOL`xw|kIu3TQVjlxLSgMc0jtEC!2UGP?*g-f7JJ_m^z>dg< zVFwHKVc0=50z25J55ta#hF}Nd^dZ;xI|G1!rO9Cm^%J1qm)AsdGsvI*D;a(*0k zBpZXBAn(UuM{)z$As2_8py0<~M{)z$k=y`w$i-ntvN6~Rim<30z>eewutP2mJCcpT zPN4WP*pb`-c0i9|*dYe$Fznc)uw#$Hjy(o;>@l!Ixe?g0$H0y~4tDHuutUVQQP{D^ z!Hzu+cI>gRBO&8PVaNV390NNzFpPm6q~l-*Cx$VwgQLPI?1*p#cJNdfg&l;Wu!F0@ z2<(V#7Zvx!;YOHAA=pq$6?3LvWYT)9kOxQA)A05 zI~T@bN3t>4vGZXJb|g1|9ddElu?t}gb|g1|9mx$~hg=+XBpZVryBNk`M{)z$As2@o z$;M#ER>BzUNNxZ-wm46i*4qs}O{KEE$>+MEFVy8zHP1Eqyj(HQ-@so2x07u?F3*=2 z`M6$C7x-A!tcy5Ha4;i(O@qH1y2;-)L&JUIfBBpI`G&!t|9KA(Aln~u6*t;E0 z3DNENjBZD`&**lzLdflc{_TSP?c`j6+i?KF?fA>>a8BTML3F!7ZWqYyg8uCSG4_vc zXYbt(WB=%Od`7n;NMdw5TnyxPcK>#E|8}xf$nDruCQDwfEl>T0j|>h?!) z^lfilIEOv2$+22RU0*%bo7w(9Id3Ae9^rd$Kz$6|Ix)_gn}oV0n9191;__`TEO2^; zO*e+v%Nu9-%2eZD+#noRb5qW;ym$E4R{d>`#?vB~D( zvudtiQ7QE&jUNh;Jwe$T|FH4Hdh?w{PJ&s8V2)e7W>MhdIt+VU*ruYTi$$YqPV11> zTwSa6X6hfj-TYk$*>5a;hvQ*xO_;Kc)mOMM)wt&^U`fyMpHASh<=1*25+DX5xeJS| zrZ9oV>1++p&AZ=eES!haQMD?ZAZ~oAM*wpyduit7)h|bJoJ$+u|5`8Hyq@|7jsE;y z6$InEDtP{`;w#V5Rg^wnS5fd7T}7$GyNUvnyDFH}Ra_Y9s$gta1;bqx#Jehr94uWG zL|sLrKYv%*=;Ao7vY)@J_{wv16{U~YRTMl%S5fNluA;!?uCga}6&FUj${yQQ_Hb9( z@vb5yDh@Mrl^t~zVS}%%Ue7)wV14vS{O#z|ChpP?RQ1~uW-*G+#B8}xf7>NE)I3qu z%O-K7bV+XL#<}e%`FLG3F2YMGB_6NnmA}#0dPmzn+v|Y<#Q2JmY-IpjQF7HR;piaA zCut`;3?nc>IUB?AO>(9Wv{CGMM8zKp%-N@ zTh;~GLhJ8v>(BHaDVEZDM@U_x+=gi`G`F`mxh>Z=6zc+nt#zs;hlBl_?`*x}Qq8Nq zU8AaDq0rzG8T_yafY#_=St}b0jqVS*`K!Ih>#Dv87ig~W8WFS%7*KhrC|xbJ*w~hI zZ=+}}Zo%J5k(FBcJFt*OMOI7YZ@WzhO+VY~saEanhAYXZtA>6tFS0e=xY(fRXX!58 z{Faw%e6IJzD3|M$BULdJ??#kbW)$>gKhR1`RQUPcQ>|iga}rDkJkjTS_o?mz!Pzj- zXl&1jU|FNxJmxG+F(Sbg1_jY)*jsJZXBxjqlrydJLpETEN7Ib*>!$i9tgSH1_Vd{2 zp5J1N7S`P8`l_Zcb>Wh|(dGIVdJma*=wpu>qAWA2u$OIm8)%Co3cPq-_-Q#XIIybzTW-W-TNw6DJ6Jn_Et4T0WlOU!hMEyQc zlVG4GLGM6KaADn7li)y2f&(=P4%8&rSCin$zM9Av`f3vFt4Z*5PfdcSduk#EAd#8` zLux`kp(YYkJ+3CfkeUQZH6iMHTup+cngkCMY7#t5s7a7eli*QYO~}R61h3tgngnq* z3F2ykGtWRx=z#+@Atcy=nvgzF6FO{PP3WWpH3=RM)P!EzR})@x`)UHS#J-x)`g>{; z9HsR}*?Qt|mc3O@c>pHL>GrV#n2li0S)kVh_~Bj;RSTz7N#I9;k^u zP!n95_tnHcP!sz=P3!|TvG>))K2Q_+LSIeneKoQ7)x_Rc6R|~z)WjZA6Y>c)kr3)} zHL-`(#7?RSG1lX1VkgzaPO6EWR1-U)CU!zi$i>tIFYcI{*l{(n<7$GR!$3{wfde%m z#@T_IkUmfoI&5D}=%fQRv14jNFYT)di?hC(K!mZcCba&Zn%D{q%oUsy64=|D$QlLyotA zKkfRjJH3nW!t1MFa~^-EiqEsL{#9ppQN`@FtP_~)(M8=#>6joB(CgunS}x6%V3QyM z*nazI?oqjaA6(-ozzd$!b|FP;+?l zY7o+WbiS%$kqRw;&cqTEZh`NA!TIo_iE)XN(J6-`siNxhM11?;e}LjIhb3iE$x$nA zsJgZKdFNqci6web!;EuU*)3+H00OI@bAIkM&TA&pLYA+n#ccmsUvu7DZ+VUH;iigz zKJioXDu%AnLt`tua*gA-y4S8R>Qx>-&-LQLFQ_{2U0uT}S5u5~d%Npyy+MG65Sk>-=m5 zvu*b5Fc~+XN6_)Y=YX6REzP*n$C&vl)5TCZS$v}8%cW~4ovGDlu>QYfOzAV)Gpxc- zsx$60ZxLJXPqNBP@pi6+UG(ZIdt*F|GH=WrlsoPAnv14c&}NDs7mQ*d|F^Ui3swTl zsOm(O*spAtm%c?{ICrA>p?EQ;B_zn%SD@J8Xjw5{!m)gC=SLmhu@^bBRZbPB3U@Ho z{rg{Z#iYGd&Q;VwrT4vhr_o&G*J0f}UA$e;G6lwJwL}Z4s=*m<`rrZX6UeS9&!Cs2 zY*cL#ZY`poz-U0wjQwg)yZ4)3XWR9b=$k^}MDb2e%VJs2j*t)*sKyBl!S|mv>)u}E zW-v0M6@{Ws`((A-Vs@^>ZlhwRkGZ`@DQ}5!r)El&QrO(lbJ`vJ!NqBsogP&&8B*^3 zMGfC>sfY(EXm?Ol*`LuR1OzVcS@$k9{%qMWJc|@D^V)5AA*6FL*ry6pvA9#qZMK%g z=$;YI){f5eP!Y8N0tT^Y*n-NsQ;oY_nm97+rj#M2tfG)PigUUm5j@UQSEIY#XmLvn zq&3P}V zx7s%e`&28Im(JaEx7)PueUje)!k_@ws-l(cS9S+Z_a*mh181 zwmM#&O1Rz4Rs&(n+wnTl4{fyDZoAcNdE4$zjY_yy=Q7aJ-EOtoeA|;dxrDInwmkRx ziQn}4;O_Uq-QNRue;?fa190~T;O@u3-H(I2p8$710q(vi{sFlAL*VWYgS$Th?*1sa z`(wb}9|!LKSaA2pgS$Tg-2F-5?oS4HLQotE?*4JW-9I+C`_BjN{=Wpc`_B#T{tIw_ z0q!rr{ofq8hkbAl_rN{e2lwy*+`|F5hcR#u#ez&#uV z_izljhvUFK91HH@cyJFVfO|Lz+{4M>PJoC*!96? zb>1U#0ZVz7t1R{N@bzVl90&0A)~9h?V6j5P$&<=mT!ZlxFXkaPWKr`eXBXpR*|ot( z_jb4ODywdng!>{-#c5;E7N#PPx0hW`_YYvEP+npSz{}QMO$O0iH$g1zBu7yKw%JObo!uDHAk>bHnt4- z+$1XGOcR#vb?nWxX%h-SEvhFUf_a(K)XxFk34Bo*iA8tareW^pB$7as`gkP*blPx~=PQD^!o0{3`z+czd z%DKA+I~HtW6cn27Haweb5wVos?#ecnN9~YT7FeLNnQ@0fY^hy5lREEo*%;u<1iCcX z6(Kn3hb;RQtM&u8#j?8L5=yhx%(@TRE@77oaz8DthNWrs12Nw*mf9TEQotpSB5U`o zn^kW^)v02v!_T+0a?xC@x#Ev@O1*>YJxxL_Ce#ay-aPVY_Q9q~ccZN{;RIZ4wHxeH zcZBy3@)?!n31|)`~S9538 zkj7$onD-W1?M+X@W#Zl5kT1alA-ilGJ9mjz$)%ItC$c@lNLKFC-h_L_>D_2IUUzS^ z`vcJMEH!=6-Rz18z5;%_T3+gpfzIphLmtgis|)zrPqVA%N-1_vmpF!PHJjaL2k(1C zZ_r4s%?=N_x!s~&5wZW%+~GX8(ec`xt!{nMz0+(lvYK?AJZ_u)?|%~QZ-3680EYfV zF!U#bAx>43z|cPw4E;%9=pPP-{!w6vdGwKB=pO?N{bPcme;hFMj|GPQvBA(kE*SdH z0fsQcKNlGK&j*J7^MRrN0t{b(;lFk;3@3nLI1voP$zX`X=Oi!;4+X<;5*UVugJF0S z7-F=2Bp8Or0K@Q@U>F_;48voAVR&pX437(j;d6jt_?%!EJ|7r{&j*I#3ov{EhX1<3 zaJSj&a0Xbff3^9zb)&mUtaVZ>4CVFz`pLEC^{HKV$`g8L7A;?K9~0HR&0*cw+{a#r zH~g*ESKQtDX1lp_qtPVUCPtmxbxo42`Z@n~bt!PuWtp;s^pn>1wD-)_43b`Zy7_FW ztVw}wx7GX)zJ+v`GrYz>&`pOVr-mLpS(5Z_ZnlV8BuS3w&Rg1Bk#wthDOX#Iq-~Ft zmE(NXecbg_v*L)b(L4u_8A0}-jvi6w*g5#@i)AuZ)(PGMWWV1 z*|;jADP3Z8e8qd()UAG^%aS6J)NzU+e24dpbIwSxgky4);QV?yN?ahAk|dsSjCxW& zaeRnA|C@jRpY7$pD4$bis7LvdZk=@g(sqVF=nP5jb%rGOIwO+yJ0p@to#FfYo#BhH z-x(zLJA>3-XNaud8UB7}h^XHgh@#Fw((epOM4cgts52-Mb%qF{&X7dZ8Ip)PgGAIB z@+qAmpVArq{1@dj>I}(CXZU|5P8D^LCT-e1d5< zpm`yK8AbF`~Edm(mia7woUU(l4Oqr-i0X1{u?`Hl6=zI zW@`W=O3dg@Au2+%(sJw$j^sMuZ5jjLaA_)*Q4UXh5aZnOJsRa^V2)7xom&6hQ(RoIQnTjtlCC(W&S ztpdf0+k&^@*PW*gVvAs^)|fBzK__Vttq_al>%@0eAX?Ea{%9+|;e>t0m6>nQq{9vG zk2XA_;fD8P4KL~ah9|w>@RHnXcuDRxJjuO=msG#uN%b4vPd2=tXn2^%Vhzu=Si}4A zhWFzQ@5dV6k2SnMXn23n@cu!=`v(p0?>D@^-|+rk!~1&;@An&?4{3NmYIr|tcp|bY z5YEu>zBIf~!wd7w%r|J#;f6;EhDSW2;f4=m4KL~ah9|w>@RHnXcuDRxJjuO=msG#u zN%b2(Og4O&Xn1IqVhzu=Si^_$h7aQnAI2I!j5T~XX!vl@@ZmwjhX)NG?l*k6-|*pH z!-snfANCub4{7)?YWOf}cw(q35bx0Np)`C*!wUn?%s0a8C%*1HU0q&VMd4PiLaIsp z9mtI~3?kGq;hQGvzk)guH3+WCit@|OJzQwuer0DB)=QlL#f7qdmd$a3^RSm}fJ@~P zK|A2C#AJ*BCq?y_oW~pNa&u;If+#ItaGqRao0zRv$^D}9tZeBg*_A$}ecsu=RB#hBU+e_a-VhB#5U9{fmEaxvgM~(s})Wvvdwu)d(GK}n>DS$ z#|25LY%udM>{4qACnC6DDs%9g690qkeS)tEJWb)%O3qPA)nYL%mV^pnjfMG?El(QnGtSQl2&ZIn60w8` zK-l3CB*`=`UAT0SYk%9aGjm!YQzYm~i9K9n>02!hL)>kyy@C~7K8HbTsQ~|M?E;&% zO-@pp-e;VT;S$ZCRxz8*Rb+Fx-kNcdvR|ArQv6^-2zocLADeL{z>Zli&gHVXT-7vN zTb)*`5s8;8dbOZrF(GVju^H{wv1g++=B-9LpS8;8-8OD7%r%i%uR^l|r;yfeG~V@G zw;fdy!qs~>!_GS|zU>>>l6l)vX@k9a4mBF6ubASokvrpl%6UNKE#U;Vu))hpew|^& z=>-ln?3sVcdA6$RC(Nhq?T(w}l<7efsYq+Q+pagFJQj?V;yhN9JFWh87;H_w%de;W zE6)8j`nIAii0NB55-eA_uCq1V_WC7OIe5{^?BTaOs^BYPj%pTnI$bR3A_25JhIL5} ztU65*Jm9Fy#I=hT`%aGhl=%?v+Dn+zQc0H6u6r92ILf%iWAQ>CNmd}Wsc2BR-mJ@$ zz6_PuwE0N2>dl*+QT4wi5o#=zxtlYT{E(D z>>r}c{#a%9$0{=sQpPE>|It`w_Qxx;|It`w_Qxx;|It`w_J@=iHkX7l`$=W?hm_fW zkW^-_CzRPAR%ZYHkTU!Chm=_eaT3bx-yc$Df{G-R8Gf3iGW#RS?B5$!W?oi?l-a*G ztjzwsVP!@#q|6+=3@fvLcZ@QJePt$m!M-wwab*sZ${Y?Ub2zNb;ixi)31tow${fa& zIZP^Zm{8_0q0C`YnZsda4ks#eI8m9y$;uo~R%Z6GCn{Fs#hsh%ys$e9g*L zSEAtK>sC!z8`BaUo>wB+7c+zgd}eAJl6ry@g?1%Mt(#g^i&7hyR;ZtcukQ(TgC>NF zq;#{YtVO9cvrtw0DV^wtlIpD*HN(6NYvNkCOt^QGAeh(48F$5afCn~9Kl}~dT>WhC zBnB*ZIO4C$wt`Xn4sHzQXM69nQGp2%rViztQ7K^7^LHyaaIC%7d!IKRW_(_!RR~oi zgahaI#GB-bdAHo7azQg)rT768^Ltf9U*Lu4c>xf5? zep>5EIMPBbCY#ZA4dOKvEqxU?_Cd+VtVUR>ti^;B)wQbi60Sx`X#pdrJmx+L=_3e5 zj0~m->z^6a3;l2rBa>9FtPhE?voYaUG?qWpd&+Ob6X_$pR3^|Vkyv>;C=u~-`b_Vq zJRvQE@diwrss#_fE+k^OkE{~nb^js_1c^VtfP!=RtRb|Fp)qYv8y{jB!86@bOi}kSSk)rrj|{^5o&z8H?#QBrEgcXvxYc&5lA4F;{6)2`ys{<+irc^ zYi;8CGowHqdF4~R(4B6c;2Ll0yqB|T#bzeUO;ng3v+jd>_d-=k&1LY(iSq3RyUF=X znjVw<{jGLWt7S78{AI4bB7&W*4(@B2*}VSp`YXMh`=HT$(_oRr4_u21blTeshLW3` zs>DyH6mIseO0~ zB6uQrU<6OWC_DvY;VGC1Pr*cZ>VIb(JOvZsDTsm2K0FO%ad;X?Piv3&;b|a@!&5?f z08epg44x9=0X!wd19%D!fv4aAfyTho;Nlo~3J!s%U?MyPSPeD4| zgC__9_uz@tK0Lt!xCc+9_TWiUeRz^oAD-a<+k+=b_2EfUeRzse5j>IFhbKFNr*IFR z>`{2K$HJ365uWUc@YMg#IC!!r!jnA)o(8fwJPo8Vcp3=f@RX1qz*AfrgQtXe08a_= z0G{ka;K@D=o(31kz>|FlJlPZB$sP|+_5^sc4}m9p2%aP#hbQt$coIPZp6nrbk^%{M zLNEkRB1ytiBuT)NNRsemkH8a>VR*7f;E6)R@Fd?Gf+xN=3{QxL;mIC`Cwl~*_|^zK z$s>%w6T(q=65$9uNtMI!WGCQBaszmh+yI^=H-IN{ad@(!zFf2Tvo3#@^}ojJJpW4k zTj$@#^~^VW&{a|-kRpK;VM^s+iGS<-lOh2WlN7O~h%H4J*8D5+Z=HWq#QvoGR@(Uq z`&e^@Vuo`OMZ(IJ2uNpLBK#TFDGi+0Z)BUF=vSqjR?X)i%_!i-kJ@mYvxqHqoflP% z_t~+goO+FNc)jP-r4olBlvC%wx>Rp(Va|^8d7}jlnv^SRDd*!g-Za%bycxw(fuoqt zAJm$kl*)1eC;BsaIjn%dQD@7#)_i8FSLdADtc>C0fB*wW`+B#2W4`$eV3tDG&) z>A7mvfaMWO^jdRD3oW?2|? zGRviks?D)7!g9UkL15v^B~x3UBTt44?x^7sPXPrm5oWP@@wd=1o zpZ0KKm~(bbma-aWh_5!E^wunEb=KLvTs13;9K48V)ljK&cYXOa{28_zBHFObl{x3J zVZE}2&CaXMsUF8}RV1rgd2y>l86=ionsa*4Ql0BIUPJH{CzLC5&J@g;P;E+)r&kPP zZO*xi^TQ=pZd5Kt?X~7~Pb>oFIBC!-OO2Lr25dFj^Dc5?^ASB@&Co94KEjd?FB`-X zE@^}E+~FeS`NiILyCxUbRb!Peu(RUf2EmcL*zqG@wX8MdKhTWDcD>HX=+tZO3HcdP z|M#mZw*OfEZ+Gz`H~}}TWvmm`V7aXGJd8LmD*bd_GpXglwL*ER&RJEf(Jy_)($~_? zE|DPHFrc;1x+iQaBH(u@6026x^5a9X?8|> zI;X>KJ(68j&2kXuakLf5sAoMx_mxX^hEybat8A?y+Q`i>>}*o%rQS16j*zTWj0-qah=j(}_@0cB zB^O5tBs9n>n>VX)*x|2%V1t+m?9x<>spXhRb0h-=6C|V?RV>5c*-ECqEMzu!(H7Vx8M*HX1znoIJU96}Kxk z;h@&&MCG1dQOlRJ&SRXuc*2%0#pudw6f>=}>^!)9Re;z(CJi2Y$8mY-oD9s*)mvjvDbic0`7wF?mYLqN>W5+L^DKpaFs>?eU( zc(=7Q@eX1@Oq~M6>;VmcICvTXv7Z3qAOd0zYX?9~s8N8J5LE*p4*Echf6oAjsZM~H z?mGbD;AsTJoHic-aS#D9?okIoER6{e`vV{j`atX-05L?D0>m6R?*TEj0L196+YS(O^B52lJ{BNG76W2N7(nbNfLNX!AjX|;0K^Pg0b)M}#8FpXqgWD%!(#$5 z<&Fi!;W2?YoCL&Nm;l7#Bp{Z$#se`|CIB&4CIK;*CIK;zFae0e1Q6Q-#95fF32Hw46X z1jOMm5Jv$-H|D|-ASQ080C6}B#IQ~Z5QoD+EI-3QJOsqV6A&Qg7&QUJ)Gk0A4goPg zOMp0x1F;RiAbQOi2xA;V(JtiX18kq#C9Ku!vql95fF3GJ^*6ksshAe9Ej~c z5QlLfraA#)y6*sp?LH7=DR2P9b_B#>42Y#M0pf4~#C9Ku!vi3ON>zXuV}U&&rWSxW zJOElIu zi2<=hv;c^?c?^h&l?xCfivcks3?L2@KrBxV5aY@>0Ahx$0C5-t;;1XHQEULjx#pkY zA481wc|7COg#sH2g=|&3Vi2MHeHMzWLE7K0l#D__&tZ9p8KrqeCr0`E_0AR>7xg9V zM6;!QF;^^Q@W@}&9IbhKd(jlm%4{j4=QtXTgdclL95TZ+na{!h$+7ZPm7*UtnhP3) z5K^~VOzWDyToN&>s`C}-Ch}SlE6jYYx+dZe>Wz2)Q&m?p@OWl(rJVBjzWKF}igIBa z_P+0w<_o0^R2tcW@l9RdkPCmta;x6?9%0l=**sC%(|?O~^h$v%KNn8$I)?JlW#%&l zY&kKFt*qv`^ggRrtRlaQ@oa$yF6J?-w+fZD9M|6SZiqY4Km0C+vw0<-!2%Wg0PdFM z;?J-G74E-n!zdQBIsRC%Sr$sxMuw|D<#ZQ@_$`hyHM5`+|IShsV%RIPTGpC>3N?L$ z4S{BT!7P;6u7Uc1=<*q?a#{at%_nT_G~^)ITdeRyRAQPIv+$hKl;Wp(uoMFQ6H@HybU-)^2G@O+U2UW{*rcTzP?YwfgCYrf~g zpnt*8`6_e?8I4UNO{tYEj1g+?PcgFeE@CKBvdY3f!X^=22S=j$)+sLkDXtx@&5PJP zn0mgbXE8K}pcTdp)A;^LuKx*RrrFwBz#>5{5%Ip1v1r^PF+a8Hl@k>B342#N+wa~W zTq8CJ()cBzNiAkI-T04;bB+{g{dkMje0zb86uQhJPs-L-0VB(TVOSe06ybWOUT=Gx zN9U;m{#GTg8SHcwE$1_^ib@e7oMd_Y-&N`4JfyH}%fZ@;QE|blU^4Kk`(Cqq0W0PL zzY?xng`UD}n$>0LRTsN*_k0zq7Al@DKIHnrrT18TdgrPT*ix-tg4bj3(rfPfEx6>* zRf{@|t~7Y8zW3U~LgAfaa*+cij3m;VY5vUxIw0bq=;rh-R<>!4kRzL&Fw)m|D#&!IJ{LMo~r7 zsbYca;+m4z~-&D7rx@{ zvgg@lZ=j8%O}oeD58i%AVXWC{*4sNIA(hyM|D=h_4%Wc!X)kPi)qBiyvQgH#e&US6fCxbeS*N?(CiX4e={$cp$AC7NaJ`~@$emK5S;0S#4rN|3>+e6v+ zUf|om0=^L`eImXQD}5rqh2!uI;TU{FIu74NJOqp@mMUKR`@GyJ}563qyABt~WKOEmEa0I@EQsf1` zy}-BQzrPXt!uezsXWwU7aDE*lYZ&1#|2ijsVsNWn`Kt4%$niBK?;Fd%<~$&TK!(VT zMQiQKuR8a$x@O?cXjw&Tnytbh@Qww(??~fK862ZrqYr_BZgL)6INA{h3xWSl+M>FO+2=Vql?d z8isjg?Iq_n9(UavEJ+rK!&zaWmsS6y5D^#Vb@l`JS*#fGZRH=o`?s#2aHhO_%{Ir` zJFSIV@mrY{54sdVpncKdB~aw?n5l(HQ}BtuQ@Z``|#|4cR_*%P$Nrzeuh>M zN?$*wCF*z`ayHLb@iiTyOOmn=XJ;tm#!D4JTi zblQ8LQ~Vq6!onxf1nSKT3$GMwcnU|=?Ur$qtSXCpQ^cBw6+DRrg7=HSPUrqr2H@zw2(b&;Q5xN=WCKD4MWt8c{i*#uuo; z^Bt(cU^;>t&bIcT#*aY_zHl+9@sm*F4?~SV3N`*XsPPj}6Xjx1l% z`q`f1JX~d&l1}kvi~n26c?7L@Dh1thKSzAlTt3H1Saj{TYo>B~#wweVdw30UnCx7x zQe3a~RKBR2*}0No^mByjO3(80wH#er=430AQnj+=xTB_~Qbb-`#evPi@y(n|b11bQ zVo|mog!c?-@L3$xLN=pWZ04*OBv*aoKPjY@dF5J^`)8K%z1f^u`F@mx1pV)1)8%5>;tmgCng82a zoE{C`;z93MIDONL*;LUgt(*M*d#p;+HB+0JCGHp!)w#=SH?Pa8l`YO-ack1pcVHUH zWLZ@eX&hE3CO!8te1S0cD_Bw&Q)e`jL)u=^`KVUbGaSB_aDmO|GMs^}8NGt@AwIqw z(y&nDeO#H#AA}hFl#KmIG4sF zcumJA`F%Wwi7^1L4R7_3?wIr~4DCPAafJ?R)7GDHutp?C&dG}W5VMd==XLY9^~_Gqjn(jq-Yh>$A=uLx#wy z9ft6w6f1X#Z}ie7&B)B9Se;$bdS{$J;(n}bHGYs*N>P!PE*lqhLQ0+~8v3f%JMG+O z^~5(hOD?H7ViXjV0xPutcG0v>=TDb8dhE?OKVb#S0Fr}H4sJQ}%Za1%KgKcCn9H4} zfwbOB&i_{tE+qM>1xwD_#B$zzx!!EHb-lpRIU`f;opPSwE3KAJDeo1H3}@6Vj&-lm zZ8r7!Y&M-Y^<}kp!s)Fm1R5Zw!cRHpO>=KfYYkbkwOb2{HkZmVG}PWSrsmJ8TH%y3 zRr*jwLW*8`w|DPbNwO zySHw5?bF^v*T4-qg$i6&dhg-1jXLBR{oI08u2Jc9+)k%H<2`8HG;25`<3g}TL4yY1 zkeJYQYL-Pk>(#D%qqTjDg00O?&b`GKtjnq(R*j@iqo6S(h;_poEs=IH6Ne!19t-y&o|J{xT^87ds6Eg12j z&^ztjXMs!L#Y{%QA->qV&GJ0Yk+-TSTDcXmDNVH>dKaubPUD)fP6;}a5m3$;YQ=4I z+i()y=Opw^rJ764S!j9hwu$e4R?AoQ$`<@dHz;wh-oC|hJtqpQt`~ZD*bKn5prRNA z9&C2n;xR*Jq0tI#l>FF?BDukgBDukgLM}d|1S(%Vm{BA*m{BA*m{G{ZXOuwmV>6261~ZD}1~ZD} z1~W>aQ}SR&k=$TLk=$TLk=$TL2@D?eU`FZZ_Gc8y4Q7-mcQB&_rXQP8BsZ8*BsZ8* zqLK$Q3bn*%6dooyqwuSSW)vD|ct)YIM`jdyZp@4l6#a2CN>K2}&L~0NA3vi6Ih@1C z&nUQ&Pn=QkUO!|;2~z%HGfFV$A3CE1v;Gk?N^r(MYDNi8`$x_w!Hj?Oj1s)$A7@4h zPT`z?)Ql3G@Q*d41k>2eA7e%dru<{gD8VED_%llI95YIAycs1p-i#6)b4Ce{JEL&l z2F9CJnqjyt0SN6sk0kuyqg^o$Z5Iiv6(N6aXJg1zj)jAAQcd`7WLVQfZ` z++aqL++ao_7oSmVl`kI5D3Tk@D3Tk@DCFWZimipQ8AWn~8AWn~8AWn~8O7Eqc`&0$ zZZM-rZZM-rZZM@m{DvqjLj&L8_Xz@8_XzC$%7e%TH-Sb z50jix_*FwQ3Jo+oqtMtRGYUO7W=64#;kX&aE`(!e6gwY|pHb{wIB7<~^MB%u0^z_R zGm4!G51Uc!x$w{##hwk1m{IIA;ZZY+eL6gHMzLqYqh}QRrSLd2ihT+`g`;K^`$TxG z8O5H)`2QF)iaiw`Yeumjg~y*!?B|$K?BmTS_VH#E`kGY)-dg5pylg5j zdLOTG?oLZ_h#DQL6J>%xiNtp7eXzD_ zD3~qiKaco?*?GYWiU^5pWU)5q2w0oz{pqS+gS(pJU{^(J)=MFdopRd;jn93KGl; zFrE;~Je{2|%)>eIW$%MO@V{A#agx2PSvd55Svz5z(BUG{e?^xmFliP z_8zZP*<`Aeex-N+@)gs9$q@S?)q1^m`^vgr#C}HA=QR^Wh0F4Tb?7C@2$eh>k1)lf zT%YMpt@nr|LHN`Y=+rEHe|P{Az!TO@6Q48-^_tTvy^mJc*-T~w4ttL(=0y;-PwOeo z=>7byHHr3#eUMev*agODsKiz^`+vQk%8PTkg4SbBg}RHa2xk}|nS$d`FIc~#atDKO zsF*onR-)!C)EiX5^Mx9-TB`Tn>SYVkb(6ym10KB+##?}nQ7WEbPn_-HBKx$bd$-@> zf!Scy@xi19*s(PzS+$RFXQATge?Spj(bL+AUT=Ao<%N05cwKwAicd6;&PMSm{fqF( zv4IZyeFdW-_NTRiQ9Oyk&+Cyj4^5|5xME?qhILGC8pwHAl2E3q7#Mw3dxFiCsyo_! z01f7ODg_Rw)sTvNMT}E>4inYj&|!i%`}Ea zpGbt)pGtEuD(HTikH*2who^^bv^=f%w1rFUR%^z~YX6U7iMtE1Y?Mm01yrIKT`_=o zSf&%>g4jsGX~C8)h54ZjGC2Gh0r2%>x~IO3l@{ziiwlse;3dE=rEtJxC_fWwQ*MkcUkNIWR_mQk%d2nyXsbQl z2ysX`<6WQm{UFka;6NjSq(%gz8WD`wh+tSFf^ixVOwx#8vPJ}lYeaAijR=mV5y5k5 zMDRi*{;kvqJJJaIKqKs=M%beoVUO1cdsrjvaT;My(g=I9M%agIgnbN+u#cq?_H${3 z{X!%D?bC=~>OHz#shneGkudS(t||H=(O+8iD7Q?Um`$9HiOK$YZx=gPd~V%Fl(}je zZ`QjvyeRXQYJI!C%~_=sTetK#TANbC7kg9s6LS+TE=fOT!fxXc9HrMQ=HG0{7m%;& z=B36K_x}xSQf;q>}ASgPyPGU@>=iC6-dUJXf1{Jf%E^INHVYVK3Lgc z3Wxj}OLJy_)u^gV1dXZn-dny#G?juCElw*%F$QO2RKHN4an0TzUt29#Fb*zbPR>hb z8J}D3f^`IMcT4RVSMB}b)m5F4Hf62C5*-6)-lmGYUodT#afjBlOItH;fmNPZhx68l z9W?Jq72LbcqOj`mAUNh?WnpL+d7O0b|6W~ZNzW>=j1@c))T=q`;t~{n?d_X*>UVg}t@AobZDmF~{?Ia*-dKQ>4L9x% zVe4@`Xf=K;s!nY)dcgk3Sw**MbINKtgW>3N5}xdnB5>$Kcc#*Xzz3+Ha}s8|M2 zK^MPxjOgKcYi)Mj9gOZVtY@{vU@gcpg*6dNu5$jYQn`5XRquW2wj$5V{*E}7SZZy- zy|vkV&13Tq3n7X3#2T%7{(D~Q#?3Aabgfst_wd)R7V%m!7Z)K)Yas+W+Fh4RRHa_L zh}VCs)9MoA6#Ef4>RNp3{lz7Zf^Ms`4YM1U`NLDY+=_R8Vh?t<+%Bd9817@@z=e8; z`Y1s^K(p4s{~K02j7@M6XuH>^{&Vk_f&@MW349D5#qlwS<72QJ!^dDZhL1rUAA=Y^ z1~GgL9uM#_h~XpbNc;F09N=Rxz{g;KkG#O{<704ukHG;xQtJUe21EE5jKRlX5$y5#@jK3Pl4 z{RnI>&)0g!qBi=3M@l}Qs`KXZ2}y94yb&cheOZ$PYsyvmoH9O9`&U?t7*P=xdKQWH zQ(WRj(tg6Bg|;#+DGp>R%TY=%7p!$j5f(%@B3Y<&1Ra&f#axY29IWV3YD()FTJ0@| z%e%NjSFEd1a^Ypx=o?Y;%{=Es*P`S_mj8wkB^NFH^83j*aL0aGkEAV*U{vdOq%yCn zR&{Mfl0?c}R*eWLLt_mlA@pEADq?2j)=MB^)x$oL`=jW0g?<4dkY<4Y3J`11G17m2;` zC8_@Sl2m_uk=h$yq@wX9*Vw^fd`YT5zNA!teEB5z##fZ=kFO}%A74?jKfa=5e|$yB z{`iWLd*e$g+Z$h!+#6q#+#6q#{Hrp)!oBe&pEADWQ^wcevp>GVz47%I@hRhr`$XeQ z?kD3*K4pCI*&kn$h{jhWk?}<$8ee?&$Cq4*#+M|b@fGfmFA{s>OH%#uC8_@SBDFWZ zNJZmIuJy;4r26AaO7+KANOEs{Malm7ijw{D6(#%QD@yjqSCs6JuPC`UzNE6f@g>Q< z@g>Q<@g>Q>^yBM#`kM~nQ=D*ve;WU+zvg_Rt^J1ciN5|D#Pj~T^NbVce-F1O6HlP8 zIXw>L@$~tsGo?Ji=19|jjTjH*N;y}gCZC#oYVxVcrzT%&@}(w%34h&>YQo$-s>$E4 z$v>zGlJfnULTU=BDWs;5nnI~5l$wZS`t>lX2{Xs2rf|Qe@Svt}uO@F1qrVtx?T1mh@JY z*bD4pv(vuB6>_>-f&9~Qsg0aLxKgadx^1mhaUO1Pq;Ht>>P}sV>g@8jI-xEO|4}~(Dxc47_mWxx+4;x6X{HjjZn5MwU+7JTP3zl zHalCXDmR;v(#k%)2dDZyC;mx8^nR&m_v}qDlTP1}U?}Vy>WD#9*OX-MNFU zfttaA3bTTCi}(*M&AI(g|IY8~nL;+7DOWDIH{1L&g#V%Wb^H%=8BQv?9dUBEZZmoUB`8kIj1tkL+Z?>2(TIKK6Z_t zl=Z%zQ(&&;S+ew>zSEI|0S;V!XrFGGdV-sabInpbe>!x`fKr2;c-UG zSB%BhYsj8qF>|u;0E$~B&8gDwHFjQYpKzWEv+hh`7p5e=Uf*fG+Mafv!rzlWUDzey z>>EG!S~p+qOgWFrytnf7h2qJ=E(ahSR8XjU--#kFv9Kd!XK7+KbF=f~7FXcKDV!|c!Jil}XTyEB zMZOa~+>u%j_y~`7y^+%BqN4#Mq^zV)!p+7)Ee}II33<>=h68et^NJ#jR0TMD7 z43H42p93Vs@WUQs*H^=#N7}e+&}(W0BAwgM|JVB=jdCq5oG73Byq&3`dbL97V!#fP~=y3Bwo? zhA|`zV@Mdrk&t)U0TPBWB*axMhJ?7B#gI@O-Udh*CXq0VzY~T-NEjxOFdRn0a2N^0 z5hM(UkuV%WLY&rykuV&CgyHSmqevKzL&9(z5)#&93=)RpkuV&Ogy94v3@0FAI0*^E zNk~XQmSH3eN05+J%m@;OqevKzL&9(@5{6@ukR}^NLU9KihlJq-Bn&4aVK^BH!^ub( z9)g77VMs`whah1%4hh3CNEnVq!f*@{hGUR0oP>noUo|8oNUMt#_-R;H)a8mqyl=b- z&&F&~pYLbc?JS?kWLc%k)d%iHt5itOLF%$zmVCQm&gURTF?9%k^wz`Xd7_-=;PJT} zWxIslfPy#KoL` zK`o`&4>tM|tY>x>tLEHnnjI`Db9aX&>w*p^NG@fVkoq9P9H-kct^7;@FRt}SBCY=%Y0r_IH%lhR)xtu+nSLPAvttt0@vvrdg9)%Pw4bP9( zx&wI%rueLW&YZ#b3Yp%z%gV-WUC@nmeh%k|sF>UFI$if-r97L;VDm4s+c(+CAf^UR z1#>KGjTKFV^>??stsNKZyi|@jCL56uO4jyHqrGJ2GjkY-!O^3&raE^qBJyr7X=ZvZ zV`4>z@DtCS?%sDd-%zWWTqajh*VLZY{#bZPI_;ZH)>JvTku-R6wD#1_otvGTt=7#; zmEzoNsb*Y_%6cr^#RTe-$_g~aHb7LCAIf9haxZG-Oe%$ml}JBo?Xafw_+^Hc&p;$( zt(JPV_QP&jFXZNM2&T`V%o{}!csJX+Rmje< zYFmi}?{2$qD(dN6cD~#fxb1f@maSAe$7;X-l}=}&Qku)o!J8_Ad+Z9dOVw;D3)d|a zFi2WZu(JJ>N#$xn3WJ27zO!Iyxoj5Wwn)-#H+GgZ3&t(%C`EGDdzVNa7_DVknU~k| zBEnAY=GIv&pPge7``eMo>(qBT3raDa%9g5Yk*L#r*X=Bo%c(g9GAu-$JMA5KTbJOu zEu3cKYBeXaF7{;Ywgp|zERIF%x!!!|?#))Wy|ZMf=~?`FA`xM!SywJuS}L99G%5P# z%|`21t9#KhxhZtM^36N9IyakLkL|BCYglz9%N?G24BYANBa9F;vjvk7ObDmCcM*3x z7fd}1kB(u8@OGDlaJzGBsjO#nSvDxLfeKz*4_N43Dwgrl&8a11O3V_^yD7+8|Bqp&1pM_~!+ zI9Ljjuq4?SEJarbutYWiOOlVnlH}vCB>6Zjkx#;s2okU)f&?syAOTC!SK_dQU6ZjNj?rsl8?g@`6MifAOTAvNWhW^60j6~B@RmnhG0n~Nmvp|5|%`gge4@yuq2`( zSc*y|VM#I8iTL=;5+XS^w5u3fNuV$RxvhoV<3lgOs*}6&$Q$n~~%1xXT^r)DwuTacV zjfP9)0L@GHo|%<0BE4qZYI|+IneI)gVI(q5JRZ0~E8Tl~)zXNoxO=6bzqx~lLnPbK ztgFcWw|VuSH#k|+TAAK6UjGsOxT;@lceZ!>qKYZs)QttNy%Uup;;6onf{yb^b&<++ zzW9`FvGo*ZoBw}%=N=o^b>DfB5=}iwk@LEbx$}^eIFfebmDPpeco#ru zc!Ic_B6^t6$3K zBz&wLX(}8u(yDOuW?_W8*Gw}#H17@jDEKwglY*aOA;!r0#w)yBsj0xk}*y%Q$!! znrXt6#BpEo3@1iQWc0hxK^sOg<&tyLM}b@^SWl%*W6)(eHle!- z&X!D2YQ$1TiWkWCxQ0aa=c85oVoHf;Iy_8hgr1b)xabDCWJ)ns z9y`QOYb}%1m6PE@-9uLV@R+6dnDHk(VvVYn(5rI>4Qra~BdO2$=&dJdbXAB_H=FED znggC%)h*NX98U+L;;ov+F2 z6+%y>7ryW4Ynh5ykfhCq8{?b!*)$23vAb1RA;;9qB`4QsB`o9z1%r$x42BP zUAc+vDhq5^Zelx?nI5()H?bYJ3fq;N*sgL-u^pyCH_sd)g}q|Cas%5{7T9iay*k^K zo7k>WXS;F}+tr`-!A=6zHn5#)QrHeXS_9j09>sQOpBvbYmVoWhGxLhxV7p44?aIw; z$1_oES8isz%GEmCm7CeFQfIqzGu!d}uDpot zI2&wNUc`2lI@^`Yi`cI6bH#S$@*=jY)Y-0FZeqKNV!LvA5!+Q1+m*|U*siiH+g09O zj_oSTu^oj=*{(9T4BJ)amSH<;E@ivQGHh2_hV3d#*{-sb?J7&zuCj#fDofaoAZORv zu5y#@DmU1!a^*VPRhrq31nsb0t>GOpOJ*2s1wC|7J(YhXL7DYmOMvR$sucC|*f z%hlPAqMK|-vU@eRt2MG6M^kK9Yh=4zo$YFkY)27n$DTLYPGysa?FeIdgYCFl#dhc@ zZ?GNd*%jM06!nmt9ky#KSzx>7qB`3(7uDGgW5S!q@8!;6yTxUS?P^VIms?=FS`*u; z^zX1;t%>cpRoJf9#CEwl+hM+V^UM+Q#4EO|HLzW7f$bL8tFv9LiS0;6&)lxo#CG*( zeXz6E#CEDlVLNnX4Q$7G6x*R;ZeTlF0=7e!+{kvhI@{Hn*^XzT*sj*hcDV(%t2MJ- zuFiI~X13$yh3#rhY{!eF*sivS?ds3}uqtk1J8ny{U2PHDaW>elwutR=b++S)G|%mF zb++T-HP7vGb+)V3n%FL<*sfMv#CAEwb{M2K&+T%{vR!Ujw#zNYb`&mUyWDbYms^hQ zsJWEwa?7w?ZW*@AEoHmhQnt%2WxL!Gw#zMHJHjzuXS>`@w#(gMyW9=7%Qdmxow^z6 zc148=mbQL%K zn-VFN6hji(y&X*C9nwVPm1{oE_)P96ZK~V-yHx-&YoXq~_IZBZ^*GTNi0OtYrnSSK z!{Tp}T=IQ`811r}PVPXqWan8s1stevpfCApV~5igTo`x4;J9s1hR(S6KmMFrL<+#q zKb-K<(6MZopop)|WH1rf;c=?v3#wKDof3*q)(~jn+`OuV9W2qku#xq-x4d_B&9`ni zY_(dZ)iQVb&R~2K#mh@`kA=v1cMP_6zJt|tgm_k>llO1Eye%bfhsnF(J z9Un|4NpnL)8IoJj?KJ{lu-sNTPi!(|T%gl= zS=#a=vS7Mkkl%xj7)50|aj>^~*`DWW1x(er-B4Uk2l{WiF&bU*Y9MZM!o}S?? zzxS6I_ZU_dD|Ev6@DMl(4T*N%J8mW88@eAf_5VyTmz0VGOE?sQ$rx10d%@%cau`O& zp6<_m{P$mEh>LB)44%k6gda?(qtJppE^k*x+psZ4yd*8LiOjhwdJa(}wbUjD4t5kP z?Tc>e>cS?&Ah%DF@Qw%~)KzO+o%uaUu0gZf3GBGlc|T7I(G4U@RdF8K^mn5#jt~@+ z&27#vP!xBQW>htvKKWI9RIr} zlX?tQWHWEaEETbFVKZ<%+B=B{2bJCT^WMZh;`=V_>t6MOu&>>`cKugU0u9!wzFxV_ zzdUZM$de2E&STr|{$Z97oa#tt$bIAPB`}YLZ=;cnW2(X&4tsQdg44Y{JSThtR18K8 z@Rj#tmY=Ga$4?d$?dAoGFp-3yv689S<9jE!xum)EJs6J;R`ocmDSIuk6AS1p5*K(1d|o@Fuv1e2CH?yA3ao zK}G?E4e@i7V2Ym@ArSyN2x$UFF2)rEI=mwG(bcQ!Zos!?h|294f(71f8KSZxLsV8~ zh|0DN&8SMIfEO!MbR(_5ZLk_3U?QRl zZkLHN(>u=3V{J4fEh2x%cyNKX87Eq$oZ*{WaCqTCO9!%Q^YoxYcFp?;r))FNX5wj-d*GJjzXXt$vz-_Ns+=1e%G(HLDl30^!O`=GJL*&}NQody_p5@js2964;z3 zAk2HzvZ6#!H?wggyV^LfC5Hx;q=Y#!#?4xR}ZQ&?bt((0~)XTsjuq?^apD zhhgvlp$|&LiDv=M&ko+Nt~(y`wZMb&Iqd!J{G?42gx)9Id7Qs-rS^`lexSZ~*j8Dw z-&bzk?<=?O_mzfzPh9v#{hpADi~2n(sTKNtW#xWfxm~}nwEBIk-?#exqJE!SvES!z z-S2a^@AtWeeoyrKMg5*ofs6V*%9$1VeQxD`pSxYZ&$aq}tKYZ!eRIE8k=WI2Rejow zz09iD=;zTQFfEOdA&3d5%C9rWJTt}AIEiGLiIuMXYo=tE5C9OpoSA>3w_W>X%J?|* z$GHe|GxE~KnD`LdUS-rlQ?9jH?-TJ{)0s`11NSidBk#KLo=!M=Bi*;VFk#zU2`fIQ zZ&7L6`UmXsFwew`xooF7XC?ZTS)htCgT1?JtEvAf6-S_B@zFW^ggo=`-k-^%-(D&{pJr8Dt`2fWtN=*VlO690dRDSLeEh&o+tW zz7Us1rTJufNKAE^ASV!lllaa|CHn_xCN(uDbUDIfX2r*gXfx^p=7k0^-XaMS%MNP~ zb5i`nn3YqRc`nV%H!fMt>0LKM0I`epR8PrtvVZ7!-n-Xfeoiv0%ut_w%$r0haj%2Y ze3zY{z(&82FHW-m4pcl2({ZkHLS4v&+HEp8?u38EEF3)(JF**RU>i}`f78s{r9?9I@th$P zlbg)mJxCPb`ePwRG7eS=SQq3;2m+UP+8dY{%raX*oM({BX0XpDF^7BHJ&yLAfo5VH zvl@mRdz|slp6s;O*F{aIEIp%JgUF|jqvupvI~WM^OcfZ}RQ3~o;6!{Oi3o21Qathk zB058Hs}Br~lhMRhNjeDBqLTilEE6%%0QLhfV@>bmC-{jF0?DkF+TF(pHI9;%5e6BK zYj1VV>ZuGuGloD4gYn5cf-3}J_BQ7XLlovl3|YvgCW?%lDp82B zx>j?yn)}21cHgNz;qMa={VNV1_vosxc(>X*y82rl!O{JrtDX-&86NHURPf;_`Ghym zatK?m^?WPZ1=2+I5cfLB7xF`iWViZ?_Sle9t}F@leCl zY26o%_*?Y6uAv;eZ}?J1>CLo6BxUUXx5Mw@9hWAcX(X;&qrWqJQE38uqlrjd1+>{Y z%RRKMbDCRon&eW!k4mAM_NHHHGEPJ z>dF}tF^8u2Bs!>f8A$^&2Hoh?I?Z2>9F7s6G^Hil<885bqp`$BEs}`FNJmGE{z$x2 zYh(V?Zju-}HM$?q-YZbKmRKEsHx|{pV_GEEo3hfRvD5Um8gda0zXanKDKfz8+2qLK z^}|;(N%Wd)RP4~G8Sf^qJ!#@um6LLsW3xlM-WI>ag(qWaEuI+}>7cDleWTgI^_))- z;g$2HQ^-7M`d;lFrI|D1S(W1%72T2jBg5Qj%#6h2F?CVB1d%0=a6XYjFKI;0PLAK9 zokjP?RF5ZZWm2a0;v*mZ0=hUYvO0c_$4PA8cru>y!z5`6^;E1^J40SO;tnHQK`F=s z{=A-fxHq9ijn(m=sU6}`)OfxZ45D;Xn&nPybz(JVA&&rdhbC&ZA6ftQJ@<-DQDkXE9`F%Yei}NlK(>9)n#xt7Z7nMCW_nzg^ zlSB}GFsfwn^8$euUD7*jOvkOItYuCMYk|D;RhwOd!+)V^-6hdrmkPP9K6@qq#;*v z!UCzG{eq3S2IE-_4u=M~gCx&+p;>;iaOtS^ixXu`COK#j*riUt%{x&n>>eT&pOT*O zPALU0k3^|_RaQsl_hxS*7DEEI(C$6{8(!$zC2wkA2(cSxu_P4NV@MHsF|@44R}+f> z1dZ1lKjQymh{n@aHjn-N1c;{pvARI&Xc+B@pQEcs)<%TvO{TPeum3%lu)|@HFQKXp z$A|V&C7z8WAq(Vz=~xsaRE!u*!@d3tde{XusgII0DCWZw@}<5Zor}X@fhcjx=7Egs z^oX!<{W-8piJ87T#aYABWH=cXi+0$*i``%d*d{{COT3hdi2CGNu*>mci1L*t=4RYd zzL+oiZov-+`whf&ar_@>xghZU>kouoh~E@CA>O!wANsy}Lc|W{MGM_`8S!j53h3re(} z8p(Ni7~*?^Y*;H&kLFRAU2uzDp{G9Es*exlrtyK;zK!EUdC~Y#UNSzEmyQqR<;I8d z3gbih7UM(tcH;xSsvl^4Q0}X@8Xt(-`hmxX@*R#3)K(ZDYPT34YPTC7Y9DZXP!7Mh8XszR zFh11oaD1rU`S?Iv-O2b+YmE=B@u4+7w8n>j>hYl#TZ0ILL^yhCu&7+*imVN{dx&~S zL6{(fR4|22K+(f3&TB)0^DaUMlf_Tn(iaQbkgO|6h2jytm*g%ftPC8_-{GB)^&o-5 zY{V*%xuxjd>$Sx%SQ|+xXbdXPx_l7s@a7_9`%!8oG|Vi0JclAZ7RMT1N6w0e_tYeZ zn(Ng!Y9<;VOdskCSBj!YCv=lb`1 z^Qkloao_%gcbR})toM8$K`4u|09y|wU@a7;9Jk~tQ7X!#sfq9teihHhQocZu7a)@j z5u}ba2vS=O*J`-m>>HQ$-nCudDcN}QM$NAE$oiuF+g|qH5t(4k&zn>u6-2^eyN4nK!U}}-|J>-8Ht#7&+ zGqIlI83((o+dSNn^+?A?T(cMIs*v5iy=a2f<|U_uQ^&fEF+F*>OKtmkBi%zZ@uW7Q zw%dYV>>}gndgMi8_1|r8A2HD*8xTFK?e~0dFX7KSq7h`l8&m=2NO-FBu1jdCFHzvX z=Y7?A+++{L#z*P}bjm@^>gwr6QdTb@@ccepI5u`;cD13p-M>_D2`G*ywvjrxos=eV5rTD8uN*{9Y;5(<6r4h#kDJ>_Fmt1NWDL0# zz88khPwvz>x)>|oy)OF9V}C||Ju6{laAM{sgf&hPA#r5G6B*+_BIU%SErt|T?L`_f zdk6t^&z~B}r*PHQcqnl*w$=Y>Sh8R72Fblfd*Snk1CN;?sjE63QR3a9lopL3T32r7 z*p%_Ow5|SmR67W^Fd!sgIpWK;oZ}KSit!q*@LlY_j*<(7Qr-`OAye;(!H=q_9#gdF z^jk(0zx4H#%!PJ|IDIZgg*cnz3)86z$=iisGQbrFLe`CiLN`$Vf_=ENuu1DR0=LneO4uwFe%>=UiJr5TAJs;Mlcr+DBmes9@(YxirE=lz#bBrsq&~- z{`V9h$tP`YJgub(2#{2=wZb3*#Z6{LOL4xw5=A9@NVk3$5o`Z|YA)yA;C$il|M0<) zfuO|b<-U@CWkDwAqr3}zn^9=W^|`XJKyZH~x2waeMeG!guKrZ8Y#$|{@-lstAk9nr zXr-x-veno})n-EveDTQ8t_UsM>Dqqii?zQT2OcA7#6_kE(*EK3ZAa zM^!;nA5{fSeYCQuk5XY#AFV9YM=Q(s(Mqe2w)!agnP0Jw5?y$iK1#&mrF}Hl)JNHB z?4xS4p^vJ~hCZ5W>ZA3#H~T1?O?^~tH}+AsoBF8wy|It7-P}i2K~o>iE$*YLpsA0l zf~G#2ThvFXu&9sbmg%Fp<@;!^)kj->^aJ(Lqisj3S6_G*^O)-8!%E*sbeP|%UVLsO zm5$=}U|ETz^>3>09wAm@+)R;g80S^pi0l8V`qKl-+rYv|5r1Cg70b%jvhK!LdCb5W z0B_+yh@~yfj$cG7TaDbCiiyeHz6KDPhK|7Z0Gy z#ADjba?P3c#8s>!aM$=*GLGgI?_-O3pwfG0Mh?&RRND@pFrry@zh!rXOj3I zb6`~0%!ndtc7sdvfw2>_CugQNRR8zLC~XXz>&??M zr)N)|oIZVGc4oG{dU0fw3ubwM5;~S{H~yY?kT9s5w@W68TyOb`#w%+8*g zo;h{m)SD;SmCy9_n8i{AUzWR!Ui}o_+nV<8IY0MuYUbqW>FE=v-#9frJ$vfpsRJV{ zIq;4!F=|+2MD-ap>5RQ#X~_dWICQNIfcxIXgGiLp?7Sl7)BodFmeAM_HrZF6h-*6=7yvmb9M-IaKsO#rBztYIln17s& z|E|_<{gewr^-g4`1P{K~j9_0IL*ajlhpXKC5u*IXXSaWzl>`rtx&SxMtD~IVm4ynf zIz|uP?-+Pso~!j>WP!~Ij~*kDn7LZNg7>$Ev;Hp)Y)nX^i17dxBgW2uo&pWWqW9Ii zPHXULwd?QI-z#2a?#FD`e@tFw%s+U^c~8_msdAc^+ew(pE9tx*eT;^H;6R~*MKbv?+twtZ>&^2Y3&LEtUMmautWL!<6cj?YmTh* zW~T6j>eT-))-9~5cvhTFMNm-t?|s}U=D&)t3yXn4)zggLY@9x=TN#V+23Pm>IU#3F zLLG5-QXv$1EzNyN&xB)in1E`rg!JSi+H?00W8t#Q`ye z%8)jCpn!1*HV#t+y<&eXSa4wX2eCzj0L;gC75o6v8;1?tqT2a?5^jqXR&uZ((~P21 za)W}h5lx2SI0 zFR)t>ayp7g5nfWFIShZ0Lk2FZJ+=Jijwr`Qq;Pcgp9Tyhm4$(%a&sW5EE-5E%M2uy z6$TQV-&Y<;Dz_U*Dj#GZseIspq;f|CN#)K5lFF|(kW_y4fuzzJNLmBQZAYipK++mW ze&Yj4ZebwF-5f}Aiw2V1G6P9&g@J@<3M&sJx!VmSxeqdsB&~s@HITGcB>%!zB$4XHF~mcu6d{aRw*K`dud8})bj-*o@d*L(aG_zv z_gN?Ft*xFt_#DC;!sFEq>@mndERZnv`dM#HwfZbR7pbHQC^v7ZNO?LdPF&o z^dggC6|Uc?(3bp(uCd}n9uY@f$?hs&SStGY>qnSV0x%p8)EXEYk5shXxUva}%JB6H zXOKoAa^seeLMd?$ULMaPJ|euIT!W5N3yXZj9O+m(W*wTIo*A)NEMKqCX8tIFXv08I zH8wguGmEh3P2$1P7W|_j+^qLDdOzJX$41_mJw5v-k|zFfQdQx4l}a+c|NEy-PEWrz z{l@;U(c6#>2>Df~=)2B{WX5O5gJ$X#O`}0T_Z`3$@;`H?C z|3kHzH>an+_h*E2sOQJkUGfBVV3<|KQb^Sj^u^l@u106(x8PZZ3KPn z)UO~BNh8R(j4+V~c|6GaZNz>ga-VTAfs=!B-5|8$E;sA<=yON{5fgC?J{fJGnDv#c zrIR0M?Km$P-b0+~k0!HzM8AN@1{qpnGr~}PlDh3imp(^3^D-xJc_NARp1*ZCA3?w` zDQ^!XW&bHNIM^Qi(&I8X9j_FJG;x{?Cy@`3pu^w+vXx(}77hA9xSiirc)-it<;VX!aRgOm z6#?+_-hLG4SoWYBNA!vSh6pr9CT{HA>Cf?Epq%Cn+&ektlO%qJe<7No>kYXDr-*!{ zNS#0GNB*Lu8F-vHPT=9yLE^X||B9`oGKfh0V258Vc(3G(IBZQ7Ti#2aYKt6THNp<? z5;3c8{9U!GecQrk75}xx7e4Cys=ttr`u?zd)b}m&0oMG%!e>>_XP)}wr#`p;=|A}| zn;w1g*)OPSYt$e9yNi$dew5E<_5G9l;lH(fRCybpb@CmkAO8BjsfO}R4c|A)ceQUX zpVfT$?_+$r>fdhu;f`*c=4NS!{wl@SuU;Ky)v6Bt+yZXBNALkbb@%+f^)bP{b*%rn zaSVRnl3w_Ii@Hsi-Io+zAQK)=m-XaCBd@btAbw>{JP*b1ivZxn&7tuza#iv!Pf=f5S$h~ zE%-yhir_nfX9dp*o)^3%I4^i@0YBO%*de%1uv;)9m=H7t(}J4??-txHc#q&t!TSUs z5PVSZA;E_Q9}#?1@G-$%g8hPf1)mgrO7LmHX9T|}ctCJW@HxR31ivi!qTow{FAGix zI)Z^1r4BZ7|#J|?(J zuwQVm;FE$+2|g|OjNlgq4+xG4J}3Bs;Fkqo6nshWWx)wSM=%g936=$475tju*9E^J z_)Wpr1ivl#9l`GkzApHN;I!ar!5<1%1m6)nD|k-uyx=9ldBJN7_^~#@4#9PT-GULp zgrF&y7Thd&x8Qccdjxk1-Y58g;Ddq>2|g_Nh~T4wj|uJ)>=)cC_@v-df=>%RBltzZ z1A=3M&k4RD_+`Nt1z!?;S#Uzo5ex)Nf@Q&11-~Zvb-`~4epB!@!EXzGNASCXuM55* zI4yWu@P~pG!FL4D3Z4@@FL+6CUhvuiZfz6n5L_qNEf^6@2%3Uv!Oenq3vRC?e~$L9 ss{PuZHU9+1P}k8q&aIzCt9@GS^Xv525A*w@?(Nt8w5_WBI?{*#2iJnJ8vpshow(); } -void show_global_settings_cb(Fl_Widget *, void *) { - global_settings_window->hotspot(global_settings_window); - show_global_settings_window(); -} - void header_input_cb(Fl_Input* i, void*) { if (strcmp(g_project.header_file_name, i->value())) set_modflag(1); diff --git a/fluid/Fl_Window_Type.h b/fluid/Fl_Window_Type.h index 05af32dc1..4e4ac8a48 100644 --- a/fluid/Fl_Window_Type.h +++ b/fluid/Fl_Window_Type.h @@ -31,7 +31,6 @@ void toggle_overlays(Fl_Widget *,void *); void show_project_cb(Fl_Widget *, void *); void show_grid_cb(Fl_Widget *, void *); void show_settings_cb(Fl_Widget *, void *); -void show_global_settings_cb(Fl_Widget *, void *); class Fl_Window_Type : public Fl_Widget_Type { protected: diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx index dfe69d114..81b2cc454 100644 --- a/fluid/alignment_panel.cxx +++ b/fluid/alignment_panel.cxx @@ -610,383 +610,3 @@ Fl_Double_Window* make_layout_window() { } // Fl_Double_Window* grid_window return grid_window; } -/** - Copy of all options in user and system mode -*/ -static int opt[10][2]; - -/** - Update the UI using the values in the opt array -*/ -static void refreshUI() { - int mode = wUserOrSystem->value(); - wVisibleFocus->value(opt[Fl::OPTION_VISIBLE_FOCUS][mode]); - wArrowFocus->value(opt[Fl::OPTION_ARROW_FOCUS][mode]); - wShowTooltips->value(opt[Fl::OPTION_SHOW_TOOLTIPS][mode]); - wDNDText->value(opt[Fl::OPTION_DND_TEXT][mode]); - wGTKText->value(opt[Fl::OPTION_FNFC_USES_GTK][mode]); - wPrintGTKText->value(opt[Fl::OPTION_PRINTER_USES_GTK][mode]); - wShowZoomFactor->value(opt[Fl::OPTION_SHOW_SCALING][mode]); - wUseZenity->value(opt[Fl::OPTION_FNFC_USES_ZENITY][mode]); -} - -/** - read all preferences and refresh the GUI -*/ -static void readPrefs() { - // read all preferences and refresh the GUI - { - Fl_Preferences prefs(Fl_Preferences::SYSTEM_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1], 2); - opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1], 2); - opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][1], 2); - opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1], 2); - opt_prefs.get("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK ][1], 2); - opt_prefs.get("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK ][1], 2); - opt_prefs.get("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING ][1], 2); - opt_prefs.get("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY ][1], 2); - } - { - Fl_Preferences prefs(Fl_Preferences::USER_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0], 2); - opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0], 2); - opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][0], 2); - opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0], 2); - opt_prefs.get("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK ][0], 2); - opt_prefs.get("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK ][0], 2); - opt_prefs.get("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING ][0], 2); - opt_prefs.get("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY ][0], 2); - } - refreshUI(); -} - -/** - write all preferences using the array -*/ -static void writePrefs() { - // write all preferences using the array - { - Fl_Preferences prefs(Fl_Preferences::SYSTEM_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - if (opt[Fl::OPTION_ARROW_FOCUS][1]==2) opt_prefs.deleteEntry("ArrowFocus"); - else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1]); - if (opt[Fl::OPTION_VISIBLE_FOCUS][1]==2) opt_prefs.deleteEntry("VisibleFocus"); - else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1]); - if (opt[Fl::OPTION_DND_TEXT][1]==2) opt_prefs.deleteEntry("DNDText"); - else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][1]); - if (opt[Fl::OPTION_SHOW_TOOLTIPS][1]==2) opt_prefs.deleteEntry("ShowTooltips"); - else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1]); - if (opt[Fl::OPTION_FNFC_USES_GTK][1]==2) opt_prefs.deleteEntry("FNFCUsesGTK"); - else opt_prefs.set("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK][1]); - if (opt[Fl::OPTION_PRINTER_USES_GTK][1]==2) opt_prefs.deleteEntry("PrintUsesGTK"); - else opt_prefs.set("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK][1]); - if (opt[Fl::OPTION_SHOW_SCALING][1]==2) opt_prefs.deleteEntry("ShowZoomFactor"); - else opt_prefs.set("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING][1]); - if (opt[Fl::OPTION_FNFC_USES_ZENITY][1]==2) opt_prefs.deleteEntry("UseZenity"); - else opt_prefs.set("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY][1]); - } - { - Fl_Preferences prefs(Fl_Preferences::USER_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - if (opt[Fl::OPTION_ARROW_FOCUS][0]==2) opt_prefs.deleteEntry("ArrowFocus"); - else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0]); - if (opt[Fl::OPTION_VISIBLE_FOCUS][0]==2) opt_prefs.deleteEntry("VisibleFocus"); - else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0]); - if (opt[Fl::OPTION_DND_TEXT][0]==2) opt_prefs.deleteEntry("DNDText"); - else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][0]); - if (opt[Fl::OPTION_SHOW_TOOLTIPS][0]==2) opt_prefs.deleteEntry("ShowTooltips"); - else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0]); - if (opt[Fl::OPTION_FNFC_USES_GTK][0]==2) opt_prefs.deleteEntry("FNFCUsesGTK"); - else opt_prefs.set("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK][0]); - if (opt[Fl::OPTION_PRINTER_USES_GTK][0]==2) opt_prefs.deleteEntry("PrintUsesGTK"); - else opt_prefs.set("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK][0]); - if (opt[Fl::OPTION_SHOW_SCALING][0]==2) opt_prefs.deleteEntry("ShowZoomFactor"); - else opt_prefs.set("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING][0]); - if (opt[Fl::OPTION_FNFC_USES_ZENITY][0]==2) opt_prefs.deleteEntry("UseZenity"); - else opt_prefs.set("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY][0]); - } -} - -void show_global_settings_window() { - if (!global_settings_window) - make_global_settings_window(); - readPrefs(); - refreshUI(); - fl_message( - "WARNING!\n\n" - "The following dialog changes the user interface behavior\n" - "of ALL FLTK applications, for the current user, or for \n" - "ALL users on this machine.\n\n" - "Please choose these settings carefully, or reset\n" - "user and system settings to \"default\"."); - global_settings_window->show(); -} - -Fl_Double_Window *global_settings_window=(Fl_Double_Window *)0; - -Fl_Choice *wVisibleFocus=(Fl_Choice *)0; - -static void cb_wVisibleFocus(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_VISIBLE_FOCUS][mode] = wVisibleFocus->value(); -} - -Fl_Menu_Item menu_wVisibleFocus[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wArrowFocus=(Fl_Choice *)0; - -static void cb_wArrowFocus(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_ARROW_FOCUS][mode] = wArrowFocus->value(); -} - -Fl_Menu_Item menu_wArrowFocus[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wShowTooltips=(Fl_Choice *)0; - -static void cb_wShowTooltips(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_SHOW_TOOLTIPS][mode] = wShowTooltips->value(); -} - -Fl_Menu_Item menu_wShowTooltips[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wDNDText=(Fl_Choice *)0; - -static void cb_wDNDText(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_DND_TEXT][mode] = wDNDText->value(); -} - -Fl_Menu_Item menu_wDNDText[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wGTKText=(Fl_Choice *)0; - -static void cb_wGTKText(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_FNFC_USES_GTK ][mode] = wGTKText->value(); -} - -Fl_Menu_Item menu_wGTKText[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wUseZenity=(Fl_Choice *)0; - -static void cb_wUseZenity(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_FNFC_USES_ZENITY ][mode] = wUseZenity->value(); -} - -Fl_Menu_Item menu_wUseZenity[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wPrintGTKText=(Fl_Choice *)0; - -static void cb_wPrintGTKText(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_PRINTER_USES_GTK ][mode] = wPrintGTKText->value(); -} - -Fl_Menu_Item menu_wPrintGTKText[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wShowZoomFactor=(Fl_Choice *)0; - -static void cb_wShowZoomFactor(Fl_Choice*, void*) { - int mode = wUserOrSystem->value(); - opt[Fl::OPTION_SHOW_SCALING ][mode] = wShowZoomFactor->value(); -} - -Fl_Menu_Item menu_wShowZoomFactor[] = { - {"off", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"on", 0, 0, (void*)(1), 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"default", 0, 0, (void*)(2), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Choice *wUserOrSystem=(Fl_Choice *)0; - -static void cb_wUserOrSystem(Fl_Choice*, void*) { - refreshUI(); -} - -Fl_Menu_Item menu_wUserOrSystem[] = { - {"User Settings", 0, 0, (void*)(0), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {"System Settings", 0, 0, (void*)(1), 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -static void cb_Cancel1(Fl_Button*, void*) { - global_settings_window->hide(); -} - -static void cb_OK(Fl_Button*, void*) { - writePrefs(); - global_settings_window->hide(); -} - -Fl_Double_Window* make_global_settings_window() { - { global_settings_window = new Fl_Double_Window(400, 572, "FLTK Preferences"); - global_settings_window->color(FL_LIGHT1); - { Fl_Group* o = new Fl_Group(10, 10, 380, 100, "Keyboard Focus Options"); - o->box(FL_GTK_DOWN_BOX); - o->labelfont(2); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { wVisibleFocus = new Fl_Choice(245, 40, 100, 25, "Visible Keyboard Focus:"); - wVisibleFocus->tooltip("OPTION_VISIBLE_FOCUS\n\nIf visible focus is switched on, FLTK will draw a dot\ -ted rectangle inside the widget that will receive the next keystroke. If switc\ -hed off, no such indicator will be drawn and keyboard navigation is disabled.\ -\n\nDefault is on."); - wVisibleFocus->down_box(FL_BORDER_BOX); - wVisibleFocus->callback((Fl_Callback*)cb_wVisibleFocus); - wVisibleFocus->menu(menu_wVisibleFocus); - } // Fl_Choice* wVisibleFocus - { wArrowFocus = new Fl_Choice(245, 75, 100, 25, "Arrow Keys move Focus:"); - wArrowFocus->tooltip("OPTION_ARROW_FOCUS\n\nWhen switched on, moving the text cursor beyond the sta\ -rt or end of the text in a text widget will change focus to the next widget. W\ -hen switched off, the cursor will stop at the end of the text. Pressing Tab or\ - Ctrl-Tab will advance the keyboard focus. Switch this on, if you want the old\ - behavior of FLTK 1.1.\n\nDefault is off."); - wArrowFocus->down_box(FL_BORDER_BOX); - wArrowFocus->callback((Fl_Callback*)cb_wArrowFocus); - wArrowFocus->menu(menu_wArrowFocus); - } // Fl_Choice* wArrowFocus - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 120, 380, 65, "Tooltip Options"); - o->box(FL_GTK_DOWN_BOX); - o->labelfont(2); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { wShowTooltips = new Fl_Choice(245, 150, 100, 25, "Show Tooltips:"); - wShowTooltips->tooltip("OPTION_SHOW_TOOLTIPS\n\nIf tooltips are enabled, hovering the mouse over a wi\ -dget with a tooltip text will open a little tooltip window until the mouse lea\ -ves the widget. If disabled, no tooltip is shown.\n\nDefault is on."); - wShowTooltips->down_box(FL_BORDER_BOX); - wShowTooltips->callback((Fl_Callback*)cb_wShowTooltips); - wShowTooltips->menu(menu_wShowTooltips); - } // Fl_Choice* wShowTooltips - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 194, 380, 66, "Drag And Drop Options"); - o->box(FL_GTK_DOWN_BOX); - o->labelfont(2); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { wDNDText = new Fl_Choice(245, 225, 100, 25, "Allow dragging Text:"); - wDNDText->tooltip("OPTION_DND_TEXT\n\nIf text drag-and-drop is enabled, the user can select and \ -drag text from any text widget. If disabled, no dragging is possible, however \ -dropping text from other applications still works.\n\nDefault is on."); - wDNDText->down_box(FL_BORDER_BOX); - wDNDText->callback((Fl_Callback*)cb_wDNDText); - wDNDText->menu(menu_wDNDText); - } // Fl_Choice* wDNDText - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 269, 380, 104, "Native File Chooser Options"); - o->box(FL_GTK_DOWN_BOX); - o->labelfont(2); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { wGTKText = new Fl_Choice(245, 300, 100, 25, "Native File Chooser uses GTK:"); - wGTKText->tooltip("OPTION_FNFC_USES_GTK\n\nIf \'Native File Chooser uses GTK\' is enabled, the F\ -l_Native_File_Chooser class\ncalls the GTK open/save file dialogs when they ar\ -e available on the platfom. If disabled, the Fl_Native_File_Chooser class\nalw\ -ays uses FLTK\'s own file dialog (i.e., Fl_File_Chooser) even if GTK is availa\ -ble.\n\nDefault is on."); - wGTKText->down_box(FL_BORDER_BOX); - wGTKText->callback((Fl_Callback*)cb_wGTKText); - wGTKText->menu(menu_wGTKText); - } // Fl_Choice* wGTKText - { wUseZenity = new Fl_Choice(245, 334, 100, 26, "Native File Chooser uses Zenity:"); - wUseZenity->tooltip("OPTION_FNFC_USES_ZENITY\n\nIf \'Native File Chooser uses Zenity\' is enabled,\ - the library uses a Zenity-based file dialog to open/save files when possible.\ - If disabled, the GTK-based dialog is used. Default is on. Meaningful only wit\ -h Wayland/X11 platforms."); - wUseZenity->down_box(FL_BORDER_BOX); - wUseZenity->callback((Fl_Callback*)cb_wUseZenity); - wUseZenity->menu(menu_wUseZenity); - } // Fl_Choice* wUseZenity - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 384, 380, 66, "Print dialog Options"); - o->box(FL_GTK_DOWN_BOX); - o->labelfont(2); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { wPrintGTKText = new Fl_Choice(245, 405, 100, 25, "Print dialog uses GTK:"); - wPrintGTKText->tooltip("OPTION_PRINTER_USES_GTK\n\nIf \'Print dialog uses GTK\' is enabled, the Fl_Pr\ -inter class\ncalls the GTK print dialog when it\'s available on the platfom. I\ -f disabled, the Fl_Printer class\nalways uses FLTK\'s own print dialog even if\ - GTK is available.\n\nDefault is on."); - wPrintGTKText->down_box(FL_BORDER_BOX); - wPrintGTKText->callback((Fl_Callback*)cb_wPrintGTKText); - wPrintGTKText->menu(menu_wPrintGTKText); - } // Fl_Choice* wPrintGTKText - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(10, 459, 380, 66, "Scaling Factor Options"); - o->box(FL_GTK_DOWN_BOX); - o->labelfont(2); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { wShowZoomFactor = new Fl_Choice(245, 483, 100, 25, "Transiently show scaling factor:"); - wShowZoomFactor->tooltip("OPTION_SHOW_SCALING\n\nIf \'Transiently show scaling factor\' is enabled, the\ - library shows in a transient yellow window the display\nscaling factor value \ -when it is changed. If disabled, no such transient window is used.\n\nDefault \ -is on."); - wShowZoomFactor->down_box(FL_BORDER_BOX); - wShowZoomFactor->callback((Fl_Callback*)cb_wShowZoomFactor); - wShowZoomFactor->menu(menu_wShowZoomFactor); - } // Fl_Choice* wShowZoomFactor - o->end(); - } // Fl_Group* o - { wUserOrSystem = new Fl_Choice(10, 535, 141, 25); - wUserOrSystem->tooltip("Change settings for the current user, or default values for all users of this\ - computer. Individual users can override system options, if they set their opt\ -ions to specific values (not \'default\')."); - wUserOrSystem->down_box(FL_BORDER_BOX); - wUserOrSystem->callback((Fl_Callback*)cb_wUserOrSystem); - wUserOrSystem->menu(menu_wUserOrSystem); - } // Fl_Choice* wUserOrSystem - { Fl_Button* o = new Fl_Button(230, 535, 75, 25, "Cancel"); - o->callback((Fl_Callback*)cb_Cancel1); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(315, 535, 75, 25, "OK"); - o->callback((Fl_Callback*)cb_OK); - } // Fl_Button* o - global_settings_window->end(); - } // Fl_Double_Window* global_settings_window - readPrefs(); - Fl::option(Fl::OPTION_SHOW_TOOLTIPS,1); // make sure tooltips are on ! - return global_settings_window; -} diff --git a/fluid/alignment_panel.fl b/fluid/alignment_panel.fl index 4525704ed..96d37ddcf 100644 --- a/fluid/alignment_panel.fl +++ b/fluid/alignment_panel.fl @@ -59,7 +59,7 @@ decl {extern struct Fl_Menu_Item *dbmanager_item;} {public local Function {make_project_window()} {} { Fl_Window project_window { - label {Project Settings} open + label {Project Settings} xywh {472 246 399 298} type Double hide code0 {\#include } code1 {\#include } modal @@ -291,7 +291,7 @@ Examples: Function {make_shell_window()} {open } { Fl_Window shell_window { - label {Shell Command} open + label {Shell Command} xywh {544 751 365 200} type Double hide modal size_range {365 200 365 200} } { Fl_Group {} {open @@ -488,391 +488,3 @@ Function {make_layout_window()} {open } } } - -decl {int opt[10][2];} { - comment {Copy of all options in user and system mode} private local -} - -Function {refreshUI()} { - comment {Update the UI using the values in the opt array} private return_type void -} { - code {int mode = wUserOrSystem->value(); -wVisibleFocus->value(opt[Fl::OPTION_VISIBLE_FOCUS][mode]); -wArrowFocus->value(opt[Fl::OPTION_ARROW_FOCUS][mode]); -wShowTooltips->value(opt[Fl::OPTION_SHOW_TOOLTIPS][mode]); -wDNDText->value(opt[Fl::OPTION_DND_TEXT][mode]); -wGTKText->value(opt[Fl::OPTION_FNFC_USES_GTK][mode]); -wPrintGTKText->value(opt[Fl::OPTION_PRINTER_USES_GTK][mode]); -wShowZoomFactor->value(opt[Fl::OPTION_SHOW_SCALING][mode]); -wUseZenity->value(opt[Fl::OPTION_FNFC_USES_ZENITY][mode]);} {} -} - -Function {readPrefs()} { - comment {read all preferences and refresh the GUI} open private return_type void -} { - code {// read all preferences and refresh the GUI -{ - Fl_Preferences prefs(Fl_Preferences::SYSTEM_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1], 2); - opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1], 2); - opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][1], 2); - opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1], 2); - opt_prefs.get("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK ][1], 2); - opt_prefs.get("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK ][1], 2); - opt_prefs.get("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING ][1], 2); - opt_prefs.get("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY ][1], 2); -} -{ - Fl_Preferences prefs(Fl_Preferences::USER_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0], 2); - opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0], 2); - opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][0], 2); - opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0], 2); - opt_prefs.get("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK ][0], 2); - opt_prefs.get("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK ][0], 2); - opt_prefs.get("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING ][0], 2); - opt_prefs.get("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY ][0], 2); -} -refreshUI();} {} -} - -Function {writePrefs()} { - comment {write all preferences using the array} open private return_type void -} { - code {// write all preferences using the array -{ - Fl_Preferences prefs(Fl_Preferences::SYSTEM_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - if (opt[Fl::OPTION_ARROW_FOCUS][1]==2) opt_prefs.deleteEntry("ArrowFocus"); - else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1]); - if (opt[Fl::OPTION_VISIBLE_FOCUS][1]==2) opt_prefs.deleteEntry("VisibleFocus"); - else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1]); - if (opt[Fl::OPTION_DND_TEXT][1]==2) opt_prefs.deleteEntry("DNDText"); - else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][1]); - if (opt[Fl::OPTION_SHOW_TOOLTIPS][1]==2) opt_prefs.deleteEntry("ShowTooltips"); - else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1]); - if (opt[Fl::OPTION_FNFC_USES_GTK][1]==2) opt_prefs.deleteEntry("FNFCUsesGTK"); - else opt_prefs.set("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK][1]); - if (opt[Fl::OPTION_PRINTER_USES_GTK][1]==2) opt_prefs.deleteEntry("PrintUsesGTK"); - else opt_prefs.set("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK][1]); - if (opt[Fl::OPTION_SHOW_SCALING][1]==2) opt_prefs.deleteEntry("ShowZoomFactor"); - else opt_prefs.set("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING][1]); - if (opt[Fl::OPTION_FNFC_USES_ZENITY][1]==2) opt_prefs.deleteEntry("UseZenity"); - else opt_prefs.set("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY][1]); -} -{ - Fl_Preferences prefs(Fl_Preferences::USER_L, "fltk.org", "fltk"); - Fl_Preferences opt_prefs(prefs, "options"); - if (opt[Fl::OPTION_ARROW_FOCUS][0]==2) opt_prefs.deleteEntry("ArrowFocus"); - else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0]); - if (opt[Fl::OPTION_VISIBLE_FOCUS][0]==2) opt_prefs.deleteEntry("VisibleFocus"); - else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0]); - if (opt[Fl::OPTION_DND_TEXT][0]==2) opt_prefs.deleteEntry("DNDText"); - else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][0]); - if (opt[Fl::OPTION_SHOW_TOOLTIPS][0]==2) opt_prefs.deleteEntry("ShowTooltips"); - else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0]); - if (opt[Fl::OPTION_FNFC_USES_GTK][0]==2) opt_prefs.deleteEntry("FNFCUsesGTK"); - else opt_prefs.set("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK][0]); - if (opt[Fl::OPTION_PRINTER_USES_GTK][0]==2) opt_prefs.deleteEntry("PrintUsesGTK"); - else opt_prefs.set("PrintUsesGTK", opt[Fl::OPTION_PRINTER_USES_GTK][0]); - if (opt[Fl::OPTION_SHOW_SCALING][0]==2) opt_prefs.deleteEntry("ShowZoomFactor"); - else opt_prefs.set("ShowZoomFactor", opt[Fl::OPTION_SHOW_SCALING][0]); - if (opt[Fl::OPTION_FNFC_USES_ZENITY][0]==2) opt_prefs.deleteEntry("UseZenity"); - else opt_prefs.set("UseZenity", opt[Fl::OPTION_FNFC_USES_ZENITY][0]); -}} {} -} - -Function {show_global_settings_window()} {open return_type void -} { - code {if (!global_settings_window) - make_global_settings_window(); -readPrefs(); -refreshUI(); -fl_message( - "WARNING!\\n\\n" - "The following dialog changes the user interface behavior\\n" - "of ALL FLTK applications, for the current user, or for \\n" - "ALL users on this machine.\\n\\n" - "Please choose these settings carefully, or reset\\n" - "user and system settings to \\"default\\"."); -global_settings_window->show();} {} -} - -Function {make_global_settings_window()} {} { - Fl_Window global_settings_window { - label {FLTK Preferences} open - xywh {817 110 400 572} type Double color 50 hide - } { - Fl_Group {} { - label {Keyboard Focus Options} open - xywh {10 10 380 100} box GTK_DOWN_BOX labelfont 2 align 21 - } { - Fl_Choice wVisibleFocus { - label {Visible Keyboard Focus:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_VISIBLE_FOCUS][mode] = wVisibleFocus->value();} open - tooltip {OPTION_VISIBLE_FOCUS - -If visible focus is switched on, FLTK will draw a dotted rectangle inside the widget that will receive the next keystroke. If switched off, no such indicator will be drawn and keyboard navigation is disabled. - -Default is on.} xywh {245 40 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {10 10 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {10 10 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {10 10 31 20} - } - } - Fl_Choice wArrowFocus { - label {Arrow Keys move Focus:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_ARROW_FOCUS][mode] = wArrowFocus->value();} open - tooltip {OPTION_ARROW_FOCUS - -When switched on, moving the text cursor beyond the start or end of the text in a text widget will change focus to the next widget. When switched off, the cursor will stop at the end of the text. Pressing Tab or Ctrl-Tab will advance the keyboard focus. Switch this on, if you want the old behavior of FLTK 1.1. - -Default is off.} xywh {245 75 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {0 0 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {0 0 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {0 0 31 20} - } - } - } - Fl_Group {} { - label {Tooltip Options} open - xywh {10 120 380 65} box GTK_DOWN_BOX labelfont 2 align 21 - } { - Fl_Choice wShowTooltips { - label {Show Tooltips:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_SHOW_TOOLTIPS][mode] = wShowTooltips->value();} open - tooltip {OPTION_SHOW_TOOLTIPS - -If tooltips are enabled, hovering the mouse over a widget with a tooltip text will open a little tooltip window until the mouse leaves the widget. If disabled, no tooltip is shown. - -Default is on.} xywh {245 150 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {10 10 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {10 10 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {10 10 31 20} - } - } - } - Fl_Group {} { - label {Drag And Drop Options} open - xywh {10 194 380 66} box GTK_DOWN_BOX labelfont 2 align 21 - } { - Fl_Choice wDNDText { - label {Allow dragging Text:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_DND_TEXT][mode] = wDNDText->value();} open - tooltip {OPTION_DND_TEXT - -If text drag-and-drop is enabled, the user can select and drag text from any text widget. If disabled, no dragging is possible, however dropping text from other applications still works. - -Default is on.} xywh {245 225 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {30 30 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {30 30 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {30 30 31 20} - } - } - } - Fl_Group {} { - label {Native File Chooser Options} open - xywh {10 269 380 104} box GTK_DOWN_BOX labelfont 2 align 21 - } { - Fl_Choice wGTKText { - label {Native File Chooser uses GTK:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_FNFC_USES_GTK ][mode] = wGTKText->value();} open - tooltip {OPTION_FNFC_USES_GTK - -If 'Native File Chooser uses GTK' is enabled, the Fl_Native_File_Chooser class -calls the GTK open/save file dialogs when they are available on the platfom. If disabled, the Fl_Native_File_Chooser class -always uses FLTK's own file dialog (i.e., Fl_File_Chooser) even if GTK is available. - -Default is on.} xywh {245 300 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {30 30 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {30 30 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {30 30 31 20} - } - } - Fl_Choice wUseZenity { - label {Native File Chooser uses Zenity:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_FNFC_USES_ZENITY ][mode] = wUseZenity->value();} - tooltip {OPTION_FNFC_USES_ZENITY - -If 'Native File Chooser uses Zenity' is enabled, the library uses a Zenity-based file dialog to open/save files when possible. If disabled, the GTK-based dialog is used. Default is on. Meaningful only with Wayland/X11 platforms.} xywh {245 334 100 26} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {545 545 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {545 545 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {545 545 31 20} - } - } - } - Fl_Group {} { - label {Print dialog Options} open - xywh {10 384 380 66} box GTK_DOWN_BOX labelfont 2 align 21 - } { - Fl_Choice wPrintGTKText { - label {Print dialog uses GTK:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_PRINTER_USES_GTK ][mode] = wPrintGTKText->value();} open - tooltip {OPTION_PRINTER_USES_GTK - -If 'Print dialog uses GTK' is enabled, the Fl_Printer class -calls the GTK print dialog when it's available on the platfom. If disabled, the Fl_Printer class -always uses FLTK's own print dialog even if GTK is available. - -Default is on.} xywh {245 405 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {30 30 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {30 30 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {30 30 31 20} - } - } - } - Fl_Group {} { - label {Scaling Factor Options} open - xywh {10 459 380 66} box GTK_DOWN_BOX labelfont 2 align 21 - } { - Fl_Choice wShowZoomFactor { - label {Transiently show scaling factor:} - callback {int mode = wUserOrSystem->value(); -opt[Fl::OPTION_SHOW_SCALING ][mode] = wShowZoomFactor->value();} open - tooltip {OPTION_SHOW_SCALING - -If 'Transiently show scaling factor' is enabled, the library shows in a transient yellow window the display -scaling factor value when it is changed. If disabled, no such transient window is used. - -Default is on.} xywh {245 483 100 25} down_box BORDER_BOX - } { - MenuItem {} { - label off - user_data 0 user_data_type long - xywh {30 30 31 20} - } - MenuItem {} { - label on - user_data 1 user_data_type long - xywh {30 30 31 20} divider - } - MenuItem {} { - label default - user_data 2 user_data_type long - xywh {30 30 31 20} - } - } - } - Fl_Choice wUserOrSystem { - callback {refreshUI();} open - tooltip {Change settings for the current user, or default values for all users of this computer. Individual users can override system options, if they set their options to specific values (not 'default').} xywh {10 535 141 25} down_box BORDER_BOX - } { - MenuItem {} { - label {User Settings} - user_data 0 user_data_type long - xywh {0 0 31 20} - } - MenuItem {} { - label {System Settings} - user_data 1 user_data_type long - xywh {0 0 31 20} - } - } - Fl_Button {} { - label Cancel - callback {global_settings_window->hide();} - xywh {230 535 75 25} - } - Fl_Button {} { - label OK - callback {writePrefs(); -global_settings_window->hide();} - xywh {315 535 75 25} - } - } - code {readPrefs(); - Fl::option(Fl::OPTION_SHOW_TOOLTIPS,1); // make sure tooltips are on !} {} -} diff --git a/fluid/alignment_panel.h b/fluid/alignment_panel.h index 845260289..577648a94 100644 --- a/fluid/alignment_panel.h +++ b/fluid/alignment_panel.h @@ -105,25 +105,4 @@ extern Fl_Check_Button *guides_toggle; extern void default_widget_size_cb(Fl_Round_Button*, long); extern Fl_Round_Button *def_widget_size[6]; Fl_Double_Window* make_layout_window(); -void show_global_settings_window(); -extern Fl_Double_Window *global_settings_window; -extern Fl_Choice *wVisibleFocus; -extern Fl_Choice *wArrowFocus; -extern Fl_Choice *wShowTooltips; -extern Fl_Choice *wDNDText; -extern Fl_Choice *wGTKText; -extern Fl_Choice *wUseZenity; -extern Fl_Choice *wPrintGTKText; -extern Fl_Choice *wShowZoomFactor; -extern Fl_Choice *wUserOrSystem; -Fl_Double_Window* make_global_settings_window(); -extern Fl_Menu_Item menu_wVisibleFocus[]; -extern Fl_Menu_Item menu_wArrowFocus[]; -extern Fl_Menu_Item menu_wShowTooltips[]; -extern Fl_Menu_Item menu_wDNDText[]; -extern Fl_Menu_Item menu_wGTKText[]; -extern Fl_Menu_Item menu_wUseZenity[]; -extern Fl_Menu_Item menu_wPrintGTKText[]; -extern Fl_Menu_Item menu_wShowZoomFactor[]; -extern Fl_Menu_Item menu_wUserOrSystem[]; #endif diff --git a/fluid/fluid.cxx b/fluid/fluid.cxx index 47266b63f..fdd5b9941 100644 --- a/fluid/fluid.cxx +++ b/fluid/fluid.cxx @@ -1426,8 +1426,7 @@ Fl_Menu_Item Main_Menu[] = { {"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}, {"Pro&ject Settings...",FL_ALT+'p',show_project_cb}, - {"GU&I Settings...",FL_ALT+FL_SHIFT+'p',show_settings_cb,0,FL_MENU_DIVIDER}, - {"Global &FLTK Settings...",FL_ALT+FL_SHIFT+'g',show_global_settings_cb}, + {"GU&I Settings...",FL_ALT+FL_SHIFT+'p',show_settings_cb}, {0}, {"&New", 0, 0, (void *)New_Menu, FL_SUBMENU_POINTER}, {"&Layout",0,0,0,FL_SUBMENU}, @@ -1650,7 +1649,6 @@ void make_main_window() { if (!batch_mode) { load_history(); make_settings_window(); - make_global_settings_window(); } } diff --git a/makeinclude.in b/makeinclude.in index 5c8c0cc74..ac64e9a4f 100644 --- a/makeinclude.in +++ b/makeinclude.in @@ -129,6 +129,9 @@ FLUID = @FLUID@$(EXEEXT) # depends on the build type (native or cross-compiler) FLUID_BUILD = @FLUID_BUILD@ +# Name of fltk-options executable we install +FLTK_OPTIONS = @FLTK_OPTIONS@$(EXEEXT) + # Possible steps for OS X build only OSX_ONLY = @OSX_ONLY@ diff --git a/test/demo.cxx b/test/demo.cxx index fa763d420..2204b1cba 100644 --- a/test/demo.cxx +++ b/test/demo.cxx @@ -1,7 +1,7 @@ // // Main demo program for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2022 by Bill Spitzak and others. +// 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 @@ -112,10 +112,11 @@ char params[256]; // commandline arguments // Global path variables for all platforms and build systems // to avoid duplication and dynamic allocation -char app_path [FL_PATH_MAX]; // directory of all demo binaries -char fluid_path [FL_PATH_MAX]; // binary directory of fluid -char data_path [FL_PATH_MAX]; // working directory of all demos -char command [2 * FL_PATH_MAX + 40]; // command to be executed +char app_path [FL_PATH_MAX]; // directory of all demo binaries +char fluid_path [FL_PATH_MAX]; // binary directory of fluid +char options_path [FL_PATH_MAX]; // binary directory of fltk-options +char data_path [FL_PATH_MAX]; // working directory of all demos +char command [2 * FL_PATH_MAX + 40]; // command to be executed // platform specific suffix for executable files @@ -387,6 +388,8 @@ void dobut(Fl_Widget *, long arg) { const char *path = app_path; if (!strncmp(cmdbuf, "fluid", 5)) path = fluid_path; + else if (!strncmp(cmdbuf, "fltk-options", 5)) + path = options_path; // format commandline with optional parameters @@ -543,19 +546,25 @@ int main(int argc, char **argv) { // - "../../$CMAKE_INTDIR" for multi-config (Visual Studio or Xcode) CMake builds strcpy(fluid_path, app_path); + strcpy(options_path, app_path); - if (cmake_intdir) + if (cmake_intdir) { fix_path(fluid_path); // remove intermediate (build type) folder, e.g. "/Debug" + fix_path(options_path); + } fix_path(fluid_path); // remove folder name ("test") + fix_path(options_path); #if !defined(GENERATED_BY_CMAKE) strcat(fluid_path, "/fluid"); + strcat(options_path, "/fltk-options"); #else // CMake: potentially Visual Studio or Xcode (multi config) - if (cmake_intdir) + if (cmake_intdir) { strcat(fluid_path, cmake_intdir); // append e.g. "/Debug" - + strcat(options_path, cmake_intdir); + } #endif // GENERATED_BY_CMAKE // construct data_path for the menu file and all resources (data files) @@ -607,11 +616,12 @@ int main(int argc, char **argv) { fl_getcwd(cwd, sizeof(cwd)); fix_path(cwd, 0); - debug_var("app_path", app_path); - debug_var("fluid_path", fluid_path); - debug_var("data_path", data_path); - debug_var("menu file", menu); - debug_var("cwd", cwd); + debug_var("app_path", app_path); + debug_var("fluid_path", fluid_path); + debug_var("options_path", options_path); + debug_var("data_path", data_path); + debug_var("menu file", menu); + debug_var("cwd", cwd); tty->printf("\n"); } diff --git a/test/demo.menu b/test/demo.menu index 16cce02da..3549b18ef 100644 --- a/test/demo.menu +++ b/test/demo.menu @@ -58,7 +58,9 @@ @u:fast && slow widgets:fast_slow @u:inactive:inactive -@main:Fluid\n(UI design tool):fluid valuators.fl +@main:Tools...:@t + @t:Fluid\n(UI design tool):fluid valuators.fl + @t:FLTK\nRuntime\nOptions:fltk-options @main:Cool\nDemos...:@e @e:Mandelbrot:mandelbrot

- + [Prev] - Programming with FLUID + FLTK Runtime Options diff --git a/documentation/src/fltk-config.man b/documentation/src/fltk-config.man index 6b53958b8..e021930df 100644 --- a/documentation/src/fltk-config.man +++ b/documentation/src/fltk-config.man @@ -81,7 +81,7 @@ Enables image file support. .br Displays the current FLTK version number, e.g. "1.1.0". .SH SEE ALSO -fluid(1), fltk(3) +fluid(1), fltk-options(1), fltk(3) .br FLTK Programming Manual .br diff --git a/documentation/src/fltk-options.dox b/documentation/src/fltk-options.dox new file mode 100644 index 000000000..c9603fc6d --- /dev/null +++ b/documentation/src/fltk-options.dox @@ -0,0 +1,85 @@ +/** + + \page fltk-options FLTK Runtime Options + +In this chapter, we will cover how to access and alter settings for +applications created using FLTK, both as an administrator and as +a regular user. + +Subchapters: + +\li \ref fltk-options_basics +\li \ref fltk-options_access +\li \ref fltk-options_app +\li \ref fltk-options_options + +\section fltk-options_basics Runtime Options + +FLTK keeps track of various aspects of the user interface in a system-wide +database. Users have the ability to set their own preferences and override +default or system settings. For instance, FLTK will display a dotted +rectangle around the widget with current focus. This might not be desirable +for users who do not use keyboard navigation and do not need the rectangle. +This can be turned off by setting the OPTION_VISIBLE_FOCUS option to 'off' +for that user, which will disable the focus rectangle in all FLTK-based +applications. + +\section fltk-options_access Obtaining Current Settings + +Options are kept in preference files using the signature +`Fl_Preferences::CORE_SYSTEM, "fltk.org", "fltk"` for system-wide settings +and `Fl_Preferences::CORE_USER, "fltk.org", "fltk"` for individual users. +They can be accessed by using the function `bool Fl::option(Fl_Option opt)`. +If an application needs to temporarily override user or system settings, +it can use the function `void option(Fl_Option opt, bool val)`. + +To make changes to options permanently, FLTK provides an administrative +tool called fltk-options. + +\section fltk-options_app Administrative Tool + +`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. + +When fltk-options is called without any command-line arguments, it opens in +interactive mode and provides a user interface to view and alter all +system and current user options. + +Starting the tool from a shell, the command-line options `-S` and `-U` can be +used to display or change system or user options. On MS-Windows, `fltk-options` +is also available as `fltk-options-cmd.exe`. + +\section fltk-options_options List of Options + +Calling `fltk-options --help` gives a list of all available commands, and +options and their values. `fltk-options --help OPTION` prints more detailed +information for OPTION if available. In interactive mode, tooltips provide +this additional information. + +A full list of options can be found in the maunal at \ref Fl_Option . + + +\htmlonly +
+ + + + + + +
+ + [Prev] + Programming with FLUID + + + [Index] + + + Advanced FLTK + [Next] + +
+\endhtmlonly + +*/ diff --git a/documentation/src/fltk-options.man b/documentation/src/fltk-options.man new file mode 100644 index 000000000..c3beae1c1 --- /dev/null +++ b/documentation/src/fltk-options.man @@ -0,0 +1,98 @@ +.TH fltk\-options 1 "Fast Light Tool Kit" "13. January 2023" +.SH NAME +fltk\-options \- application to get and modify FLTK runtime options. +.sp +.SH SYNOPSIS +fltk\-options +[ \-S\fIoption[=value]\fR ] +[ \-U\fIoption[=value]\fR ] +[ \-L ] +[ \-LS ] +[ \-LU ] +[ \-f ] +[ \-v ] [ \-\-verbose ] +[ \-h[option] ] [ \-\-help [option] ] +.SH DESCRIPTION +\fIfltk\-options\fR is a tool that allows you to access and change settings +related to the user interface in applications built with FLTK. These settings +will be applied when the program is launched. They can be set at the system +level or by the individual user. User settings take precedence +over system settings. +.LP +The following command line arguments are supported: +.TP 5 +\-S\fIoption[=value]\fR +.br +Change or print system wide option. +.TP 5 +\-U\fIoption[=value]\fR +.br +Change or print user option. Values can be "0" or "OFF" to clear, +or "1" or "ON" to set the option. The value "-1" or "DEFAULT" sets +the option to its default value. +If no value is given, the current setting is returned as "-1", "0", or "1". +.TP 5 +\-L +.br +List the value of all options. +.TP 5 +\-LS +.br +List the value of all system options. +.TP 5 +\-LU +.br +List the value of all user options. +.TP 5 +\-f +.br +Suppress error messages concerning file access permissions. +.TP 5 +\-v, \-\-verbose +.br +Print additional information in command line mode. +.TP 5 +\-h[option], \-\-help [option] +.br +Prints a help page. If an option is give, print detailed information +for that option. +.LP +The following FLTK options are supported: +.TP 5 +OPTION_VISIBLE_FOCUS +.br +Draw a dotted rectangle in widget with keyboard focus. +.TP 5 +OPTION_ARROW_FOCUS +.br +Arrow keys will move focus beyond text input field. +.TP 5 +OPTION_SHOW_TOOLTIPS +.br +Show or hide tooltips. +.TP 5 +OPTION_DND_TEXT +.br +User can drag text from FLTK into other apps. +.TP 5 +OPTION_FNFC_USES_GTK +.br +Use GTK file chooser instead of FLTK if available. +.TP 5 +OPTION_PRINTER_USES_GTK +.br +Use GTK printer dialog instead of FLTK if available. +.TP 5 +OPTION_SHOW_SCALING +.br +Show the zoom factor in a transient popup window. +.LP +Calling fltk-options without options will launch fltk-options interactive mode. +.SH SEE ALSO +fluid(1), fltk-config(1), fltk(3) +.br +FLTK Programming Manual +.br +FLTK Web Site, https://www.fltk.org/ +.SH AUTHORS +Bill Spitzak and others. diff --git a/documentation/src/fluid.dox b/documentation/src/fluid.dox index fc020f7d7..4cbf2c04a 100644 --- a/documentation/src/fluid.dox +++ b/documentation/src/fluid.dox @@ -1694,8 +1694,8 @@ On Apple computers, use the Apple Command key instead of Ctrl. [Index]
- - Advanced FLTK + + FLTK Runtime Options [Next]