Commit Graph

191 Commits

Author SHA1 Message Date
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