Commit Graph

101 Commits

Author SHA1 Message Date
ManoloFLTK
89454508a2 Fix Fl_Simple_Terminal::append(str, len) assumes a null terminated string (#728) 2023-05-19 18:57:18 +02:00
ZJUGKC
385cabf3aa
Add const qualifiers to can_undo and can_redo (#720) 2023-04-17 16:12:03 +02:00
Matthias Melcher
e18b5353cd Fixed leak in Fl_Text_Buffer #716 2023-04-14 16:54:11 +02:00
Matthias Melcher
a3d89f7e28 Fix malloc/delete mismatch 2023-02-27 14:17:25 +01:00
Matthias Melcher
d9b519f969 Infinite undo: fix compiler warning 2023-02-10 17:21:47 +01:00
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
87fe29372c
Local undo per Fl_Text_Buffer and Fl_Input_ (#557) 2022-11-26 20:28:12 +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
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -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
Newton
a432db8ca3 Fix "misleading indentation" in Fl_Text_Buffer.cxx
Compiling with clang produced the following warning on this line:

src/Fl_Text_Buffer.cxx:1292:5: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
    replace(start, end, text);
    ^
src/Fl_Text_Buffer.cxx:1288:3: note: previous statement is here
  if (!sel->position(&start, &end))
  ^
2020-05-15 23:08:33 +02:00
Matthias Melcher
75eefbcd42 Fixing some minor lint, found by Pavel Shlyak using PVS studio 2018-12-27 13:05:35 +01:00
Greg Ercolano
d0e1d16ae8 Added printf() and vprintf() to Fl_Text_Buffer
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12483 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-08 20:38:36 +00:00
Albrecht Schlosser
6b24b20966 Fix confusing behavior of class Fl_Text_Selection.
Fl_Text_Selection got a new method length() and returns 0 in length()
and in all offsets (start(), end(), position()) if no text is selected
(selected() == false).

The behavior in FLTK 1.3 and earlier versions (returning undefined
values if !selected()) was confusing.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-26 12:32:13 +00:00
Manolo Gouy
936486cb1c Handle non-ASCII characters when selecting a word or moving the cursor by one word.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12149 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-17 07:42:54 +00:00
Albrecht Schlosser
b6bd386231 Fl_Text_Buffer constructor: fix "requestedSize ignored in mGapEnd".
mGapEnd should reflect the total allocated size after the constructor
is executed, i.e. the text buffer is empty. This was not the case.

See thread "Fl_Text_Buffer constructor bug" (2016-12-05) in fltk.general.
The bug was harmless, but the pre-allocation did not work as expected, i.e.
the pre-allocated buffer size was allocated but effectively ignored later.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-05 17:03:29 +00:00
Albrecht Schlosser
d56e2ec9f0 Fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 10:42:17 +00:00
Albrecht Schlosser
f7ac3b417c Fix potential memory leak in text buffer (STR # 3035).
Also small code formatting, remove one redundant statement.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10083 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-25 23:47:44 +00:00
Fabien Costantini
157a96aa4b STR2783: make potential null string substituted to an empty string, still achieve internal cleanup in Fl_Text_Buffer::text(s)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9366 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-21 15:05:00 +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
Manolo Gouy
7c4e992977 Minor comment rewording
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9261 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-02 16:23:28 +00:00
Greg Ercolano
4ce583c0f8 Docs + cosmetics only.
> Added docs to utf8_input_filter() function
    > Documented its variables
    > Added comments to its code so it can be better understood in the future.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-01 14:22:15 +00:00
Greg Ercolano
4e934c01be Fix STR#2808: corruption bug with Fl_Text_Buffer::insertfile().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9259 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-01 13:25:15 +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
Manolo Gouy
f451946d42 Homogenize use of re-encoding and transcoding (in favor of the latter).
Also, makes clear that the code is ready to deal with any encoding, not just fixed-length ones.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8040 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-15 17:38:39 +00:00
Manolo Gouy
d2cbe9abf7 Removed compilation warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-15 10:04:36 +00:00
Manolo Gouy
85a03a76c9 Fix STR #2348. Files encoded with UTF-8 or CP1252 are accepted. Any non-UTF-8-encoded
data is interpreted according to CP1252 and transcoded to UTF-8. By default, a warning
message is displayed when the input file was transcoded. This default behavior can be 
modified by changing a function pointer. A flag has been added to the Fl_Text_Buffer object
that informs the caller if the input file was transcoded to UTF-8.
The Fl_Text_Buffer.cxx file contains some preliminary code that could be used in the future
to input other encodings provided they are fixed-length (e.g., all ISO-8859-* character sets,
UTF-16). This code is not compiled at this point.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8004 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-10 19:24:28 +00:00
Albrecht Schlosser
ee3e8180b4 Fixed Windows text file line endings, as discussed in STR 2348 and
fltk.development. Side effect: All Windows text files written are
in Windows, aka DOS format (with CR/LF line endings), no matter what
format they had when read. This is compatible with FLTK 1.1.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-08 14:47:11 +00:00
Matthias Melcher
0db080e762 Restoring the non-binary read for MSWindows files. Still, I think this is harmful because now we read in ASCII and write in binary format...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-07 16:00:16 +00:00
Matthias Melcher
6e7ed9c46a Ooops, Fl_Text_Buffer::insertfile must read in binary format, or it will screw up line endings! (Actually, this could be debated, but by reading and writing in binary format, the file integrity would remain)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-06 23:25:52 +00:00
Matthias Melcher
804ef7d4f9 Fixed case when reading empty file
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-06 23:23:44 +00:00
Matthias Melcher
f18e8f4377 Fixed Fl_Text_Editor::insert_file to load all text in a single chung to avoid UTF8 confusion and missmatched gaps.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-06 18:44:33 +00:00
Matthias Melcher
1bac8a0cca Fixed crashes when Fl_Text_* detects illegal UTF 8 sequences. Widgets will not do any further processing but just jump over the character. Screen representation depends largely on whatever the underlying OS does with those sequences, but I feel that this is out of the scope of this library. (STR 2348)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-06 18:22:22 +00:00
Albrecht Schlosser
e5fc1560b0 Fixed Doxygen comments, typos, and a few indenting issues.
Part 1, more to come ...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-02 00:43:07 +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
c6e46fed45 Preliminary implementation of Tab characters insisde Fl_Text-*. We still need to test wrapping, etc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7895 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-27 20:13:10 +00:00
Matthias Melcher
6fbc3f3556 Added smarter Macro to check for utf-8 violations in Fl_Text_*
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7810 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-08 14:19:47 +00:00
Matthias Melcher
accf34f276 Implemented search backwards for utf-8. Tested on MSWindows - OK. Tested on Linux (Ubuntu) - K.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7808 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-07 20:13:50 +00:00
Matthias Melcher
f099311481 Better alignment testing
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7807 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-06 23:58:57 +00:00
Matthias Melcher
213318ccb3 Removed some unused stuff and duplicates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7806 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-06 23:16:07 +00:00
Matthias Melcher
8ae745f5b3 UTF8 Text Display and Editor: added tons of tests for utf8 alignment, fixed a bunch of methods that did not understand utf8. Still lots of places to visit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7800 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-06 14:29:12 +00:00
Matthias Melcher
0fb4feb11a Working on correct line wrapping in Fl_Text_Display: starting to replace all byte based charracter calculations with utf8 functions. Current version wraps, but scroll bars are wrong. Non-wrapping text display starts to work better.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7797 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-06 00:29:58 +00:00
Matthias Melcher
38dcb5a463 Starting to rework Fl_Text_Display from scratch to make wrapping work correctly. Fixed a few issues that made wrapping crash. Using ASCII range only with fixed character sizes should still wrap as expected?!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-04 21:53:56 +00:00
Matthias Melcher
cac40a9b02 STR 2158: partially solved. This commit is huge, I admit. I recoded most of Fl_Text_Buffer and large chunks of Fl_Text_Display to make it UTF-8 safe. Rendering of all left-to-right scripts works well on OS X for all tested fonts. International input works AFAIK. Copy and paste of UTF-8 data works. ----> what's not working yet though is line wrapping. Also, text search for internationsl characters is not working yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-03 22:01:43 +00:00
Matthias Melcher
291faee430 Fixed a bunch of warnings from gcc 4.4.5 . Most of these are parenthesis missing to make the precedence of && over || obvious. Ah well, why not...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28 18:02:20 +00:00
Matthias Melcher
463416d0c7 Remove OS X Xcode compiler warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-22 15:15:23 +00:00
Matthias Melcher
32716d6b1e Updated the Fluid IDE support for the current source file structure. Changed the Fl_Tree rendering code around a bit to make the tree more like MSWindows on Windows and more like Apple on Apple machines. I hope you guys like it. I also moved the function to load Fl_Preferences into an Fl_Tree into the Fl_Tree class where it belongs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7672 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-10 09:44:45 +00:00
engelsman
a10e58a690 added implementations of fl_wcwidth_() and fl_wcwidth() to src/fl_utf.c
these supercede the old fl_wcwidth() code in src/xutf8/fl_wcwidth.c.
also added corresponding declarations to FL/fl_utf.c, and updated
src/Fl_Text_Buffer.c to enable the call to fl_wcwidth()



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-20 21:43:31 +00:00
engelsman
9545e033bb Fl_Text_Buffer/Display fixes for UTF-8 / STR-2158 (part 1)
fixes to handle incorrect counting of UTF-8 characters by checking
for complete UTF-8 encodings in char* rather than char by char.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7527 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18 14:33:33 +00:00