Commit Graph

1220 Commits

Author SHA1 Message Date
Matthias Melcher 9817536cfd FLUID: basic Fl_Grid support
* no settings for children yet
* ne good interactive editing for children
2023-10-20 19:00:52 +02:00
Matthias Melcher 3be3a0da1e FLUID: docs, testing 2023-10-20 00:23:09 +02:00
Matthias Melcher ea88888f76 FLUID typos, comments, superfluous code 2023-10-19 23:54:37 +02:00
Matthias Melcher 0fc3f7cd92 FLUID: fixes `override` handling and code duplication 2023-10-19 17:09:32 +02:00
Matthias Melcher ca7844cf94 FLUID now recognizes `override` and `FL_OVERRIDE` keywords (#801) 2023-10-19 12:13:46 +02:00
Albrecht Schlosser 63dc3f2acb Fix compiler warning (C++11 standard)
Warning: override controls (override/final) only available with
  ‘-std=c++11’ or ‘-std=gnu++11’
2023-10-16 21:47:52 +02:00
Albrecht Schlosser 01038e832a Fix trailing whitespace and dependencies 2023-10-13 19:08:30 +02:00
Matthias Melcher 58b13b868e FLUID: allow mousewheel events on coordinate input
MACOS: make sure that even small mouse wheel deltas count at least as 1 unit
2023-10-13 13:59:01 +02:00
Matthias Melcher d93b991e5c FLUID: Settings dialog is now resizable 2023-10-12 00:09:48 +02:00
Matthias Melcher e2c2ba7773 FLUID: adds better zoom icon 2023-10-11 23:21:16 +02:00
Matthias Melcher ac047172b9 Removes stray files. 2023-10-06 15:39:53 +02:00
Matthias Melcher 068e10326e FLUID: typo 2023-10-06 13:47:26 +02:00
Albrecht Schlosser bb7c68a477 Update dependencies 2023-09-27 16:49:46 +02:00
Matthias Melcher 371ff17639 FLUID: fixing settings dialog update 2023-09-27 13:14:09 +02:00
Matthias Melcher e68f5e6c42 FLUID: minor fixes 2023-09-27 12:57:12 +02:00
Matthias Melcher 71b8e77935
FLUID: adds greatly enhanced Shell Commands (#774)
The user can add an arbitrary number of highly configurable 
shell commands through the setting panel. The commands can
be saved as user preferences, inside the .fl file, or exported
to an external file. Shell scripts can be limited to individual 
platforms, can have shortcut keys, etc. .

* documentation will follow
* support to call `fltk-config` will follow
2023-09-26 16:01:03 +02:00
Matthias Melcher 2c528b816c FLUID: Typos in docs 2023-09-26 12:39:52 +02:00
Matthias Melcher 0a2f05a2fe FLUID: Fixes regression #777
Wrote wrong path in #inlude statement under certain
conditions. Also removed 'snap' tag if not needed.
2023-09-26 00:29:26 +02:00
Albrecht Schlosser 43ff6f0c32 Update dependencies 2023-09-22 14:03:34 +02:00
Albrecht Schlosser ede381c005 Fix Visual Studio shared library build
Todo: fluid-shared can't (yet) be built agains the shared fltk lib
  because of some linker errors. Needs investigation.

Note: fluid-shared is basically a test program to demonstrate linking
  against the shared FLTK libs but doesn't work yet using VS (MSVC).
  This is no problem for the functionality.
2023-09-12 23:18:46 +02:00
Matthias Melcher 14f85de28f FLUID: Fixes visibility of Compact button 2023-09-07 16:06:32 +02:00
Matthias Melcher a683752e4b Fixes warning on unused variable. 2023-09-05 15:31:09 +02:00
Matthias Melcher 2e38007d1f FLUID: increases readability
- removed some direct filename manipulation
- central place to generate file names and paths
- fixes command line filename override if no actual
  batch command is given
2023-09-05 15:11:09 +02:00
Matthias Melcher 5e8adebac2 Adds compact buttons feature to create keypads.
See test/buttons for an example.
2023-09-03 00:09:40 +02:00
Matthias Melcher 6beddb9d5c FLUID: fixes resizing of preferences panel 2023-08-29 23:13:43 +02:00
Matthias Melcher b5a1da9612 FLUID: minor fixes 2023-08-29 22:50:12 +02:00
Matthias Melcher b92c8ed6ff FLUID: adds missing include for other platforms 2023-08-29 02:27:13 +02:00
Matthias Melcher 814d642e5d FLUID: separate SourceView panel into its own file
hereby removing almost 200 lines of unrelated code form fluid.cxx
and making the location of the panel code more obvious.
Needs a make depend on Linux.
2023-08-29 02:20:50 +02:00
Matthias Melcher 33353550d9 FLUID: code cleanup, redundancies, typos 2023-08-29 01:38:39 +02:00
Matthias Melcher 496289fd35 FLUID: simplifies filename handling 2023-08-29 01:38:39 +02:00
Matthias Melcher 5da15de174 FLUID: simplified worker handling 2023-08-29 01:38:39 +02:00
Matthias Melcher 3ed43363cd FLUID: fixes file path calculation bug 2023-08-26 16:10:02 +02:00
Matthias Melcher 94a75b012f Fixes a bunch of typos in comments. 2023-08-26 15:17:28 +02:00
Matthias Melcher 34db9e8bf7 FLUID fix: sets initial size range for windows 2023-08-15 23:12:39 +02:00
Matthias Melcher 7cdbc189f0 Another occurrence of bad escape sequence. 2023-08-12 23:07:10 +02:00
Matthias Melcher 01075687cf #765: Replaces uncommon escape sequence.
Missing return value in docs.
2023-08-12 23:05:03 +02:00
Albrecht Schlosser dbb77b9657 Improve docs of Fl::hide_all_windows()
+ update fluid dependencies

No code changes.
2023-08-10 15:16:01 +02:00
Matthias Melcher 06e8cf98a6 FLUID: i18n panel redraw fix 2023-08-08 18:03:23 +02:00
Matthias Melcher 828d8a0e2b FLUID: shell code cleanup 2023-07-22 16:01:49 +02:00
Matthias Melcher f0375d6213 Adds default shortcut to Fl_Shortcut_Button. 2023-07-22 15:30:17 +02:00
Matthias Melcher dac1af37e1 FLUID: updates templates and predefined comments 2023-07-21 13:34:12 +02:00
Matthias Melcher 43fe6ee027 FLUID improves positioning and sizing new widgets
Better default sizes for text based widgets and menu managers
Better Menu refresh on custom text heights
Smarter positioning of menu bars and groups inside tabs
Fixes wrong include guard
2023-07-20 13:49:19 +02:00
Albrecht Schlosser 4ec02555ef Fix missing (new) source file in fluid and dependencies
New file: Fl_Button_Type.cxx
2023-07-19 23:42:50 +02:00
Matthias Melcher d0331e6342 FLUID: layout preset no longer forces text font selection 2023-07-19 21:26:27 +02:00
Matthias Melcher e8eccde8db FLUID: RTTI improvements, 'is_a90' now const, apply RTTI 2023-07-19 20:42:08 +02:00
Matthias Melcher 35728ac9ec FLUID: Fixes override attribute, cleanup 2023-07-19 17:56:18 +02:00
Matthias Melcher f8a3278776 FLUID: emulated RTTI for all types
Complete type hierarchy in Fl_Types doc
Window now derives correctly from Group
Menu Items now correctly (functionally in FLUID) derived form Button
Menu Buttons have a better hierarchy
Fixing two possible crash bugs where Input_Choice was assumed to be a Menu_
Hoping I have not degraded the original code!
2023-07-19 17:45:28 +02:00
Matthias Melcher aeedd18316 FLUID fixes wrong type IDs and more cleanup 2023-07-19 15:06:25 +02:00
Matthias Melcher d331a697ed FLUID: text fixes 2023-07-18 15:30:07 +02:00
Matthias Melcher 4f7a3f384f FLUID correct inheritance, formatting, factory floor cleaning 2023-07-18 15:21:14 +02:00
Matthias Melcher 2279f85824 FLUID: restores g++98 compatibility
I want enum classes, sigh.
2023-07-17 20:41:04 +02:00
Matthias Melcher 9bdc7139da FLUID: better initial sizes for buttons and windows 2023-07-17 20:21:04 +02:00
Matthias Melcher 9794d200b3 FLUID: emulating RTTI and fixing type dependencies (Buttons) 2023-07-17 18:32:13 +02:00
Matthias Melcher 80ad543963 FLUID: using symbols instead of integers 2023-07-17 15:56:05 +02:00
Matthias Melcher 4d94a08bd2 FLUID: fix window visibility across project file update 2023-07-17 12:56:35 +02:00
Matthias Melcher 5d69828ed0 FLUID: fixes all overlapping widgets in all .fl files
Also fixes an issue with multiple use of the same variable
for different types of i18n.
2023-07-14 23:42:17 +02:00
Matthias Melcher b2eb664586 FLUID File Format Documentation Fixes 2023-07-14 19:16:55 +02:00
Matthias Melcher 92a1cacd62 FLUID: File Format Fault Fixes. 2023-07-14 18:46:59 +02:00
Matthias Melcher f8ebde4da4 Documentation: screenshot updates 2023-07-14 18:10:17 +02:00
Matthias Melcher 4d3e1032ea FLUID formatting and comments 2023-07-14 15:17:14 +02:00
Matthias Melcher 11dc28c321 FLUDI documentation updates 2023-07-12 15:27:52 +02:00
Matthias Melcher c2cce9cba8 FLUID: typo 2023-07-11 23:21:37 +02:00
Matthias Melcher 2e9c1a5097 FLUID adding hatch pattern to overlapping widgets 2023-07-11 23:13:55 +02:00
Matthias Melcher 71088b7fe2 FLUID mark project change when changing window visibility 2023-07-11 14:27:58 +02:00
Matthias Melcher 676bad861a FLUID source files sorting improved 2023-07-10 17:07:34 +02:00
Matthias Melcher 6fbc7ad86e FLUID #739: emit User Code late for Window and Widget Class 2023-07-03 17:19:37 +02:00
ManoloFLTK c606914164 Fix building with -DOPTION_USE_SVG=Off 2023-06-12 16:55:05 +02:00
Matthias Melcher 5dfa51a820 FLUID option to ignore some syntax checks 2023-06-04 21:10:43 +02:00
Albrecht Schlosser 712fc72fef [CMake] Use an object library to speed up fluid build
Currently 'fluid' comes as up to three different targets, compiled
from the same source files (fluid, fluid-cmd, and fluid-shared).

The object library is built from all source files except fluid.cxx
and finally all 'fluid*' programs are linked with this library.
This avoids compiling the same source files multiple times.
2023-05-07 21:18:52 +02:00
Matthias Melcher 982d104adb FLUID: Initialisation orner in menus: #722 2023-04-26 20:24:33 +02:00
Albrecht Schlosser 652b69842b Fix tiny memory leak in fluid (setting scheme)
Also initialize 'scheme_name' to make static code analyzer happy.
2023-04-14 19:52:33 +02:00
Albrecht Schlosser 4769e0085d Fix more compiler warnings (comma at end of enum)
These warnings are benign but ... I fixed them nevertheless.
2023-04-13 22:55:18 +02:00
Matthias Melcher f37347dd6e
Fix and consolidate settings dialogs (#346, #703) 2023-03-19 20:04:01 +01:00
Matthias Melcher 5c482f9d9b
Fix and update alignment #346 (#701)
* interactive layout alignment rewritten
* interface for new alignment rules
* new alignment dialog box
* user defined layout rules added
* layout rules can be stored in projects, settings, and external files
* Valgrind verification
2023-03-18 17:33:27 +01:00
Albrecht Schlosser 5175192755 CMake: build shared libs with OPTION_CAIROEXT (issue #250)
- remove separate libfltk_cairo to avoid cyclic dependencies, but
- keep a dummy libfltk_cairo in 1.4.0 for backwards compatibility
- move cairo/Fl_Cairo.cxx to src/Fl_Cairo.cxx
- add preliminary Cairo support for Visual Studio (MSVC)

Static linking is not affected by this change, but users building
with hand-made Makefiles will have to remove libfltk_cairo starting
with FLTK 1.4.0. The dummy library can be linked for backwards
compatibility but it will be removed later (in 1.4.x or 1.5.0).

The shared FLTK library libfltk.{so|dylib|dll|..} depends on libcairo
if and only if FLTK is built with one of the Cairo options. This has
always been the case for OPTION_CAIROEXT but is now also true if only
OPTION_CAIRO is selected, i.e. FLTK programs linked with a Cairo
enabled shared FLTK library will also be linked with libcairo. The same
is true for configure options --enable-cairo and --enable-cairoext,
respectively.

Preliminary Cairo support for MSVC now detects a Cairo installation
using the CMake variable FLTK_CAIRO_DIR which must be set by the user.
Note that this feature is temporary and may be changed in the future
for a better and more comfortable version.
2023-03-09 17:34:05 +01:00
Matthias Melcher 43ae343bf3 FLUID Fix resizable of Widget panel 2023-03-01 15:48:03 +01:00
Matthias Melcher 9f87af8ad9
Fl_String refactoring and extension (#683)
- add true unittest and Fl_String testing
- interface and printout are similar to gtest
  without requiring external linkage.
  just run `unittest --core`.
- new Fl_String API
- extended API to fl_input_str and fl_password_str
- co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2023-02-23 15:42:05 +01:00
ManoloFLTK 87f8b742cd Update dependencies 2023-02-16 08:25:29 +01:00
Matthias Melcher 6fbfaba19d
Move class Fl_Shortcut_Button from FLUID to core (#677) (#680) 2023-02-15 15:24:25 +01:00
Matthias Melcher a3251b3208 FLUID: another memory leak 2023-02-09 16:48:11 +01:00
Matthias Melcher 60be3e94cc FLUID: Fix memory leak (#672) 2023-02-09 15:12:57 +01:00
Albrecht Schlosser f04f8fb1a2 Give fluid and fltk-options their own .gitignore files
Move git exclusions from the main .gitignore file to the respective
directories to simplify the main file.

Note to devs: some file types are ignored "everywhere" (e.g. *.exe),
there's no need to add these files to the subdirs.
2023-02-05 19:41:19 +01:00
Matthias Melcher 62331e4a38 FLUID: resizable Command dialogs 2023-02-05 00:35:31 +01:00
Matthias Melcher 1aa6c4fed8
Fix position() methods that shadow Fl_Widget::position()
* `FL_DEPRECATED` macro to mark `position()` method that shadow `Fl_Widget::position()` #69 (#666)
2023-02-02 20:54:19 +01:00
Matthias Melcher 59d3b2e9fd
FLUID: Unicode support in ExternalCodeEditor_WIN32.cxx (#453) 2023-02-02 20:37:26 +01:00
Albrecht Schlosser 4e75549e7b Update dependencies and fix whitespace errors
- replace tabs with spaces
- remove trailing whitespace
2023-02-02 17:09:14 +01:00
Matthias Melcher 16af5f432e Avoid Linux warning 2023-01-29 13:49:37 +01:00
Matthias Melcher 85ac3d3147 FLUID: defer calling Fl::add_fd. 2023-01-29 11:51:55 +01:00
Matthias Melcher 1881324145 FLUID: close communications pipe 2023-01-27 12:08:08 +01:00
Matthias Melcher 873d355ec2 FLUID: fixe external command alert on Unix 2023-01-27 11:35:17 +01:00
Matthias Melcher e2028c66fe STR 2936: FLUID: option to ignore syntax check in DeclBlock 2023-01-26 16:32:17 +01:00
Matthias Melcher 179771acd2
Fixing FLUID file corruption from issue #653 (#662)
Removing all globals in file writer (#653 )
Fix some static analyser complaints
Valgrind: handle width==0 in GfxDrivers on Wayland and X11
Don't use `Fl_Input_::static_value`, it accesses previous
buffer that may be deleted
Project file write encapsulated, removing globals
Encapsulating project file reader, removing states in glbals
Project i/o increased source code readability
2023-01-26 15:23:43 +01:00
Matthias Melcher bd5a42eba8 FLUID: unneeded assignment, possible NULL pointer (#660) 2023-01-23 16:24:14 +01:00
Matthias Melcher 3a7c9fe978 STR 2639 Fixes Fl_Pack resize behaviour
FLUID cleanups
FLUID Fl_Pack support improvement
FLUID fix error in handling live mode resizables
2023-01-23 16:08:59 +01:00
Matthias Melcher 4c8927c083 FLUID: No syntax highlighting in comment editor (#658) 2023-01-21 18:23:48 +01:00
wcout 2ddfd9d949
Animated GIF support (Fl_Anim_GIF_Image class) (#375) 2023-01-21 17:27:58 +01:00
Matthias Melcher 1fc269b0d4
Move global FLTK options into new app fltk-admin (#560) 2023-01-21 17:14:41 +01:00
Matthias Melcher cd5301ac37 STR 2843: FLUID align evenly now prefers correct gap size over correct width 2023-01-20 15:34:14 +01:00
Albrecht Schlosser 0eeb6fe33e Fluid: improve contrast of comments in widget browser 2023-01-19 14:03:31 +01:00
Albrecht Schlosser bafd3fd3d7 Add Fl_Scheme_Choice widget and use it in test programs
This widget offers the selection of all known FLTK schemes as a simple
widget based on Fl_Choice.

Some test and demo programs use Fl_Scheme_Choice to enable the developer
or user to switch schemes quickly for comparison.

Todo:
 - add features to add new schemes during runtime (partially done)
 - update status when the scheme is changed by Fl::scheme("...")
2023-01-12 19:21:09 +01:00
Matthias Melcher 76a5c7b081 FLUID: Fix wrong use of `Fl_Scroll::position()` 2023-01-12 14:38:11 +01:00
Matthias Melcher f576faf2a6 Fix new warnings in CI 2023-01-10 17:07:03 +01:00
Matthias Melcher 7d167b3cf1
FLUID: add drag'n'drop for images (#642)
FLUID dnd for desktop images into the design
Documentation for fl_access
2023-01-08 19:43:31 +01:00
Greg Ercolano 69773338b9 Include OS error if reap_editor() fails 2023-01-05 15:46:33 -08:00
Matthias Melcher 8826dca106
Add close buttons for individual tabs in Fl_Tabs (#628)
Add close buttons for Fl_Tabs
Introducing callback reasons
FLUID shows all FL_WHEN_... options
Adding Fl_Tabs overflow types
Improved test/tabs to show new features
2023-01-05 13:51:30 +01:00
Albrecht Schlosser b5b88d5f0d Remove unused variable, fix "type issue" (#445, part 2)
This commit removes the unused variable as suggested in the discussion
of issue #445: "type issue in fluid/ExternalCodeEditor_WIN32.cxx"

... although the compiler would remove it anyway. ;-)
2023-01-04 20:25:49 +01:00
Matthias Melcher a63ad76603
FLUID refactor and macOS warnings removed (#623)
P renamed to g_project
class Project renamed to class Fluid_Project
fixes macOS type cast warnings
2023-01-01 20:05:42 +01:00
Matthias Melcher 9a3f0f2089 FLUID: BMP header file not tracked 2023-01-01 17:15:00 +01:00
Matthias Melcher ab0d59220e FLUID: Fixes size_t signedness warning 2023-01-01 17:09:15 +01:00
Matthias Melcher 2c5a5ce948
FLUID support for inline image data (see #542, #592) (#604) 2022-12-30 19:20:52 +01:00
Matthias Melcher 44c874b731
Use `FL_OVERRIDE` for all overridden virtual methods (#611)
FL_OVERRIDE is defined as `override` for C++11 and higher
FL_OVERRIDE is defined as `override` for VisualC 2015 and newer
Don't interfere with Fl_Widget::override()
2022-12-30 19:14:36 +01:00
Matthias Melcher d98c663893
Fix compilation on old gcc (#606)
* Fixing char* use in FLUID
* Fixing const cast
2022-12-22 00:18:01 +01:00
Matthias Melcher 12da87ba0c
Adding length checks for in-memory image data (see #542) (#592)
SVG is now decompressed in memory
Bitmap invalid array length handling to return an error
RGB Image data reader to return error if image data is too short
FLUID: Add size argument to bitmap and JPEG data
2022-12-17 16:01:35 +01:00
ManoloFLTK 41f37613ec Derive Fl_Zenity_Native_File_Chooser_Driver from Fl_Kdialog_Native_…
Also add Fl::option(OPTION_FNFC_USES_ZENITY)
2022-12-16 16:21:23 +01:00
Albrecht Schlosser 44a2547394
Rename some Fl_Flex methods for FLTK compliance (#594)
Change some method names to comply with FLTK style as discussed
in fltk.coredev, thread "Fl_Flex method name question".

* Rename Fl_Flex::margins(...) to Fl_Flex::margin(...)
  (use singular form for all margin related methods)

* Remove Fl_Flex::setSize() and isSetSize() "backwards compatibility" methods

* Rename Fl_Flex::set_size(...) to fixed(...)

Note: the latter affects existing (pre-release) fluid (.fl) files: you may
  want to edit and replace "set_size_tuples" with "fixed_size_tuples"
2022-12-15 16:46:40 +01:00
Albrecht Schlosser 64d8c913be Fix trailing whitespace and dependencies 2022-12-13 15:58:56 +01:00
Albrecht Schlosser 5b3bd50001 Fix compiler warning: unused variable 2022-12-13 15:58:27 +01:00
Matthias Melcher a5adbd99ca
Add option to bind images to a widget (#589)
Adding image binding to FLUID as well
2022-12-10 23:22:24 +01:00
Matthias Melcher a8051301b0
Fluid preview now copies text attributes (#587) 2022-12-10 16:33:48 +01:00
Matthias Melcher 60d6e9be14 Fixes some VC compiler warnings 2022-12-10 16:03:29 +01:00
Matthias Melcher 98d97daf11 Fixes some implicit type cast warnings 2022-12-10 13:34:00 +01:00
Matthias Melcher fa41211cca
FLUID event handling and UI changes (#575)
* Full support o when()
* Making undo suspend nesting
* Finally correct undo handling for Label: input
* Documentation.
* Adding more undo checkpoints for the Widget Panel
* Quick selection of default user_data types
* Pulldown menu for system colors
* Make sure that partially typed text fields are propagated before saving
2022-12-10 13:11:49 +01:00
Albrecht Schlosser 823dc5acc4 Fix compilation warning, update dependencies
Warning: variable ‘j’ set but not used [-Wunused-but-set-variable]
2022-12-08 19:09:18 +01:00
Matthias Melcher 8b7021ba8b
Fluid: Keep widget panel open during undo/redo (#566) 2022-12-01 01:00:12 +01:00
Matthias Melcher 8f9728d511 Fix -o and -h command line arg handling 2022-11-29 00:05:00 +01:00
Albrecht Schlosser bcb739f17f Update dependencies 2022-11-26 21:59:03 +01:00
Matthias Melcher e1a781717e Remove unintentional C++11 2022-11-26 19:09:12 +01:00
Matthias Melcher 6e5c472cf9
Handle Fluid project settings better (#556)
Fix allocation bug in Fl_String
2022-11-26 01:35:50 +01:00
Albrecht Schlosser b1ba37c5ba Add "Oxy" scheme (STR 2675, STR 3477)
This commit is similar to the patch given in STR 3477, oxy_v5.diff:
https://www.fltk.org/strfiles/3477/oxy_v5.diff

... with modifications, and updated to current FLTK code.
2022-11-25 00:00:48 +01:00
Albrecht Schlosser c1ba9f31ec Fix two Visual Studio compiler warnings
+ fix trailing whitespace (fluid)
2022-11-24 12:51:26 +01:00
Matthias Melcher 8978bd1a84 FLUID: Fix update of formula input widgets 2022-11-24 12:35:32 +01:00
Matthias Melcher 6f36a63629 Fixes some FLUID bugs
Fl_Flex would not change type when it had no children.
Function evaluation could read past string end.
Fl_Window_Type would not initialise all member variables.
2022-11-24 11:39:29 +01:00
Matthias Melcher 817a97bb65 Fluid: Fix variable naming and a memory leak 2022-11-23 15:18:01 +01:00
Matthias Melcher be6e5fad72 Fluid: Fix commandline parameter error message 2022-11-23 10:59:43 +01:00
Albrecht Schlosser 39bb38447b Update dependencies 2022-11-22 19:35:34 +01:00
Matthias Melcher 2dae18da09
Fluid: Add Undo to formula input fields. (#547) 2022-11-17 00:43:16 +01:00
Albrecht Schlosser 624eda17bc Fix whitespace errors and dependencies
(no code changes)
2022-11-16 21:10:14 +01:00
Matthias Melcher 24c4af6440
Capitalise FLTK and FLUID. 2022-11-16 19:50:03 +01:00
Matthias Melcher 85c941b8fe
Fix capitalisation for keywords. 2022-11-16 18:14:13 +01:00
Matthias Melcher e2a6b46f6b
Clarify two entries in the .fl file format docs 2022-11-16 17:38:17 +01:00
Albrecht Schlosser 280f3261f7 Fix typos and a minor bug in fluid/README_fl.txt
Bug fix: see "avoid_early_includes"
2022-11-16 14:41:37 +01:00
Matthias Melcher 3ecae0459c
Improve Fluid argument handling and relative paths. (#545)
Fix typos, fix merge conflict.
2022-11-15 17:48:06 +01:00
ManoloFLTK 7f8f7c5b85 Add support of .svgz image files to fluid
The  prototype of the public Fl_SVG_Image constructor is expanded
to allow construction from in-memory, gzip'ed binary data.
2022-11-15 10:09:01 +01:00
Matthias Melcher 57f61cf5a0
Further clarify Fluid file format specifics
Remove never used options
Clarify the end of the options section
2022-11-13 15:37:49 +01:00
Matthias Melcher 56cba05672
Fluid Fl_Widget::image() path fixes. (#536)
* Adding strings and design file to source view panel

* Fluid: Fixed source dir recursion, fixed relative image reading path.

* Renaming source_dir to designfile_dir in some functions.
2022-11-09 23:12:55 +01:00
Matthias Melcher b76152cf6c Fluid: widget classes can resize children on instantiation 2022-11-08 19:09:17 +01:00
Matthias Melcher ec47afb7eb
Adding Fluid file format README. (#533)
* Adding Fluid file format README.

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fd.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Typos, changes, restructuring.

* Changed filename.

* More typos,

* Typo.

* Update fluid/README_fl.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fl.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fl.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fl.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fl.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

* Update fluid/README_fl.txt

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>

Co-authored-by: Peter0x44 <peter0x44@snopyta.org>
2022-11-08 18:30:44 +01:00
Matthias Melcher 4b4591dd72
Fluid now stores set sizes for Fl_Flex. (#529)
https://groups.google.com/g/fltkcoredev/c/2JA-CcTbrX4
2022-11-04 17:49:37 +01:00
Etorth da96fa0ddf
support svg (#489) 2022-11-04 13:30:09 +01:00
Matthias Melcher 33f01ecb83
Added Fl_Group::on_insert/on_remove/on_move (#527) 2022-11-01 20:45:31 +01:00
Albrecht Schlosser 414ad1dce7 Remove unnecessary include files, update dependencies 2022-11-01 20:04:37 +01:00
Matthias Melcher dd7edd7c7f Fluid subgroup visibility 2022-11-01 16:24:54 +01:00
Matthias Melcher 93ea93ee2b
Fluid support for Fl_Flex (#523) and some Fl_Flex improvements
* Adding Fluid support for Fl_Flex, margins, and gap.

* Fluid Fl_Flex mostly working. Fixed in Fl_Flex::set_size().

* Fluid Flex live mode works, interactive dragging works

* Fluid Flex: adding check box for fixed children

* Fluid Flex: visual flexibility indicator in guides.

* Fluid Flex: bug in generated code.

* Fix formatting

* Fixing Tooltip, fixing resize issue PR #518.

* Removing unused variables.

Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2022-11-01 13:30:05 +01:00
Gonzalo Garramuño f8058aae52 Fixes incorrect install of fluid in macOS Applications directory.
This requires sudo permissions to do it, and breaks ExtenalProject_Add.
2022-09-23 11:29:55 +02:00
ManoloFLTK b37576aa55 New configure setting "--enable-wayland --disable-x11" to build pure Wayland platform. 2022-09-10 07:44:23 +02:00
ManoloFLTK c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
Albrecht Schlosser 228d04d0e0 Build and use fluid-cmd on Windows for .fl files (#224, #293)
On Windows fluid.exe is a "GUI" program and does not allow console
output which can be a problem in automated builds. In Visual Studio
the fluid GUI program would pop up console windows when generating
.cxx and .h files from .fl files.

The new (additional) fluid-cmd.exe is built as console application
for users that need it and it is used in the FLTK build process on
Windows to convert the .fl files.
2022-04-03 23:47:23 +02:00
ManoloFLTK 6216165dec Add the Wayland platform to FLTK 1.4 - continued. 2022-03-04 16:58:20 +01:00
Albrecht Schlosser a773fdc44b Fix whitespace, update dependencies and fluid files 2022-03-03 17:20:24 +01:00
Albrecht Schlosser 7810cda145 Fix Visual Studio build warnings 2022-02-26 18:19:43 +01:00
Matthias Melcher 72fe8c6035
Fluid: no grid on window resizing. (#399) 2022-02-20 22:03:39 +01:00
Matthias Melcher a878e253ad
Fluid: fixed missing return value (#398)
...and possible devision by zero
2022-02-20 21:15:58 +01:00
Matthias Melcher 390095392b Adding comments to recent Fluid changes. 2022-02-14 13:20:34 +01:00
Matthias Melcher 8c3778e13f
Better Fluid Widget dimension controls (#394)
* Size and position widgets can evaluate basic math.

* Allowing x, y, w, and h as variables for formulas.

Also supporting 'i' as a counting index when selecting multiple
widgets, so setting Y: to i*25+10 arranges all selected widgets
vertically.

* Additional variables cx, etc. for children box

cx, cy, cw, ch
2022-02-13 22:01:16 +01:00
Matthias Melcher c9b44064d2
Fluid: adding feature: Functions can also be "local". (#390)
Before, Functions could only be "static" (keyword static is added)
or "global" (prototype is added). This is harmful if the function or
method was declared elsewhere. "local" solves that.
2022-02-13 00:54:44 +01:00
Matthias Melcher 62daf00a9e Fixed Fluid Alignment panel i18n to none. 2022-02-11 16:00:37 +01:00
Albrecht Schlosser 04ccc8cc46 Remove experimental platforms Android, Pico, SDL (PR #376)
... as discussed in fltk.coredev: "FLTK 1.4.0 release schedule"
https://groups.google.com/g/fltkcoredev/c/PDbHTRpXVh0/m/JqboexZ_AwAJ
2022-01-23 18:12:47 +01:00
Matthias Melcher 09eff7243a
Fixing and upgrading Fl_Preferences (#374)
* Added filename function to Fl_Preferences

Static function to get filename before opening.
Member to get filename after opening.
Bug fixes for memory mapped preferences.

* ERROR is a macro on Windows, don't use it

* Added Fl_Preferences::dirty().

User can now check if the database will be written
when flushed or destroyed.
Flush returns a crude error code.

* Fl_Preferences::get binary data returns # of bytes read.

* Verified group deletion code

* Fl_Preferences ignores locale.

This will make .prefs files interchangeable
between different computers.

* Updating the Preferences Mode to ignore locale.

* Fixes in docs.
2022-01-19 16:08:29 +01:00
ManoloFLTK 793f4b90fa Remove potential compiler error with -Wc++11-narrowing 2022-01-19 12:03:45 +01:00
Albrecht Schlosser 4041608e94 Update fluid files and generated files
fluid/widget_panel.cxx: apply previous fluid fix
2022-01-16 19:47:16 +01:00
Albrecht Schlosser 788ca208f7 Rename FL/Fl_String_class.H to FL/Fl_String.H
This is part 2 of the final fix for a previous name clash on case
insensitive file systems (fl_string.h vs. Fl_String.H).
2022-01-16 19:47:16 +01:00
Albrecht Schlosser 92e9181a0a Rename FL/fl_string.h to FL/fl_string_functions.h
This is part 1 of the final fix for a previous name clash on case
insensitive file systems (fl_string.h vs. Fl_String.H).
2022-01-16 19:47:16 +01:00
Matthias Melcher 42f4ebab2f Renewing old code, as suggested by Albrecht. 2022-01-12 11:38:14 +01:00
Matthias Melcher b2498781de Reintroducing delet o; 2022-01-11 23:01:48 +01:00
Matthias Melcher 59384b359c Fluid: Window was not updated when widget was deleted.
For parents with a box type based on FRAME.
2022-01-11 21:42:03 +01:00
Matthias Melcher d699b617ac Avoiding CodeQL warning.
Changed a statement emitted by Fluid to avoid 'unused'
warnings: if(w){} into (void)w; to avoid triggering 'Bad
error checking' warnings.
2022-01-11 11:56:54 +01:00
Matthias Melcher 42a93eb8de avoid early include of Fl.H option 2022-01-08 22:12:41 +01:00
Matthias Melcher bcb78859bc Fixed a crash bug in Fluid where partial menus were deleted.
Reading an .fl file rebuilds a menu item arrays with every item read.
If a menu is only partially read, the end marker (label==NULL) is
not set, so that deleting the menu will run beyond the missing marker.
This bug was exposed by adding images to menu items, which
requires additional deletes.
2022-01-07 18:04:31 +01:00
Albrecht Schlosser 9d474dfcdf Fix whitespace and Makefile dependencies
No code changes
2022-01-05 22:00:54 +01:00
Matthias Melcher 14ae784f7f Installing Fluid correctly on macOS 2022-01-01 13:58:44 +01:00
Matthias Melcher 0d435d51ac GitHub #328: removed stray ';' in Fluid code generation. 2021-12-20 01:23:59 +01:00
Albrecht Schlosser e8961f10b8 Update fluid generated and .fl files (remove mac_shell...)
Commit updated .cxx files in src/ with fixed indenting

Remove `mac_shell_*' statements from fluid (.fl) files
2021-12-19 22:45:53 +01:00
Matthias Melcher 2328547538 Github #351: fixed missing curly brackets. 2021-12-19 22:33:12 +01:00
Matthias Melcher 29531873ea STR 3289: Fluid i18n, gettext, catguts improvements
Removed some unneeded code.
2021-12-19 02:03:05 +01:00
Albrecht Schlosser 5438954d8c Generate FL/fl_config.h rather than FL/abi-version.h
... as discussed in fltk.coredev in thread "RFC: introduce public
config header <FL/fl_config.h>", see:
https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ

- Rename abi-version.h to fl_config.h, rename input files,
  update dependencies, .gitignore, CMake, configure and Makefiles.

- Include Cairo options in FL/fl_config.h

- Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency.

- Include <FL/fl_config.h> in config.h and wherever necessary,
  fix include order (move FL/Fl.H to the top) and more.

- Move USE_X11 to fl_config.h and rename to FLTK_USE_X11

- Do not include <config.h> in Cairo demo program which is no
  longer required in Cairo programs since FLTK 1.4.0
2021-12-18 22:44:08 +01:00
Albrecht Schlosser 797616841c Remove unused and outdated demo, update dependencies
- remove test/connect.cxx
- fix typos in comments in a related android file
- update dependencies
2021-12-18 18:26:48 +01:00
Matthias Melcher de2585d9f1
Removed superfluous comments 2021-12-18 15:22:19 +01:00
Matthias Melcher 763ba46e54 Github #340: removing two warnings. 2021-12-18 15:11:39 +01:00
Matthias Melcher 6343148f9d Correcting UFT vs. UTF character flip 2021-12-18 14:44:41 +01:00
Matthias Melcher b490ce3463 STR 3355: allow Unicode UTF-8 in source code
This includes changes in the UI in Project Settings.
2021-12-17 21:28:23 +01:00
Matthias Melcher 6d9df0763f GitHub #327: menu buttons will no longer grab arrow keys.
In Fluid, selecting a menu button, and selecting it again to make it
movable would also grab the text input focus, which would prevent
the enclosing window from using arrow key events to manipulate
the selected widget.
2021-12-17 19:48:59 +01:00
Matthias Melcher 3626e82057 GitHub #326: browser scrolling should be much improved
Code now convinces browser to rebuild when the tree changes by UI.
When widgets are move, the current widget should always be visible.
It's the responsibility of the UI callback to update the browser.
2021-12-17 18:38:26 +01:00
Matthias Melcher 983777535e GitHub #329: fixed missing code
Commented out code was obsolete.
line_len was a true bug which can shred the end of lines.

Removed Warning
2021-12-16 19:51:37 +01:00
Matthias Melcher 20593074c6 github #328: temporarily disabling new project flags
Project wide settings require a redesign.
Temporarily disabled until I find a satisfying solution.
2021-12-15 20:19:33 +01:00
Matthias Melcher 7161cad2c7 #329 #318: Fixed Fluid indenting and trailing whitespace 2021-12-15 19:38:09 +01:00
Albrecht Schlosser f57b074378 Fix trailing whitespace and a MSVC compiler warning
No code changes
2021-12-14 23:55:21 +01:00
Albrecht Schlosser 81d07af93a Fluid: convert Fl_Group::forms_end() to a static function
... just in case we disable forms compatibility in the future and
remove Fl_Group::forms_end().

Also: improve doxygen docs, fix some typos.
2021-12-13 21:55:03 +01:00
Matthias Melcher 5fea96dd92 #319: Fixed Live Resize Mode in Fluid 2021-12-13 21:01:56 +01:00
Matthias Melcher 21c328f0c5 #322: remove Fluid's dependency on fltk_forms. 2021-12-13 18:44:33 +01:00
Matthias Melcher e76611a1fe STR 3442: invalid conversion warning in VisualC 2021-12-13 18:17:07 +01:00