Commit Graph

1182 Commits

Author SHA1 Message Date
Matthias Melcher e52a358e85 FLUID: Improve usability of Declaration Blocks
Decl Blocks can now output code around static code
in source and header files.
2024-04-25 17:52:38 +02:00
Matthias Melcher 2eb5d175fd FLUID: Create VisualStudio compatible long strings
Better labels on FLUDI image properties dialog
Better documentation on image compression
2024-04-19 14:30:59 +02:00
Matthias Melcher 14a5187fa7 FLUID: Add cast to avoid warning #956
User Data of grid menu items was missin fl_intptr_t
2024-04-17 20:40:10 +02:00
Matthias Melcher fd791a068e
Separate FLUID user documentation, screen shot automation (#936)
* CMake integration, no autotiools
* alignment panel is now correctly renamed to setting panel
* source view is now correctly renamed to code view
* Merge FLTK FLUID docs into FLUID user manual.
* Add two simple entry tutorials
* Remove FLUID chapter form FLTK docs.
* GitHub action to generate HTML and PDF docs and
  make the available as artefacts
2024-04-17 17:51:32 +02:00
Albrecht Schlosser e9e5f4bdb1 Remove "MS" from "MS Windows" in docs code, and comments
The system (platform) is called "Windows", "MS Windows" doesn't make
much sense. I removed "MS" for consistency.
2024-04-13 21:49:27 +02:00
Greg Ercolano 06e495f262 Add NULL check to UNIX save_file() (#945) 2024-04-04 10:03:35 -07:00
Matthias Melcher f779097c96 FLUID: fix possible null pointer. GitHub #945 2024-04-04 17:43:40 +02:00
Albrecht Schlosser af90841fbc Update dependencies, whitespace, and Fl_File_Chooser.cxx
Rewrite src/Fl_File_Chooser.cxx from its .fl source file
2024-03-19 15:39:18 +01:00
Matthias Melcher ec9430e744 FLUID: comments, typos, formatting 2024-03-02 22:58:57 +01:00
Matthias Melcher 4649188cf6 Remove unused FLUID documentation refs in CMake config 2024-02-20 15:03:08 +01:00
Matthias Melcher fe9ecec1be Remove unfinished FLUID documentation.
A copy of the docs exists in my repo clone and
will be merged back when the docs are useful and
part of the CMake setup.
2024-02-20 15:00:49 +01:00
Greg Ercolano cc562761c2 Fix text overflow in fluid widget panel (#908)
Made fonts slightly smaller,
enlarged/moved some widgets in Alignment: group.
2024-02-15 09:25:28 -08:00
Albrecht Schlosser 7992b0b9ab CMake: fix installation on macOS
fluid and fltk-options are now installed correctly as bundles and as
stand-alone executables side by side in the 'bin' folder relative
to CMAKE_INSTALL_PREFIX.

This works but the installation folders may be changed in the future.

Targets fltk::fluid is now exported correctly so

  find_package(FLTK CONFIG ...)

works with both the build folder and an installed version.
2024-02-14 17:06:10 +01:00
Albrecht Schlosser bddcecd28a CMake: set FLTK_VERSION and FLTK_FLUID_EXECUTABLE in the cache
This is useful if FLTK is built as a subproject, for instance by
using FetchContent.
2024-02-12 16:53:20 +01:00
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