Commit Graph

1166 Commits

Author SHA1 Message Date
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
Matthias Melcher a31409f7bb FLUID: Documentation 2023-11-05 16:12:15 +01:00
Matthias Melcher 681363849c FLUID: Adds missing Include for MSWindows. 2023-11-05 15:00:44 +01:00