Commit graph

270 commits

Author SHA1 Message Date
Phil Krylov
777d9bfacd riched20: Removed a useless check in painting code. 2006-01-12 11:54:37 +01:00
Phil Krylov
2eb59ee2b0 riched20: Added \n to trace output. 2006-01-11 20:55:18 +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
f5ebb75f08 riched20: Allow NUL characters. 2006-01-10 19:58:00 +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
194eeaab7d riched20: Fixed calculation of left indent and first indent paragraph
properties.
2006-01-09 17:12:51 +01:00
Phil Krylov
74aa295f55 riched20: Simplified logic in ME_StrRelPos(). 2006-01-09 17:12:34 +01:00
Mike McCormack
53858d61d0 riched20: Add newlines to ERR macro output. 2005-12-31 13:14:12 +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
Alexandre Julliard
0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +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
Mike McCormack
74fe98a1f8 Convert all RTFPanic and RTFMsg calls to ERR calls. 2005-11-02 10:55:45 +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
793f9a5155 - Style trace information is written to different debug channel (it's
not very useful anymore, reference counting looks correct for now).
- The document dump contains the character position of the end-of-text
  mark.
2005-10-12 21:05:52 +00:00
Phil Krylov
be2525b440 Fixed encoding of non-ASCII chars. 2005-10-11 19:56:03 +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
24a0f15b29 Fixed EOL detection in ME_RunOfsFromCharOfs in 1.0 emulation mode
(necessary for a non-workaround version of EM_POSFROMCHAR).
2005-10-10 11:18:29 +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
2489dd212b Send verbose info to different debug channels (richedit_check for
output from offset checker, richedit_lists for the document list
dumps).
2005-10-08 10:33:44 +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
Alexandre Julliard
7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +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
Krzysztof Foltman
4f60ac2ace - Optional destinations in stylesheets are now skipped properly (and
not treated as the "proper" styles as they were before).
- EOF condition in the middle of the stylesheet is no longer putting
  the reader into infinite loop,
- Half-full input buffers don't trigger EOF anymore (although it
  could, in theory, break some apps, I find it unlikely - and the
  change makes Out from Boneville installer display license properly).
2005-09-26 09:53:49 +00:00
Marcus Meissner
bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Alexandre Julliard
d559fbd803 Fixed gcc 4.0 warnings. 2005-09-12 20:30:37 +00:00
Phil Krylov
eee54d95ad Fixed a RichEdit RTF reader bug which resulted in loss of text.
Eliminated unneeded recursion in ME_InsertTextFromCursor().
2005-08-23 18:16:15 +00:00
Phil Krylov
625d872b67 Fixed EM_EXLINEFROMCHAR to work for last row of a paragraph. 2005-08-23 10:02:33 +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
0789483dfc Automatically set default font after parsing a font table in RichEdit
RTF reader.
2005-08-22 14:08:04 +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
f78ce2f41b Fixed a bug in EM_STREAMOUT RichEdit message handler which truncated
some streamed text.
2005-08-11 10:30:41 +00:00
Phil Krylov
bd10348ec9 Fixed UTF-8 RTF parsing. 2005-08-08 11:05:36 +00:00
Mike McCormack
50a6d970f5 gcc 4.0 warning fixes for Interlocked* functions. 2005-08-03 11:03:05 +00:00
Phil Krylov
c2cb39b817 Implemented EM_CHARFROMPOS RichEdit message. 2005-07-26 10:33:00 +00:00
Phil Krylov
2b6b09f591 Generate ending \par in RTF output of RichEdit when streaming out a
whole document.
2005-07-26 10:32:46 +00:00
Phil Krylov
8759b5fead Added EM_GETZOOM and EM_SETZOOM RichEdit message handlers. 2005-07-24 16:17:43 +00:00
Phil Krylov
8a36f2a325 Fixed EM_GETCHARFORMAT for selection containing a single character. 2005-07-22 18:27:26 +00:00
Phil Krylov
42f3e22740 Fixed an off-by-one error in EM_STREAMOUT handler for non-Unicode
plain text output.
2005-07-22 18:27:15 +00:00
Phil Krylov
92890e2372 Added some missing but useful items to the TODO list. 2005-07-22 18:26:46 +00:00
Stefan Huehner
b8585b8d0c Change some char* to const char* to fix warnigns. 2005-07-21 11:59:11 +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
Stefan Huehner
70c80fb430 Make functions static to fix -Wmissing-declarations warnings. 2005-07-06 15:53:04 +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
e6cee96df8 Fixed an off-by-one error in EM_GETLINECOUNT handler. 2005-07-05 20:56:14 +00:00
Phil Krylov
69a27f457a Fixed another couple of EM_STREAMOUT bugs. 2005-07-05 20:56:07 +00:00
Phil Krylov
d291f3cd77 Removed junk from UTF-8 RTF output. 2005-07-05 16:18:33 +00:00
Stefan Huehner
2440dcfe88 Fix -Wmissing-declarations warnings. 2005-07-05 12:49:14 +00:00
Stefan Huehner
4b53c3aa18 Make some function static. 2005-07-01 15:40:24 +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
Krzysztof Foltman
cb836344cd - Fix a warning caused by the TAB patch.
- Initialize *pcb to a large value before calling the stream-out
  callback (to make applications that don't set *pcb at all happy).
- Don't flush the output stream when error condition is set.
2005-06-20 10:31:38 +00:00
Robert Shearman
65284aab20 Richedit classes should be global. 2005-06-13 10:01:32 +00:00
Krzysztof Foltman
ab214a05c8 Emit \tx for user-defined TABs. 2005-06-12 11:08:29 +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
Dmitry Timoshkov
eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Hannu Valtonen
cd80c487f5 Use correct background color for the whole richedit control. 2005-05-24 10:10:54 +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
Michael Stefaniuc
3cf8d37067 Change an assert to a WARN. 2005-05-16 09:14:50 +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
Ivan Leo Puoti
327b1632e5 Fix crash in ME_GetRunSizeCommon(). Turn a FIXME into a TRACE. 2005-05-11 15:56:34 +00:00
Alexandre Julliard
34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard
d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +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
Jakob Eriksson
9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Phil Krylov
6b379fb29f Fixed \u keyword to output signed 16-bit values. Also fixed CP_SYMBOL
conversion and the detection of the default font's codepage.
2005-03-24 15:09:05 +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
Mike McCormack
3a0f930ab4 Remove casts and unused code. 2005-03-21 11:24:38 +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
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
Phil Krylov
297cd99ca3 Fixed support for RTF documents using ANSI charset and added support
for multibyte charsets, so that BIG5 and UTF-8 RTF documents are
working now.
2005-03-18 10:24:51 +00:00
Phil Krylov
0284930129 Replaced slow and outdated character set handling in RTF reader by
Unicode/codepages support. Added charset->codepage conversion.
2005-03-17 13:57:27 +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
Phil Krylov
48061e6899 Improved RTF export. 2005-03-16 20:18:11 +00:00
Jason Edmeades
c7e815c53b Correct memory allocation macro. 2005-03-16 19:50:49 +00:00
Krzysztof Foltman
c4c11d2515 - Unknown destinations are now correctly skipped (so loading an RTF
file generated by, for example, OpenOffice doesn't produce lots of
  garbage anymore).
- Format stack for RTF groups (so that RTF reader can correctly read
  what RTF writer wrote :) )
2005-03-16 11:27:43 +00:00
Phil Krylov
bf4dc2e152 Implemented hash table lookup for RTF keywords in RTF reader. 2005-03-15 19:31:44 +00:00
Krzysztof Foltman
d4cf45e3f1 - WM_COPY (and WM_CUT) can now put both Unicode and RTF format (thanks
to Phil Krylov's RTF generator code).
- New message implemented - WM_PASTE.
- RTF reader: rtfPlain implemented (kind of).
- RTF writer: rewritten main loop (the old one crashed in some
  circumstances when SFF_SELECTION was used).
2005-03-15 15:40:52 +00:00
Phil Krylov
c6ea6caecb Initial implementation of EM_STREAMOUT and RTF writer. 2005-03-14 21:41:16 +00:00
Phil Krylov
e3d8bf9d70 Added "generator" RTF destination handling. 2005-03-14 21:40:48 +00:00
Gerald Pfeifer
04606af829 Make ME_ArrowLeft() return a value in every case. 2005-03-14 10:08:00 +00:00
Krzysztof Foltman
898068f3ce - EM_STREAMIN can now deal with undo in a reasonable manner (no
multiple undo actions in one EM_STREAMIN).
- Related changes to undo code (umIgnore mode is now handled
  correctly).
- Numerous improvements in the RTF reader: it reads some character
  attributes now (you will have proper small print in license agreements
  now).
- Fixed a memory overwrite bug in conversion from CHARFORMAT2A to
  CHARFORMAT2W.
2005-03-11 10:24:56 +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
Phil Krylov
95e527b0f4 Changed buffer size for EM_STREAMIN message to 4096, as it's what M$
uses.
2005-03-09 12:40:01 +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
Krzysztof Foltman
5c01752254 - Single quotes are now handled properly (previously they were
inserted as [[']]).
- Better handling of callback function's results.
2005-03-08 19:01:25 +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
Mike McCormack
38f932c823 Port the RTF parser to the richedit 2.0 control. 2005-03-07 17:15:33 +00:00
Alexandre Julliard
b92f1431a5 Fixed DLL_PROCESS_DETACH handler to actually unregister the window
classes.
2005-03-07 11:04:35 +00:00
Krzysztof Foltman
cdbab8bcfd Added a check for empty scrollbar range. 2005-03-07 10:59:53 +00:00
Alexandre Julliard
46f96fa1ef Fixed DOS line endings. 2005-03-05 11:55:44 +00:00
Krzysztof Foltman
d488f3f1de Initial implementation of riched20. 2005-03-05 11:19:14 +00:00