Commit Graph

9415 Commits

Author SHA1 Message Date
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 6efc997a02
Updated Unicode utf8 byte limit in docs. 2021-12-17 21:27:17 +01:00
Matthias Melcher d13f9e736c
GitHub #233, documenting style buffers and utf8. 2021-12-17 20:28:47 +01:00
Matthias Melcher bd7011a1d3
Github #237: scrollbar.align documentation. 2021-12-17 20:06:25 +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
Albrecht Schlosser 55e5c74e9e Fix broken build
sorry for the noise
2021-12-17 19:37:48 +01:00
Albrecht Schlosser 311d9a8ad4 Forms compatibility: use as_window() rather than type()
... and some more improvements and minor changes.

No functionality changes.

Note: this code is used in the fltk_forms library.
2021-12-17 19:00:34 +01:00
Albrecht Schlosser d6ba66ca4b Fix a tiny documentation bug 2021-12-17 19:00:34 +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
ManoloFLTK ba3041be6c Add bunch of changes in 1.4 2021-12-17 16:51:25 +01:00
ManoloFLTK 93a55f64c3 macOS platform: fix for issue #325 Disabling IM disables Greek and Cyrillic layouts
Thanks to Pierre Ossman who gave the fix.
2021-12-17 16:00:57 +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
ManoloFLTK f76e579ffe Windows platform and Input Methods: improve GUI scaling support. 2021-12-14 16:06:25 +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
ManoloFLTK 3565aa1e60 Windows platform: account for GUI scaling when using input method. 2021-12-13 10:40:05 +01:00
YX 95d862fd5a Fix IME problem (issue #270) 2021-12-12 17:01:30 +01:00
ManoloFLTK fae9f03cc9 X11 platform: account for GUI scaling in location of input method aux window. 2021-12-12 16:29:48 +01:00
ManoloFLTK 638ad499d0 Documentation: discuss HighDPI support under Windows and app manifests. 2021-12-12 15:48:08 +01:00
ManoloFLTK 12d699a650 Win32 platform: add support of "PROCESS_PER_MONITOR_DPI_AWARE" set via manifest. 2021-12-11 16:39:11 +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
ManoloFLTK 0a8b1845fe Win32 platform: allow use of manifest to set the app's DpiAwareness level.
This fixes issue #309: FLTK 1.4 does not properly size window when using display scaling on Windows 10.

FLTK now tests whether the app's DpiAwareness has been previously set, presumably
via a manifest, before attempting to set it to FLTK's preferred level DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2
2021-12-11 11:40:02 +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
Albrecht Schlosser a8cc340321 Stabilize resizing of common dialogs like fl_choice()
Thanks to Paul D. Hahn for finding these issues on his very old
"CentOS 6 linux with g++ 5.1" system.

For details see the very long thread "fl_choice() dialog apprearance
discrepancy problem in 1.4" (typo intentionally ignored):
https://groups.google.com/g/fltkgeneral/c/UQk3RRf-l4A/m/0GtPNv1CCQAJ
2021-12-10 17:09:28 +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
ManoloFLTK 08e59770aa Remove compiler warnings about unused parameters (issue #307) - cont'd 2021-12-09 11:40:55 +01:00
ManoloFLTK 5a7a70b895 Remove compiler warnings about unused parameters (issue #307) 2021-12-09 08:09:51 +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