Richedit fix
Daniel Walker
diwalker at earthlink.net
Sun Jan 13 09:32:23 CST 2002
dlls/richedit/charlist.c, dlls/richedit/reader.c,
dlls/richedit/richedit.c, dlls/richedit/text-writer.c,
include/richedit.h
Daniel Walker <diwalker at earthlink.net>
- Adds debugging to richedit
- Transfers all relevant messages to the underlying edit control
-------------- next part --------------
? if1632/asmrelay.s
? loader/dos/Makefile
? loader/dos/dosmod
Index: dlls/richedit/charlist.c
===================================================================
RCS file: /home/wine/wine/dlls/richedit/charlist.c,v
retrieving revision 1.2
diff -u -r1.2 charlist.c
--- dlls/richedit/charlist.c 2000/11/30 01:31:29 1.2
+++ dlls/richedit/charlist.c 2002/01/12 19:05:28
@@ -15,7 +15,10 @@
#include "charlist.h"
#include "windef.h"
#include "winbase.h"
+#include "debugtools.h"
+DEFAULT_DEBUG_CHANNEL(richedit);
+
extern HANDLE RICHED32_hHeap;
void CHARLIST_Enqueue( CHARLIST* pCharList, char myChar )
@@ -23,6 +26,8 @@
CHARLISTENTRY* pNewEntry = HeapAlloc(RICHED32_hHeap, 0,sizeof(CHARLISTENTRY));
pNewEntry->pNext = NULL;
pNewEntry->myChar = myChar;
+
+ TRACE("\n");
if(pCharList->pTail == NULL)
{
@@ -41,6 +46,8 @@
{
CHARLISTENTRY* pNewEntry = malloc(sizeof(CHARLISTENTRY));
+ TRACE("\n");
+
pNewEntry->myChar = myChar;
if(pCharList->pHead == NULL)
@@ -63,6 +70,8 @@
CHARLISTENTRY* pCurrent;
char myChar;
+ TRACE("\n");
+
if(pCharList->nCount == 0)
return 0;
@@ -85,10 +94,14 @@
int CHARLIST_GetNbItems(CHARLIST* pCharList)
{
+ TRACE("\n");
+
return pCharList->nCount;
}
void CHARLIST_FreeList(CHARLIST* pCharList){
+ TRACE("\n");
+
while(pCharList->nCount)
CHARLIST_Dequeue(pCharList);
}
@@ -98,6 +111,8 @@
{
CHARLISTENTRY *pCurrent;
int nCount = 0;
+
+ TRACE("\n");
for(pCurrent =pCharList->pHead ;pCurrent;pCurrent=pCurrent->pNext)
if(pCurrent->myChar == myChar)
@@ -109,6 +124,8 @@
int CHARLIST_toBuffer(CHARLIST* pCharList, char* pBuffer, int nBufferSize)
{
+ TRACE("\n");
+
/* we add one to store a NULL caracter */
if(nBufferSize < pCharList->nCount + 1)
return pCharList->nCount;
Index: dlls/richedit/reader.c
===================================================================
RCS file: /home/wine/wine/dlls/richedit/reader.c,v
retrieving revision 1.4
diff -u -r1.4 reader.c
--- dlls/richedit/reader.c 2000/11/30 01:31:29 1.4
+++ dlls/richedit/reader.c 2002/01/12 19:05:39
@@ -78,6 +78,8 @@
#include "winbase.h"
#include "debugtools.h"
+DEFAULT_DEBUG_CHANNEL(richedit);
+
extern HANDLE RICHED32_hHeap;
/*
@@ -211,6 +213,9 @@
_RTFGetChar()
{
char myChar;
+
+ TRACE("\n");
+
if(CHARLIST_GetNbItems(&inputCharList) == 0)
{
char buff[10];
@@ -228,6 +233,8 @@
void
RTFSetEditStream(EDITSTREAM *es)
{
+ TRACE("\n");
+
editstream.dwCookie = es->dwCookie;
editstream.dwError = es->dwError;
editstream.pfnCallback = es->pfnCallback;
@@ -248,6 +255,8 @@
RTFStyle *sp;
RTFStyleElt *eltList, *ep;
+ TRACE("\n");
+
if (rtfTextBuf == (char *) NULL) /* initialize the text buffers */
{
rtfTextBuf = RTFAlloc (rtfBufSiz);
@@ -334,6 +343,8 @@
RTFSetInputName (name)
char *name;
{
+ TRACE("\n");
+
if ((inputName = RTFStrSave (name)) == (char *) NULL)
RTFPanic ("RTFSetInputName: out of memory");
}
@@ -350,6 +361,8 @@
RTFSetOutputName (name)
char *name;
{
+ TRACE("\n");
+
if ((outputName = RTFStrSave (name)) == (char *) NULL)
RTFPanic ("RTFSetOutputName: out of memory");
}
@@ -456,6 +469,8 @@
{
RTFFuncPtr p;
+ TRACE("\n");
+
if (rtfClass < 0 || rtfClass >= rtfMaxClass) /* watchdog */
{
RTFPanic ("Unknown class %d: %s (reader malfunction)",
@@ -488,6 +503,7 @@
RTFSkipGroup ()
{
int level = 1;
+ TRACE("\n");
while (RTFGetToken () != rtfEOF)
{
@@ -515,6 +531,7 @@
RTFGetToken ()
{
RTFFuncPtr p;
+ TRACE("\n");
for (;;)
{
@@ -557,6 +574,8 @@
void
RTFUngetToken ()
{
+ TRACE("\n");
+
if (pushedClass >= 0) /* there's already an ungotten token */
RTFPanic ("cannot unget two tokens");
if (rtfClass < 0)
@@ -583,6 +602,8 @@
{
RTFFont *fp;
+ TRACE("\n");
+
/* first check for pushed token from RTFUngetToken() */
if (pushedClass >= 0)
@@ -659,6 +680,8 @@
int sign;
int c;
+ TRACE("\n");
+
/* initialize token vars */
rtfClass = rtfUnknown;
@@ -830,6 +853,8 @@
int c;
int oldBumpLine;
+ TRACE("\n");
+
if ((c = _RTFGetChar()) != EOF)
{
rtfTextBuf[rtfTextLen++] = c;
@@ -872,6 +897,8 @@
int class, major, minor, param;
char *text;
{
+ TRACE("\n");
+
rtfClass = class;
rtfMajor = major;
rtfMinor = minor;
@@ -907,6 +934,8 @@
static void
CharSetInit ()
{
+ TRACE("\n");
+
autoCharSetFlags = (rtfReadCharSet | rtfSwitchCharSet);
RTFFree (genCharSetFile);
genCharSetFile = (char *) NULL;
@@ -929,6 +958,8 @@
char *name;
int csId;
{
+ TRACE("\n");
+
if ((name = RTFStrSave (name)) == (char *) NULL) /* make copy */
RTFPanic ("RTFSetCharSetMap: out of memory");
switch (csId)
@@ -959,6 +990,8 @@
{
char buf[rtfBufSiz];
+ TRACE("\n");
+
if (genCharSetFile != (char *) NULL)
(void) strcpy (buf, genCharSetFile);
else
@@ -986,6 +1019,9 @@
{
int *stdCodeArray;
int i;
+
+ TRACE("\n");
+
switch (csId)
{
default:
@@ -1036,6 +1072,8 @@
{
int i;
+ TRACE("\n");
+
for (i = 0; i < rtfSC_MaxChar; i++)
{
if (strcmp (name, stdCharName[i]) == 0)
@@ -1073,6 +1111,8 @@
RTFMapChar (c)
int c;
{
+ TRACE("\n");
+
switch (curCharSet)
{
case rtfCSGeneral:
@@ -1104,6 +1144,8 @@
RTFSetCharSet (csId)
int csId;
{
+ TRACE("\n");
+
switch (csId)
{
default: /* use general if csId unknown */
@@ -1162,6 +1204,8 @@
int old = -1;
char *fn = "ReadFontTbl";
+ TRACE("\n");
+
for (;;)
{
(void) RTFGetToken ();
@@ -1312,6 +1356,8 @@
int cnum = 0;
char *fn = "ReadColorTbl";
+ TRACE("\n");
+
for (;;)
{
(void) RTFGetToken ();
@@ -1353,6 +1399,8 @@
char buf[rtfBufSiz], *bp;
char *fn = "ReadStyleSheet";
+ TRACE("\n");
+
for (;;)
{
(void) RTFGetToken ();
@@ -1592,6 +1640,8 @@
RTFStyle *s;
RTFStyleElt *se;
+ TRACE("\n");
+
if (n == -1 || (s = RTFGetStyle (n)) == (RTFStyle *) NULL)
return;
if (s->rtfExpanding != 0)
@@ -2575,6 +2625,7 @@
RTFKey *rp;
int hash;
+ TRACE("\n");
++s; /* skip over the leading \ character */
hash = Hash (s);
for (rp = rtfKey; rp->rtfKStr != (char *) NULL; rp++)
Index: dlls/richedit/richedit.c
===================================================================
RCS file: /home/wine/wine/dlls/richedit/richedit.c,v
retrieving revision 1.14
diff -u -r1.14 richedit.c
--- dlls/richedit/richedit.c 2001/12/11 00:30:18 1.14
+++ dlls/richedit/richedit.c 2002/01/12 19:05:41
@@ -32,6 +32,13 @@
HANDLE RICHED32_hHeap = (HANDLE)NULL;
/* LPSTR RICHED32_aSubclass = (LPSTR)NULL; */
+#define DPRINTF_EDIT_MSG32(str) \
+ TRACE(\
+ "32 bit : " str ": hwnd=%08x, wParam=%08x, lParam=%08x\n"\
+ , \
+ hwnd, (UINT)wParam, (UINT)lParam)
+
+
/***********************************************************************
* RICHED32_LibMain [Internal] Initializes the internal 'RICHED32.DLL'.
*
@@ -48,6 +55,7 @@
BOOL WINAPI
RICHED32_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
+ TRACE("\n");
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
@@ -81,15 +89,21 @@
LONG style = 0;
static HWND hwndEdit;
+ static HWND hwndParent;
static char* rtfBuffer;
int rtfBufferSize;
-
+
+ TRACE("\n");
+
switch (uMsg)
{
case WM_CREATE :
-
+ DPRINTF_EDIT_MSG32("WM_CREATE");
+
/* remove SCROLLBARS from the current window style */
+ hwndParent = ((LPCREATESTRUCTA) lParam)->hwndParent;
+
newstyle = style = ((LPCREATESTRUCTA) lParam)->style;
newstyle &= ~WS_HSCROLL;
newstyle &= ~WS_VSCROLL;
@@ -104,24 +118,37 @@
SetWindowLongA(hwnd,GWL_STYLE, newstyle);
return 0 ;
- case WM_SETFOCUS :
+ case WM_SETFOCUS :
+ DPRINTF_EDIT_MSG32("WM_SETFOCUS");
SetFocus (hwndEdit) ;
return 0 ;
-
+
case WM_SIZE :
+ DPRINTF_EDIT_MSG32("WM_SIZE");
MoveWindow (hwndEdit, 0, 0, LOWORD (lParam), HIWORD (lParam), TRUE) ;
return 0 ;
case WM_COMMAND :
- if (LOWORD (wParam) == ID_EDIT)
- if (HIWORD (wParam) == EN_ERRSPACE ||
- HIWORD (wParam) == EN_MAXTEXT)
-
- MessageBoxA (hwnd, "RichEdit control out of space.",
+ DPRINTF_EDIT_MSG32("WM_COMMAND");
+ switch(HIWORD(wParam)) {
+ case EN_CHANGE:
+ case EN_HSCROLL:
+ case EN_KILLFOCUS:
+ case EN_SETFOCUS:
+ case EN_UPDATE:
+ case EN_VSCROLL:
+ return SendMessageA(hwndParent, WM_COMMAND,
+ wParam, (LPARAM)(hwnd));
+
+ case EN_ERRSPACE:
+ case EN_MAXTEXT:
+ MessageBoxA (hwnd, "RichEdit control out of space.",
"ERROR", MB_OK | MB_ICONSTOP) ;
- return 0 ;
+ return 0 ;
+ }
- case EM_STREAMIN:
+ case EM_STREAMIN:
+ DPRINTF_EDIT_MSG32("EM_STREAMIN");
/* setup the RTF parser */
RTFSetEditStream(( EDITSTREAM*)lParam);
@@ -144,8 +171,387 @@
WARN("Not enough memory for a allocating rtfBuffer\n");
return 0;
+
+/* Message specific to Richedit controls */
+
+ case EM_AUTOURLDETECT:
+ DPRINTF_EDIT_MSG32("EM_AUTOURLDETECT");
+ return 0;
+
+ case EM_CANPASTE:
+ DPRINTF_EDIT_MSG32("EM_CANPASTE");
+ return 0;
+
+ case EM_CANREDO:
+ DPRINTF_EDIT_MSG32("EM_CANREDO");
+ return 0;
+
+ case EM_DISPLAYBAND:
+ DPRINTF_EDIT_MSG32("EM_DISPLAYBAND");
+ return 0;
+
+ case EM_EXGETSEL:
+ DPRINTF_EDIT_MSG32("EM_EXGETSEL");
+ return 0;
+
+ case EM_EXLIMITTEXT:
+ DPRINTF_EDIT_MSG32("EM_EXLIMITTEXT");
+ return 0;
+
+ case EM_EXLINEFROMCHAR:
+ DPRINTF_EDIT_MSG32("EM_EXLINEFROMCHAR");
+ return 0;
+
+ case EM_EXSETSEL:
+ DPRINTF_EDIT_MSG32("EM_EXSETSEL");
+ return 0;
+
+ case EM_FINDTEXT:
+ DPRINTF_EDIT_MSG32("EM_FINDTEXT");
+ return 0;
+
+ case EM_FINDTEXTEX:
+ DPRINTF_EDIT_MSG32("EM_FINDTEXTEX");
+ return 0;
+
+ case EM_FINDTEXTEXW:
+ DPRINTF_EDIT_MSG32("EM_FINDTEXTEXW");
+ return 0;
+
+ case EM_FINDTEXTW:
+ DPRINTF_EDIT_MSG32("EM_FINDTEXTW");
+ return 0;
+
+ case EM_FINDWORDBREAK:
+ DPRINTF_EDIT_MSG32("EM_FINDWORDBREAK");
+ return 0;
+
+ case EM_FORMATRANGE:
+ DPRINTF_EDIT_MSG32("EM_FORMATRANGE");
+ return 0;
+
+ case EM_GETAUTOURLDETECT:
+ DPRINTF_EDIT_MSG32("EM_GETAUTOURLDETECT");
+ return 0;
+
+ case EM_GETBIDIOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_GETBIDIOPTIONS");
+ return 0;
+
+ case EM_GETCHARFORMAT:
+ DPRINTF_EDIT_MSG32("EM_GETCHARFORMAT");
+ return 0;
+
+ case EM_GETEDITSTYLE:
+ DPRINTF_EDIT_MSG32("EM_GETEDITSTYLE");
+ return 0;
+
+ case EM_GETEVENTMASK:
+ DPRINTF_EDIT_MSG32("EM_GETEVENTMASK");
+ return 0;
+
+ case EM_GETIMECOLOR:
+ DPRINTF_EDIT_MSG32("EM_GETIMECOLOR");
+ return 0;
+
+ case EM_GETIMECOMPMODE:
+ DPRINTF_EDIT_MSG32("EM_GETIMECOMPMODE");
+ return 0;
+
+ case EM_GETIMEOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_GETIMEOPTIONS");
+ return 0;
+
+ case EM_GETLANGOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_GETLANGOPTIONS");
+ return 0;
+
+ case EM_GETOLEINTERFACE:
+ DPRINTF_EDIT_MSG32("EM_GETOLEINTERFACE");
+ return 0;
+
+ case EM_GETOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_GETOPTIONS");
+ return 0;
+
+ case EM_GETPARAFORMAT:
+ DPRINTF_EDIT_MSG32("EM_GETPARAFORMAT");
+ return 0;
+
+ case EM_GETPUNCTUATION:
+ DPRINTF_EDIT_MSG32("EM_GETPUNCTUATION");
+ return 0;
+
+ case EM_GETREDONAME:
+ DPRINTF_EDIT_MSG32("EM_GETREDONAME");
+ return 0;
+
+ case EM_GETSCROLLPOS:
+ DPRINTF_EDIT_MSG32("EM_GETSCROLLPOS");
+ return 0;
+
+ case EM_GETSELTEXT:
+ DPRINTF_EDIT_MSG32("EM_GETSELTEXT");
+ return 0;
+
+ case EM_GETTEXTEX:
+ DPRINTF_EDIT_MSG32("EM_GETTEXTEX");
+ return 0;
+
+ case EM_GETTEXTLENGTHEX:
+ DPRINTF_EDIT_MSG32("EM_GETTEXTLENGTHEX");
+ return 0;
+
+ case EM_GETTEXTMODE:
+ DPRINTF_EDIT_MSG32("EM_GETTEXTMODE");
+ return 0;
+
+ case EM_GETTEXTRANGE:
+ DPRINTF_EDIT_MSG32("EM_GETTEXTRANGE");
+ return 0;
+
+ case EM_GETTYPOGRAPHYOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_GETTYPOGRAPHYOPTIONS");
+ return 0;
+
+ case EM_GETUNDONAME:
+ DPRINTF_EDIT_MSG32("EM_GETUNDONAME");
+ return 0;
+
+ case EM_GETWORDBREAKPROCEX:
+ DPRINTF_EDIT_MSG32("EM_GETWORDBREAKPROCEX");
+ return 0;
+
+ case EM_GETWORDWRAPMODE:
+ DPRINTF_EDIT_MSG32("EM_GETWORDWRAPMODE");
+ return 0;
+
+ case EM_GETZOOM:
+ DPRINTF_EDIT_MSG32("EM_GETZOOM");
+ return 0;
+
+ case EM_HIDESELECTION:
+ DPRINTF_EDIT_MSG32("EM_HIDESELECTION");
+ return 0;
+
+ case EM_PASTESPECIAL:
+ DPRINTF_EDIT_MSG32("EM_PASTESPECIAL");
+ return 0;
+
+ case EM_RECONVERSION:
+ DPRINTF_EDIT_MSG32("EM_RECONVERSION");
+ return 0;
+
+ case EM_REDO:
+ DPRINTF_EDIT_MSG32("EM_REDO");
+ return 0;
+
+ case EM_REQUESTRESIZE:
+ DPRINTF_EDIT_MSG32("EM_REQUESTRESIZE");
+ return 0;
+
+ case EM_SELECTIONTYPE:
+ DPRINTF_EDIT_MSG32("EM_SELECTIONTYPE");
+ return 0;
+
+ case EM_SETBIDIOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_SETBIDIOPTIONS");
+ return 0;
+
+ case EM_SETBKGNDCOLOR:
+ DPRINTF_EDIT_MSG32("EM_SETBKGNDCOLOR");
+ return 0;
+
+ case EM_SETCHARFORMAT:
+ DPRINTF_EDIT_MSG32("EM_SETCHARFORMAT");
+ return 0;
+
+ case EM_SETEDITSTYLE:
+ DPRINTF_EDIT_MSG32("EM_SETEDITSTYLE");
+ return 0;
+
+ case EM_SETEVENTMASK:
+ DPRINTF_EDIT_MSG32("EM_SETEVENTMASK");
+ return 0;
+
+ case EM_SETFONTSIZE:
+ DPRINTF_EDIT_MSG32("EM_SETFONTSIZE");
+ return 0;
+
+ case EM_SETIMECOLOR:
+ DPRINTF_EDIT_MSG32("EM_SETIMECOLO");
+ return 0;
+
+ case EM_SETIMEOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_SETIMEOPTIONS");
+ return 0;
+
+ case EM_SETLANGOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_SETLANGOPTIONS");
+ return 0;
+
+ case EM_SETOLECALLBACK:
+ DPRINTF_EDIT_MSG32("EM_SETOLECALLBACK");
+ return 0;
+
+ case EM_SETOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_SETOPTIONS");
+ return 0;
+
+ case EM_SETPALETTE:
+ DPRINTF_EDIT_MSG32("EM_SETPALETTE");
+ return 0;
+
+ case EM_SETPARAFORMAT:
+ DPRINTF_EDIT_MSG32("EM_SETPARAFORMAT");
+ return 0;
+
+ case EM_SETPUNCTUATION:
+ DPRINTF_EDIT_MSG32("EM_SETPUNCTUATION");
+ return 0;
+
+ case EM_SETSCROLLPOS:
+ DPRINTF_EDIT_MSG32("EM_SETSCROLLPOS");
+ return 0;
+
+ case EM_SETTARGETDEVICE:
+ DPRINTF_EDIT_MSG32("EM_SETTARGETDEVICE");
+ return 0;
+
+ case EM_SETTEXTEX:
+ DPRINTF_EDIT_MSG32("EM_SETTEXTEX");
+ return 0;
+
+ case EM_SETTEXTMODE:
+ DPRINTF_EDIT_MSG32("EM_SETTEXTMODE");
+ return 0;
+
+ case EM_SETTYPOGRAPHYOPTIONS:
+ DPRINTF_EDIT_MSG32("EM_SETTYPOGRAPHYOPTIONS");
+ return 0;
+
+ case EM_SETUNDOLIMIT:
+ DPRINTF_EDIT_MSG32("EM_SETUNDOLIMIT");
+ return 0;
+
+ case EM_SETWORDBREAKPROCEX:
+ DPRINTF_EDIT_MSG32("EM_SETWORDBREAKPROCEX");
+ return 0;
+
+ case EM_SETWORDWRAPMODE:
+ DPRINTF_EDIT_MSG32("EM_SETWORDWRAPMODE");
+ return 0;
+
+ case EM_SETZOOM:
+ DPRINTF_EDIT_MSG32("EM_SETZOOM");
+ return 0;
+
+ case EM_SHOWSCROLLBAR:
+ DPRINTF_EDIT_MSG32("EM_SHOWSCROLLBAR");
+ return 0;
+
+ case EM_STOPGROUPTYPING:
+ DPRINTF_EDIT_MSG32("EM_STOPGROUPTYPING");
+ return 0;
+
+ case EM_STREAMOUT:
+ DPRINTF_EDIT_MSG32("EM_STREAMOUT");
+ return 0;
+
+/* Messaged dispatched to the edit control */
+ case EM_CANUNDO:
+ case EM_CHARFROMPOS:
+ case EM_EMPTYUNDOBUFFER:
+ case EM_FMTLINES:
+ case EM_GETFIRSTVISIBLELINE:
+ case EM_GETHANDLE:
+/* case EM_GETIMESTATUS:*/
+ case EM_GETLIMITTEXT:
+ case EM_GETLINE:
+ case EM_GETLINECOUNT:
+ case EM_GETMARGINS:
+ case EM_GETMODIFY:
+ case EM_GETPASSWORDCHAR:
+ case EM_GETRECT:
+ case EM_GETSEL:
+ case EM_GETTHUMB:
+ case EM_GETWORDBREAKPROC:
+ case EM_LINEFROMCHAR:
+ case EM_LINEINDEX:
+ case EM_LINELENGTH:
+ case EM_LINESCROLL:
+ case EM_POSFROMCHAR:
+ case EM_REPLACESEL:
+ case EM_SCROLL:
+ case EM_SCROLLCARET:
+ case EM_SETHANDLE:
+/* case EM_SETIMESTATUS:*/
+ case EM_SETLIMITTEXT:
+ case EM_SETMARGINS:
+ case EM_SETMODIFY:
+ case EM_SETPASSWORDCHAR:
+ case EM_SETREADONLY:
+ case EM_SETRECT:
+ case EM_SETRECTNP:
+ case EM_SETSEL:
+ case EM_SETTABSTOPS:
+ case EM_SETWORDBREAKPROC:
+ case EM_UNDO:
+
+ case WM_STYLECHANGING:
+ case WM_STYLECHANGED:
+ case WM_NCCALCSIZE:
+ case WM_GETTEXT:
+ case WM_GETTEXTLENGTH:
+ case WM_SETTEXT:
+ return SendMessageA( hwndEdit, uMsg, wParam, lParam);
+
+ /* Messages known , but ignored. */
+ case WM_NCPAINT:
+ DPRINTF_EDIT_MSG32("WM_NCPAINT");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_PAINT:
+ DPRINTF_EDIT_MSG32("WM_PAINT");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_ERASEBKGND:
+ DPRINTF_EDIT_MSG32("WM_ERASEBKGND");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_KILLFOCUS:
+ DPRINTF_EDIT_MSG32("WM_KILLFOCUS");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_DESTROY:
+ DPRINTF_EDIT_MSG32("WM_DESTROY");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_CHILDACTIVATE:
+ DPRINTF_EDIT_MSG32("WM_CHILDACTIVATE");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+
+ case WM_WINDOWPOSCHANGING:
+ DPRINTF_EDIT_MSG32("WM_WINDOWPOSCHANGING");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_WINDOWPOSCHANGED:
+ DPRINTF_EDIT_MSG32("WM_WINDOWPOSCHANGED");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+/* case WM_INITIALUPDATE:
+ DPRINTF_EDIT_MSG32("WM_INITIALUPDATE");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam); */
+ case WM_CTLCOLOREDIT:
+ DPRINTF_EDIT_MSG32("WM_CTLCOLOREDIT");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_SETCURSOR:
+ DPRINTF_EDIT_MSG32("WM_SETCURSOR");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_MOVE:
+ DPRINTF_EDIT_MSG32("WM_MOVE");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+ case WM_SHOWWINDOW:
+ DPRINTF_EDIT_MSG32("WM_SHOWWINDOW");
+ return DefWindowProcA( hwnd,uMsg,wParam,lParam);
+
}
- /*return SendMessageA( hwndEdit,uMsg,wParam,lParam);*/
+
+
+ FIXME("Unknown message %d\n", uMsg);
return DefWindowProcA( hwnd,uMsg,wParam,lParam);
}
@@ -168,6 +574,8 @@
HRESULT WINAPI
RICHED32_DllGetVersion (DLLVERSIONINFO *pdvi)
{
+ TRACE("\n");
+
if (pdvi->cbSize != sizeof(DLLVERSIONINFO)) {
return E_INVALIDARG;
@@ -195,6 +603,8 @@
{
WNDCLASSA wndClass;
+ TRACE("\n");
+
ZeroMemory(&wndClass, sizeof(WNDCLASSA));
wndClass.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS;
wndClass.lpfnWndProc = (WNDPROC)RICHED32_WindowProc;
@@ -219,5 +629,7 @@
*/
VOID RICHED32_Unregister(void)
{
+ TRACE("\n");
+
UnregisterClassA(RICHEDIT_CLASS10A, (HINSTANCE)NULL);
}
Index: dlls/richedit/text-writer.c
===================================================================
RCS file: /home/wine/wine/dlls/richedit/text-writer.c,v
retrieving revision 1.1
diff -u -r1.1 text-writer.c
--- dlls/richedit/text-writer.c 2000/05/07 20:23:41 1.1
+++ dlls/richedit/text-writer.c 2002/01/12 19:05:41
@@ -41,7 +41,10 @@
# include "rtf.h"
# include "rtf2text.h"
# include "charlist.h"
+# include "debugtools.h"
+DEFAULT_DEBUG_CHANNEL(richedit);
+
static void TextClass ();
static void ControlClass ();
static void Destination ();
@@ -60,8 +63,9 @@
/* check if the buffer is big enough to hold all characters */
/* we require one more for the '\0' */
-
+ TRACE("\n");
+
if(nBufferSize < charlist.nCount + 1) {
return charlist.nCount + CHARLIST_CountChar(&charlist, '\n') + 1;
}
@@ -119,6 +123,8 @@
{
char buf[rtfBufSiz];
+ TRACE("\n");
+
if (rtfMinor != rtfSC_nothing)
PutStdChar (rtfMinor);
else
@@ -135,6 +141,7 @@
static void
ControlClass ()
{
+ TRACE("\n");
switch (rtfMajor)
{
case rtfDestination:
@@ -156,6 +163,9 @@
static void
Destination ()
{
+
+ TRACE("\n");
+
switch (rtfMinor)
{
case rtfPict:
@@ -185,6 +195,9 @@
void SpecialChar ()
{
+
+ TRACE("\n");
+
switch (rtfMinor)
{
case rtfPage:
@@ -249,6 +262,8 @@
/* if (stdCode == rtfSC_nothing)
RTFPanic ("Unknown character code, logic error\n");
*/
+ TRACE("\n");
+
oStr = outMap[stdCode];
if (oStr == (char *) NULL) /* no output sequence in map */
{
Index: include/richedit.h
===================================================================
RCS file: /home/wine/wine/include/richedit.h,v
retrieving revision 1.6
diff -u -r1.6 richedit.h
--- include/richedit.h 2001/11/16 18:11:16 1.6
+++ include/richedit.h 2002/01/12 19:05:45
@@ -57,6 +57,85 @@
#define EM_GETWORDBREAKPROCEX (WM_USER + 80)
#define EM_SETWORDBREAKPROCEX (WM_USER + 81)
+#define EM_SETUNDOLIMIT (WM_USER + 82)
+#define EM_REDO (WM_USER + 84)
+#define EM_CANREDO (WM_USER + 85)
+#define EM_GETUNDONAME (WM_USER + 86)
+#define EM_GETREDONAME (WM_USER + 87)
+#define EM_STOPGROUPTYPING (WM_USER + 88)
+
+#define EM_SETTEXTMODE (WM_USER + 89)
+#define EM_GETTEXTMODE (WM_USER + 90)
+#define EM_AUTOURLDETECT (WM_USER + 91)
+#define EM_GETAUTOURLDETECT (WM_USER + 92)
+#define EM_SETPALETTE (WM_USER + 93)
+#define EM_GETTEXTEX (WM_USER + 94)
+#define EM_GETTEXTLENGTHEX (WM_USER + 95)
+#define EM_SHOWSCROLLBAR (WM_USER + 96)
+#define EM_SETTEXTEX (WM_USER + 97)
+
+#define EM_SETPUNCTUATION (WM_USER + 100)
+#define EM_GETPUNCTUATION (WM_USER + 101)
+#define EM_SETWORDWRAPMODE (WM_USER + 102)
+#define EM_GETWORDWRAPMODE (WM_USER + 103)
+#define EM_SETIMECOLOR (WM_USER + 104)
+#define EM_GETIMECOLOR (WM_USER + 105)
+#define EM_SETIMEOPTIONS (WM_USER + 106)
+#define EM_GETIMEOPTIONS (WM_USER + 107)
+#define EM_CONVPOSITION (WM_USER + 108)
+
+#define EM_SETLANGOPTIONS (WM_USER + 120)
+#define EM_GETLANGOPTIONS (WM_USER + 121)
+#define EM_GETIMECOMPMODE (WM_USER + 122)
+
+#define EM_SETLANGOPTIONS (WM_USER + 120)
+#define EM_GETLANGOPTIONS (WM_USER + 121)
+#define EM_GETIMECOMPMODE (WM_USER + 122)
+
+#define EM_FINDTEXTW (WM_USER + 123)
+#define EM_FINDTEXTEXW (WM_USER + 124)
+
+#define EM_RECONVERSION (WM_USER + 125)
+#define EM_SETIMEMODEBIAS (WM_USER + 126)
+#define EM_GETIMEMODEBIAS (WM_USER + 127)
+
+#define EM_SETBIDIOPTIONS (WM_USER + 200)
+#define EM_GETBIDIOPTIONS (WM_USER + 201)
+
+#define EM_SETTYPOGRAPHYOPTIONS (WM_USER + 202)
+#define EM_GETTYPOGRAPHYOPTIONS (WM_USER + 203)
+
+#define EM_SETEDITSTYLE (WM_USER + 204)
+#define EM_GETEDITSTYLE (WM_USER + 205)
+
+#define EM_OUTLINE (WM_USER + 220)
+
+#define EM_GETSCROLLPOS (WM_USER + 221)
+#define EM_SETSCROLLPOS (WM_USER + 222)
+
+#define EM_SETFONTSIZE (WM_USER + 223)
+#define EM_GETZOOM (WM_USER + 224)
+#define EM_SETZOOM (WM_USER + 225)
+
+/* New notifications */
+#define EN_MSGFILTER 0x0700
+#define EN_REQUESTRESIZE 0x0701
+#define EN_SELCHANGE 0x0702
+#define EN_DROPFILES 0x0703
+#define EN_PROTECTED 0x0704
+#define EN_CORRECTTEXT 0x0705
+#define EN_STOPNOUNDO 0x0706
+#define EN_IMECHANGE 0x0707
+#define EN_SAVECLIPBOARD 0x0708
+#define EN_OLEOPFAILED 0x0709
+#define EN_OBJECTPOSITIONS 0x070a
+#define EN_LINK 0x070b
+#define EN_DRAGDROPDONE 0x070c
+#define EN_PARAGRAPHEXPANDED 0x070d
+#define EN_ALIGNLTR 0x0710
+#define EN_ALIGNRTL 0x0711
+
+
typedef DWORD CALLBACK(* EDITSTREAMCALLBACK)( DWORD, LPBYTE, LONG, LONG * );
/* Rich edit control styles */
More information about the wine-patches
mailing list