Commit Graph

118 Commits

Author SHA1 Message Date
Matthias Melcher
7f87c847ba
Unlimited undo/redo for Fl_Input_ and Fl_Text_Buffer (#558) (#676) 2023-02-10 17:13:20 +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
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
ManoloFLTK
c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
ManoloFLTK
21428bad10 Undo most of f6a93eb that was a bad move. 2022-04-07 11:31:12 +02:00
ManoloFLTK
f6a93eb060 Remove warnings: comparison of integer expressions of different signedness [-Wsign-compare] 2022-04-06 13:25:17 +02: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
Albrecht Schlosser
22cb8a7fdb Make Fl_Input::handle_key() protected (#203)
... as requested in this comment:
https://github.com/fltk/fltk/issues/211#issuecomment-814235771
2021-04-07 19:14:25 +02: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
3e4baae6fc Fix DND in read-only Fl_Input (Fl_Output)
See report in fltk.coredev as of today (Jan 16, 2020):
  "Fl_Input in readonly mode - wrong behaviour".

Summary: Drag and drop within a read-only Fl_Input (i.e. Fl_Output)
  widget would not insert the dragged text (correct) but removed
  the dragged text from the widget (error). This is now fixed.
2020-01-16 17:12:24 +01:00
Matthias Melcher
0698e16a6b Fixed Delete key in Fl_Input deleting entire widgets in Fluid (STR #2841). 2019-02-01 23:59:20 +01:00
Manolo Gouy
7046e99f96 Move Fl_System_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:12:43 +00:00
Manolo Gouy
26cb08badb Move Fl_Screen_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:04:09 +00:00
Matthias Melcher
448cf77855 Android: on-screen keyboard no longer pops up on text output widgets
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 17:24:21 +00:00
Albrecht Schlosser
5e98a9e292 Remove unused variable, update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12826 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-10 21:10:53 +00:00
Matthias Melcher
fada3a8291 Android: Rough, verz rough kezboard handling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-24 17:08:25 +00:00
Albrecht Schlosser
42d8aba117 Replace FL/x.H with FL/platform.H - step 2 (STR #3435).
This second step replaces FL/x.H with FL/platform.H in all source files.
Dependencies have been adjusted as well.

This commit completes the replacement of FL/x.H with FL/platform.H.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31 21:17:17 +00:00
Albrecht Schlosser
298692f55e Revert temporary fix (attempt) introduced in svn r11644.
The fix in src/Fl_Input.cxx in svn r11644 was an attempt to fix the
Visual Studio (Windows) build because CMake would sometimes not find
the correct header files, but this attempt opened a path where the
variable 'legal_fp_chars' was not initialized.

The (hopefully) correct fix will follow in my next commit...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12208 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17 17:32:00 +00:00
Manolo Gouy
163c65dc6f Avoid the expression "foreign language" in comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11676 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-20 07:19:19 +00:00
Matthias Melcher
e2495a760a MSWindows fixes for previous commits.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11644 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 17:45:44 +00:00
Manolo Gouy
a2eeca92f0 Rewrite Fl_Input.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11544 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-06 19:39:15 +00:00
Manolo Gouy
03eb542e0d Begin to remove platform-dependent code from Fl_Input.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11490 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 20:00:54 +00:00
Manolo Gouy
519673a776 Move dnd and character-composition related functions from Fl_System_Driver to Fl_Screen_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11489 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 19:55:03 +00:00
Manolo Gouy
2de2f54968 Move the marked text support member functions from Fl_System_Driver to Fl_Screen_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 17:25:18 +00:00
Manolo Gouy
059664e7d4 Begin to remove platform-dependent code from the Fl.H header file.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11482 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 06:24:26 +00:00
Manolo Gouy
aacb5277e7 Rewrite Fl_dnd.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11455 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-28 17:36:07 +00:00
Manolo Gouy
915d6c643a Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, Fl_Region, Fl_Bitmask).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 14:36:11 +00:00
Matthias Melcher
5d1df0e789 Details on PORTME items. Move fl_parse_color() to screen drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 12:57:00 +00:00
Matthias Melcher
50ee3bcd66 Mark places that need to be refactored with // PORTME:
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 12:02:36 +00:00
Albrecht Schlosser
0a6be0a83f Fix compiler warnings (STR 2988), porting from branch-1.3.
This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 04:33:54 +00:00
Matthias Melcher
acf6c881d3 Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03 22:54:29 +00:00
Manolo Gouy
64ffd414d6 Stop using dynamic_cast when performing text drag (Mac OS only).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-28 17:05:29 +00:00
Manolo Gouy
34c69d3922 Fix for STR#3016: Fl_Input and Fl_Text_Editor have now the standard behavior when doing
drag-n-drop of text: if the dragged text is dropped in the widget it comes from, it's cut and pasted.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-13 16:28:38 +00:00
Manolo Gouy
914e7f9b09 Mac OS text input: removed the Fl::marked_text_length() function that's not necessary.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-02-08 11:58:19 +00:00
Manolo Gouy
482c4a5e0a Mac OS: added support for the text input feature introduced in OS 10.7 "Lion" where pressing and holding
some key opens a window with possible accented characters. This feature is used by the Fl_Input_ and
Fl_Text_Editor widgets. User-defined text input widgets can optionally use this feature, but the default
behavior is to not use it. Fl_Secret_Input turns it off, for example.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-01-13 15:25:37 +00:00
Manolo Gouy
cf672dba0d Mac OS text input: defined a small API that user-defined text editing widgets can use to signal marked text.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9774 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-24 11:45:07 +00:00
Manolo Gouy
3c72b20458 Handle special case for multiline input with 'old tab behavior' where tab is entered as a character:
didn't work when selection had been done with ctrl-A.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-24 04:06:46 +00:00
Matthias Melcher
398acd9c2a STR 2705: moved all inline constructors (that I could find) from header files into source files. Even though this breaks downward compatibility, it does make dynamic linking possible for all classes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9637 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-07-24 04:37:22 +00:00
Fabien Costantini
8809c5d65d Fixed build error in msvs because Fl ref to FULLSCREEN enum was not accessible in Fl_Widget. new inline is_fullscreen() getter has been implemented to avoid a build error with (at least) msvc compilers. Fixed a ton of warnings / problems when bilding on windows 64 bits target with ms toolchain. cleaned up about 200 warnings raised when building win74 targets.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05 05:12:30 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Albrecht Schlosser
0c8f264df0 Add FL_EXPORT to several classes to fix MS VC++ dll builds (STR #2632).
Remove FL_EXPORT from fl_clip_region() since this is an inline function
on all platforms (and issued a warning when building fltkdll with MS VC++).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-23 18:32:47 +00:00
Greg Ercolano
7bfe700ea9 Finishing up STR#2479 as per Manolo/Greg/Albrecht conversation.
We return 0 for all unused keystrokes in Fl_Input.
    So instead of 'return 1: absorb keystroke and ignore',
    we're going with 'return 0: ignore keystroke and let parent have a shot at it'.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8115 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-27 00:16:57 +00:00
Greg Ercolano
e86b65c80a Fixes to ensure readonly() widget is not modified by destructive keyboard functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8106 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-22 20:20:28 +00:00
Greg Ercolano
4a883a2e81 Added new tab_nav() control for Fl_Multiline_Input tab navigation behavior.
New default behavior is what most users expect; hitting Tab navigates over the widget.
Fl_Input modified to support the new flag.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8068 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-20 07:48:59 +00:00
Greg Ercolano
df6de286e7 Removed emacs shortcuts from Fl_Input,
conformed Fl_Input keystrokes to native environment (much research went into this, citations included).
Tested editing functions on all three platforms. Doxygen docs updated.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8067 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-20 06:42:38 +00:00
Albrecht Schlosser
eafeac5f98 Redefined NORMAL_INPUT_MOVE in src/Fl_Input.cxx to reflect the new option
Fl::option(Fl::OPTION_ARROW_FOCUS). Maybe this could improved, but this is
the shortest way to make the option work always.

Improved tooltips in test/preferences.fl for users and system managers.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-15 13:02:36 +00:00
Greg Ercolano
808417739e Fix STR#2477; problem with SHIFT-DEL not doing copy() operation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8020 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-12 21:29:02 +00:00
Manolo Gouy
d2334f610e Fixes STR #2461. Also, the drag'n-drop X11 cursor has been set to FL_CURSOR_MOVE.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7923 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-30 14:06:15 +00:00
Matthias Melcher
e454f97acc Fixed Copyright to 2010.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28 21:06:39 +00:00
Matthias Melcher
5560a4f0f1 Fixed a few pedantic warnings. Added Fl::option as discussed in STR #2368, but I am not too happy with it yet. Please see discussion in that STR.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7789 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-31 22:39:40 +00:00