Commit Graph

1220 Commits

Author SHA1 Message Date
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
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
Albrecht Schlosser
235f9ed709 Fluid: clean up Doxyfile, fix two minor doxygen issues
Note: I "downgraded" this Doxyfile from 1.9.2 to 1.9.1 and edited all
offending tags in the file for compatibility with 1.9.1 and 1.9.2.

Older versions may issue warnings.
2021-12-10 17:52:39 +01:00
Matthias Melcher
6d7faa93e1 Fluid: added keyboard shortcuts documentation. 2021-12-10 15:16:42 +01:00
Matthias Melcher
5655f79d63 STR 3426: indicating in the title bar if the design is newer than the code file.
In this first version, we assume that the code file is newer whenever it is written,
until the current design is modified in any way. So instead of a status bar at the bottom
of the main window, the title bar will now show the status of the design and the code at
the same place.
2021-12-10 01:22:24 +01:00
Matthias Melcher
a4b6175dbe STR 3210: be smarter about appending ';' in callbacks 2021-12-09 22:38:04 +01:00
Matthias Melcher
c175d1276d STR 3210: fixing indentation of Fl_Menu_Item cnd Widget allbacks.
also added and fixed a few comments

STR 3210: fixed indenting of widget callbacks.

Also fixed what is considered a 'name' (could still be improved).
Also better formatting inlined functions in the header.
2021-12-09 21:51:37 +01:00
Matthias Melcher
0c1f78c1f2 STR 3460.D: fixed .fl file reading code 2021-12-09 18:55:51 +01:00
Matthias Melcher
83f6bb50b2 Fluid: sample documentation, please check http://messagepad.org/fluid/code.html 2021-12-09 18:25:51 +01:00
Matthias Melcher
ace6a64161 Fluid STR 3460.D: making dialog more interactive. 2021-12-09 12:42:56 +01:00
Matthias Melcher
4f2febd801 Fluid STR 3460.D: Shell commands are now saved in the .fl file (user option)
The shell properties toolbox is completely redesigned:

This dialog box offers a field for a command line and three check buttons
 to generate and save various files before the command is run.

 If the fourth checkbox, "use settings in .fl design files" is checked,
 all shell settings will be store in the current .fl file, and they will
 be read and restored when the .fl is loaded again.

 Fluid will save different shell settings for different operating system as
 it is common that a different OS requires a different shell command.

 Fluid comes with default shell settings. Pressing the "save as default" button
 will store the current setting in the Fluid app settings and are used for new
 designs, or if the "use settings..." box is not checked.

 Fluid app settings are saved per user and per machine.
2021-12-09 02:48:40 +01:00
Matthias Melcher
1be158a840 STR 3460.b: fixed scrollbar update in widget_browser
Also fixed a bug where a Manu item was accessed by index, which
already was out of sync.
2021-12-08 20:52:51 +01:00
Albrecht Schlosser
b9c0933de2 Update dependencies (no code changes)
Done after the first large commit of fluid changes.
2021-12-08 19:23:01 +01:00
Matthias Melcher
17c8f73a88 STR 3460.C: Code Properties remembers the editor's scroll bar position. 2021-12-08 18:55:44 +01:00
Matthias Melcher
16dae3ea06 Fluid: restructuring and commenting.
tl;dr : making Fluid maintainable, no changes in code execution and logic.

This is a pretty extensive restructuring of the Fluid source tree.
It was neccessary because source and header files were getting
much too big to handle. Many source files had no header, and many
headers declared functions that were in diffrent source files.

Reorganized much of the include statements.
Added comments to some of the files.
Added Doxygen configuration file for standalone Fluid docs.

Tested everything by rebuilding Fluid .fl designs with the resorted
version of Fluid.
2021-12-08 15:52:15 +01:00
Albrecht Schlosser
9154291940 Fix filename in doxygen comment, update dependencies 2021-12-06 00:43:24 +01:00
Matthias Melcher
a646c3f012 Fluid: fixing missing return. 2021-12-05 23:46:11 +01:00
Matthias Melcher
ff869e7419 Fluid STR 3460: Shell Cmd would saye code to wrong path. 2021-12-05 23:30:41 +01:00
Matthias Melcher
45d1d95b57 Fluid: Adding shortcuts for Checkbox and Radio Menuitems. 2021-12-05 21:51:18 +01:00
Matthias Melcher
2e08864f9e Fluid: Adding shortcuts for Checkbox and Radio Menuitems. 2021-12-05 21:50:46 +01:00
Matthias Melcher
7d26ee6ac2 Fluid: fixed typos in pixmap's XPM format. 2021-12-05 13:02:03 +01:00
Matthias Melcher
30371740ac STR #2842: new widgets will be created where the user clicked the RMB
If a user adds a new widget using the right mouse button in any of the
design's windows, the new widget will be located with its top left corner
at the selected position.
2021-12-05 00:40:08 +01:00
Matthias Melcher
204ac3dfdf Fluid: adapting menu to pixmap changes. 2021-12-05 00:18:41 +01:00
Matthias Melcher
21a75a18f8 Fluid support for high res graphics
Changing all pixmaps to Hi DPI
Fixed wrong tooltip
Fixed misleading "invisible" indicator
2021-12-04 23:28:07 +01:00
Albrecht Schlosser
7a7e50df6e Rename FL/Fl_String.H to FL/Fl_String_class.H
The previous name existed already with different case (fl_string.h)
in the FL folder which broke the build on macOS and Windows.

This may be a temporary fix - until I find a better way.
2021-12-04 15:34:41 +01:00
Albrecht Schlosser
b6de09cff2 Re-enable nested (aka recursive) common dialogs (STR 3242, #282)
Apply Fl_Dialog_r10831.patch as given in STR 3242:
https://www.fltk.org/strfiles/3242/Fl_Dialog_r10831.patch

Reformat, add missing pieces, rename private members, cleanup...

Improve documentation, add fl_choice_n() (issue #282)

New methods fl_input_str() and fl_password_str() return Fl_String
2021-12-04 14:49:27 +01:00
Matthias Melcher
c55fd6f704 CMake for Apple Xcode usability improvements 2021-12-03 20:29:20 +01:00
Albrecht Schlosser
0bc06e8f1a Reformat and move clipboard demo from examples to test folder
The clipboard demo is more a test program than an example and very
useful even if the examples are not built.

Also update dependencies.
2021-11-18 13:44:41 +01:00
Albrecht Schlosser
654e20ff8b CMake: Build fluid when cross-compiling 2021-11-11 23:11:06 +01:00
Albrecht Schlosser
6d1f5608ba Support all image depths (1-4) in fl_write_png() 2021-11-11 20:58:09 +01:00
Albrecht Schlosser
500e470d39 Refactor fluid: make fl_write_png() public
The new function fl_write_png() was moved to its own file and is now
publicly available ("exported") so other programs can use it.

This function was used in fluid to write a window screenshot (.png)
together with a template (.fl) to preferences storage.
2021-11-09 20:36:23 +01:00
Albrecht Schlosser
5c5244b162 Fix a fluid crash when writing a template screenshot
We need to show() the window before we call fl_read_image() if it
is not shown yet, otherwise fluid would crash.
2021-11-09 19:36:26 +01:00
Albrecht Schlosser
14f842708d Fix indenting, whitespace errors and dependencies
(no code changes)
2021-10-27 20:52:08 +02:00
Albrecht Schlosser
8863ef7901 Avoid multiple definition of macro __fl_attr()
This could happen if both FL/fl_ask.H and fluid/Fl_Type.h were
included in the same file.
2021-10-17 12:24:39 +02:00
Albrecht Schlosser
b6a69db9a6 Rename 'fileno()' method to 'get_fileno()' for MinGW
See fltk.coredev thread "fltk-1.4 fluid build broken on 32-bit mingw"
https://groups.google.com/g/fltkcoredev/c/W9LWbsNuGZg/m/MW1BVAkeAgAJ

This regression was introduced in commit c8c1f51db7 in an
attempt to fix a Visual Studio (MSVC) warning but broke "old" MinGW
builds that define 'fileno' as a macro.
2021-09-28 12:40:43 +02:00
Albrecht Schlosser
c8c1f51db7 Fix MSVC "fileno" warnings in fluid 2021-08-30 23:45:16 +02:00
Albrecht Schlosser
1a8b94162d Fix Windows (VS) compiler warnings in fluid 2021-08-30 23:45:16 +02:00
Albrecht Schlosser
410a01c6db Add CMake compatibility functions and macros
CMake/compatibility.cmake: define functions and macros to be used
  if a particular CMake functionality requires a higher CMake version
  than FLTK's minimum CMake version, see 'cmake_minimum_required(...)'
  in the root CMakeLists.txt.

Note: target_link_directories() is available since CMake 3.13
2021-07-26 17:40:26 +02:00
Albrecht Schlosser
3c84894f19 Windows: Fix compiler warning: unused variable 2021-05-31 14:20:08 +02:00
ManoloFLTK
b027d2ba57 Windows platform: use GDI+ to antialias oblique lines and curves. 2021-05-31 08:28:06 +02:00
Albrecht Schlosser
773467dee4 Refactor macOS bundle generation to avoid "quarantine"
macOS Big Sur 11.3 introduced a new "security feature" such that
app bundles created from existing bundle templates in downloaded
files (tar distibutions, expanded) could no longer be executed
without unsetting the "quarantine" attribute. This commit fixes
this by creating all bundles from scratch.

Known *workaround* for older tarballs and snapshots:

  $ xattr -d -r com.apple.quarantine xxx.app
2021-05-13 16:18:13 +02:00
Albrecht Schlosser
b5cdd2fa71 Update copyright in fluid bundle (macOS: Info.plist) 2021-05-07 16:50:52 +02:00
Albrecht Schlosser
a484541d4b CMake: improve detection and configuration of image libs
Also: fix old (pre 3.13) link_directories() usage
2021-04-30 19:47:47 +02:00
Albrecht Schlosser
2555e3b37e Fix build with Cairo for CMake < 3.13
target_link_directories() was introduced in CMake 3.13
2021-04-30 12:46:58 +02:00
Albrecht Schlosser
41266df7ae Remove unnecessary system includes from public headers
Add includes of system headers in the implementation files
where necessary.
2021-03-21 00:42:28 +01:00
Albrecht Schlosser
49a78bc482 Fix cairo build (autoconf + CMake) + README's
- rewrite to use pkg-config with both autoconf + CMake
- remove hardcoded library names
- fix build dependencies and search directories
- remove or replace old and unused variables
- update README files

To be done:
- implement fallback for autoconf/configure if pkg-config is missing
- fix pango build (uses cairo internally)
2021-03-01 10:45:59 +01:00
Greg Ercolano
3c37cd033b Solves all "conversion" warnings in fluid for issue #109. 2021-02-18 16:37:51 -08:00
Albrecht Schlosser
f519aceb85 Update dependencies 2020-11-21 13:20:26 +01:00
Albrecht Schlosser
5cb72ef065 Fix whitespace and minor formatting issues 2020-11-17 16:11:03 +01:00
Greg Ercolano
d66e146a89 Handle single quotes 2020-11-01 12:16:23 -08:00
Greg Ercolano
4d503899a3 Mods for Albrecht's 09/19/20 code review 2020-11-01 12:16:23 -08:00
Greg Ercolano
890533a863 Code cleanup: moved keyword/type arrays to StyleParse
Needed to do this to prevent lower StyleParse class from #including upper CodeEditor.
2020-11-01 12:16:23 -08:00
Greg Ercolano
cec029dbee Rewrite CodeEditor syntax highlighting for issue #135 2020-11-01 12:16:23 -08:00
ManoloFLTK
06504e1840 Add Fl_Option::OPTION_SHOW_SCALING to fluid's "Global FLTK Settings". 2020-09-27 10:02:39 +02:00
Albrecht Schlosser
c9bee9ba80 Fix fluid output for international languages
The fluid version and other values in .fl files are written as float
values which means that locale settings apply since we enabled the
locale with "setlocale()".

Update the "rebuild" target in fluid and src folders to update
the fluid (.fl) files and related {.cxx|.h} files.
2020-09-16 12:15:54 +02:00
Albrecht Schlosser
340e2ac3a1 Fix .clang-format and some whitespace errors
.clang-format: UseTab: ForIndentation -> Never

Update fluid generated files
2020-08-22 13:35:42 +02:00
Michael Dickens
4c012bd706 Fluid: when linking include LDFLAGS order
LDFLAGS often contains "-L*" flags as provided outside the build to tell the linker where to search for libraries. If these are included -before- the ones used for internal linkage as found in LINKSHARED, and FLTK is already installed on the system, then the already-installed FLTK libraries will be found before those internal to the build. Moving the LDFLAGS after LINKSHARED generally solves this issue. Worst case the move won't hurt linking since all of the flags are still included in the link command.
2020-08-20 17:34:57 +02:00
Albrecht Schlosser
fcd5239adc CMake: Fix macOS bundle wrapper generation
Now bundle wrapper scripts are created in the particular build folder,
i.e. in subdir 'Debug', 'Release' etc. in multi config builds (Xcode).
To do this, the scripts are now copied whenever the target is built
and not during the configuration phase.

To do: "install" wrapper scripts.
2020-08-18 16:23:25 +02:00
Albrecht Schlosser
4d0b04456e Update dependencies + fluid/generated files 2020-08-03 13:03:14 +02:00
Greg Ercolano
3d18d325f6 Commiting fluid generated template_panel.h as per issue #116
Regarding this comment thread:
https://github.com/fltk/fltk/pull/116#discussion_r458517450
2020-08-02 10:56:40 -07:00
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -07:00
Albrecht Schlosser
720b84ef9d CMake: refactor and reformat CMake files
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015)
- indent all CMake files according to the CMP (2 col.)
- refactor FLTK version number definitions and usage
- unify CMake and autoconf/configure variable names:
  - FL_VERSION -> FLTK_VERSION
  - FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR
  - etc. for _MINOR_ and _PATCH_, respectively
  - note: this does not affect FL_VERSION etc. in source code
- generate "export headers" for all libraries (experimental: OFF)
- port some forgotten goodies from branch-1.3 to master
- merge and improve macro 'create_example' (WIP)
- remove "temporary" options and code for older CMake versions
- include and use 'GenerateExportHeader' (experimental, WIP: OFF)
  - note: created header files are not yet used
- build only *one* DLL with Visual Studio (tested, works)
  - similar to the bundled IDE projects in 1.3.x
- add some dynamically linked test/demo programs ('*-shared')
  if shared libraries are built (WIP)
- split 'macros.cmake': use one file per macro
2020-07-15 00:34:53 +02:00
Greg Ercolano
da76085fe7 Import Albrecht's utf8 mods for FormatMessage() to fluid
Amended by Albrecht:
 - fix comments
 - add setlocale() to fluid

Note: the latter is also necessary to honor locale in GTK filechooser.
2020-07-14 13:14:37 +02:00
Albrecht Schlosser
8a3d3684ac Fluid: fix "trailing whitespace" errors (#100)
Fluid would write trailing whitespace at some points when generating
.cxx and .h files from .fl files.

This was an old issue but became obvious since we removed trailing
whitespace from source and header files recently.

This commit fixes all whitespace errors in files generated from .fl
files in the FLTK repository, i.e. in fluid/, src/, and test/ folders.

I can't guarantee that I found all possible whitespace errors, but
this commit:

Fixes #100
2020-07-11 18:48:42 +02:00
Greg Ercolano
2b88ce521d Shortcut tooltip elaborates on how to clear shortcut
A user was having trouble figuring this out on fltk.general,
seemed like a tooltip could have helped, so added it.
2020-07-06 21:31:25 -07:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
Albrecht Schlosser
1da349579d Fix static code analyzer warnings
Note: there's more to do ...
2020-06-24 20:20:11 +02:00
Greg Ercolano
0dc16dd8c9 Added fluid command line '-d' debug flag 2020-06-19 08:59:48 -07:00
Greg Ercolano
db07cea758 Fix problem with Windows pids being unsigned DWORDs
Had to get away from overloading PIDs with error codes,
so now error codes are returned separately from the PID.
2020-06-18 18:24:45 -07:00
Albrecht Schlosser
1078b8fe43 Update dependencies
Change sort order using -f (--ignore-case):
  fold lower case to upper case characters
2020-06-13 12:50:06 +02:00
Albrecht Schlosser
adb2a719d4 Fix fluid undo/redo menu activation and deactivation
(1) fix typo in recent commit
(2) deactivate undo/redo menus on startup and after reset

Fixes issue #84
2020-05-24 22:24:48 +02:00
Greg Ercolano
dcfe826b2f Fix broken undo
Replaced hardwired index#s for undo/redo menu items with dynamic lookup.
2020-05-24 09:02:24 -07:00
Albrecht Schlosser
f930e834c5 Fix documentation URL's 2020-04-08 00:53:16 +02:00
Albrecht Schlosser
d46351a591 Update copyright and FLTK site URL
All .fl files and generated files have been updated.
2020-04-06 20:04:16 +02:00
Albrecht Schlosser
21fb8725c6 Generate copyright year in fluid's about_panel
Copyright year "1998-XXXX" is now generated from current year.
This avoids editing the source code every year.
2020-04-06 20:02:42 +02:00
Albrecht Schlosser
8a7d4c9f61 Remove CodeWarrior "support"
Metrowerks CodeWarrior was an ancient macOS compiler (discontinued
since 2005) that defined the macro __MWERKS__. Code using this macro
and several comments have been removed.
2020-03-11 14:38:02 +01:00
Albrecht Schlosser
a03220aba5 Fix a memory leak in fluid
Also fixed two typos in comments.
2020-03-08 12:42:30 +01:00
Albrecht Schlosser
c4ed2341ec Fix potential null pointer dereferences in fluid 2020-02-11 19:01:48 +01:00
Albrecht Schlosser
8ea4b5b5b1 Fix static analyzer errors and warnings
Fix several bugs found by scan-build (more to come).
https://clang-analyzer.llvm.org/scan-build.html

See also current travis-ci build log with static analyzer, e.g.
https://travis-ci.com/fltk/fltk/jobs/285426415
(link may become invalid in the future).
2020-02-11 15:46:46 +01:00
Matthias Melcher
0a23d7fe6e Fluid needs to include text and binary files from within the .fl source directory.
Fixed including binaries and text to use the same path as the source code. This is consistent with the way the file is selected in the corresponding dialog box. Since the old behavior was false, I don't think this will break any existing projects.
2019-12-24 00:19:23 +01:00
ManoloFLTK
c549b7acbd X11 platform: use Gnome printer dialog when the GTK library is available at run-time
The code to determine whether the GTK library is available is now in Fl_X11_System_Driver::probe_for_GTK()
called both by Fl_Printer::begin_job() and Fl_Native_File_Chooser.
New Fl::option OPTION_PRINTER_USES_GTK allows to deactivate use of
the Gnome print dialog.

Minor change in Fl_Native_File_Chooser: GTK version 3 is searched before version 2,
whereas the search order was the opposite before.
2019-09-15 15:57:29 +02:00
Albrecht Schlosser
6e683783f4 Fix another compiler warning (STR 3529)
fluid/template_panel.{fl|cxx}:

  .../fluid/template_panel.cxx:261:44: warning: ‘%s’ directive output
  may be truncated writing up to 255 bytes into a region of size
  between 0 and 1023 [-Wformat-truncation=]

Solution: increase buffer size from 1024 to 1400.
2019-08-29 17:32:26 +02:00
Albrecht Schlosser
ba8db654ff Fix one compiler warning (STR 3529)
fluid/undo.cxx: fix warning [-Wformat-truncation=]

This fix also removes some static variables and simplifies the
function undo_filename(). It does no longer copy the full filename
string back to a given buffer. Now it returns a pointer to the
internal filename string.

Summary: fix compiler warning, save memory, simplify a function, and
  speed up code by not copying data unnecessarily.
2019-08-29 17:17:37 +02:00
Albrecht Schlosser
44b2b7126c Update dependency system
Try to make `make depend' independent of locale.
2019-06-22 23:42:39 +02:00
Albrecht Schlosser
42afc70b6a Fix potential crash in fluid (issue #14)
trimclassname() would crash if it was given a NULL pointer. Now a
NULL pointer is returned instead.

Fixes #14
2019-04-04 17:20:57 +02:00
Albrecht Schlosser
debc1a39ce Update dependencies 2019-03-25 13:16:05 +01:00
Matthias Melcher
2b1bed470f Fix Fluid batch mode with Fl_Simple_Terminal.
Fl_Simple_Terminal would connect Fluid to the Display in batch mode. We
fix that by creating an Fl_Text_Display instead.
2019-02-16 00:00:24 +01:00
ManoloFLTK
ff8f38f080 Fix Makefile to produce an app bundle under macOS 2019-02-10 16:29:58 +01:00
Matthias Melcher
7d9d7dd7b8 Fixed all Pixmaps to be '*const' (STR #3108). 2019-02-05 00:14:37 +01:00
Matthias Melcher
f4dd9c5199 Added widget visibilit indicator to Fluid (STR #2669). 2019-02-02 23:22:40 +01:00
Matthias Melcher
d6294ac2fc Reorganized Fluid Template feature (STR #3336). 2019-02-01 23:16:49 +01:00
Matthias Melcher
2b6347d0bd STR #3445: Duplicating Widget Class in Fluid no longer crashes. 2019-02-01 21:32:48 +01:00
Albrecht Schlosser
bb91970122 Update dependencies (now sorted)
The main dependencies (makedepend files) are now sorted alphabetically
with one dependency per line.
2019-01-18 16:27:32 +01:00
Albrecht Schlosser
80ad88555f Sort makedepend files for better comparability
The intention is to improve (and minimize) diffs when dependencies
are changed and `make depend' is executed.

(1) use `makedepend ... -w 20'
(2) `sort -u' the resultant file with some more "magic".

(1) makes sure that there is only one dependent file per line,
(2) makes lines unique since `makedepend' can output one file
    many times which is redundant and makes diffs hard to read.

This uses 'mv', 'grep', and 'sort' in all FLTK library Makefiles.
Image libraries are intentionally left for a later update.
2019-01-18 15:44:24 +01:00
Albrecht Schlosser
2167908f8e Update (remaining) dependencies 2019-01-18 14:11:41 +01:00
Matthias Melcher
6ff11dd8d0 Added Fl_Simple_Terminal to Fluid. 2019-01-14 01:43:17 +01:00