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