Dylan Smith
61308257f2
richedit: Removed redundant ME_FindItemAtOffset using ME_RunOfsFromCharOfs.
...
The two functions ME_FindItemAtOffset and ME_RunOfsFromCharOfs were almost
identically used, since ME_FindItemAtOffset was always used to find a run.
The only difference was how they returned the offset within the run for an
end of paragraph run.
For ME_FindItemAtOffset it would return the next run if it was in between \r
and \n. ME_RunOfsFromCharOfs would instead return an nOffset of 0 for end
paragraph runs. This subtle difference introduced bugs, so I decided to
avoid having special case in this function when creating this patch, and
instead let the caller handle this case.
2009-01-27 11:21:33 +01:00
Dylan Smith
94146a72ad
richedit: Removed some unused invalidation code.
...
The ME_InvalidateFromOfs and ME_QueueInvalidateFromCursor functions are
never called, and the nInvalidOfs variable had its value set but never
used.
2009-01-22 15:28:22 +01:00
Dylan Smith
e7b68a20fd
richedit: Implemented ITextServices_TxSendMessage.
2009-01-21 11:55:22 +01:00
Dylan Smith
05c788ac6f
richedit: Used ITextHost methods to avoid using window handle directly.
...
The methods in ITextHost are mostly thin wrappers around functions that
take a handle to a window as their first parameter. This patch just
uses the wrapper functions provided by ITextHost instead of using the
functions that require a handle to a window that the editor might now
have (for windowless richedit controls).
2009-01-21 11:54:43 +01:00
Dylan Smith
6c4dda009e
richedit: Implemented ITextHost for windowed richedit controls.
2009-01-21 11:54:26 +01:00
Andrew Talbot
b53d7d3295
riched20: Declare some functions static.
2009-01-19 13:36:26 +01:00
Dylan Smith
e6fedf879c
richedit: Implemented the horizontal scrollbar.
2009-01-15 14:13:38 +01:00
Andrew Talbot
d287e88691
riched20: Declare some functions static.
2009-01-14 12:40:40 +01:00
Andrew Talbot
8ddf6c0a25
riched20: Declare some functions static.
2009-01-13 15:53:43 +01:00
Dylan Smith
8089d980d1
richedit: Set bEmulateVersion10 initially to avoid retroactive changes.
...
Previously the WM_NCCREATE was handled by the as if it was always for
later versions, then the window proc for version 1.0 would make
appropriate changes afterwards. Instead both versions should call the
same function (e.g. ME_MakeEditor) and provide the value for
bEmulateVersion10 to make the code clearer.
2009-01-12 14:40:11 +01:00
Dylan Smith
5dc1271ba6
richedit: Move message handling to function callable without window.
...
In order to make the message handling available to windowless richedit
controls, the message handling must be in a function that can be
called from the ITextServices_TxSendMessage method. This method will
never have a handle to a window to pass to RichEditWndProc_common in
order to get the editor with GetWindowLongPtrW, but passing the editor
will work (even if hWnd is NULL).
2008-12-20 11:43:44 +01:00
Dylan Smith
1e8df4351d
richedit: Removed unused ME_AutoURLDetect function.
2008-11-17 13:57:56 +01:00
Dylan Smith
f9b31fc964
richedit: Removed comment in header for non-existent wintest.c.
2008-11-17 13:12:12 +01:00
Detlef Riekenberg
9593c9e6f5
dlls: Do not use __WINE_ALLOC_SIZE between void and *.
2008-09-19 11:41:25 +02:00
Dylan Smith
88a3a8a9c0
richedit: Don't put cursor in the table row start paragraph.
2008-09-12 11:55:08 +02:00
Dylan Smith
9a7d475db8
richedit: Avoid acting on control words in skipped RTF groups.
...
Previously the control words in skipped groups were being processed by
the read hook on the RTF parser. By moving this code into the class
callbacks for the parser, the skipped groups actually remain skipped.
2008-09-11 12:38:20 +02:00
Marcus Meissner
96412ee564
Annotate with allocation size attribute.
2008-09-05 11:22:26 +02:00
Dylan Smith
f11fe1c7a9
richedit: Prevent typing text at end of table row.
2008-08-29 13:42:47 +02:00
Dylan Smith
a47d4a4c3a
richedit: Adjust table spacing with horizontal gap and left edge.
2008-08-18 17:15:57 +02:00
Dylan Smith
a382e35600
richedit: EM_[SG]ETPARAFORMAT returned the wrong value.
...
The values returned by EM_SETPARAFORMAT and EM_GETPARAFORMAT previously
indicated an error, and the included tests shows that Windows behaves as
documented.
2008-08-18 17:15:57 +02:00
Dylan Smith
300db3765f
richedit: Each cell can contain multiple paragraphs in msftedit.
2008-08-18 14:34:11 +02:00
Dylan Smith
d29f671d1a
richedit: Protect deletion of cell boundaries when not deleting row.
2008-08-18 14:34:10 +02:00
Dylan Smith
bf5ccefc4c
richedit: Handle tab key properly within table cells.
...
Within table cells the tab key moves to the next cell in the table, or creates
a new table row when at the end of the table.
2008-08-18 14:34:10 +02:00
Dylan Smith
4e56a3cda9
richedit: Joined paragraph format depends on number of characters deleted.
2008-08-05 14:09:37 +02:00
Dylan Smith
11c8039699
richedit: Use tabstops to store cell positions.
2008-08-05 14:09:37 +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
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
7c352b9638
richedit: Implemented paragraph selection.
2008-07-08 10:44:12 +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
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
c96a273f91
richedit: Moved function declarations in header to reflect locations of definitions.
2008-06-26 21:17:48 +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
Dylan Smith
10e676ab3e
richedit: Updated editor.h to reflect the contents of source files.
2008-05-01 19:36:50 +02:00
Alex Villacís Lasso
d47f66191e
richedit: Add support for encoding number of CR and LF contained within a line break.
2008-04-29 14:53:46 +02:00
Eric Pouech
5d36c47e1f
richedit: Fixed object leaks generated by context creation & destruction.
2008-03-17 14:37:58 +01:00
Eric Pouech
a86d7bdcea
richedit: Pass left margin around when computing the size of a run, so that a tab will get a correct size.
2008-03-17 14:36:06 +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
9c20cdfea8
riched20: Make use of the size info in REOBJECT if present.
2008-02-05 11:13:33 +01:00
Eric Pouech
00de77517a
riched20: Start handling OLE objects inside richedit.
2008-02-05 11:11:32 +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
f43570cbf0
richedit: Optimizations for the style selection.
...
Use a ME_Context for style selection/unselection.
Store the (x,y) dpi information for a given DC in the corresponding ME_Context structure.
2008-01-02 13:57:37 +01:00
Eric Pouech
475b45d8ab
richedit: Don't recreate the DC all the time, but use uniformely a ME_Context structure where needed.
2008-01-02 13:56:02 +01:00
Eric Pouech
e9be142d78
richedit: Rewrote FindPixelPos so that it always return something.
...
Made the function static as well.
2008-01-02 13:55:14 +01:00
Eric Pouech
d319033a97
richedit: Added support for intra-paragraph line space.
2008-01-02 13:54:49 +01:00
Eric Pouech
caa37c749a
richedit: Now drawing the paragraph borders (if any) from paraformat2.
2008-01-02 13:54:01 +01:00
Eric Pouech
28cc0f9e69
richedit: Fix the para computation when zoom is used.
2008-01-02 13:52:52 +01:00
Eric Pouech
0549b9009a
richedit: Simplified handling of background brush while painting.
2008-01-02 13:49:57 +01:00
Maarten Lankhorst
4637a4ef49
riched20: Make some functions static.
2007-12-14 12:26:48 +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
Andrew Talbot
b150ea67a9
riched20: Constify some variables.
2007-08-17 12:01:37 +02:00
Andrew Talbot
291dd7a090
riched20: Constify some variables.
2007-08-16 11:35:06 +02:00
Andrew Talbot
ed93ed9a08
riched20: Constify some variables.
2007-08-14 13:28:05 +02:00
Andrew Talbot
2e2efd448a
riched20: Constify some variables.
2007-08-13 12:24:28 +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
Lei Zhang
581321d420
riched20: Move EM_EXSETSEL fix into ME_SetSelection.
2006-12-05 11:37:46 +01:00
Mike McCormack
8939587b19
riched20: Create macro functions for allocating and freeing memory.
2006-10-24 11:44:53 +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
Matt Finnicum
e73890a72c
riched20: Send EN_LINK notifications. Properly underline / color links.
2006-08-17 11:44:12 +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
d17591fdf9
riched20: WM_SETFONT support.
2006-07-17 13:44:04 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Brandon Woodmansee
dee813b5ff
riched20: Implement EM_AUTOURLDETECT & EM_GETAUTOURLDETECT.
2006-03-01 20:27:43 +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
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
Kevin Koltzau
4d74e1dbfb
riched20: Add method to stream data based on a range.
2006-02-05 13:05:06 +01:00
Phil Krylov
08bf7180f3
riched20: Initial support for simple tables.
2006-02-04 17:01:01 +01:00
Phil Krylov
325e06d2c1
riched20: Removed an unused parameter.
2006-02-04 17:00:18 +01:00
Phil Krylov
f0d6519ef5
riched20: Added support for hidden text.
2006-01-31 13:01:26 +01:00
Phil Krylov
6e3a72549a
riched20: Select word on double click.
2006-01-13 13:54:11 +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
d82af6f711
riched20: Speed up text insertion.
...
Optimized reading large texts into RichEdit to be an O(n) order
algorythm instead of O(n^2) by removing extraneous conversions of
character offsets to run offsets.
2006-01-10 12:10:49 +01: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
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
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
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
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
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
Jakob Eriksson
9ed61de9a2
Get rid of HeapAlloc casts.
2005-03-24 21:01:35 +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
Krzysztof Foltman
810b261175
- made string operations consistent wrt whitespace handling (which
...
should greatly improve stability of the wrap code and eliminate
regressions of the most recent versions)
- completely new scrollbar handling (much more reliable) and related
redraw fixes
- Page Down handler (no Page Up yet, fixing wrap/redraw/scrollbar bugs
was of higher priority)
2005-03-19 17:06:17 +00:00
Krzysztof Foltman
f089de1f4d
- RTF reader doesn't use RichEdit messages anymore (which saves on
...
unnecessary repaints)
- added unicode character support to RTF import (like: \u12345 ?)
- small fixes
- fixed whitespace identification bug
- removed drawing of paragraph marks
- improved stub implementations for IRichEditOle
2005-03-17 10:23:40 +00:00
Jason Edmeades
c7e815c53b
Correct memory allocation macro.
2005-03-16 19:50:49 +00:00
Phil Krylov
c6ea6caecb
Initial implementation of EM_STREAMOUT and RTF writer.
2005-03-14 21:41:16 +00:00
Krzysztof Foltman
f7e0f7cabe
- Optimized repaint of the area below the text.
...
- ME_JoinRuns didn't mark the paragraph for rewrapping, fixed.
- Removed PostQuitMessage(0) from WM_DESTROY handler (duh!).
- Use of EM_GETOLEINTERFACE is reported with FIXME instead of TRACE
(any app using this message is likely to encounter major problems).
2005-03-09 18:43:18 +00:00
Krzysztof Foltman
89075fb429
The meaning of the rewrap flag got inverted (MEPF_REWRAP instead of
...
MEPF_WRAPPED) for consistency.
Major code cleanups in rewrap/repaint code, leading to "smarter"
behaviour wrt repainting selections.
2005-03-09 11:48:59 +00:00
Krzysztof Foltman
043b5d9bab
- specialized handler for SF_TEXT (ANSI or Unicode), simple and fast
...
- clears control's text on EM_STREAMIN with no SFF_SELECTION
2005-03-08 19:03:01 +00:00
Aric Stewart
214b897bcd
Implement EM_GETOLEINTERFACE.
2005-03-08 16:46:00 +00:00
Krzysztof Foltman
300f684053
Old font management replaced by the cache-based one, which keeps
...
maximum of 10 HFONTs at once, instead of one per a couple of runs.
2005-03-08 16:26:23 +00:00
Krzysztof Foltman
d488f3f1de
Initial implementation of riched20.
2005-03-05 11:19:14 +00:00