FLUID: typo
This commit is contained in:
parent
6571bd2f28
commit
068e10326e
293
CHANGES.txt~
Normal file
293
CHANGES.txt~
Normal file
@ -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
|
0
Fl_File_Chooser.cxx
Normal file
0
Fl_File_Chooser.cxx
Normal file
@ -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();
|
||||
|
@ -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 {} {
|
||||
|
11
fluid/test.fll
Normal file
11
fluid/test.fll
Normal file
@ -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
|
182
fluid/widget_panel.txt
Normal file
182
fluid/widget_panel.txt
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user