Jactry Zeng
0f23b967a4
include: Fix a typo in ITextServices method named TxGetCurTarget.
2014-03-12 19:06:31 +01:00
Jactry Zeng
1841426616
riched20/tests: Add tests to check the content open by ITextDocument_fnOpen.
2014-02-12 19:15:17 +01:00
Austin English
0776a76eef
riched20: Remove duplicate declaration.
2014-02-11 19:19:13 +01:00
Frédéric Delanoy
0f2bed51bd
Assorted spelling fixes.
2014-02-10 15:47:29 +01:00
Frédéric Delanoy
e877ec4c5a
riched20/tests: Use common wine_dbgstr_guid implementation from test.h.
2014-01-30 12:42:55 +01:00
Jactry Zeng
88214a5874
riched20: Add UTF8 support for EM_SETTEXTEX.
2014-01-27 16:59:15 +01:00
Jactry Zeng
eb8f47518e
riched20: Use codepage in ME_ToUnicode.
2014-01-27 16:59:08 +01:00
Huw Davies
7a0a4ce7ab
riched20: Add uniscribe support.
2014-01-15 15:20:52 +01:00
Francois Gouget
25e0f11ced
riched20: Make ME_GetDITypeName() static.
2014-01-13 17:37:27 +01:00
Huw Davies
a53179dadd
riched20: Ensure the cursors are equal after deleting the selection.
2014-01-07 15:21:33 +01:00
Huw Davies
c59c582c9a
riched20: Correctly handle the cursor at the end of run case while splitting paragraphs.
2014-01-07 15:21:30 +01:00
Huw Davies
86ea91f424
riched20: Correctly handle the cursor at the end of a run case.
2014-01-07 15:21:27 +01:00
Huw Davies
2429e8b10b
riched20: Don't split a run if the cursor is at the end of it.
2014-01-07 15:21:23 +01:00
Huw Davies
7e7a8f1a4e
riched20: Simplify the code by accessing paragraphs directly from runs.
2014-01-07 15:21:13 +01:00
Jactry Zeng
51936be04d
riched20: Use CP_UNICODE instead of 1200.
2014-01-06 20:52:40 +01:00
Alexandre Julliard
99ef0d6ff0
makefiles: Get rid of the MAKE_TEST_RULES variable.
2014-01-02 12:13:16 +01:00
Alexandre Julliard
5e7416e5c8
makefiles: Get rid of the MAKE_DLL_RULES variable.
2014-01-02 12:08:18 +01:00
Huw Davies
b0f177b619
riched20: Ensure the cursors are correctly ordered in the case of a zero (logical) length selection bridging two runs.
2013-12-10 13:01:22 +01:00
Huw Davies
f13fe24e9e
riched20: Remove some over-zealous calls to clear the insert style.
...
It's cleared correctly, if the selection actually changes, in the
selection change notification handler.
2013-12-06 13:15:02 +01:00
Huw Davies
160f65f24a
riched20: Move the various selection setting methods to a common function.
2013-12-06 13:14:58 +01:00
Frédéric Delanoy
57d7f74d34
Assorted spelling fixes.
2013-11-21 19:44:46 +01:00
Huw Davies
0d8800d467
riched20: Simplify the code by using an ME_Paragraph pointer.
2013-11-21 19:39:01 +01:00
Frédéric Delanoy
e81412a4db
riched20: Use BOOL type where appropriate.
2013-11-20 11:26:07 +01:00
Huw Davies
58e83ebdea
riched20: Revert to the default paragraph style when all text is deleted.
2013-11-04 17:41:12 +01:00
André Hentschel
86a30afeb5
riched20/tests: Fix txtsrv tests compilation with __WINESRC__ defined.
2013-10-28 20:07:21 +01:00
André Hentschel
27fb62621a
riched20/tests: Fix richole tests compilation with __WINESRC__ defined.
2013-10-28 20:07:10 +01:00
André Hentschel
1431b1e9c4
riched20/tests: Fix editor tests compilation with __WINESRC__ defined.
2013-10-28 20:07:02 +01:00
Piotr Caban
d31048f0ae
riched20: Fix loop condition while processing control content in WM_CREATE.
2013-10-08 15:39:01 +02:00
Frédéric Delanoy
c388cce8aa
riched20/tests: Use BOOL type where appropriate.
2013-10-08 09:09:28 +02:00
Frédéric Delanoy
f03d251ef2
riched20: Use BOOL type where appropriate.
2013-10-08 09:09:22 +02:00
Piotr Caban
e660bf676c
riched20: Set control content in WM_CREATE message.
2013-10-07 19:52:44 +02:00
Michael Stefaniuc
0e681027a2
tests: Compile the tests by default with -D__WINESRC__.
2013-10-02 11:04:02 +02:00
Michael Stefaniuc
9463dba830
tests: Use the explicit LoadLibraryA function.
2013-10-02 11:02:21 +02:00
Andrew Eikum
360afb93b5
riched20: Continue interpreting data as UTF-8 after the first chunk boundary.
2013-10-02 11:01:33 +02:00
Jactry Zeng
5520dcab8a
riched20/tests: Add UTF8 BOM tests for EM_SETTEXTEX.
2013-09-27 10:43:00 +02:00
Jactry Zeng
1cbdb2aff7
riched20: Add a length return parameter to ME_ToUnicode.
2013-09-10 12:27:37 +02:00
Jactry Zeng
a8d87afe1c
riched20/tests: Add tests of ITextDocument_Open.
2013-09-05 13:25:34 +02:00
Vincent Povirk
d04d1c1736
riched20: Use \ulnone instead of \ul0 for no underline.
2013-08-20 11:50:14 +02:00
Nikolay Sivov
ed673ff947
riched20: Use helpers from header instead of internal functions.
2013-06-12 12:09:13 +02:00
Alexandre Julliard
85f8828560
riched20: Don't bother to unregister classes at process exit.
2013-05-14 11:33:19 +02:00
Sergey Guralnik
8849885f73
riched20: Fix richtext copy/paste to OOffice.
2013-05-01 11:16:27 +02:00
Huw Davies
674e2cfd24
riched20: Fix an (incorrect) compiler warning.
2013-04-17 14:26:18 +02:00
Huw Davies
eb773e0dea
riched20: Use PointFromCharContext now that we can specify logical ordering.
2013-04-17 14:26:14 +02:00
Huw Davies
5ddfc36cc0
riched20: Add a visual vs logical order flag to the character to position mapping routines.
2013-04-17 14:26:09 +02:00
Francois Gouget
8e304065c1
riched20: ME_StrDup() is not used anymore so remove it.
2013-04-03 17:54:35 +02:00
Huw Davies
a20d42de15
riched20: Always write out the color table.
2013-03-25 14:09:41 +01:00
Huw Davies
c409fc13fd
riched20: Set the bidi base embedding level.
2013-03-25 14:09:38 +01:00
Huw Davies
503c6caba6
riched20: We don't need to special case the PARAFORMAT2 fields since the masks have already been correctly sanitised. This fixes setting PFE_RTLPARA.
2013-03-25 14:09:31 +01:00
Andrew Eikum
3f02c24163
riched20: EM_FINDTEXT implementation should match richedit character type.
2013-03-25 14:07:19 +01:00
Huw Davies
7a59014fa2
riched20: Send WM_CHAR notifications.
2013-02-28 21:02:06 +01:00
Huw Davies
5e53012736
riched20: Don't assume the the runs in a row are in visual order.
2013-02-26 18:18:16 +01:00
Huw Davies
c5c4d54905
riched20: Allow the cursor offset to be equal to the run length - this implies the cursor is at the end of the run, which isn't necessarily the start of the next.
2013-02-26 18:18:12 +01:00
Huw Davies
e68e6ff740
riched20: Correctly set the row's x position.
2013-02-26 18:18:06 +01:00
Huw Davies
a6369b8332
riched20: Rewrite ME_FindPixelPos to use ME_GetRunInRow.
2013-02-25 17:11:58 +01:00
Huw Davies
87163410e5
riched20: Only retrieve the next row.
2013-02-25 17:11:56 +01:00
Huw Davies
41dd421222
riched20: Return a BOOL that indicates whether the hit is exact.
2013-02-25 17:11:53 +01:00
Huw Davies
0730db2b99
riched20: Change ME_FindRunInRow to fill out a cursor structure.
2013-02-25 17:11:51 +01:00
Austin English
d50baaa1df
riched20: Make sure to load dll below 2GB address space.
2013-02-19 10:39:31 +01:00
Huw Davies
acaad0a842
riched20: Add the ability to CharFromPoint to either pick the closest leading edge or the leading edge of the selected character.
2013-02-18 16:34:10 +01:00
Huw Davies
1c0aaf7dd2
riched20: Use ME_PointFromChar to calculate the caret position.
2013-02-15 17:52:13 +01:00
Huw Davies
635614b5ea
riched20: Move the password string hack to just before it's used.
2013-02-15 17:52:11 +01:00
Huw Davies
a4378f44aa
riched20: Move the range clamping to the helper now that the range isn't used later on.
2013-02-15 17:52:08 +01:00
Huw Davies
79278497d3
riched20: Move underline drawing to a common function.
2013-02-15 17:52:02 +01:00
Huw Davies
ab6bb56988
riched20: Simplify selection painting by drawing a selected run twice with appropriate clipping.
2013-02-14 17:35:24 +01:00
Huw Davies
d528e76076
riched20: Use the point from char helpers to calculate the selection rectangle.
2013-02-14 17:35:20 +01:00
Huw Davies
2a6f99efcc
riched20: The string len parameter is no longer necessary.
2013-02-14 17:35:06 +01:00
Huw Davies
42b0c6ea33
riched20: Make it possible to perform point -> char conversion while holding a context.
2013-02-14 17:35:03 +01:00
Huw Davies
530c546a3f
riched20: Remove the special case tab handling now that we handle that in draw_space.
2013-02-14 17:35:00 +01:00
Huw Davies
4cbe94f42a
riched20: Move the white space painting operations to a common function.
2013-02-14 17:34:57 +01:00
Huw Davies
4178de89ef
riched20: Move text color determination to a helper function.
2013-02-14 17:34:48 +01:00
Huw Davies
681a9e1de6
riched20: Move y offset calculation to a helper function.
2013-02-14 17:34:41 +01:00
Huw Davies
c2c5121d19
riched20: Move underline pen creation to a helper function.
2013-02-14 17:34:31 +01:00
Huw Davies
82c8e567fb
riched20: Pass the run to the text drawing routine.
2013-02-14 17:34:23 +01:00
Huw Davies
941775e311
riched20: The run width is always passed so we don't need to calculate it again.
2013-02-14 17:34:13 +01:00
Huw Davies
c07212b3d0
riched20: Move run extent calculation to wrap.c.
2013-02-12 19:56:41 +01:00
Huw Davies
9e8a9f4f65
riched20: Move the split point calculation to wrap.c.
2013-02-08 19:31:09 +01:00
Huw Davies
68d72f4792
riched20: Move SplitRun to wrap.c and make it static.
2013-02-07 15:51:11 +01:00
Michael Stefaniuc
6c1b292f0b
riched20: Let C look like C.
2013-02-07 12:04:01 +01:00
Huw Davies
5168d66be7
riched20: Move the text to the paragraph level.
2013-02-05 20:15:37 +01:00
Huw Davies
b730efc9b4
riched20: Pass character ptrs to the whitespace finding functions.
2013-02-05 20:15:37 +01:00
Huw Davies
872a2ad031
riched20: Pass a character ptr and length to SplitParagraph.
2013-02-05 20:15:36 +01:00
Huw Davies
48b9ab37ac
riched20: Pass the character ptr and string length directly to the break proc helper.
2013-02-05 10:51:26 +01:00
Huw Davies
bf6bb4fc70
riched20: Actually pass the ANSI string to the break proc.
2013-02-05 10:51:15 +01:00
Huw Davies
86f077b163
riched20: Add an explicit run length member and use it rather than accessing the string length.
2013-01-31 16:32:12 +01:00
Huw Davies
f24ba125f6
riched20: Use the get_text helper in a few more places.
2013-01-31 16:32:07 +01:00
Huw Davies
76cfe7dc50
riched20: Rewrite the run whitespace test to take a run parameter.
2013-01-31 16:32:01 +01:00
Huw Davies
29e54f07f7
riched20: Rewrite the run splittable test to take a run parameter.
2013-01-31 16:31:52 +01:00
Huw Davies
27578f8bb6
riched20: Add a helper to retrieve the run text.
2013-01-30 17:19:31 +01:00
Huw Davies
c17af77b5c
riched20: Add a helper to debug the run text.
2013-01-30 17:19:28 +01:00
Huw Davies
95938b7a10
riched20: Add a paragraph ptr to each run.
2013-01-30 17:19:22 +01:00
Huw Davies
dee40e90ce
riched20: Move undo handling to a different set of structs as the display item structs are not a good fit.
2013-01-29 17:50:17 +01:00
Huw Davies
ca46d22bca
riched20: Simplify adding the undo items when joining paragraphs.
2013-01-25 17:30:42 +01:00
Huw Davies
7a27ffb28c
riched20: Avoid an unnecessary string duplication.
2013-01-22 19:13:07 +01:00
Huw Davies
368f9123c9
riched20: Flush the output buffer before a codepage change.
2012-12-05 20:23:51 +01:00
Michael Stefaniuc
87cdc7341d
riched20/tests: Remove a superfluous function pointer cast.
2012-11-30 19:12:16 +01:00
André Hentschel
34f74fdc71
riched20: Remove duplicate operand in expression (coverity).
2012-11-05 11:11:53 +01:00
Francois Gouget
709a0b764d
Use the CP_ACP and NULL macros instead of numeric literals when converting strings between ANSI and Unicode.
2012-09-24 22:27:28 +02:00
Nikolay Sivov
28821a924c
riched20/tests: Use proper method macros.
2012-08-24 11:32:59 +02:00
Marcus Meissner
3a2de10a9c
riched20: Fixed pointer to value out of scope (Coverity).
2012-08-20 10:57:08 +02:00
Qian Hong
cb8c500ee6
riched20: Added support for UTF8 BOM stream.
2012-08-17 13:58:11 +02:00
Qian Hong
7839d134e9
riched20/tests: Fixed typo in test_EM_STREAMIN.
2012-08-16 13:46:20 +02:00
Qian Hong
01ebba0fc4
riched20/tests: Added UTF8 BOM test.
2012-08-16 13:07:02 +02:00
Michael Stefaniuc
c0cfc9a87a
riched20: Avoid a TRUE:FALSE conditional expression.
2012-08-15 12:12:51 +02:00
Nikolay Sivov
e3f0d40840
riched20: Use proper interface methods macros.
2012-08-13 11:48:23 +02:00
Dan Kegel
a59e766ea7
riched20: Accept middle click as paste (like edit control does).
2012-06-19 11:09:49 +02:00
Michael Stefaniuc
8660d5e77f
riched20/tests: Check the correct return value.
2012-05-25 13:45:01 +02:00
Dylan Smith
10d800b6b8
richedit: Invalidate a range of paragraphs without marking them.
2012-05-18 18:10:27 +02:00
Michael Stefaniuc
306b3510a9
riched20/tests: Remove duplicated ok() call.
2012-05-17 10:18:15 +02:00
Dylan Smith
2ebfd01b51
richedit: Remove some unused structure fields.
2012-05-14 12:04:24 +02:00
Dan Kegel
4996043374
riched20: Don't need to redraw when changing selection from none to none.
2012-05-10 08:30:58 +02:00
Dylan Smith
1f8cbe1645
richedit: Avoid scanning all text for paragraphs to invalidate.
2012-05-09 11:55:58 +02:00
Dylan Smith
18fa3287f6
richedit: Remove always FALSE parameter from ME_PaintContent.
2012-05-08 09:42:16 +02:00
Michael Stefaniuc
25ed3b9572
riched20/tests: Don't cast NULL to an integer.
2012-04-16 12:07:11 +02:00
Michael Stefaniuc
39f416cd9d
riched20/tests: Add COM aggregation tests for CreateTextServices().
2012-03-28 11:39:12 +02:00
Michael Stefaniuc
67389533bc
riched20/tests: Get the CreateTextServices() pointer only once.
2012-03-28 11:39:04 +02:00
Michael Stefaniuc
74c5d202a1
riched20: Support COM aggregation in CreateTextServices().
2012-03-28 11:38:59 +02:00
Michael Stefaniuc
6f299c5d76
riched20: Avoid a forward declaration of a vtbl.
2012-03-28 11:38:44 +02:00
Michael Stefaniuc
51998b929a
riched20: Drop the WINE_ prefix from a FIXME.
2012-03-12 10:11:16 +01:00
Dmitry Timoshkov
e2264859c8
riched20: Fix some GDI object leaks.
2012-01-30 11:54:47 +01:00
Jason Edmeades
efbde389c7
richedit: v1.0 richedit uses CR and LF for enter.
2012-01-23 16:07:41 +01:00
Francois Gouget
8dd66bc927
riched20: Avoid hardcoding the Unicode string literal lengths.
2011-12-16 17:40:38 +01:00
Thomas Faber
5e0050d001
riched20: Do not return incorrect values from ME_CharFromPoint[Cursor].
2011-10-24 20:27:30 +02:00
Thomas Faber
3ac36cb50f
riched20/tests: Test format rect adaption to window size and behavior with zero-sized windows.
2011-10-24 19:54:08 +02:00
Thomas Faber
791d000f96
riched20: Simplify ME_PrepareParagraphForWrapping.
2011-10-24 19:54:02 +02:00
Thomas Faber
f3a3ce8a51
riched20: Avoid a forward declaration.
2011-10-24 19:37:08 +02:00
Thomas Faber
28cb0b683e
riched20: Constify some ME_Context pointer parameters.
2011-10-24 19:37:08 +02:00
Francois Gouget
3de330db54
tests: Remove unneeded assert.h includes.
2011-09-27 10:59:56 +02:00
Dylan Smith
9d2da7fa66
riched20/tests: Remove unnecessary SetFocus calls.
2011-09-26 12:19:43 +02:00
Dylan Smith
fdb2bc4be9
riched20/tests: Avoid using flaky method of simulating typing.
2011-09-26 12:19:40 +02:00
Dylan Smith
f61d417a34
richedit: Return number of chars inserted for EM_STREAMIN with SF_RTF.
2011-09-26 12:16:59 +02:00
Dylan Smith
e060272de7
richedit: Return number of bytes read for EM_STREAMIN with SF_TEXT.
2011-09-26 12:16:56 +02:00
Francois Gouget
c992ca277d
Assorted spelling fixes.
2011-08-24 19:07:46 +02:00
Thomas Faber
73876d6ccd
riched20: Fix uninitialized variable usage.
2011-08-22 17:15:02 +02:00
Frédéric Delanoy
7e309601f3
dlls: Assorted spelling fixes.
2011-08-03 14:15:50 +02:00
Dan Kegel
28b2d03a8c
riched20/tests: Fix test_EM_FINDWORDBREAK comments.
2011-08-01 18:26:25 +02:00
Andrew Talbot
faa05713ad
riched20: Declare some variables unsigned.
2011-08-01 11:16:56 +02:00
Dan Kegel
dafd6fecd1
riched20/tests: Add test for WB_ISDELIMITER.
2011-07-20 19:23:05 +02:00
Frédéric Delanoy
7ed4f20305
riched20: Remove dead assignment (Clang).
2011-07-06 11:29:18 +02:00
Dylan Smith
82da77c0a6
richedit: Fix incorrect GUID values for ITextHost and ITextHost2.
2011-07-05 14:44:43 +02:00
Dylan Smith
819e1a899a
riched20/tests: Test the text services IIDs.
2011-07-05 14:44:33 +02:00
Marcus Meissner
598a7f6edf
riched20: Mark internal symbols with hidden visibility.
2011-05-24 11:55:55 +02:00
Michael Stefaniuc
3f2f2eb678
riched20: Finish the COM cleanup in richole.c.
2011-05-19 10:09:30 +02:00
Michael Stefaniuc
b1ae962997
riched20: COM cleanup for the IOleClientSite iface.
2011-05-19 10:09:22 +02:00
Michael Stefaniuc
a12ed578c5
riched20: COM cleanup for the ITextSelection iface.
2011-05-17 13:45:02 +02:00
Marcus Meissner
2b53df89cb
riched20: Fixed some lParams with keycodes (Coverity).
2011-05-06 14:23:46 +02:00
Marcus Meissner
0cd53a589d
riched20: Use correct flag name (Coverity).
2011-05-06 14:23:46 +02:00
Marcus Meissner
2ae0d40c8f
riched20: Adjusted shift by 8 bits to 16 bits (Coverity).
2011-05-06 14:23:45 +02:00
Michael Stefaniuc
c52c15ef99
riched20: COM cleanup for the ITextServices iface.
2011-04-11 12:10:30 +02:00
Michael Stefaniuc
e18ae2139b
riched20: COM cleanup for the ITextHost iface.
2011-04-11 12:10:20 +02:00
Francois Gouget
cc2cd5a525
riched20/tests: Add a '\n' to an ok() call.
2011-03-07 11:09:27 +01:00
Austin English
c17df92e5d
riched20/tests: Remove win9x hacks.
2011-02-28 13:13:33 +01:00
Amine Khaldi
4b7795a943
riched20: Add a missing break.
2011-02-23 19:23:38 +01:00
Amine Khaldi
f8da57ca89
riched20: Fix a c89 conformance issue in ITextImpl->editor->rcFormat initialization.
2011-02-16 14:02:59 +01:00
Maarten Lankhorst
1e758c5e8c
riched20: Do not call callback when no data needs to be flushed.
2011-02-09 13:49:03 -06:00
Austin English
75e4e607c6
riched20/tests: Make sure return value is used (LLVM/Clang).
2011-02-09 09:25:58 -06:00
Greg Geldorp
997a681300
riched20/tests: Fix editor tests.
2011-01-24 14:43:27 +01:00
Greg Geldorp
bee48efdce
riched20/tests: Skip some tests on non-English platforms.
2011-01-19 16:54:02 +01:00
Dylan Smith
d43cddcc83
richedit: Clear non-default style when changing to plain text mode.
...
Although the text must be empty for the mode to change to plain text
mode, there still may be a non-default style for the temporary insert
style and style for the end of text run.
2011-01-12 11:32:19 +01:00
André Hentschel
cea221caa0
riched20/tests: Don't test function directly when reporting GetLastError().
2010-12-30 15:00:58 +01:00
Michael Stefaniuc
9a6f5ad239
riched20: Standardize the COM usage in clipboard.c.
2010-12-09 12:28:52 +01:00
Michael Stefaniuc
0acf4a297b
riched20/tests: Use an iface instead of a vtbl pointer in ITextHostTestImpl.
2010-12-09 12:28:41 +01:00
Alexandre Julliard
954558806e
riched20: Use the correct resource id for the reverse arrow cursor.
2010-10-18 19:08:37 +02:00
Austin Lund
b20e75f5e9
riched20/tests: Cleaned up ITextServices::TxGetNaturalSize test and fixed test failures.
2010-10-13 17:45:23 +02:00
Austin Lund
d08fc66732
riched20/tests: Plug a few memory leaks and make failure messages more meaningful.
2010-10-06 20:46:49 +02:00
Alexandre Julliard
95c1bd4da9
riched20/tests: Make some variables static.
2010-10-01 13:40:29 +02:00
Alexandre Julliard
81b8ee863e
makefiles: Add a standard header for all makefiles to replace the common variable initializations.
2010-09-19 12:36:48 +02:00
Dylan Smith
c0ee555e8f
richedit: Avoid redundant calls to ME_CalcRunExtent.
...
ME_SplitRun is only called by wrapping code. In all but one call the
returned second half of the split run will be returned, get passed back
to ME_WrapHandleRun, then ME_CalcRunExtent will be called at the start of
ME_WrapHandleRun through ME_WrapSizeRun.
2010-07-30 11:36:02 +02:00
Dylan Smith
8b8e4f89b2
richedit: Use ME_Cursor as parameter to ME_SplitRunSimple.
...
The paragraph needed to be included in the parameters to avoid needing
traverse the linked list of display items to find the paragraph.
2010-07-30 11:36:02 +02:00
Dylan Smith
68b44f740c
richedit: Remove checks for converting internal CHARFORMAT structs.
...
Prevents extra copying from having to be done for converting between
unicode/ascii or between the normal or extended version of the structure.
2010-07-30 11:36:02 +02:00
Dylan Smith
ad056fe7d7
richedit: Check for bits instead of equality in EM_SETCHARFORMAT.
...
There are unsupported flags documented on MSDN which would cause problems
for the equality checks used in EM_SETCHARFORMAT. Also, to handle a
combined set of flags they must be checked for in the right order.
2010-07-30 11:36:01 +02:00
Dylan Smith
16d7890426
richedit: Don't change text mode with undo or redo stack.
2010-07-30 11:36:01 +02:00
Dylan Smith
75eef41881
richedit: Return correct values when EM_SETTEXTMODE fails.
...
The checks for the text length and invalid parameters needed to be swapped,
and the code could be easily simplified.
2010-07-30 11:36:01 +02:00
Dylan Smith
4c174fc845
richedit: Removed unused run flags values.
...
The only place MERF_SKIPPED was in debug code, and MERF_CALCBYWRAP was only
used to clear this unused flag value, so I got rid of both of them.
2010-07-29 10:28:29 +02:00
Dylan Smith
15251ad84b
richedit: Removed redundant variable ptLastSplittableRun.
2010-07-29 10:28:06 +02:00
Dylan Smith
dfa80b35b0
richedit: Invalidate without calling UpdateWindow in many cases.
2010-07-29 10:28:00 +02:00
Dylan Smith
1964e603fd
richedit: Remove redundant commit and repaint in ME_StreamInText.
...
ME_StreamInText is only used in one function, ME_StreamIn, which always
calls ME_CommitUndo and ME_UpdateRepaint after calling this function.
2010-07-29 10:27:38 +02:00
Dylan Smith
328a3f1d8c
richedit: EN_UPDATE notification is sent on WM_PAINT.
2010-07-29 10:27:30 +02:00
Alexandre Julliard
b86d515ed6
dlls: Remove explicit imports of kernel32 and ntdll.
2010-07-21 17:38:36 +02:00
Dylan Smith
be3073fce1
richedit: Fix streaming rtf with table at the start of the text.
...
The first paragraph was being handled just by ME_StreamOutParaProps,
but subsequent paragraphs would check if the paragraph was starting or
ending a table. So I moved the code to check for tables into
ME_StreamOutParaProps.
2010-07-19 14:38:16 +02:00
Dylan Smith
e2f6b1d83d
richedit: Don't break when streaming out a table, just continue.
...
This is a regression caused by commit
54b53b6018
which change the code to use
if statements instead of a switch, so the break statement should have
been changed to a continue statement.
2010-07-19 14:38:16 +02:00
Austin Lund
61e5fec020
riched20: Process messages which arrive before WM_NCCREATE.
2010-07-08 17:33:25 +02:00
Dylan Smith
6072a69d38
richedit: Keep default char format on WM_SETFONT in plain text mode.
2010-06-07 15:27:52 +02:00
Dylan Smith
b88b007d95
richedit: Fix assignment to wrong variable (LLVM/Clang).
2010-05-25 12:02:28 +02:00
Dylan Smith
3f1d3e0ea1
richedit: Simplify redundant code in WM_IME_COMPOSITION.
2010-05-24 11:30:23 +02:00
Dylan Smith
e809bc887d
richedit: Commit undo items after modifications in WM_IME_COMPOSITION.
...
ME_InsertTextFromCursor could previously follow the ME_CommitUndo call
leaving uncommitted changes which would cause improper grouping of commits,
or an assertion failure.
2010-05-24 11:30:12 +02:00
Dylan Smith
fb7d6b783e
richedit: Missing HeapFree in WM_IME_COMPOSITION. (Smatch).
...
ME_InsertTextFromCursor copies the string passed into it rather than making
taking ownership of it.
2010-05-24 11:30:06 +02:00
Dylan Smith
dcbc22b985
richedit: Send EN_SELCHANGE after wrapping but before EN_CHANGE.
...
The call to ME_SendSelChange cannot be done in ME_CommitUndo like it was
before, because it must be done after wrapping. Native richedit controls
send EN_CHANGE first, which is sent in ME_UpdateRepaint, so
ME_SendSelChange must be before this notification in ME_UpdateRepaint.
2010-05-19 11:17:55 +02:00
Dylan Smith
d312d4e33c
richedit: Revert commit that caused a regression. (Bug 22758).
...
Revert commit 049cf5aca0
richedit: Avoid notifying parent window in improper state.
The commit was meant to fix a problem caused by ME_SendSelChange being
called in ME_SendSelChange, but moving the calls to ME_CommitUndo caused
a regression. So this patch reverts the previous commit, and my
following patch will instead fix the bug by moving the call to
ME_SendSelChange out of ME_CommitUndo.
2010-05-19 11:17:55 +02:00
Michael Stefaniuc
cf13e8a390
riched20: Avoid using long.
2010-05-17 12:42:33 +02:00
Gerald Pfeifer
f772c799ae
riched20: Remove variables yprev and ys which are not really used from ME_ArrowPageUp.
2010-05-17 12:42:31 +02:00
Dylan Smith
049cf5aca0
richedit: Avoid notifying parent window in improper state.
...
ME_CommitUndo and ME_CommitCoalescingUndo call ME_SendSelChange, which
may notify the parent window that the selection has changed, therefore
should generally be called after wrapping the text. Otherwise, the parent
window may send a message to the editor and cause an assertion failure.
2010-05-17 12:42:31 +02:00
Gerald Pfeifer
6dd4b071cc
riched20: Remove variable pCell which is not really used from ME_StreamIn.
2010-05-10 10:11:34 +02:00
Gerald Pfeifer
2d462ad088
riched20: Remove variable ys which is not really used from ME_ArrowPageDown.
2010-05-10 10:11:29 +02:00
Gerald Pfeifer
f29514fbec
riched20: Remove variable di which is not really used from ME_InsertEndRowFromCursor.
2010-05-03 15:42:18 +02:00
Gerald Pfeifer
14ef0fed9c
riched20: Remove variable changed which is not really used from ME_PrepareParagraphForWrapping.
2010-05-03 15:40:04 +02:00
Gerald Pfeifer
01777ac5ce
riched20: Remove variable yprev which is not really used from ME_ArrowPageDown.
2010-05-03 15:37:31 +02:00
Alexandre Julliard
bef5645eb1
makefiles: Remove the no longer needed explicit separators for dependencies.
2010-03-16 13:28:19 +01:00
David Hedberg
534398a57e
richedit: GTL_PRECISE to GETTEXTLENGTHEX implies GTL_NUMBYTES.
...
If GTL_PRECISE is passed without specifying either GTL_NUMCHARS or
GTL_NUMBYTES, behave as if GTL_NUMBYTES was passed.
2010-03-01 11:33:01 +01:00
Dylan Smith
7ed13120ab
richedit: Make zooming affect all pictures.
2010-03-01 11:32:33 +01:00
Dylan Smith
1f2575ba7c
richedit: Documented paragraph border widths are in points not pixels.
...
The border widths documented by msdn are in points which are 72 dpi, which
is not equivalent to pixels (normally 96 dpi). I pre-converted all the
border widths to 96 dpi resolution since this avoids needed to store
fractions, and often avoids the need for convertion to the displays
resolution.
2010-03-01 11:32:18 +01:00
Dylan Smith
fe9933ae4d
richedit: Added some extra tests for EM_FORMATRANGE.
...
The existing tests were not properly testing the return value for the case
where all the text fits in the page rect, so this patch adds a couple of
simple tests for this case.
2010-02-22 12:03:09 +01:00
Alexandre Julliard
6164ce2d82
makefiles: Use the standard C_SRCS variable as the list of test files.
...
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Dylan Smith
9106860c85
richedit: Prevent crash on word selection at end of paragraph.
2010-02-18 12:18:17 +01:00
Dylan Smith
535afbd3aa
richedit: Move function ME_GetParaLineSpace to make it static.
2010-02-10 11:32:31 +01:00
Dylan Smith
e9693d6272
richedit: Removed unused local variable yStart.
2010-02-05 10:06:30 +01:00
Michael Stefaniuc
fc3e2ba954
riched20: Don't print the function name twice in ERR/WARN.
...
The ERR/WARN macros already print the function name.
2010-02-04 13:39:28 +01:00
Dylan Smith
0539d5e497
richedit: Initialize fields for windowless richedit controls.
...
Caught by valgrind.
2010-01-25 13:01:17 +01:00
Dylan Smith
530a6c4598
richedit: Prevent uninitialized value from being used.
...
NULL may be returned by ITextHost::TxGetDC. Caught by valgrind.
2010-01-25 13:01:05 +01:00
Michael Stefaniuc
d3bc43b5ed
Grammar fixes "is doesn't" => "doesn't".
2010-01-11 11:33:59 -06:00
Michael Stefaniuc
3b45ababfb
riched20: Remove some explicit LPARAM/WPARAM casts.
2009-12-28 12:27:13 +01:00
Huw Davies
8808fccd57
riched20: Initialise window size.
...
Found by Valgrind.
2009-12-16 12:42:40 +01:00
Huw Davies
d4383b4498
riched20: Initialise the style flags.
...
Found by Valgrind.
2009-12-15 16:09:12 +01:00
Huw Davies
d88c47fccb
riched20: Fix a memory leak.
...
Found by Valgrind.
2009-12-14 12:04:05 +01:00
Marcus Meissner
c848e4ee86
riched20: Check for NULL in rtf reader (Coverity).
2009-12-03 10:21:44 +01:00
Nikolay Sivov
c6ff530ad6
riched20/tests: Don't leak string in test.
2009-11-30 12:56:58 +01:00
Eric Pouech
38df8cfb04
richedit: When inserting an OLE object from an RTF stream, don't force update as the stream is not fully read.
2009-11-09 20:02:03 +01:00
Eric Pouech
ab9c51dd6a
richedit: Only increment objects' reference by one when inserting an OLE object.
2009-11-09 20:01:56 +01:00
Sergey Khodych
12a417de8a
riched20: Implement handling of WM_KEYDOWN VK_TAB in the dialog mode.
2009-10-13 12:38:58 +02:00
Sergey Khodych
a50ca4ace0
riched20: Implement handling of WM_KEYDOWN VK_ESCAPE in the dialog mode.
2009-10-13 12:38:54 +02:00
Sergey Khodych
8fb119ba8b
riched20: Implement handling of WM_KEYDOWN VK_RETURN in the dialog mode.
2009-10-13 12:38:49 +02:00
Sergey Khodych
851c33ddd9
riched20: Enable the dialog mode after receiving WM_GETDLGCODE message.
2009-10-13 12:38:44 +02:00
Sergey Khodych
205df00c64
riched20: Cache ES_WANTRETURN style.
2009-10-13 12:38:40 +02:00
Dylan Smith
3fe20bdc7e
richedit: Handle to parent window is cached.
...
The parent window for the richedit control on creation is the one that
receives notify messages, even after the parent has been changed using
SetParent.
2009-09-30 17:41:06 +02:00
Dylan Smith
992381b36e
richedit: Added test to show that handle to parent is cached.
2009-09-30 17:40:59 +02:00
Dylan Smith
0342ab0df1
richedit: Use ITextHost interface in ME_LinkNotify.
...
Using the ITextHost interface allows this notification to be received
for windowless richedit controls. Windowed richedit conrols have an
ITextHost implementation that will fill in hwndFrom and idFrom, but
these should probably be initialized to 0 for windowless richedit
controls.
2009-09-28 12:54:16 +02:00
Dylan Smith
99b37b2376
richedit: Silence fixme for WM_STYLECHANGING & WM_STYLECHANGED.
2009-09-24 15:15:09 +02:00
Dmitry Timoshkov
8d524700d3
riched20: Make vtables const.
2009-09-08 13:06:49 +02:00
Alexandre Julliard
c1a1f0cfb4
riched20: Make sure we have a valid ITextHost vtable for all platforms.
2009-08-26 21:23:52 +02:00
Francois Gouget
6e80d875d4
riched20: Make ME_SetCursorToEnd() static.
2009-08-26 13:09:27 +02:00
Dylan Smith
a8e58307f9
richedit: Fixed check for nOffset at the end of the cursor's run.
...
For some reason the code previously mixed up a selection cursor with the
result cursor. The problem seemed to have corrected itself before as a
result of conversion between offsets and cursors, but my recent changes
made this bug more severe.
2009-08-17 13:57:50 +02:00
Dylan Smith
989bdd1579
richedit: Use ME_MoveCursorChars in ME_FindText to find relative offset.
...
When a previous character needed to be found, it is simpler to move
existing cursor rather than retravese the linked list to find the offset
again.
2009-08-13 15:35:37 +02:00
Dylan Smith
54b53b6018
richedit: Use ME_Cursor instead of offsets for stream out functions.
2009-08-13 15:35:28 +02:00
Dylan Smith
bd4704280d
richedit: Replace offsets arg with ME_Cursor for ME_InternalDeleteText.
...
Offsets are still used within the function, but this patch reduces the
use of it at the entry to the function.
2009-08-13 15:35:17 +02:00
Dylan Smith
8f0dfaba30
richedit: Removed ME_InsertRun since it uses character offsets.
...
The function was used in one place, and was simply a wrapper around a
call to ME_InsertRunAtCursor, so I removed it to avoids it use in other
parts of the code.
2009-08-13 15:35:07 +02:00
Dylan Smith
02228ee176
richedit: Use ME_Cursor instead of offsets for ME_CharFromPos.
2009-08-13 15:35:01 +02:00
Dylan Smith
a69ef26599
richedit: Use ME_Cursor instead of offsets for copying text.
2009-08-13 15:34:54 +02:00
Dylan Smith
60a72583f4
richedit: Use ME_Cursor instead of offsets for ME_UpdateLinkAttribute.
2009-08-13 15:34:47 +02:00
Dylan Smith
27c28ab292
richedit: Modified ME_MoveCursorsChars to move multiple chars.
...
Previously the function was only used to move a single character in
either direction, so I made the function more general so that it could
be used in more places.
2009-08-13 15:34:39 +02:00
Dylan Smith
326f9b3f3f
richedit: Fixed regression in ME_SetCharFormat.
...
Missed an assignment for end_run when the end cursor is provided and the
end position doesn't cause a split.
2009-08-13 11:45:13 +02:00
Dylan Smith
c92bb271b7
richedit: Use ME_Cursor instead of offsets for ME_GetTextRange.
2009-08-12 17:35:55 +02:00
Dylan Smith
2da0d8e933
richedit: Use ME_Cursor instead of offsets for ME_SetCharFormat.
...
The test that succeeded from this change was as a result of allowing the
end of the character format change be specified using NULL as the rest
of the text. Before, the end paragraph run at the end of the text was
not being set for this case, when all the text was supposed to have its
character format changed.
2009-08-12 17:35:50 +02:00
Dylan Smith
ade37203a5
richedit: Use ME_Cursor instead of offsets for ME_GetCharFormat.
...
Prevent extra conversions from character offset to ME_Cursor.
2009-08-12 17:35:42 +02:00
Dylan Smith
2bc726930f
richedit: Add helpers for setting cursor to start/end of text.
2009-08-12 17:35:30 +02:00
Dylan Smith
32dcd3bbe1
richedit: Created functions to move between runs and track paragraphs.
...
Plenty of places in the code find following or preceding runs, then
afterwards find the paragraph from the run. This is inefficient because
the same linked list is used for both runs and paragraphs, so changes in
paragraphs can be detected while returning the next or previous run.
2009-08-12 17:35:24 +02:00
Dylan Smith
0362b1b087
richedit: Improve efficiency of ME_IsCandidateAnURL.
...
The code was previously getting the same text in the loop from the
editor, and it was converting each of the prefixes to compare against
for each URL candidate.
2009-08-12 17:34:44 +02:00
Dylan Smith
82e102107c
richedit: ME_GetTextW must use source and destination lengths.
...
Before a single length was used for the number of characters to retrieve
from the text, and to keep track of the size of the buffer. These are
not equivalent, since there is a possible end of line conversion.
2009-08-12 17:32:16 +02:00
Dylan Smith
46b84aed4a
richedit: Added function to get selection cursors in order.
...
Previously the only convenient way to get the start and end of the
selection was through offsets, which eventually need to get converted
back into items in the linked list storing the text. The new function
will help with eliminating these inefficiencies.
2009-08-12 17:29:30 +02:00
Dylan Smith
be0fb1ef5d
richedit: Make the ME_GetCursorOfs function more flexible.
...
This function will make it easier to work with ME_Cursor objects, which
should be used in a lot of places instead of character offsets (which
often require seeking through the linked lists to perform operations
with).
2009-08-12 17:29:20 +02:00
Dylan Smith
314bd5ca85
richedit: Update paragraph on saved cursor when inserting table start.
...
Since the table row start is inserted after the rest of the table is
inserted, the cursor is saved, and temporarily moved to the start of the
row to insert the table row start paragraph. Unfortunately the
paragraph in saved cursor becomes invalid during this insertion and
needs to be updated, so this code introduced a regression once
paragraphs started to be stored in cursors.
2009-08-11 12:31:18 +02:00
Dylan Smith
114a64ce5d
richedit: Added missing style releases.
...
Style objects are referenced counted in richedit controls, so I tried to
make sure styles were released properly. This can be checked using with
the all_refs global reference count to see if everything is cleaned up.
2009-08-10 17:10:34 +02:00
Dylan Smith
fc618ab041
richedit: Add closing actions for IRichEditOle_fnInsertObject.
...
Previously inserting the object didn't result in the text being wrapped,
which would cause an assertion error when this is checked for during
repainting the text. It is also important to invalidate the affected
areas of text, update the scrollbar, and end the creation of undo
transactions for this insertion.
2009-08-10 17:10:24 +02:00
Dylan Smith
71cb069246
richedit: Use richedit class string macros from public headers.
2009-08-10 17:10:14 +02:00
Dylan Smith
832ffe108c
richedit: Remove header function declarations with no definition.
2009-08-10 17:09:53 +02:00
Dylan Smith
6782627624
richedit: Implement ME_DITypesEqual using a switch statment.
2009-08-10 17:09:46 +02:00
Dylan Smith
e306b91392
richedit: Avoid comparing padding in cursor structures on memcmp.
2009-08-07 14:57:24 +02:00
Dylan Smith
05c730fd4c
richedit: Prevent using uninitialized nAvailWidth in initialization.
2009-08-03 16:00:34 +02:00
Dylan Smith
c4b023b1b6
richedit: Prevent buffer overflows in WM_GETTEXT.
...
The application AutoGK was getting the length of the text with
WM_GETTEXTLENGTH to allocate an appropriate buffer size, but then
claimed the buffer was twice the size when sending WM_GETTEXTEX. This
caused the memcpy call to overflow the actual buffer since the count
is based on the size of the buffer alone, regardless of the amount of
text retrieved.
2009-08-03 16:00:16 +02:00
Dylan Smith
3d89e29155
richedit: Handle NULL buffer or 0 buffer length in ME_GetTextEx.
...
ME_GetTextEx directly handles EM_GETTEXTEX, and previously a NULL buffer
would be dereferenced, and a 0 buffer length would cause nCount an
underflow in the nCount value which would allow a buffer overflow to
occur.
2009-08-03 15:59:57 +02:00
Dylan Smith
0deb3d04ed
richedit: Scrollinfo stored as 16-bit values externally.
...
The application Blitzin2 was sending WM_VSCROLL messages to the
richedit control directly, when normally this message is supposed to
be a notification sent after the scrollinfo is set. Native richedit
controls always use the 16-bit value passed to this message to set the
scroll position for SB_THUMBPOSITION, rather than trying to find a
32-bit value through GetScrollInfo like I had previously done.
2009-07-22 11:08:33 +02:00
Dylan Smith
e364a4406a
richedit: Added missing return to ME_EnsureVisible.
...
The missing return was to prevent automatic vertically scrolling when
style for it is not set, but is set for the horizontal scrollbar. I
initially missed this by testing with no autoscrolling on either
scrollbar.
2009-07-21 10:47:13 +02:00
Dylan Smith
c6cf567706
richedit: Properly restore style after end of rtf group.
...
Rich text files have groupings of text, where styles are pushed onto
the stack when encountering a start of the group, then popped at the
end of the group. This was being handled improperly before, because a
single styleChanged flag was being stored to keep track of whether the
style needed to be restored at the end of a group. This fails to work
properly since the single flag isn't keeping track of all the levels
of the stack, so some styles are not restored properly.
2009-07-20 12:18:43 +02:00
Dylan Smith
dde41d5c13
richedit: Handle missing colours in rtf colour table.
...
When a colour table entry is empty, then the default colour is used.
For an incomplete colour table entry 0 is used for the missing colours.
Previously the -1 value used internally for missing colours was being
converted into white, where it should be using the default colour that
is normally black.
This bug could be seen by loading the following rich text into wordpad:
{\rtf{\colortbl;;}\cf1 text}
2009-07-17 15:40:35 +02:00
Dylan Smith
f59e41e8d5
richedit: Keep scrollbars hidden without WS_HSCROLL & WS_VSCROLL.
2009-07-17 12:37:17 +02:00
Dylan Smith
eddccdd1f2
richedit: Initially disable scrollbars for ES_DISABLENOSCROLL.
...
Previously after initial window creation of a richedit control with the
ES_DISABLENOSCROLL window style flag the scrollbar would be shown but
not disabled. This patch fixes this issue by explicitly disabling and
showing the scrollbar.
2009-07-17 12:37:03 +02:00
Dylan Smith
140fee1790
richedit: Prevent autoscrolling without ES_AUTO[VH]SCROLL style.
...
When the richedit control is created without the ES_AUTOHSCROLL or the
ES_AUTOVSCROLL, then scrolling isn't done automatically when moving the
cursor with the arrow keys, drag selecting with the mouse, or even from
using the EM_SCROLLCARET (based on testing using a modified version of
wordpad).
2009-07-17 11:22:07 +02:00
Dylan Smith
e7fd0b46b0
richedit: Add more tests for WM_SETTEXT RTF support.
2009-07-13 10:48:05 +02:00
Dylan Smith
88c2b90aa6
richedit: Support ascii RTF in WM_SETTEXT even for unicode messages.
...
WM_SETTEXT seems to check for {\rtf or {\urtf to determine if it is an
ascii RTF string, even if it is a unicode message. So I removed the
check to see if it is a unicode message, and added a check for {\urtf.
2009-07-13 10:48:01 +02:00
Alexandre Julliard
eb08df3a90
riched20: Add appropriate stdcall decorations to assembly functions.
2009-06-15 13:42:26 +02:00
Alexandre Julliard
3fe51326cd
riched20: Move the textHostVtbl definition to work around Mac OS X breakage with __ASM_GLOBAL_FUNC.
2009-06-13 12:20:10 +02:00
Austin Lund
1643679476
riched20/test: Added a test for TxDraw.
2009-06-03 16:04:49 +02:00
Austin Lund
33534916a3
riched20: If DataObjectImpl_EnumFormatEtc returns E_NOTIMPL then ensure that returned pointers are nulled.
2009-06-02 12:09:12 +02:00
Francois Gouget
19020b9ef5
riched20: Make some functions static.
2009-05-26 14:25:12 +02:00
Francois Gouget
e5f5bd1153
riched20: RTFPeekToken(), RTFExpandStyle() and RTFHexToChar() are unused so remove them.
2009-05-26 14:25:06 +02:00
Francois Gouget
1914d256a6
riched20: RTF{G,S}et{In,Out}putName() are unused so remove them as well as the corresponding _RTF_Info fields.
2009-05-26 14:10:46 +02:00
Francois Gouget
3d6c53b972
riched20: Make ME_GetCursorCoordinates() static and remove ME_MustBeWrapped() as it is unused.
2009-05-26 14:10:32 +02:00
Francois Gouget
61a8b94634
riched20: ME_MakeString() is unused so remove it.
2009-05-15 10:28:20 +02:00
Francois Gouget
8a46d0eaf5
Assorted spelling fixes.
2009-05-04 12:53:29 +02:00
Massimo Del Fedele
078989d463
richedit20: Test for fonttbl streamout.
2009-04-27 13:24:27 +02:00
Massimo Del Fedele
6f17327728
riched20: Fix placement of crlf on font table streamout.
2009-04-27 13:24:09 +02:00
Dylan Smith
234f167d9d
richedit: Null terminate streamed out rich text.
2009-04-24 11:52:15 +02:00
Michael Stefaniuc
b747284797
riched20/tests: Use better types than long.
2009-04-20 14:12:29 +02:00
Paul Vriens
30041c283a
riched20/tests: Remove the todo_wine logic where appropriate.
2009-04-03 17:06:41 +02:00
Paul Vriens
e96fb0fa50
riched20/tests: Fix and extend EM_FORMATRANGE tests.
2009-03-24 12:58:26 +01:00
Dylan Smith
78a7ea5a39
richedit: Properly handle lack of semicolon after font name in rtf.
...
This was partially handled by ungetting the end group token (i.e. '}')
so that it was read again at the proper place. Unfortunately there is a
read hook that maintains a stackTop variable, which is decremented when
receiving this end group token. Therefore stackTop would get
decremented twice, and the rich text file would end prematurely.
This is fixed by incrementing the stackTop variable to compensate for it
being decremented twice.
2009-03-24 10:27:34 +01:00
Dylan Smith
caca486029
richedit: Add bounds checks for EM_GETTEXTRANGE with tests.
...
Wine was not doing bounds checks for EM_GETTEXTRANGE, which was causing
a crash in Bug 17822. The added tests would cause a crash without the
added bounds checks in the richedit code.
The bounds checks I put in HandleMessage, since ME_GetTextRange is also
called for ME_GETSELTEXT which should not have bounds checks, since it
uses the selection range.
When the ME_GETTEXTRANGE message returns 0, no text is copied, not even
the NULL terminating charter. This differs from EM_GETSELTEXT which
will copy the NULL terminating character when no text is selected. This
behaviour is consistent with native richedit controls.
2009-03-23 13:26:28 +01:00
Dylan Smith
1a2ccfe9c7
richedit: Count graphics towards line width.
...
Images that are inserted into richedit controls store a space for the
text, since that is the character returned when getting the plain text
from the control.
When calculating the width of a line, the space character is skipped,
but images should not be skipped. This can be seen by inserting an
image into wordpad on a line by it's own, then centering the line. The
image will start from the center rather than being centered in the
control.
2009-03-11 13:03:30 +01:00
Michael Stefaniuc
43046481f7
include: Change long to LONG in tom.idl.
2009-03-10 12:06:10 +01:00
Dylan Smith
fdb3749138
richedit: Respect manually added links when autourldetect is disabled.
...
EM_SETCHARFORMAT can be used to make text links. Automatic URL
detection being enable would cause these links to be removed if the text
is not a URL, so this must be prevented.
Previously checks were made for AutoURLDetect_bEnable before calling
ME_UpdateSelectionLinkAttribute, or ME_UpdateLinkAttribute. This is
more error prone than checking for this within the function, so one call
was missing this check.
ME_SetCursor also didn't respect this behaviour, since it wouldn't set
the cursor to the hand when hovering over a link without automatic URL
detection disabled.
2009-03-09 12:28:33 +01:00
Francois Gouget
96848a0605
Remove spaces before '\n's.
2009-03-09 12:05:58 +01:00
Dylan Smith
bcd8dc93a2
richedit: Avoid calling ITextHost_TxNotify with EN_MSGFILTER.
...
The documentation for TxNotify says that it is not called with the
EN_MSGFILTER notification, so I made sure ME_FilterEvent didn't call
this method.
2009-03-06 12:49:04 +01:00
Dylan Smith
b441bb2e4c
richedit: Avoid crashing if TxSendMessage is called with NULL plresult.
2009-02-26 15:13:25 +01:00
Dylan Smith
88eb1b5b6c
richedit: EM_SETOPTIONS modify format rect when selbar setting change.
...
Before the code was modifying the format rect to compensate for space
being added or removed for the selection bar, but this should only
happen when the ECO_SELECTIONBAR setting bit changes.
2009-02-26 12:11:18 +01:00
Dylan Smith
73e0c5ea8b
richedit: Never wrap for single line controls.
...
I tested without the ES_MULTILINE style, and found that wrapping
doesn't occur where it normally would.
2009-02-24 16:57:28 +01:00
Dylan Smith
963407a9ef
richedit: EM_SHOWSCROLLBAR hides scrollbars for less than page of text.
...
When all the text fits on the screen, the scrollbars are not shown from
EM_SHOWSCROLLBAR. The message instead adds support for the specified
scrollbar when lParam is TRUE, so that the scrollbar will be shown when
sufficient text is in the document.
2009-02-24 16:57:28 +01:00
Dylan Smith
f28988684e
richedit: Return FALSE for EM_LINESCROLL with single line control.
2009-02-24 16:57:28 +01:00
Dylan Smith
5f51221d9c
richedit: Fixed scrollbar visiblility calculation after SetScrollInfo.
...
The scrollbar visibility can be changed from SetScrollRange or
SetScrollInfo, but the visiblity that is a result of these calls are
not consistent with the calculation made by richedit controls to
decide whether to show or hide the scrollbars.
2009-02-24 16:57:28 +01:00
Dylan Smith
a0466e2c0e
richedit: Don't show vertical scrollbar for single line controls.
...
The vertical scrollbar is not shown when the ES_MULTILINE style isn't
used, unless ES_DISBALENOSCROLL is also used.
2009-02-24 16:57:28 +01:00
Dylan Smith
b9b9835f93
richedit: Added missing initialization of nAvailWidth for ME_TextEditor.
2009-02-24 16:57:27 +01:00
Dylan Smith
3903a110fb
richedit: Removed unused ME_Document structure.
...
The ME_TextBuffer structure is what is used to store the document (as
a linked list), so the ME_Document structure isn't being used. There
was also a document pointer in the ME_Paragraph structure that was
also unused, so I removed it because it is probably related to this
used structure.
2009-02-17 12:46:56 +01:00
Francois Gouget
f250f4fa04
Assorted spelling fixes.
2009-02-11 15:56:02 +01:00