diff options
| author | Matthias Melcher <github@matthiasm.com> | 2023-10-06 13:47:26 +0200 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2023-10-06 13:47:26 +0200 |
| commit | 068e10326ecb5d13e12c1d2aabdd2b993aca7897 (patch) | |
| tree | 4b46d51903aac23c22681283df09c6dc4ac69a9c | |
| parent | 6571bd2f28d916b0aa0e0091ff3b84018454ed80 (diff) | |
FLUID: typo
| -rw-r--r-- | CHANGES.txt~ | 293 | ||||
| -rw-r--r-- | Fl_File_Chooser.cxx | 0 | ||||
| -rw-r--r-- | fluid/alignment_panel.cxx | 44 | ||||
| -rw-r--r-- | fluid/alignment_panel.fl | 45 | ||||
| -rw-r--r-- | fluid/test.fll | 11 | ||||
| -rw-r--r-- | fluid/widget_panel.txt | 182 | ||||
| -rw-r--r-- | image.dd | 0 |
7 files changed, 540 insertions, 35 deletions
diff --git a/CHANGES.txt~ b/CHANGES.txt~ new file mode 100644 index 000000000..fa67bf7d3 --- /dev/null +++ b/CHANGES.txt~ @@ -0,0 +1,293 @@ +Changes in FLTK 1.4.0 Released: ??? ?? 2022 + + General Information about this Release + + - FLTK 1.4.0 is based on FLTK 1.3.4 (released Nov 15 2016), + see CHANGES_1.3.txt for more information. + + - CMake is the primary supported build system in FLTK 1.4.0 and later. + CMake can be used to generate Makefiles, IDE project files, and + several other build systems by using different "generators" provided + by CMake (for instance Ninja, CodeBlocks, Eclipse, KDevelop3, Xcode, etc.). + See README.CMake.txt for more information. + + - autoconf/configure is still supported by the FLTK team for backwards + compatibility with older systems that lack CMake support. + + - FLTK 1.4 introduces a new platform, Wayland, available for recent Linux + distributions and FreeBSD. More information in README.Wayland.txt + + New Features and Extensions + + - X11 and Wayland platforms: Added support of HiDPI displays. FLTK apps + detect the current display scaling factor and use it to scale all windows. + - MSWindows platform: FLTK applications detect the display scaling factor and + automatically scale their GUI accordingly. This effectively renders WIN32 + FLTK apps "per-monitor DPI-aware" whereas they were "DPI-unaware" before. + - Dynamical GUI rescaling: it is possible on all platforms to rescale all + FLTK windows mapped to a screen by typing ctrl-'+' (enlarge), ctrl-'-' + (shrink) or ctrl-'0' (back to starting scaling factor value). Under macOS, + the corresponding keystrokes are cmd-'+', cmd-'-', cmd-'0'. The resulting + GUI scaling factor (e.g., 170 %) transiently appears in a yellow popup window. + Use new Fl::option() item OPTION_SHOW_SCALING to turn on/off these popups. + Windows moved between screens adjust to the scaling factor of their screen. + This supports desktops mixing screens with distinct resolutions. + In addition, use environment variable FLTK_SCALING_FACTOR to further adjust + the starting scaling factor of all FLTK apps. + - New Fl_Flex class to layout one row or one column of widgets. + - New Fl::keyboard_screen_scaling(0) call stops recognition of ctrl/+/-/0/ + keystrokes as scaling all windows of a screen. + - New member function Fl_Image::scale(int width, int height) to set + the drawing size of an image independently from its data size. The + same function was previously available only for class Fl_Shared_Image + and with FL_ABI_VERSION >= 10304. New member functions Fl_Image::data_w() + and Fl_Image::data_h() give the width and height of the image data. + - New member functions Fl_Widget::bind_image(Fl_Image *img) and + Fl_Widget::bind_deimage(Fl_Image *img) to bind an image to a widget, that is, + to set an image to be used as part of the widget label and also + to be deleted when the widget is deleted. + - New Fl_SVG_Image class: gives support of scalable vector graphics images + to FLTK using the nanosvg software. + - New Fl_ICO_Image class to read Windows .ico icon files. + - New classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to save any FLTK + graphics to SVG or EPS files, respectively. + - Fl_Button now supports a compact flag that visually groups closely set + buttons into keypads. + - Fl_Tabs now supports close buttons for individual tabs. + - Fl_Tabs now supports four different modes for handling an + overflowing number of tabs. + - New constructor for creating Fl_Preferences files with flags for the + correct locale and for overwriting existing files. + - Windows platform: added support for using a manifest to set the + application's level of DPI awareness (issue #309). + - class Fl_Native_File_Chooser on the X11/Wayland platform relies on external + commands zenity (PR #599), or kdialog (issue #278), or on the GTK library + to construct file dialogs. New "Preview" switch added to the GTK dialog. + The libgtk-based dialog uses in priority the file chooser dialog + of GTK version 3 when available on the running platform, and falls back + to version 2 when V3 is not available. In contrast, GTK version 2 was used + in priority by FLTK 1.3.x. New FL::option() item OPTION_FNFC_USES_ZENITY + to turn on/off use of zenity-based file dialogs. + - The undocumented feature FLTK_CONSOLIDATE_MOTION is now OFF on X11 and + removed on macOS. In FLTK 1.3 this feature has been ON on X11. The macro can now + be set on the compiler commandline and can be used to reduce the number + of mouse move events sent to the application but it may be unreliable. + Recommendation: let it switched OFF unless you really need it. + - New function fl_capture_window() to capture the content of a rectangular + zone of a mapped window and return it as an Fl_RGB_Image. It improves + with HighDPI displays what can be done with fl_read_image(). + - The Windows platform now draws oblique and curved lines in antialiased + form. The new function void fl_antialias(int state); allows to turn off + or on such antialiased drawing. The new function int fl_antialias(); returns + whether line and curve drawing is currently antialiased. + - The border radius of "rounded" box types can be limited and + the shadow width of "shadow" box types can be configured (issue #130). + See Fl::box_border_radius_max() and Fl::box_shadow_width(). + - New fl_putenv() is a cross-platform putenv() wrapper (see docs). + - New public variable Fl_Image::register_images_done allows an app. to detect + whether function fl_register_images() has been called. + - Fix Fl::add_timeout() under Linux (STR 3516). + - Fix early timeouts in Fl_Clock seen in some environments (STR 3516). + - Fl_Printer::begin_job() uses by default the Gnome print dialog on the X11 + platform when the GTK library is available at run-time. That can be turned off + with Fl::option(OPTION_PRINTER_USES_GTK, false). + - New member functions Fl_Paged_Device::begin_job() and begin_page() + replace start_job() and start_page(). The start_... names are maintained + for API compatibility. + - OpenGL draws text using textures on all platforms, when the necessary + hardware support is present (a backup mechanism is available in absence + of this support). Thus, all text drawable in Fl_Window's can be drawn + in Fl_Gl_Window's (STR#3450). + - New member functions Fl::program_should_quit(void), + and Fl::program_should_quit(int) to support detection by the library + of a request to terminate cleanly the program. + - MacOS platform: the processing of the application menu's "Quit" item + has been changed. With FLTK 1.3.x, the application terminated when all + windows were closed even before Fl::run() or Fl::wait() could return. + With FLTK 1.4, Fl::run() returns so the app follows its normal termination path. + - FLTK apps on the MacOS platform contain automatically a Window menu, which, + under MacOS ≥ 10.12, allows to group/ungroup windows in tabbed form. The new + Fl_Sys_Menu_Bar::window_menu_style() function allows to specify various + styles for the Window menu, even not to create it. + - New function: int fl_open_ext(const char* fname, int binary, int oflags, ...) + to control the opening of files in binary/text mode in a cross-platform way. + - Fix for issue #247 : loading SVG image with BOM. + - Fl_Text_Selection got a new method length() and returns 0 in length() + and in all offsets (start(), end(), position()) if no text is selected + (selected() == false). The behavior in FLTK 1.3 and earlier versions + (returning undefined values if !selected()) was confusing. + - New method Fl_Group::bounds() replaces Fl_Group::sizes() which is now + deprecated. Fl_Group::bounds() uses the new class Fl_Rect that contains + widget coordinates and sizes x(), y(), w(), and h() (STR #3385). + Documentation for bounds() and its internal structure was added. + - New method shadow(int) allows to disable the shadows of the hands + of Fl_Clock, Fl_Clock_Output, and derived widgets. + - New method Fl_Tabs::tab_align() allows to set alignment of tab labels, + particularly to support icons on tab labels (STR #3076). + - Added Fl_Surface_Device::push_current(new_surface) and + Fl_Surface_Device::pop_current() to set/unset the current surface + receiving graphics commands. + - New macros for easy function and method callbacks with multiple + type safe arguments (see FL_METHOD_CALLBACK_1 etc.) . + + New Configuration Options (ABI Version) + + - X11 platform: Added support for drawing text with the pango library + which allows to draw most scripts supported by Unicode, including CJK + and right-to-left scripts. FLTK now outputs PostScript that draws + those scripts in vectorial form. The corresponding CMake option is + OPTION_USE_PANGO. The corresponding configure option is --enable-pango. + This option is OFF by default. + - Configure option --enable-wayland allows to build the FLTK library for + the new Wayland platform while remaining compatible with X11. The + corresponding CMake option is OPTION_USE_WAYLAND. This option is ON by default. + - Configure options --enable-wayland --disable-x11 used together allow to + build FLTK for the Wayland backend only (no x11 backend). Under CMake, the + equivalent is to set both OPTION_USE_WAYLAND and OPTION_WAYLAND_ONLY. + - The new configure option --disable-gdiplus removes the possibility to draw + antialiased lines and curves on the Windows platform. The corresponding CMake + option is OPTION_USE_GDIPLUS. + - The library can be built without support for reading SVG images or writing + graphics in SVG format using the --disable-svg configure option + or turning off OPTION_USE_SVG in CMake. + - The library can be built without support for PostScript, thus reducing + its size, using the --disable-print configure option or turning off + OPTION_PRINT_SUPPORT in CMake. That makes classes Fl_PostScript_File_Device, + Fl_EPS_File_Surface and Fl_Printer (under X11 platform only) ineffective. + - FLTK's ABI version can be configured with 'configure' and CMake. + See documentation in README.abi-version.txt. + + Bundled libraries + + - Bundled image libraries have been upgraded to newer versions. + For details see README.bundled-libs.txt. + + 1.4.0 ABI FEATURES + + - None. FLTK 1.4.0 has a new ABI, breaking 1.3.x ABI. + + + Other Improvements + + - (add new items here) + - Reported support of macOS 14.0 "Sonoma". + - Added support for macOS 13.0 "Ventura". + - Added support for macOS 12.0 "Monterey". + - Added support for macOS 11.0 "Big Sur" and for building for + the arm64 architecture. + - Added support for macOS 10.15 "Catalina" + - Added support for macOS 10.14 "Mojave": all drawing to windows is done + through "layer-backed views" when the app is linked to SDK 10.14. + - Added support for macOS 10.13 "High Sierra". + - Fixed X11 Input Method window badly positioned with Fl_Text_Editor + widget (issue #270). + - Fixed X11 copy-paste and drag-and-drop target selection (issue #182). + This fix has been backported to 1.3.6 as well. + - Add optional argument to Fl_Printer::begin_job() to receive + a string describing the error when an error occurs. + - Fix Windows-specific bug when the program tries to enlarge a + maximized window, that would freeze the window (git issue #65). + - Improve X11 16-bit coordinate clipping for text (STR 2798). This + assumes that text is "small" WRT 16-bit coordinate space and clips + text if at least one of the x/y coordinates is out of bounds. + - Fix Fl::add_timeout() in draw() under Linux (STR 3188) + - Improved documentation for '@' symbols in labels (STR #2940). + - Fl_Roller can now be controlled via the mouse wheel (STR #3120). + - Tooltips hide by themselves after 12 seconds (STR #2584). + - Added widget visibility indicator to Fluid (STR #2669). + - Improved shell script support in FLUID + - Added Fl_Input_::append() method (STR #2953). + - Fix for STR#3473 (and its duplicate STR#3507) to restore configure-based + builds on recent Linux/Unix distributions where the freetype-config + command has been replaced by pkg-config. + - MacOS ≥ 10.10: Fl_Window::fullscreen() and fullscreen_off() no longer + proceed by Fl_Window::hide() + Fl_Window::show() but essentially + resize the window, as done on the X11+EWMH and Windows platforms. + - Fl_Cairo_Window constructors are now compatible with Fl_Double_Window + constructors - fixed missing constructors (STR #3160). + - The include file for platform specific functions and definitions + (FL/x.H) has been replaced with FL/platform.H. FL/x.H is deprecated + but still available for backwards compatibility (STR #3435). + FL/x.H will be removed in a (not yet specified) future FLTK release. + We recommend to change your #include statements accordingly. + - The Fl_Boxtype and Fl_Labeltype definitions contained enum values + (names) with a leading underscore (e.g. _FL_MULTI_LABEL) that had to + be used in this form. Now all boxtypes and labeltypes can and should + be used without the leading underscore. A note was added to the enum + documentations to make clear that the leading underscore must not be + used in user code, although the enum documentation still contains + leading underscores for technical reasons (internal use). + - The blocks demo program got a new keyboard shortcut (ALT+SHIFT+H) to + reset the user's high score. It is now slower than before in higher + levels, hence you can expect higher scores (due to a bug fix in the + timer code). You can use the '+' key to increase the level at all times. + - Some methods of Fl_Tabs are now virtual and/or protected for easier + subclassing without code duplication (STR #3211 and others). + To be continued... + - Separated Fl_Input_Choice.H and Fl_Input_Choice.cxx (STR #2750, #2752). + - Separated Fl_Spinner.H and Fl_Spinner.cxx (STR #2776). + - New method Fl_Spinner::wrap(int) allows to set wrap mode at bounds if + value is changed by pressing or holding one of the buttons (STR #3365). + - Fl_Spinner now handles Up and Down keys when the input field has + keyboard focus (STR #2989). + - Renamed test/help.cxx demo program to test/help_dialog.cxx to avoid + name conflict with CMake's auto-generated target 'help'. + - Many documentation fixes, clarifications, and enhancements. + + + Bug Fixes + + - (add new items here) + - Fixed all Pixmaps to be '*const' (STR #3108). + - Fixed Fl_Text_Editor selection range after paste (STR #3248). + - Fixed crash for very small Fl_Color_Chooser (STR #3490). + - Removed all shadow lint in header files (STR #2714). + - Fixed pulldown menu position when at the bottom of the screen (STR #2880). + - Fixed missing item handling in Fl_Check_Browser (STR #3480). + - Fixed Delete key in Fl_Input deleting entire widgets in Fluid (STR #2841). + - Reorganized Fluid Template feature (STR #3336). + - Updated Fluid documentation and image (STR #3328). + - Duplicating Widget Class in Fluid no longer crashes (STR #3445). + - Fl_Check_Browser::add(item) now accepts NULL (STR #3498). + - Interface to set maximum width of spinner text field (STR #3386). + - Fl_Text_Display no longer wiggles (STR #2531). + - Fixed Help_View return value (STR #3430). + - Fix 'fluid.app' on case sensitive macOS (was: Fluid.app). + - Fix FL_PUSH event handling of Fl_Check_Browser (STR #3004). + - Fix a potential crash when a program exits before it opens a window + (Windows only, STR #3484). + - Fix Fl_PNG_Image error handling. An error was potentially caused + by error handling of the image library with setjmp/longjmp. + - Fix Fl_Browser background and text color parsing (STR #3376). + - Fix Windows CreateDC/DeleteDC mismatch (STR #3373). + - Fix Fl_Tabs label drawing for Fl_Window children (STR #3075). + - Fix line number alignment in Fl_Text_Display/Editor (STR #3363). + - Fix ignored buffer pre-allocation (requestedSize) in Fl_Text_Buffer. + See fltk.general "Fl_Text_Buffer constructor bug" on Dec 5, 2016. + - Fix build with configure --enable-cairo --enable-cairoext, + see this report in fltk.general: + https://groups.google.com/forum/#!topic/fltkgeneral/x80qQ6wt0s4 + + + Removed Features + + - Bundled IDE project files (Xcode and Visual Studio) have been + removed. Please use CMake to generate your IDE project files. + See README.CMake.txt for more information. + - Dropped FLTK 1.0 compatibility (macro FLTK_1_0_COMPAT). This "feature" + was no longer usable since FLTK 1.3, hence it can be dropped safely. + + +Changes in FLTK 1.3 + + See CHANGES_1.3.txt + + +Changes in FLTK 1.1 + + See CHANGES_1.1.txt + + +Changes in FLTK 1.0 + + See CHANGES_1.0.txt diff --git a/Fl_File_Chooser.cxx b/Fl_File_Chooser.cxx new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Fl_File_Chooser.cxx diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx index 49348eb24..0afcd63e3 100644 --- a/fluid/alignment_panel.cxx +++ b/fluid/alignment_panel.cxx @@ -907,6 +907,9 @@ static void cb_w_settings_shell_remove(Fl_Button* o, void* v) { } } else { if (!selected) return; + int ret = fl_choice("Delete the shell command\n\"%s\"?\n\nThis can not be undone.", + "Delete", "Cancel", NULL, g_shell_config->list[selected-1]->name.c_str()); + if (ret==1) return; g_shell_config->remove(selected-1); w_settings_shell_list->remove(selected); if (selected <= w_settings_shell_list->size()) @@ -935,11 +938,11 @@ static void cb_Export(Fl_Menu_*, void* v) { Fl_Menu_Item menu_w_settings_shell_menu[] = { {"Import...", 0, (Fl_Callback*)cb_Import, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, {"Export selected...", 0, (Fl_Callback*)cb_Export, 0, 128, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"Import Example Scripts:", 0, 0, 0, 1, (uchar)FL_NORMAL_LABEL, 1, 10, 0}, - {"Compile with fltk-config", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"Build and run", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"Build with Xcode on macOS", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, - {"Build with CMake", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"Example Scripts:", 0, 0, 0, 17, (uchar)FL_NORMAL_LABEL, 1, 10, 0}, + {"Compile with fltk-config", 0, 0, 0, 16, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"Build and run", 0, 0, 0, 16, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"Build with Xcode on macOS", 0, 0, 0, 16, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, + {"Build with CMake", 0, 0, 0, 16, (uchar)FL_NORMAL_LABEL, 0, 11, 0}, {0,0,0,0,0,0,0,0,0} }; @@ -992,7 +995,7 @@ static void cb_Name(Fl_Input* o, void* v) { } } -static void cb_Label(Fl_Input* o, void* v) { +static void cb_Menu(Fl_Input* o, void* v) { int selected = w_settings_shell_list_selected; if (v == LOAD) { if (selected) { @@ -1090,7 +1093,7 @@ Fl_Menu_Item menu_Condition[] = { {0,0,0,0,0,0,0,0,0} }; -static void cb_Label1(Fl_Input* o, void* v) { +static void cb_Label(Fl_Input* o, void* v) { if (v == LOAD) { // o->value(g_shell_command.c_str()); } else { @@ -2621,16 +2624,21 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ { w_settings_shell_toolbox = new Fl_Group(100, 200, 220, 22); w_settings_shell_toolbox->callback((Fl_Callback*)cb_w_settings_shell_toolbox); { Fl_Button* o = new Fl_Button(100, 200, 24, 22, "+"); + o->tooltip("insert a new shell command into the list after the selected command"); + o->labelfont(1); o->labelsize(11); o->callback((Fl_Callback*)cb_8); } // Fl_Button* o { w_settings_shell_dup = new Fl_Button(124, 200, 24, 22, "++"); + w_settings_shell_dup->tooltip("duplicate the selected shell command and insert it into the list"); + w_settings_shell_dup->labelfont(1); w_settings_shell_dup->labelsize(11); w_settings_shell_dup->callback((Fl_Callback*)cb_w_settings_shell_dup); w_settings_shell_dup->deactivate(); } // Fl_Button* w_settings_shell_dup - { w_settings_shell_remove = new Fl_Button(148, 200, 24, 22, "-"); - w_settings_shell_remove->labelsize(11); + { w_settings_shell_remove = new Fl_Button(148, 200, 24, 22, "DEL"); + w_settings_shell_remove->tooltip("remove the selected shell command - this can not be undone"); + w_settings_shell_remove->labelsize(10); w_settings_shell_remove->callback((Fl_Callback*)cb_w_settings_shell_remove); w_settings_shell_remove->deactivate(); } // Fl_Button* w_settings_shell_remove @@ -2640,6 +2648,7 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ w_settings_shell_menu->menu(menu_w_settings_shell_menu); } // Fl_Menu_Button* w_settings_shell_menu { w_settings_shell_play = new Fl_Button(270, 200, 50, 22, "Run"); + w_settings_shell_play->tooltip("run the selected shell command"); w_settings_shell_play->labelsize(11); w_settings_shell_play->callback((Fl_Callback*)cb_w_settings_shell_play); w_settings_shell_play->deactivate(); @@ -2649,6 +2658,7 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ { w_settings_shell_cmd = new Fl_Group(10, 235, 320, 291); w_settings_shell_cmd->callback((Fl_Callback*)cb_w_settings_shell_cmd); { Fl_Input* o = new Fl_Input(100, 246, 220, 20, "Name:"); + o->tooltip("file the shell command under this name in the shell command list"); o->labelfont(1); o->labelsize(11); o->textfont(4); @@ -2656,14 +2666,16 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ o->callback((Fl_Callback*)cb_Name); o->when(FL_WHEN_RELEASE | FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY); } // Fl_Input* o - { Fl_Input* o = new Fl_Input(100, 272, 220, 20, "Label:"); + { Fl_Input* o = new Fl_Input(100, 272, 220, 20, "Menu Label:"); + o->tooltip("label text for the Shell menu in the main menu bar"); o->labelfont(1); o->labelsize(11); o->textfont(4); o->textsize(11); - o->callback((Fl_Callback*)cb_Label); + o->callback((Fl_Callback*)cb_Menu); } // Fl_Input* o { Fl_Shortcut_Button* o = new Fl_Shortcut_Button(100, 297, 130, 20, "Shortcut"); + o->tooltip("an optional keyboard shortcut to run this shell command"); o->box(FL_UP_BOX); o->color(FL_BACKGROUND_COLOR); o->selection_color(FL_BACKGROUND_COLOR); @@ -2676,6 +2688,8 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ o->when(FL_WHEN_RELEASE); } // Fl_Shortcut_Button* o { Fl_Choice* o = new Fl_Choice(100, 322, 130, 20, "Store:"); + o->tooltip("store this shell command as a user setting or save it with the .fl project fi\ +le"); o->down_box(FL_BORDER_BOX); o->labelfont(1); o->labelsize(11); @@ -2684,6 +2698,7 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ o->menu(menu_Store); } // Fl_Choice* o { Fl_Choice* o = new Fl_Choice(100, 348, 130, 20, "Condition:"); + o->tooltip("add this command to the main menu bar only if this condition is true"); o->down_box(FL_BORDER_BOX); o->labelfont(1); o->labelsize(11); @@ -2696,7 +2711,7 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ o->labelsize(11); o->textfont(4); o->textsize(11); - o->callback((Fl_Callback*)cb_Label1); + o->callback((Fl_Callback*)cb_Label); o->hide(); } // Fl_Input* o { Fl_Text_Editor* o = w_settings_shell_command = new Fl_Text_Editor(100, 373, 196, 80, "Shell script:"); @@ -2710,15 +2725,16 @@ ped using octal notation `\\0123`. If this option is checked, Fluid will write\ } // Fl_Text_Editor* w_settings_shell_command { Fl_Group* o = new Fl_Group(296, 373, 24, 44); { w_settings_shell_text_macros = new Fl_Menu_Button(296, 373, 24, 22); + w_settings_shell_text_macros->tooltip("a list of text replacements available for the shell script"); w_settings_shell_text_macros->labelsize(11); w_settings_shell_text_macros->textsize(11); w_settings_shell_text_macros->callback((Fl_Callback*)cb_w_settings_shell_text_macros); w_settings_shell_text_macros->menu(menu_w_settings_shell_text_macros); } // Fl_Menu_Button* w_settings_shell_text_macros { Fl_Button* o = new Fl_Button(296, 395, 24, 22, "@square"); - o->tooltip("open big code editor"); + o->tooltip("open the big code editor"); o->labelsize(11); - o->labelcolor(FL_BACKGROUND_COLOR); + o->labelcolor(FL_DARK3); o->callback((Fl_Callback*)cb_square); } // Fl_Button* o o->end(); diff --git a/fluid/alignment_panel.fl b/fluid/alignment_panel.fl index ef9d48455..560a2433d 100644 --- a/fluid/alignment_panel.fl +++ b/fluid/alignment_panel.fl @@ -858,7 +858,7 @@ list:} w_settings_shell_toolbox->do_callback(w_settings_shell_toolbox, LOAD); g_shell_config->rebuild_shell_menu(); }} - xywh {100 200 24 22} labelsize 11 + tooltip {insert a new shell command into the list after the selected command} xywh {100 200 24 22} labelfont 1 labelsize 11 } Fl_Button w_settings_shell_dup { label {++} @@ -886,10 +886,10 @@ if (v==LOAD) { w_settings_shell_toolbox->do_callback(w_settings_shell_toolbox, LOAD); g_shell_config->rebuild_shell_menu(); }} - xywh {124 200 24 22} labelsize 11 deactivate + tooltip {duplicate the selected shell command and insert it into the list} xywh {124 200 24 22} labelfont 1 labelsize 11 deactivate } Fl_Button w_settings_shell_remove { - label {-} + label DEL callback {int selected = w_settings_shell_list_selected; if (v==LOAD) { if (selected) { @@ -899,6 +899,9 @@ if (v==LOAD) { } } else { if (!selected) return; + int ret = fl_choice("Delete the shell command\\n\\"%s\\"?\\n\\nThis can not be undone.", + "Delete", "Cancel", NULL, g_shell_config->list[selected-1]->name.c_str()); + if (ret==1) return; g_shell_config->remove(selected-1); w_settings_shell_list->remove(selected); if (selected <= w_settings_shell_list->size()) @@ -910,7 +913,7 @@ if (v==LOAD) { w_settings_shell_toolbox->do_callback(w_settings_shell_toolbox, LOAD); g_shell_config->rebuild_shell_menu(); }} - xywh {148 200 24 22} labelsize 11 deactivate + tooltip {remove the selected shell command - this can not be undone} xywh {148 200 24 22} labelsize 10 deactivate } Fl_Menu_Button w_settings_shell_menu {open xywh {172 200 24 22} labelsize 11 textsize 11 @@ -919,33 +922,33 @@ if (v==LOAD) { label {Import...} callback {if (v != LOAD) Fd_Shell_Command_List::import_from_file();} - xywh {90 90 100 20} labelsize 11 + tooltip {import shell commands from an external file} xywh {90 90 100 20} labelsize 11 } MenuItem {} { label {Export selected...} callback {if (v != LOAD) Fd_Shell_Command_List::export_selected();} - xywh {10 10 100 20} labelsize 11 divider + tooltip {export selected shell commands to an external file} xywh {10 10 100 20} labelsize 11 divider } MenuItem {} { - label {Import Example Scripts:} - xywh {20 20 100 20} labelfont 1 labelsize 10 deactivate + label {Example Scripts:} + xywh {20 20 100 20} labelfont 1 labelsize 10 hide deactivate } MenuItem {} { label {Compile with fltk-config} - xywh {30 30 100 20} labelsize 11 + xywh {30 30 100 20} labelsize 11 hide } MenuItem {} { label {Build and run} - xywh {40 40 100 20} labelsize 11 + xywh {40 40 100 20} labelsize 11 hide } MenuItem {} { label {Build with Xcode on macOS} - xywh {50 50 100 20} labelsize 11 + xywh {50 50 100 20} labelsize 11 hide } MenuItem {} { label {Build with CMake} - xywh {60 60 100 20} labelsize 11 + xywh {60 60 100 20} labelsize 11 hide } } Fl_Button w_settings_shell_play { @@ -962,7 +965,7 @@ if (v==LOAD) { Fd_Shell_Command *cmd = g_shell_config->list[selected-1]; cmd->run(); }} - xywh {270 200 50 22} labelsize 11 deactivate + tooltip {run the selected shell command} xywh {270 200 50 22} labelsize 11 deactivate } } Fl_Group w_settings_shell_cmd { @@ -994,10 +997,10 @@ if (v == LOAD) { if (cmd->storage == FD_STORE_PROJECT) set_modflag(1); } }} - xywh {100 246 220 20} labelfont 1 labelsize 11 when 13 textfont 4 textsize 11 + tooltip {file the shell command under this name in the shell command list} xywh {100 246 220 20} labelfont 1 labelsize 11 when 13 textfont 4 textsize 11 } Fl_Input {} { - label {Label:} + label {Menu Label:} callback {int selected = w_settings_shell_list_selected; if (v == LOAD) { if (selected) { @@ -1013,7 +1016,7 @@ if (v == LOAD) { if (cmd->storage == FD_STORE_PROJECT) set_modflag(1); } }} - xywh {100 272 220 20} labelfont 1 labelsize 11 textfont 4 textsize 11 + tooltip {label text for the Shell menu in the main menu bar} xywh {100 272 220 20} labelfont 1 labelsize 11 textfont 4 textsize 11 } Fl_Button {} { label Shortcut @@ -1033,7 +1036,7 @@ if (v == LOAD) { if (cmd->storage == FD_STORE_PROJECT) set_modflag(1); } }} - xywh {100 297 130 20} labelsize 11 align 16 + tooltip {an optional keyboard shortcut to run this shell command} xywh {100 297 130 20} labelsize 11 align 16 code0 {\#include <FL/Fl_Shortcut_Button.H>} class Fl_Shortcut_Button } @@ -1061,7 +1064,7 @@ if (v == LOAD) { if (cmd->storage == FD_STORE_PROJECT) set_modflag(1); } }} open - xywh {100 322 130 20} down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 + tooltip {store this shell command as a user setting or save it with the .fl project file} xywh {100 322 130 20} down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 } { MenuItem {} { label {@fd_user User Setting} @@ -1093,7 +1096,7 @@ if (v == LOAD) { if (cmd->storage == FD_STORE_PROJECT) set_modflag(1); } }} open - xywh {100 348 130 20} down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 + tooltip {add this command to the main menu bar only if this condition is true} xywh {100 348 130 20} down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 } { MenuItem {} { label {all platforms} @@ -1176,7 +1179,7 @@ if (mi) { } w_settings_shell_command->do_callback(w_settings_shell_command, (void*)NULL); }} open - xywh {296 373 24 22} labelsize 11 textsize 11 + tooltip {a list of text replacements available for the shell script} xywh {296 373 24 22} labelsize 11 textsize 11 } { MenuItem {} { label {@@BASENAME@@} @@ -1241,7 +1244,7 @@ w_settings_shell_command->buffer()->text(script_input->buffer()->text()); w_settings_shell_command->do_callback(); BREAK2: script_panel->hide();} - tooltip {open big code editor} xywh {296 395 24 22} labelsize 11 labelcolor 49 + tooltip {open the big code editor} xywh {296 395 24 22} labelsize 11 labelcolor 39 } } Fl_Check_Button {} { diff --git a/fluid/test.fll b/fluid/test.fll new file mode 100644 index 000000000..91dda2f0e --- /dev/null +++ b/fluid/test.fll @@ -0,0 +1,11 @@ +; FLTK preferences file format 1.0 +; vendor: layout.fluid.fltk.org +; application: unknown + +[.] + + +[./Layouts] + +current_suite:My Test +current_preset:1 diff --git a/fluid/widget_panel.txt b/fluid/widget_panel.txt new file mode 100644 index 000000000..7b7903d2c --- /dev/null +++ b/fluid/widget_panel.txt @@ -0,0 +1,182 @@ +# generated by Fast Light User Interface Designer (fluid) version 1.0400 +GUI +Label: +The label text for the widget.\012Use Ctrl-J for newlines. +The label style for the widget. +Image: +The active image for the widget. +Browse... +Click to choose the active image. +store image uncompressed as RGBA data\012or compressed in the original file format +bind the image to the widget, so it will be deleted automatically +Inactive: +The inactive image for the widget. +Browse... +Click to choose the inactive image. +store image uncompressed as RGBA data\012or compressed in the original file format +bind the image to the widget, so it will be deleted automatically +Alignment: +Clip +Clip the label to the inside of the widget. +Wrap +Wrap the label text. +@-1<- +Left-align the label. +@-1-> +Right-align the label. +@-18 +Top-align the label. +@-12 +Bottom-align the label. + Image Alignment +image over text +text over image +text next to image +image next to text +image is backdrop + Inside && Outside +top left +top +top right +left +center +right +bottom left +bottom +bottom right + Outside Alignment +left top +right top +left bottom +right bottom +@-3square +Show the label inside the widget. +Position: +X: +The X position of the widget as a number or formula.\012Formulas can be simple math, including the variables\012x, px, sx, cx, and i +Y: +The Y position of the widget as a number or formula.\012Formulas can be simple math, including the variables\012y, py, sy, cy, and i +Width: +The width of the widget as a number or formula.\012Formulas can be simple math, including the variables\012w, pw, sw, cw, and i +Height: +The height of the widget as a number or formula.\012Formulas can be simple math, including the variables\012h, ph, sh, ch, and i +Children: +When instantiating a widget class, the children can either be fixed in their original position, automatically be repositioned, or both repsositioned and resized to fit the container. +Fixed +Reposition +Resize +Flex Parent: +Size: +Fixed Width or Height for a horizontal or vertical Fl_Flex Parent. +fixed +If checked, the size of the widget stays fixed. +Values: +Size: +The size of the slider. +Minimum: +The minimum value of the widget. +Maximum: +The maximum value of the widget. +Step: +The resolution of the widget value. +Value: +The current widget value. +Margins: +Left: +Left margin in group. +Top: +Top margin in group. +Right: +Right margin in group. +Bottom: +Bottom margin in group. +Gap: +Gap between children. +Size Range: +Minimum Size: +The size of the slider. +The minimum value of the widget. +set +Maximum Size: +The maximum value of the widget. +The resolution of the widget value. +set +Shortcut: +The shortcut key for the widget.\012Use 'Backspace' key to clear. +X Class: +: +The X resource class. +Border +Add a border around the window. +Modal +Make the window modal. +Nonmodal +Make the window non-modal. +Attributes: +Visible +Show the widget. +Active +Activate the widget. +Resizable +Make the widget resizable. +Hotspot +Center the window under this widget. +Tooltip: +The tooltip text for the widget.\012Use Ctrl-J for newlines. +Style +Label Font: +The style of the label text. +The size of the label text. +Label Color +The color of the label text. +Box: +The \042up\042 box of the widget. +Color +The background color of the widget. +Down Box: +The \042down\042 box of the widget. +Select Color +The selection color of the widget. +Text Font: +The value text style. +The value text size. +Text Color +The value text color. +Compact +use compact box types for closely set buttons +C++ +Class: +The widget subclass. +The widget subtype. +Name: +The name of the widget. +Change member access attribute. +private +public +protected +Change widget accessibility. +local +global +Extra Code: +Extra initialization code for the widget. +Extra initialization code for the widget. +Extra initialization code for the widget. +Extra initialization code for the widget. +Comment: +Write a comment that will appear in the source code and in the widget tree overview. +Callback: +The callback function or code for the widget. Use the variable name 'o' to access the Widget pointer and 'v' to access the user value. +User Data: +The user data to pass into the callback code. +When +When to call the callback function. +Type: +The type of the user data. +void* +long +FL_WHEN_NEVER +Live &Resize +Create a live duplicate of the selected widgets to test resizing and menu behavior. +Hide &Overlays +Hide the widget overlay box. +Close diff --git a/image.dd b/image.dd new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/image.dd |
