Commit Graph

9487 Commits

Author SHA1 Message Date
ManoloFLTK
9a2b3ef798 Input Method support: have the auxiliary window follow when the focus window is moved. 2022-01-08 17:08:39 +01:00
Albrecht Schlosser
b12ed61548 Remove obsolete (dead) code from Fl_Group.cxx
This code had been inactive at least since Mar 29, 2018.
2022-01-08 16:23:01 +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
ManoloFLTK
5bab46940c Re-organize cross-platform support for text input methods.
FLTK 1.3 supports complex text input methods (TIMs) for the 3 platforms
(X11, Windows, macOS). This support has an interface with FLTK that is
common for X11 and Windows, via (undocumented) functions fl_set_spot(),
fl_set_status() and fl_reset_spot().
In contrast, and because it's been developed independently, the
interface between the macOS TIM and FLTK 1.3 is completely different :
static functions FL::insertion_point_location() and Fl::reset_marked_text().

The present change implements a single TIM/FLTK interface
used by all platforms based on functions fl_set_spot() and
fl_reset_spot().

The previous macOS-specific functions FL::insertion_point_location() and
Fl::reset_marked_text() are maintained only for compatibility with 1.3
and deprecated.
2022-01-07 16:34:54 +01:00
ManoloFLTK
27c175dad8 Add virtual void Fl_Graphics_Driver::set_status() and implement for X11 platform. 2022-01-07 07:50:36 +01:00
Albrecht Schlosser
9d474dfcdf Fix whitespace and Makefile dependencies
No code changes
2022-01-05 22:00:54 +01:00
ManoloFLTK
fc1efc7957 Create FL/x11.H holding declarations specific to X11 platform. 2022-01-05 07:46:57 +01:00
ManoloFLTK
3f2166ea91 Introduction of FL/fl_config.h - continued 2022-01-04 18:36:56 +01:00
ManoloFLTK
e80a2734e8 Fix build error with CMake when libjpeg???-dev package is absent from the system (Linux).
The error was visible under Linux if OPTION_USE_SYSTEM_LIBJPEG and OPTION_BUILD_SHARED_LIBS are  on.
2022-01-04 16:20:49 +01:00
ManoloFLTK
9164e3c489 Text input method for X11: fix for case when text widget is inside subwindow. 2022-01-02 17:44:55 +01:00
Michael R Sweet
ea34edc1ea
Tweak blocks game to use higher update rates and slightly larger window. 2022-01-01 10:01:23 -05:00
Matthias Melcher
14ae784f7f Installing Fluid correctly on macOS 2022-01-01 13:58:44 +01:00
ManoloFLTK
eeb3e92eb2 Fix fullscreen window level corner cases on macOS - cont'd
See long discussion in PR#277 at
https://github.com/fltk/fltk/pull/277
2021-12-29 17:18:47 +01:00
Albrecht Schlosser
c8bb2a3585 Add header guards to source files of FL/fl_config.h
There are two "source files", one for configure and one for CMake,
respectively.
2021-12-21 01:48:14 +01:00
Albrecht Schlosser
b91db00d91 CMake: export Cairo include directories (issue #350)
If a user project is built using a FLTK library generated by CMake
with Cairo support then the CMake variable FLTK_INCLUDE_DIRECTORIES
now includes the required Cairo include directories.
2021-12-20 19:18:38 +01:00
Albrecht Schlosser
e186ee0af3 Fix compiler warning [-Wignored-qualifiers]
In function ‘int glutExtensionSupported(const char*)’:
  warning: type qualifiers ignored on cast result type
2021-12-20 02:03:38 +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
ManoloFLTK
47164bf954 Fix for issue #344 : New/Delete Type Mismatch on Windows 2021-12-19 19:49:39 +01:00
ManoloFLTK
4d934e003a Add check against NULL pointer (fix for issue #338). 2021-12-19 08:50:25 +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
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