Commit Graph

1215 Commits

Author SHA1 Message Date
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
Matthias Melcher
08c69a548c STR 3442: changed .cxx file, but not .fl 2021-12-13 18:17:07 +01:00
Matthias Melcher
160832ce04 STR 3442: copy/paste now inserts widget as expected.
Fluid would add pasted widgets as the last child of the
current group, even if they were cut at the beginning
of the group. This patch adds a 'startegy' to adding
widgets to allow merging closer to the 'current' widget.

Also added d'n'd for the widget bin and some other
UI improvements.

STR 3442: some preparation, variable renaming

STR 3442: unifying functions to add widgets.

Adding widgets interactively is merged into one function,
making undo/redo work as expected and removing
unexpected differences between adding by menu or bin.

STR 3442: adding drag'n'drop for windows from bin.

Just drag the window symbol out of the tree and drop it anywhere
on the desktop.

Visual representation of dragged Window.

STR 3442: insert individual nodes after 'current'

STR 3442: adding new widget at expected positions.

The widget bin can finally do drag'n'drop.
Widgets appear in the tree close to the last selection.
Duplicating now ads right below.
Cut and paste inserts after last selection.

Fluid: replaced #define with strict enum type.
2021-12-13 18:17:07 +01:00
James Palmer
a802aaeb17 Fluid: "Widget Class" subclasses Group but incorrectly shows Window subtypes. 2021-12-13 12:06:07 +01:00
Albrecht Schlosser
20f7db27ba Fluid: use fl_strdup() to fix MSVC compiler warning 2021-12-11 14:49:42 +01:00
Matthias Melcher
8e864bae21 Fluid PR 313: update subtype menu to show "Normal" when deactivated.
Based on jdpalmer's pull request:
If the subtype menu is disabled because there are no subtypes, the deactivated menu will still display the subtype of the last widget that had a subtype value. Clearing the menu when there are no subtypes fixes this minor inconsistency.
2021-12-11 13:19:15 +01:00