Dylan Smith
aba425eb70
richedit: PFE_TABLE flag is now used instead of private bTable value.
...
The PARAFORMAT structure has a bit in wEffects to indicate whether the
paragraph is a table or not, so this should be used instead of a private
bTable value, since this structure can be retrieved with EM_GETPARAFORMAT.
2008-07-09 11:31:21 +02:00
Dylan Smith
eb4ed9cadf
richedit: Removed unused variable bCaretShown in ME_TextEditor.
2008-07-08 21:08:53 +02:00
Michael Stefaniuc
0164bffd9a
riched20: Fix typo.
2008-07-08 20:37:30 +02:00
Dylan Smith
762e5818d1
richedit: Hide cursor when text is selected.
...
The cursor should only be shown when there is no selection, since this
is how it is done in Windows. This patch avoids showing the cursor when
there is a selection, and destroys the cursor when a selection is made.
2008-07-08 10:44:45 +02:00
Dylan Smith
69cf4e9ac4
richedit: Implemented triple click selection.
2008-07-08 10:44:32 +02:00
Dylan Smith
abefc28fe7
richedit: Fixed drag and shift selection for words and lines.
...
Previously word drag and shift selection was not implemented. Line
drag selection was working, but shift selection wasn't.
2008-07-08 10:43:55 +02:00
Dylan Smith
5b2bdc06d0
richedit: Fixed double click issues by sharing code with single click.
2008-07-07 14:16:07 +02:00
Dylan Smith
2eec4f03ed
richedit: Fixed the selection bar width.
2008-07-07 11:10:49 +02:00
Dylan Smith
db95d69f99
richedit: Made sure the caret position is stored when moving up/down.
...
The caret's x position is stored in ME_TextEditor.nUDArrowX so that when
the caret is moved up or down, it will stay along the same horizontal
position, or at the end of a line. Unfortunately, the value stored in
nUDArrowX was being unconditionally discarded in ME_ArrowKey, preventing
it from serving its purpose.
2008-07-07 11:10:33 +02:00
Dylan Smith
632015dc62
richedit: Set error codes and stop parsing for some rtf syntax errors.
...
Checks were added for hexadecimal values that did not have valid
characters, and for EOF received before the final closing brace of the
rich text stream. The error values were tested on richedit versions 1,
2, 3 & 4.1, and they were all the same for these cases.
2008-06-27 11:08:33 +02:00
Dylan Smith
d1f1346f54
richedit: Implemented undo coalescing to group typing events.
...
Consecutively typed characters are grouped together to be undone
together. The grouping of typed characters can be stopped by certain
events that are mentioned in MSDN's remarks on the EM_STOPGROUPTYPING
message, which is also implemented by this patch.
2008-06-26 21:18:50 +02:00
Dylan Smith
6d76d43718
richedit: Fixed a bug preventing NULL pointers from being in text.
...
Opening a text file with a NULL terminated character in it was causing
an assertion error after a run was being split due to word wrap.
Windows allows NULL terminated characters to be in the text.
2008-06-26 21:16:56 +02:00
Dylan Smith
67024f0f34
richedit: Prevented an assertion error on startup when run on Windows.
...
The call to GetClientRect returns 0 values for the returned RECT when
called in WM_NCCREATE in on Windows, which ended up causing an assertion
error when Wine's riched20.dll replaces the native version. Moving the
call to WM_CREATE fixes this problem (probably because NCCALCSIZE is
called in between).
2008-06-26 21:15:54 +02:00
Dylan Smith
6c2026a348
richedit: Show caret after pasting or streaming in text.
...
There was a missing call to ShowCaret after the caret was created.
2008-06-26 21:15:11 +02:00
Alex Villacís Lasso
acec891ac2
richedit: EM_POSFROMCHAR should take into account scrollbar position. With tests.
2008-06-24 11:44:37 +02:00
Alex Villacís Lasso
3cc6e2365a
richedit: When returning position through wParam pointer, EM_POSFROMCHAR must return 0 as LRESULT.
...
Add tests for EM_POSFROMCHAR for 1.0 and 2.0.
2008-06-24 11:43:42 +02:00
Michael Stefaniuc
bc0acd1ac2
riched20: Remove redundant NULL check before heap_free (Smatch).
2008-06-21 11:17:08 +02:00
Alex Villacís Lasso
d2900a53e1
richedit: Add tests for URL autodetection for EM_REPLACESEL, make them pass under Wine.
2008-06-19 12:10:00 +02:00
Alex Villacís Lasso
892a0b5f1e
richedit: Add tests for URL autodetection for EM_SETTEXTEX, make them pass under Wine.
2008-06-19 12:09:46 +02:00
Alex Villacís Lasso
f213af3795
richedit: Fix for the semantics of the flags for some effects reported by EM_GETCHARFORMAT.
...
Remove workaround put in place by a previous patch, due to buggy flag reporting.
Tests to verify fixed behavior.
2008-06-19 12:08:30 +02:00
Alex Villacís Lasso
4a5d100097
richedit: Add more tests for URL autodetection on WM_CHAR, make them pass under Wine.
2008-06-19 12:07:36 +02:00
Alex Villacís Lasso
38d7ba6eff
richedit: WM_SETTEXT must immediately autodetect URLs, without waiting for a WM_CHAR.
2008-06-19 11:59:04 +02:00
Alex Villacís Lasso
60c42bd3db
richedit: Fix misreporting of match offset for EM_FINDTEXT and EM_FINDTEXTEX.
2008-06-19 11:55:27 +02:00
Dylan Smith
76029ee9ec
richedit: The wrong bits were cleared from wBorders in PARAFORMAT2.
2008-05-05 21:18:19 +02:00
Alex Villacís Lasso
2a4fc97c4c
richedit: Add tests for EM_FINDTEXT in 1.0 emulation, make them pass under Wine.
2008-05-01 10:57:34 +02:00
Alex Villacís Lasso
2ab63774f1
richedit: On failure to parse incoming text as RTF, EM_STREAMIN must set dwError to -16.
2008-04-30 10:22:42 +02:00
Alex Villacís Lasso
829940458f
richedit: Private movement of cursors in text insertion should not cause WM_NOTIFY to be sent.
...
As text is inserted, the cursor is moved to the end, and then back to
offset 0. A reordering of operations prevents a WM_NOTIFY from being
sent on cursor being moved to the end, and another by being moved
back to the beginning. If the cursor was not at offset 0, then
exactly one WM_NOTIFY must be sent, for the movement from previous
position to the beginning. With tests to prove this change and the
previous one (modify flag should be off on WM_SETTEXT-caused
WM_NOTIFY).
2008-04-29 14:57:03 +02:00
Alex Villacís Lasso
c52bc58816
richedit: WM_SETTEXT - Clear modify step flag before any notifications can be sent.
...
Otherwise the app-defined WM_NOTIFY callback might see the modify flag
set, even though WM_SETTEXT is supposed to clear it.
2008-04-29 14:56:46 +02:00
Alex Villacís Lasso
3cad256d54
richedit: Fix modify step setting in EM_SETCHARFORMAT.
...
EM_SETCHARFORMAT with wParam==0 sets default char format and does NOT set modify step flag.
EM_SETCHARFORMAT with wParam==SCF_SELECTION only sets modify step flag when selection is nonempty.
EM_GETMODIFY returns -1, not 1, when modify flag is set.
Tests for the above behavior.
2008-04-29 14:56:23 +02:00
Alex Villacís Lasso
1fa39b50c0
richedit: Only notify selection change when selection has actually changed from previous notification.
...
Otherwise, redundant and early notifications are sent to apps that do not expect them. Fixes crash #1 with Perfect! TextEdit.
2008-04-29 14:56:11 +02:00
Alex Villacís Lasso
cac55008c9
richedit: Implement rule that in 1.0 emulation, a single CR that terminates the text is NOT a line break.
...
Fix riched32 test that now succeed.
2008-04-29 14:55:26 +02:00
Alex Villacís Lasso
4047df0f56
richedit: Flip the big switch and encode actual CR and LF into end-of-paragraph runs.
...
Document remaining uses of bEmulateVersion10 and other checks for CRLF in editor.c.
Make RTF reader emit a \r or a \r\n according to emulation, not a \n, which breaks streaming tests.
Remove todo_wine from a bunch of riched32 tests that now succeed.
2008-04-29 14:55:15 +02:00
Alex Villacís Lasso
3a271386ec
richedit: Remove indication for bCRLF, now that ME_GetTextW() knows how to honor CR and LF counters.
...
EM_GETTEXTRANGE and EM_GETSELTEXT are affected by this, so include tests to ensure no behavior was broken.
2008-04-29 14:54:59 +02:00
Alex Villacís Lasso
e8aa9dee56
richedit: Modify ME_GetTextW() to honor CR and LF encodings.
...
ME_GetTextLengthEx should ignore GTL_USECRLF in 1.0 emulation mode.
2008-04-29 14:54:46 +02:00
Alex Villacís Lasso
d95cbeef67
richedit: EM_LINELENGTH: honor CR and LF counters.
...
Add fixup to ME_FindItemAtOffset(), fixes crash by null-pointer access.
Add tests for EM_LINELENGTH.
2008-04-29 14:54:29 +02:00
Alex Villacís Lasso
3968a67eb9
richedit: EM_GETLINE: honor CR and LF counters.
...
Add richedit 1.0 tests for EM_GETLINE.
2008-04-29 14:54:21 +02:00
Alex Villacís Lasso
8d37388fe7
richedit: Fixups to move over to reliance on CR and LF counters.
...
Text streamout now honors CR and LF counters.
Tests to pin down required EM_STREAMOUT behavior.
2008-04-29 14:54:05 +02:00
Eric Pouech
046cfcfd22
richedit: Ensure wrapping is done all the time after inserting an RTF stream.
2008-04-25 11:44:00 +02:00
Alex Villacís Lasso
4f95cf7072
riched20: Reject RTF that is recognized as invalid.
2008-04-24 22:12:13 +02:00
Alex Villacís Lasso
d10256f309
riched20: Implement ignoring of last \par for EM_STREAMIN - 1.0 emulation.
2008-04-24 22:12:09 +02:00
Alex Villacís Lasso
7148f92c4c
riched20: Implement ignoring of last \par for EM_STREAMIN.
2008-04-24 22:11:58 +02:00
Andrew Talbot
0ba8677430
riched20: Remove unused variables.
2008-04-24 11:49:53 +02:00
Alex Villacís Lasso
e0af297466
richedit: Accept RTF stream that does not start with {\rtf1 in 1.0 emulation.
2008-04-22 11:56:04 +02:00
Alex Villacís Lasso
46ff4a6f16
riched20: EM_SETTEXTEX supports RTF strings, with tests.
2008-04-21 20:27:17 +02:00
Eric Pouech
296a59da7e
richedit: Force window update when the word wrap option has changed.
2008-04-14 23:50:12 +02:00
Eric Pouech
91d57af637
richedit: For setting word wrapping, native only uses a null vs non null value.
2008-03-24 12:12:18 +01:00
Eric Pouech
8b6eea0a63
richedit: Fixed the initialization of the word wrap mode.
2008-03-24 12:12:07 +01:00
Eric Pouech
2870f21d06
richedit: Added missing fields to be reinitialized for the RTF \pard token.
2008-03-24 11:35:53 +01:00
Eric Pouech
4a01ddca25
richedit: Allow reading an enhanced metafile from an RTF stream.
2008-03-17 14:38:57 +01:00
Eric Pouech
984e4167af
richedit: Don't force cursor change when it's not needed.
2008-03-17 14:38:36 +01:00
Eric Pouech
33d7cea120
richedit: Added support for EM_SETTARGETDEVICE with a NULL DC.
2008-03-17 14:37:43 +01:00
Eric Pouech
9c6c9d63a2
richedit: Use the FW_ constants instead of the raw values.
2008-03-17 14:36:57 +01:00
Eric Pouech
6e02f5db4b
richedit: In RTF reader, set both bold and weight attributes, so that we don't care about priority between the two.
2008-03-17 14:36:41 +01:00
Eric Pouech
0c2c43d39b
richedit: Correctly set the pitch and family for a font when reading an RTF stream.
2008-03-17 14:36:30 +01:00
Eric Pouech
a64c22c8b1
richedit: Store shift-enter (keyboard) and \line (rtf) as end of row (and emit \line while saving in RTF).
2008-03-17 14:34:44 +01:00
Eric Pouech
68ccc4aec6
richedit: When handling \pard in RTF stream, really resets all paragraph styles.
2008-03-17 14:34:00 +01:00
Eric Pouech
cb4a41b806
richedit: Fix reading paragraph left & first indentation attributes.
2008-03-17 14:20:16 +01:00
Eric Pouech
f628a1c245
richedit: Added support for reading DI bitmaps in RTF streams.
2008-03-17 14:20:07 +01:00
Eric Pouech
9f5fa9ea45
richedit: Properly set the border width while parsing RTF stream.
2008-03-17 14:18:41 +01:00
Andrew Talbot
612e4c2b17
riched20: Assign to structs instead of using memcpy (with typo fixes).
2008-03-14 11:21:33 +01:00
Francois Gouget
1552f22acf
riched20: Fix the name of the lpUsedDefChar field of GETTEXTEX.
2008-02-06 12:43:53 +01:00
Eric Pouech
bcbf9eeb2d
riched20: Start implementing object reading out RTF stream.
2008-02-05 11:13:17 +01:00
Eric Pouech
e5f91bab15
riched20: Added support for image reading from RTF stream.
2008-02-05 11:13:00 +01:00
Eric Pouech
1e62b0e3b0
riched20: Support a couple of paragraphs attributes out of RTF stream reading.
2008-02-05 11:12:43 +01:00
Rob Shearman
4bff248783
riched20: Always treat the nCount variable in the EM_GETTEXTEX handler as a character count.
...
Convert ex->cb into a character count before assigning it to nCount.
Remove some dubious minus ones that would result in different character
counts for the Unicode and ANSI paths.
2008-01-21 12:35:18 +01:00
Rob Shearman
374f6ec616
riched20: The wParam parameter to WM_GETTEXT contains the number of characters, not the number of bytes.
...
Fix up some places in the WM_GETTEXT handler where it was assumed that
it was a byte count.
2008-01-21 12:35:05 +01:00
Andrew Talbot
5a5a9bcd5d
riched20: Remove unneeded casts.
2008-01-17 13:42:14 +01:00
Alexander Nicolaysen Sørnes
eec14a4de6
riched20: Include selection bar size in POSFROMCHAR.
2008-01-15 11:37:30 +01:00
Eric Pouech
d65daea454
richedit: Uniformly handle the bPitchAndFamily field out of CHARFORMAT.
2008-01-07 12:14:24 +01:00
Eric Pouech
f33a27517b
richedit: Initialize all the cursors at editor creation.
2008-01-07 12:14:01 +01:00
Eric Pouech
39aa3beaf2
richedit: Simplify first para style handling by creating a context.
2008-01-02 13:58:09 +01:00
Eric Pouech
d5478118a1
richedit: Don't force repaint while the redraw flag is off.
2008-01-02 13:57:53 +01:00
Eric Pouech
0549b9009a
richedit: Simplified handling of background brush while painting.
2008-01-02 13:49:57 +01:00
Eric Pouech
6b591ef23a
richedit: Extend the usage of underlinetype from charformat2 in richedit.
2008-01-02 13:48:11 +01:00
Eric Pouech
71f52d54bd
richedit: Added support for some message (key, mouse) filtering events.
2008-01-02 13:45:08 +01:00
Maarten Lankhorst
8e639ec392
riched20: Fix bugs in EM_SETOPTIONS.
...
Add SELECTIONBAR to mask, and use settings rather then lParam. 2 subtle
bugs that prevent selectionbar from working.
2007-12-18 12:32:55 +01:00
Maarten Lankhorst
b81335501f
riched20: Implement ECO/EM SELECTIONBAR.
2007-12-17 11:34:40 +01:00
Alex Villacís Lasso
ae7b2c914b
riched32: Fix regression in WM_GETTEXTLENGTH on richedit 1.0 emulation.
2007-12-12 13:48:19 +01:00
Michael Stefaniuc
4210cafc04
riched20: Rename the wrappers around HeapAlloc() &Co to use the new standard naming.
2007-12-08 19:54:58 +01:00
Alex Villacís Lasso
f945f16de2
riched20: WM_GETTEXTLENGTH should include CRLF conversions in returned count.
2007-12-07 17:36:01 +01:00
Alex Villacís Lasso
99f0dc4ff4
riched20: WM_GETTEXT should return 0 on overflow but fill buffer anyway.
2007-12-07 17:06:53 +01:00
Alex Villacís Lasso
4545f1944e
riched20: EM_GETTEXTEX with GT_USECRLF should not leave a single CR when running out of space.
2007-12-07 17:06:45 +01:00
Alex Villacís Lasso
5d8b8cd899
riched20: EM_GETMODIFY should not report modification after WM_SETTEXT (fixes todo_wine).
2007-11-06 13:01:09 +01:00
Alex Villacís Lasso
469669e629
riched20: 2.0 and higher inserts CRCRLF as space (with tests).
2007-10-22 13:50:13 +02:00
Alex Villacís Lasso
f54aa40746
riched20: Single-line control must refuse to insert carriage returns (with tests).
2007-10-19 12:26:25 +02:00
Alex Villacís Lasso
63b12f8602
riched20: Minimal fix for WM_SETTEXT without ES_MULTILINE style.
2007-09-28 10:59:59 +02:00
Alex Villacís Lasso
03f3a40a03
riched20: EM_SETCHARFORMAT must fail and return 0 with TM_PLAINTEXT and SF_SELECTION.
2007-09-27 11:58:52 +02:00
Alex Villacís Lasso
be5105e894
riched20: EM_SETCHARFORMAT must return 0, not assert, on invalid struct size.
2007-09-27 11:07:54 +02:00
Alex Villacís Lasso
fa5230fb54
riched20: EM_SETCHARFORMAT must return 1 on success, not 0.
2007-09-26 14:40:54 +02:00
Alex Villacís Lasso
00e562735d
riched20: Fix WM_GETTEXT to change \r to \r\n.
2007-09-24 13:44:28 +02:00
Clinton Stimpson
f34cb461e7
riched20: Only WM_CHAR respects text limit.
2007-09-21 12:05:39 +02:00
Lei Zhang
9210defdf7
riched20: Do not pass NULL lParam to ME_ToUnicode for EM_REPLACESEL.
2007-09-11 11:47:54 +02:00
Lei Zhang
0d4707c284
riched20: Properly calculate control display height.
2007-08-16 11:35:06 +02:00
Andrew Talbot
2e2efd448a
riched20: Constify some variables.
2007-08-13 12:24:28 +02:00
Aric Stewart
c03125a1be
riched20: Make richedit control IME aware.
2007-06-28 12:16:12 +02:00
Francois Gouget
96c337f0a1
Assorted spelling fixes.
2007-06-07 19:24:32 +02:00
Huw Davies
94dfc0e80e
riched20: Don't mess with the caret if we don't have focus.
2007-06-06 12:09:53 +02:00
Dmitry Timoshkov
3c9e7a7f33
wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility.
2007-05-25 20:37:56 +02:00
Andrew Talbot
5588233957
riched20: Exclude unused headers.
2007-05-18 14:11:33 +02:00
Dmitry Timoshkov
9bde411087
riched20: Add the tests for EM_SETTEXTEX/EM_GETTEXTEX in addition to WM_SETTEXT/WM_GETTEXT, make them pass under Wine.
2007-05-02 14:58:58 +02:00