Commit Graph

1168 Commits

Author SHA1 Message Date
Matthias Melcher
a7bc26e12a FLUID: Fix double reverse logic in FL_COMMAND handling 2024-02-10 14:55:52 +01:00
Matthias Melcher
1ed14867e6 Fixes FLUID shortcut generation
and makes the C++ code human readable
2024-02-10 14:28:33 +01:00
Albrecht Schlosser
fd5cd80935 Introduce "Modern CMake" in FLTK
This is a big commit and there are too many changes to list them all.
The main changes are:

- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects

Included but not directly related changes:

- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('

Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-02-07 18:37:34 +01:00
Matthias Melcher
826eb39d68 #877: Fixes shortcut callbacks for Fl_Button
- this commit does rewrite some of the logic,
hoping to make thing more, um, logical. The bits
react mostly the same and hopefully as expected.
Everything is documented in the Fl_Button ctor.
2024-01-13 22:36:35 +01:00
Albrecht Schlosser
b4697c33ff Remove Fl_Simple_Terminal (replaced by Fl_Terminal)
... as discussed previously.
2024-01-06 18:29:25 +01:00
Albrecht Schlosser
ecb3e40d69 Fluid: fix "MergeBack" preference location
... although currently disabled - just in case this feature will be
re-enabled.
2023-12-30 17:37:31 +01:00
Albrecht Schlosser
76a2c95f07 Fix a typo, trailing whitespace, and dependencies 2023-12-21 14:03:04 +01:00
Albrecht Schlosser
5df5daf78e Make the 'Forms' compatibility library 'fltk_forms' optional
This library is no longer needed in FLTK itself. There is only one
demo program (test/forms.cxx) that uses it if it is built. The demo
program displays a message if fltk_forms is not available.

The default is 'enabled' for backwards compatibility but this may
be changed to 'disabled' in a future version.
2023-12-20 17:33:37 +01:00
Matthias Melcher
638e762d3e #674: FLUID: Scrolls shell script terminal to the bottom on every run 2023-12-16 18:53:01 +01:00
Matthias Melcher
5f3bea4614 #832: FLUID: Improves widget browser output 2023-12-16 18:43:27 +01:00
Matthias Melcher
04a5098a58 #840: Generously adds Fl::args_to_utf8() for MinGW support. 2023-12-15 13:04:57 +01:00
Matthias Melcher
a118930d95 #832: FLUID: Adds custom fonts and colors for widget browser. 2023-12-15 12:31:29 +01:00
Matthias Melcher
14f4dec0b9 FLUID: Adds image scaling to widget dialog 2023-12-14 23:37:10 +01:00
Matthias Melcher
33d0718756 FLUID: option to show terminal, clear terminal, and clear history 2023-12-14 19:40:34 +01:00
Matthias Melcher
6b39bc095f #862: FLUID "Open FIle..." no longer closes current project...
...when user cancels out of file choose
2023-12-13 17:31:04 +01:00
Matthias Melcher
41dd84016d #862: Removes default shortcut from Fl_Shortcut_Button
- the current UI for fallback/default/original shortcut was
confusing, so I remove it until we find something better. I
kept the values so we can reinstate a better interface without
changing the API.
2023-12-13 16:55:16 +01:00
Greg Ercolano
e77ec078e9 fluid: Clear button clears scroll history too 2023-12-06 15:37:36 -08:00
Matthias Melcher
68594ec7fa #860: FLUID: Increments Shell history to 1000 lines 2023-12-05 18:38:51 +01:00
Matthias Melcher
49dd9289b8 #860: FLUID: Removes Group attributes from Fl_Terminal 2023-12-05 18:34:17 +01:00
Matthias Melcher
7a69c22bd7 #856: FLUID: improved Declaration dialog
Also makes enum comment in Fl_File_Chooser.fl manageable.
Not backward compatible: don't try to recreate the
File Chooser with older FLUID versions.
2023-12-05 17:54:13 +01:00
Matthias Melcher
5b96fca1c1 #859: FLUID: Improves widget class code formatting
- categorizes multiple comments before a widget class member
correctly vs. before a widget member
- reintrodues newline characters for comment preview in the widget browser
2023-12-04 22:03:55 +01:00
Matthias Melcher
ed910b7368 FLUID: improves special handling of widget_class members 2023-12-04 17:42:45 +01:00
Albrecht Schlosser
a73a14347d Fix compiler warnings
fluid/code.cxx: unused variable

src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx:
  function may return address of local variable [-Wreturn-local-addr]
2023-12-04 16:50:23 +01:00
Matthias Melcher
75c97edb1e #858: Fluid: removed duplicate and false code 2023-12-04 16:28:07 +01:00
Matthias Melcher
1476d215f3 FLUID: Refactored writing escaped strings 2023-12-04 16:12:02 +01:00
Matthias Melcher
d8dac2a088 #858: FLUID: fixes control character replacement in widget browser 2023-12-02 16:21:56 +01:00
Matthias Melcher
96730f80cb Adds some possible NULL references and small fixes 2023-12-01 16:53:27 +01:00
Matthias Melcher
ccc21d381a Fixes a few minor compiler warnings. 2023-12-01 15:25:17 +01:00
Matthias Melcher
2025481f8c FLUID: Add dialog box when processes are still runing when user tries to quit. 2023-11-30 15:02:21 +01:00
Albrecht Schlosser
57371365d8 Fix compiler warning, dependencies, and trailing whitespace
The benign warning was:
  ‘Fl_Browser_::hscrollbar’ will be initialized after [-Wreorder]
  ‘int Fl_Browser_::linespacing_’ ...
2023-11-27 15:33:53 +01:00
Matthias Melcher
34ed30fe1a Adds linespacing() to Fl_Browser_ and all derived widgets 2023-11-25 18:20:08 +01:00
Matthias Melcher
01d30ed9cc FLUID: inlined data can be stored compressed. 2023-11-16 13:21:17 +01:00
Matthias Melcher
d28d03e1ac FLUID: Adds wrapping to "find" in source view. 2023-11-16 11:20:42 +01:00
Matthias Melcher
348c1876e6 FLUID: Adds text attribute support to Fl_Terminal. 2023-11-16 00:42:57 +01:00
Albrecht Schlosser
6f021d4830 CMake: Raise cmake_minimum_required from 3.12 to 3.15
Remove code that checks CMake versions lower than 3.15
2023-11-15 21:30:12 +01:00
Matthias Melcher
4e1f2e7568 FLUID: Removes two warnings. 2023-11-15 16:09:17 +01:00
Matthias Melcher
69189c8f07 FLUID: Fixes missing DISPLAY connection.
Fl_Terminal opens the X11 Display before shown, so we need
to generate a proxy in batch mode. This will no longer  work
when we add more Fl_Terminal attributes to FLUID.
2023-11-15 16:05:14 +01:00
Matthias Melcher
fc03d304e7 FLUID: fixing test/valuator.fl and test/tree.fl
Using Fl_Terminal widget instead of subclassing from Fl_Group
2023-11-15 15:48:22 +01:00
Matthias Melcher
4cf758f9c4 FLUID: updates file structure README 2023-11-15 15:05:38 +01:00
Matthias Melcher
ee0637688d FLUID: Fixes generating default templates 2023-11-15 13:43:19 +01:00
Matthias Melcher
36bd2afef5 esc character replacement 2023-11-15 13:06:50 +01:00
Matthias Melcher
dd8ac4d557 FLUID: Replaces Fl_Simple_Terminal with Fl_Terminal 2023-11-15 13:02:48 +01:00
Albrecht Schlosser
4b315d190c Fix dependencies and whitespace issues 2023-11-14 18:14:48 +01:00
Matthias Melcher
aa2d058f10 FLUID: Removes non-obvious option "Cancel Dialog"
from message boxes, pointing out potential syntax errors
in code related dialogs.
2023-11-07 14:52:01 +01:00
Matthias Melcher
5667dfc51b FLUID: More user documentation 2023-11-07 14:28:22 +01:00
Matthias Melcher
d7768b76d0 FLUID: Adds template for tutorial.
Tutorial still to be written.
Also adds convenience methods to Fl_Input_
for getting and setting numeric values.
2023-11-07 14:28:22 +01:00
Matthias Melcher
c86ca1a9fc FLUID: '\r' (CR) is skipped when reading project files
Project and code files are now always written with LF instead of
CRLF, even on MSWindows machines.
2023-11-06 11:36:02 +01:00
Matthias Melcher
e690e76da1 FLUID: Adds undo for all grid operations. 2023-11-05 22:19:03 +01:00
Matthias Melcher
95daa77c49 FLUID: Fixes undo/redo mixup.
If undo or redo menu is deactivated, fltk resends undo events
as redo and vice versa, so instead now we just beep.
2023-11-05 22:19:03 +01:00
Matthias Melcher
1f5472a7d3 FLUID: Adds transient cells to Fl_Grid
This allows multiple widgets to occupy a single cell which is
needed when moving cells across the grid interactively.
2023-11-05 20:04:49 +01:00