Commit Graph

1014 Commits

Author SHA1 Message Date
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
Matthias Melcher
1c962bf5e2 STR 3210: indentation is now controlled in one single position for all source and header files. 2021-12-11 03:40:07 +01:00