Commit Graph

467 Commits

Author SHA1 Message Date
Dylan Smith 11c8039699 richedit: Use tabstops to store cell positions. 2008-08-05 14:09:37 +02:00
Dylan Smith edb6304379 richedit: Added OleInitialize for clipboard operations. 2008-07-31 13:01:27 +02:00
Hongbo Ni 3cb685c861 riched32: Implement WM_UNICHAR support. 2008-07-29 14:09:23 +02:00
Dustin Brody 3a805d289e riched20: EM_SETTEXTTEX obeys ST_SELECTION with RTF inputs. 2008-07-29 12:50:35 +02:00
Alex Villacís Lasso acfb6ea210 richedit: Do not read actual scrollbar state for scrollbar update, use internal state instead. 2008-07-23 13:05:27 +02:00
Dylan Smith 7de6c2674a richedit: Added more conditional cursor changes.
Previously the cursor was either an IBEAM, or a reversed arrow when over
the selectionbar.
2008-07-10 12:16:58 +02:00
Dylan Smith d293b3fc98 richedit: Prevented cursor flicker while moving over selection bar.
When the cursor is moved over the selection bar, without holding any
mouse buttons down, the cursor would be repeatably set between the
normal cursor, set by DefWindowProc for the WM_SETCURSOR message, and
the reversed cursor, set by ME_MouseMove.
2008-07-10 12:16:39 +02:00
Dylan Smith 8172d69e8f richedit: Set the default paragraph format consistently.
I created a function to set the default paragraph format to ensure
consistency when this is done.  This initial paragraph format is also
now more consistent with native richedit controls.  The dwMask value
always appears to have the same value when retrieved from the native
richedit controls, so all the mask values are now initialized when the
PARAFORMAT2 structure is created.
2008-07-09 11:31:22 +02:00
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
Dmitry Timoshkov 592b53d0a4 riched20: Split unicode and ansi window procs, handle messages depending on the unicode flag.
Add a hack for WM_GETTEXT in RichEdit20W class when running in win9x emulation mode.
2007-03-22 15:47:25 +01:00
Dmitry Timoshkov 11e01b17de riched20: Add a test that shows that under Win9x RichEdit20W windows are not unicode, but always expect to see unicode input. 2007-03-21 15:55:30 +01:00
Jason Green 2aa8463a94 riched20: If outside of the richedit window, return earlier.
Prevents a crash when selecting text outside of a richedit control box.
2007-02-15 11:21:45 +01:00
Matt Finnicum 7eabbec632 riched20: Create undos in StreamIn at the right times. Adds tests for when StreamIn should be undoable. 2007-01-25 11:06:36 +01:00
Matt Finnicum f12e6232a2 riched20: Use CharFromPos instead of FindPixelPos in LinkNotify so it accounts for scrolling. 2007-01-24 12:14:11 +01:00
Matt Finnicum dbcf2e391c riched20: Implement EM_LIMITTEXT and some simple tests. 2007-01-24 12:14:02 +01:00
Clinton Stimpson a065d0f68d riched20: Fix crash undoing a paste. 2007-01-12 11:25:42 +01:00
Clinton Stimpson bf86302e19 riched20: Fix modification state for several operations. 2007-01-11 12:04:46 +01:00
Lei Zhang 581321d420 riched20: Move EM_EXSETSEL fix into ME_SetSelection. 2006-12-05 11:37:46 +01:00
Lei Zhang c05bcabe9f riched20: Fixes and additional conformance tests for EM_EXSETSEL. 2006-12-04 12:23:32 +01:00
Matt Finnicum e864f2f2c3 riched20: Make EM_SETPARAFORMAT use ME_RewrapRepaint instead of ME_UpdateRepaint. 2006-11-28 12:14:43 +01:00
Matt Finnicum d7aa81bdfb riched20: Make EM_SETCHARFORMAT call ME_RewrapRepaint instead of ME_UpdateRepaint. 2006-11-28 12:14:36 +01:00
Matt Finnicum 26ba1559b0 riched20: Make WM_SETFONT call RewrapRepaint instead of UpdateRepaint. 2006-11-28 12:14:28 +01:00
Matt Finnicum 3e27436003 riched20: EM_EXLIMITTEXT: ignore wParam and properly cast lParam. 2006-11-28 12:14:21 +01:00
Matt Finnicum 807546ee59 riched20: Make ME_StreamIn create undos properly. 2006-11-28 12:14:11 +01:00
Clinton Stimpson 4b292b0cb5 riched20: Fix key handling in dialogs. 2006-11-15 12:24:54 +01:00
Mike McCormack bb1f8edcc2 riched20: Fix a memory leak. 2006-11-10 11:35:59 +01:00
Mike McCormack 0f6c58c113 riched20: Set the correct number of initialized cursors. 2006-11-10 11:35:53 +01:00
Mike McCormack 32f044c4cf riched20: Fix an uninitialized variable. 2006-11-10 11:35:48 +01:00
Mike McCormack d89c46748f riched20: Don't access memory after freeing it. 2006-11-06 12:23:42 +01:00
Mike McCormack 01e8eaefdc riched20: Fixed memory leaks. 2006-11-06 12:23:33 +01:00
Mike McCormack b5c031b160 riched20: Initialize and free the RTF lookup table in DllMain to avoid memory leaks. 2006-11-02 12:24:55 +01:00
Mike McCormack 8939587b19 riched20: Create macro functions for allocating and freeing memory. 2006-10-24 11:44:53 +02:00
Hans Leidekker 177350d087 riched20: Win64 printf format warning fixes. 2006-10-14 20:16:56 +02:00
Mike McCormack 9eda99c0bb riched20: Don't crash if a colour isn't found. 2006-10-09 20:38:11 +02:00
Matt Finnicum abecd9e393 riched20: Rewrite of scrolling and some redrawing code.
Replaces duplicated scrolling code with re-usable functions.
Removes excessive boundary checking on scroll code, since that's done
in the scrollbar control anyways.
Properly separates repaint calls based on what has changed.
Send EN_UPDATE and EN_CHANGE at the right places.
Only call EnsureVisible on changes, not all repaints.
2006-09-11 11:29:42 +02:00
Hippocrates Sendoukas 0ad5638bf1 riched20: WM_CONTEXTMENU fix for custom context menus. 2006-09-07 16:06:56 +02:00
Brian Chang 1f2eb859ac riched20: EM_EXSETSEL fixes and conformance tests. 2006-08-28 17:48:23 +02:00
Matt Finnicum 0d15a6ae15 riched20: Remove two testing fixme's that were accidentally committed. 2006-08-28 11:36:49 +02:00
Clinton Stimpson bbd05a4644 riched20: Add tests for EM_GETMODIFY. 2006-08-23 20:10:50 +02:00
Matthew Finnicum 9b47add3bf riched20: Make EM_EXLINEFROMCHAR handle special case of lParam == -1. 2006-08-22 11:57:40 +02:00
Matt Finnicum cba7238364 riched20: Swap two lines that were in wrong order / caused notification not to be sent. 2006-08-21 12:08:39 +02:00
Matt Finnicum e73890a72c riched20: Send EN_LINK notifications. Properly underline / color links. 2006-08-17 11:44:12 +02:00
Phil Krylov 2aed652c01 riched20: Accept RTF header without a version number. 2006-08-11 11:56:07 +02:00
Matt Finnicum 22bc001c08 riched20: Add conformance tests for WM_SETFONT. 2006-08-10 11:30:03 +02:00
Ken Myers 13e4ddd2df riched20: Implement EM_EXLIMITTEXT, EM_GETLIMITTEXT and tests. 2006-08-10 11:28:43 +02:00
Clinton Stimpson ea755999f1 riched20: Fix crash with NULL lParam in EM_SETTEXTEX. 2006-08-10 10:54:27 +02:00
Matt Finnicum 658c0cdd1a riched20: Implement EM_SHOWSCROLLBAR, EM_SETSCROLLPOS, ES_DISABLENOSCROLL, and WS_VSCROLL. 2006-08-09 11:20:43 +02:00
Krzysztof Foltman bad844d0a9 riched20: New, clean, simple selection repaint logic - should fix all outstanding refresh issues. 2006-08-07 19:59:58 +02:00
Matt Finnicum 2b92bf78d1 riched20: Implement EM_SETPASSWORDCHAR and EM_GETPASSWORDCHAR. 2006-08-05 11:25:34 +02:00
Krzysztof Foltman f07740b28b riched20: Make EM_LINELENGTH work correctly for non-final paragraphs containing exactly one screen line. 2006-08-03 22:27:57 +02:00
Krzysztof Foltman 9667a891ff riched20: Make EM_GETLINE work properly in 1.0 emulation mode. 2006-08-03 22:27:45 +02:00
Krzysztof Foltman 5f32291ace riched20: Ctrl+A should be allowed in read-only controls too. 2006-08-03 22:27:36 +02:00
Alexandre Julliard 344389d6d5 riched20: Fixed handling of window private data for Win64. 2006-08-03 18:20:01 +02:00
Krzysztof Foltman 6f15b54ade riched20: Handle incorrect calls of window procedure. 2006-08-03 18:18:14 +02:00
Thomas Kho 3f19ffe809 riched20: Implement EM_GETLINE. 2006-07-31 17:18:56 +02:00
Andrew Talbot 0c96a42a59 riched20: Write-strings warnings fix.
The string members of the FINDTEXT and FINDTEXTEX structs are declared
constant in the SDK.
2006-07-24 12:57:32 +02:00
Krzysztof Foltman d17591fdf9 riched20: WM_SETFONT support. 2006-07-17 13:44:04 +02:00
Krzysztof Foltman 02bbf06c43 riched20: Fix message range for get_msg_name. 2006-06-22 12:29:04 +02:00
Francois Gouget 11ae0f6386 Assorted spelling fixes. 2006-06-16 11:32:29 +02:00
Alexandre Julliard fe4c4780eb riched20: Fix an uninitialized variable bug.
Mark todo a test that depended on the bug to succeed.
2006-06-12 16:09:50 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Matt Finnicum a379ac9ef5 riched20: Implement EM_SETUNDOLIMIT and its conformance tests. 2006-05-16 12:41:21 +02:00
Michael Jung 0dec18a3d6 riched20: Don't append '\r' to the last paragraph in EM_GETTEXTEX. 2006-05-08 17:39:59 +02:00
Phil Krylov 4e796854af riched20: Allow inheriting table cell definitions from previous table row.
Allow inheriting of table cell definitions from a previous table row
when the current table row does not contain a \trowd, only an \intbl.
2006-04-12 11:17:25 +02:00
Lei Zhang b4ee2ad0e4 riched20: Implements FR_WHOLEWORD for EM_FINDTEXT.
Add FR_WHOLEWORD to riched20's EM_FINDTEXT and fix a couple small bugs
introduced in earlier patches for EM_FINDTEXT. Additional test cases
have been added to check for corner cases.  Also improve input
validation.
2006-03-21 20:11:04 +01:00
Alexandre Julliard c9cc7e33ff Fixed some compiler warnings on old gcc versions. 2006-03-02 18:03:32 +01:00
Brandon Woodmansee dee813b5ff riched20: Implement EM_AUTOURLDETECT & EM_GETAUTOURLDETECT. 2006-03-01 20:27:43 +01:00
Andrew de los Reyes cd024942af riched20: Implement EM_SCROLL and its tests. 2006-02-27 12:21:11 +01:00
Hamza Lakhani 6979719a90 riched20: EM_HIDESELECTION implementation. 2006-02-27 12:20:56 +01:00
Phil Krylov 69ae27ed2f riched20: Added a comment to make life easier. 2006-02-24 21:10:13 +01:00
Kevin Koltzau 53b74b0d56 riched20: Call GetClipboardData callback on cut/copy. 2006-02-23 11:52:03 +01:00
Kevin Koltzau 27e2dcff1d riched20: EM_GETOLEINTERFACE is not a stub. 2006-02-23 11:51:14 +01:00
Kevin Koltzau 58b2995311 riched20: Store reference to editor in ole interface. 2006-02-23 11:14:41 +01:00
Kevin Koltzau a13245847f riched20: Add IDataObject implementation and use it for cut/copy. 2006-02-22 22:23:49 +01:00
Brian Chang 8f6ba475e8 riched20: EM_SETOPTIONS/EM_GETOPTIONS base implementation.
ECO_READONLY implemented and tested.
2006-02-22 22:14:38 +01:00
Lei Zhang 805dc74809 riched20: Implement FR_MATCHCASE for EM_FINDTEXT.
Removed todo flag from affected FR_MATCHCASE tests.
2006-02-22 11:33:10 +01:00
Lei Zhang 0014e50465 riched20: Fix for EM_FINDTEXT input validation.
Fixed the cpMin/cpMax validation code for EM_FINDTEXT.
Removed todo flag from affected EM_FINDTEXT tests.
2006-02-21 11:27:51 +01:00
Roger Hoang b03c70a845 riched20: Implemented EM_SETTEXTMODE options TM_RICHTEXT and TM_PLAINTEXT
and their tests.
2006-02-20 20:29:44 +01:00
Thomas Kho bfb3c756eb riched20: Implement EM_SCROLLCARET and EM_GETSCROLLPOS. 2006-02-16 19:33:19 +01:00
Thomas Kho 087af502ea riched20: Extend EM_FINDTEXT conformance tests and fix 2 problems they expose. 2006-02-15 13:37:31 +01:00
Phil Krylov 9761b457ce riched20: Support RTF text in WM_SETTEXT. 2006-02-14 17:38:57 +01:00
Thomas Kho caffa53227 riched20: Fixed bounds error when finding text forward. 2006-02-11 18:39:17 +01:00
Kevin Koltzau 2d0ad0944c riched20: Don't use EM_STREAMIN for paste. 2006-02-06 11:26:34 +01:00
Kevin Koltzau 374106d136 riched20: Don't use EM_STREAMOUT for copy/cut. 2006-02-05 13:05:00 +01:00
Phil Krylov 9b1beea7d7 riched20: Empty undo stack after EM_STREAMIN without SFF_SELECTION flag. 2006-02-05 12:18:55 +01:00
Phil Krylov 08bf7180f3 riched20: Initial support for simple tables. 2006-02-04 17:01:01 +01:00
Kevin Koltzau fc2ce6779e riched20: Handle context menu. 2006-02-02 13:18:20 +01:00
Kevin Koltzau 7f84cc48f3 riched20: Implement EM_SETOLECALLBACK. 2006-02-01 13:05:40 +01:00
Maarten Lankhorst 460e2ad7f6 riched20: Implement CreateTextServices.
Implement a stub interface that CreateTextServices returns.
2006-02-01 12:31:40 +01:00
Phil Krylov f0d6519ef5 riched20: Added support for hidden text. 2006-01-31 13:01:26 +01:00
Maarten Lankhorst 7b6f85474e riched20: Make CreateTextServices use ITextHost. 2006-01-30 18:16:05 +01:00
Phil Krylov ecbccb9763 riched20: EM_STREAMIN should send a EN_UPDATE notification. 2006-01-26 13:28:35 +01:00
Phil Krylov bb9631b196 riched20: Selection painting fixes. 2006-01-26 13:27:28 +01:00
Dmitry Timoshkov 57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Phil Krylov 6e3a72549a riched20: Select word on double click. 2006-01-13 13:54:11 +01:00
Phil Krylov e0fc772889 riched20: TODO list update. 2006-01-13 13:53:42 +01:00
Phil Krylov 49eecf5128 riched20: Initial support for word break callback procedures. 2006-01-12 11:54:57 +01:00
Phil Krylov 6818762a6e riched20: Reduced screen flicker by using proper update region invalidation. 2006-01-10 20:41:23 +01:00
Phil Krylov 194eeaab7d riched20: Fixed calculation of left indent and first indent paragraph
properties.
2006-01-09 17:12:51 +01:00
Ulrich Czekalla 0f55ef3bef riched20: Reset selection when text is reset. 2005-12-14 10:50:04 +01:00
Cihan Altinay 2a1a0cf22d riched20: register ListBox & ComboBox classes
Partially implement REExtendedRegisterClass() to register missing
window classes so that applications relying on them don't get
confused.
2005-12-05 12:48:45 +01:00
Phil Krylov fe2951daaa Cache background color brush instead of recreating it at each screen
update.
2005-11-03 11:33:24 +00:00
Phil Krylov a91ba787e2 Added support for EM_REQUESTRESIZE message, EN_REQUESTRESIZE
notification, and ENM_REQUESTRESIZE event mask.
2005-11-03 09:52:29 +00:00
Krzysztof Foltman 6650abcdc4 - Bugfix in EM_GETTEXTEX
- Additional traces helpful in diagnosing similar (text
  retrieval-related) bugs.
2005-10-19 19:22:11 +00:00
Krzysztof Foltman 07c4dc461e Fix unnecessary (and harmful) repeated statement. 2005-10-13 13:44:14 +00:00
Krzysztof Foltman 8978549722 Removed buffer overrun error (incrementing output pointer one time too
much in non-CRLF mode) making KeyNote fail to install.
2005-10-10 19:52:59 +00:00
Krzysztof Foltman 822ae486cd The previous implementation was a workaround for off-by-one bug in
ME_RunOfsFromCharOfs, this one relies on correct behavior of that
function introduced by the previous patch.
2005-10-10 18:00:52 +00:00
Krzysztof Foltman fd1d4b7c2b Fix a bug in 1.0 emulation mode in EM_LINELENGTH (which broke PTE
installer).
2005-10-10 10:44:01 +00:00
Krzysztof Foltman 8f4042c574 Fix 1.0 emulation mode in ME_GetTextW. 2005-10-10 10:30:25 +00:00
Krzysztof Foltman e098edcdcb - Remove another potential sources of infinite loops caused by EOF in
the middle of the font and color tables.
- Closing brace on text level is treated as EOF (effectively
  protecting the control from trash after the end of RTF).
- Removed misleading comment about incomplete buffers (I was
  definitely wrong).
2005-10-03 18:45:39 +00:00
Krzysztof Foltman 025a1a5445 Implemented EM_GETFIRSTVISIBLELINE and EM_POSFROMCHAR (basic
suboptimal implementation, can be optimized to skip whole paragraphs
later if it's useful at all).
2005-10-03 11:03:48 +00:00
Krzysztof Foltman a8eb60e5ee Fixed another case of misunderstanding MSDN wrt StreamInProc, causing
license text to be truncated in Picasa installer (as well as some
other programs, especially those that display long texts with NSIS).
2005-10-03 10:14:28 +00:00
Krzysztof Foltman ed8379d1ad - Reimplementation of EM_LINELENGTH.
- Some attempt at documentation of double-linked list of
  ME_DisplayItem's.
2005-09-29 10:30:50 +00:00
Rein Klazes d7d8bbfc04 When scrolling, first update the new position of the control before
calling UpdateWindow().
2005-09-26 16:42:18 +00:00
Alexandre Julliard d559fbd803 Fixed gcc 4.0 warnings. 2005-09-12 20:30:37 +00:00
Phil Krylov ba69174042 Added support for backward search to RichEdit EM_FINDTEXT[AW],
EM_FINDTEXTEX[AW] message handler.
2005-08-23 09:32:55 +00:00
Phil Krylov 9527739112 Fixed EM_SETEVENTMASK RichEdit message handler to return old event
mask.
2005-08-22 18:56:21 +00:00
Phil Krylov 4c9f013f8b Added handling of deff RTF control word. 2005-08-22 10:06:08 +00:00
Phil Krylov 6e60746b70 Added common keyboard shortcuts for Select All, Undo, Redo, Cut, Copy
and Paste to RichEdit.
2005-08-22 09:20:06 +00:00
Phil Krylov f1184b466d Added EM_SETRECT, EM_SETRECTNP, and WM_SETREDRAW message handling.
Added support for GT_SELECTION flag in EM_GETTEXTEX handler.
2005-08-15 09:47:14 +00:00
Phil Krylov c2cb39b817 Implemented EM_CHARFROMPOS RichEdit message. 2005-07-26 10:33:00 +00:00
Phil Krylov 8759b5fead Added EM_GETZOOM and EM_SETZOOM RichEdit message handlers. 2005-07-24 16:17:43 +00:00
Phil Krylov 92890e2372 Added some missing but useful items to the TODO list. 2005-07-22 18:26:46 +00:00
Phil Krylov 4605b9558f Added some useful TRACEs. 2005-07-21 11:58:24 +00:00
Phil Krylov b5a0433231 Allow NULL parameter for WM_SETTEXT in RichEdit. 2005-07-21 11:28:39 +00:00
Phil Krylov a0edd25e43 Implemented EM_LINELENGTH RichEdit message. 2005-07-21 11:01:47 +00:00
Phil Krylov 84bb372239 Added emulation of RichEdit 1.0 behaviour when the 1.0 window class is
being used. This emulation (introduced in M$ RichEdit 3.0) counts
paragraph endings as 2 characters (CR+LF) instead of 1 (CR).
2005-07-21 10:33:32 +00:00
Daniel Remenak 68709f1c41 Basic handling of EM_SETTEXTEX. 2005-07-20 10:28:44 +00:00
Felix Nawothnig af4009d2fd Check structure size and fix return values in EM_GETCHARFORMAT. 2005-07-11 10:22:33 +00:00
Phil Krylov 5067e0fc2a Fixed EM_LINEINDEX handler and added EM_LINEFROMCHAR handler. 2005-07-06 11:12:10 +00:00
Phil Krylov e467a5309b Implemented EM_EXLINEFROMCHAR, EM_LINEINDEX, EM_FINDTEXT,
EM_FINDTEXTW, EM_FINDTEXTEX, and EM_FINDTEXTEXW messages.
2005-07-06 10:32:59 +00:00
Stefan Huehner 2440dcfe88 Fix -Wmissing-declarations warnings. 2005-07-05 12:49:14 +00:00
Phil Krylov eb1c6657f7 Implemented EM_GETLINECOUNT RichEdit message. 2005-06-30 18:10:22 +00:00
Aric Stewart aa2e3a4f8a Implementation for EM_GETTEXTEX. 2005-06-29 19:21:34 +00:00
Phil Krylov 44bc9f7a0b Fixed a comment about EM_STREAMIN. 2005-06-28 19:12:32 +00:00
Phil Krylov b1f61804d7 Implemented EM_GETTEXTLENGTHEX RichEdit message. 2005-06-28 13:51:32 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Vitaly Lipatov 86f575cdc1 Allow null pointers for EM_GETSEL message (as MSDN says). 2005-06-20 11:42:38 +00:00
Robert Shearman 65284aab20 Richedit classes should be global. 2005-06-13 10:01:32 +00:00
Krzysztof Foltman b16f330197 - added support for \ulnone (turning underline off)
- support for basic subscript and superscript
- untested support for text offset
2005-06-12 10:43:24 +00:00
Hannu Valtonen 0d64267ef0 - Implement EM_LINESCROLL message handling
- Fix a problem with scrolling over the end of the text in
  WM_WHEELMOUSE.
2005-05-23 09:54:32 +00:00
Vincent Béron 4440a7278f Provide minimal API documentation in advapi/eventlog.c to silence some
winapi_check output.
Move around functions in riched20, richedit and rpcrt4 to achieve the
same goal.
2005-05-16 08:51:19 +00:00
Krzysztof Foltman ed8485983f Added stubs for a couple of missing 2.0 and 3.0 messages. 2005-05-13 17:45:43 +00:00
Phil Krylov 5a9312445e Fixed an error in my previous commit which caused an infinite loop in
IE6 installer.
2005-04-20 14:25:03 +00:00
Krzysztof Foltman 13578c8602 - removed trailing spaces from some files
- tab support
- indent support
2005-04-16 10:48:35 +00:00
Phil Krylov 1e9c200f61 Make RTF reader fall back to simple text if a correct RTF header is
not detected. This should fix some installers.
2005-04-13 11:11:03 +00:00
Hannu Valtonen 06d9713f3d Added mousewheel support. 2005-04-11 14:22:21 +00:00
Krzysztof Foltman 01cd9fb2c6 - EM_CANPASTE implemented
- updated TODO list (including list of (un)implemented messages)
- fixed WM_PASTE (the previous version might not close the clipboard
  if it didn't contain a usable format)
- scrollbar operations (like clicking on arrows) should update
  scrollbar's current position
2005-04-11 12:50:48 +00:00
Phil Krylov 0fdbec319b Made RTF reader and writer handle codepages mostly similar to the
original riched20.dll.
2005-03-22 16:41:36 +00:00
Vincent Béron 0bdac8c0f9 Use "" for Windows includes in dlls, instead of <>. 2005-03-21 10:52:26 +00:00
Krzysztof Foltman d6b198b3bd - PageUp key support.
- Support for "normal" scroll bar functionality (line and page
  scrolling).
2005-03-21 10:27:24 +00:00