diff options
author | nyamatongwe <devnull@localhost> | 2000-07-24 12:16:35 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2000-07-24 12:16:35 +0000 |
commit | bc8bd37c801d0a8c88052c323b780e88fb2ec13b (patch) | |
tree | eeaf214d631ca886823fa26e8c1336d223c44878 | |
parent | ffe9b52c918ed5c035358e2df62909b78b89ddf7 (diff) | |
download | scintilla-mirror-bc8bd37c801d0a8c88052c323b780e88fb2ec13b.tar.gz |
Updated documentation for removal of WM_* and EM_* and addition of
direct features.
-rw-r--r-- | doc/ScintillaDoc.html | 173 |
1 files changed, 115 insertions, 58 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index 0cfae5b05..7fc43f4ea 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -37,9 +37,11 @@ </p> <p> The Windows version of Scintilla is a Windows Control. As such, its primary programming - interface is through Windows messages. It responds to many of the messages defined for the - standard Edit and Richedit controls as well as a suite of its own for controlling syntax - styling, markers, auto-completion and call tips. + interface is through Windows messages. Early versions of Scintilla emulated much of the + API defined by the standard Windows Edit and Richedit controls but those APIs are now + deprecated in favour of Scintilla's own, more consistent API. + In addition to messages performing the actions of a normal Edit control, Scintilla + allows control of syntax styling, markers, auto-completion and call tips. </p> The GTK+ version also uses messages in a similar way to the Windows version. This is different to normal GTK+ practice but made it easier to implement rapidly. @@ -50,13 +52,13 @@ Text retrieval and modification. </h3> <pre> -WM_GETTEXT(int length, char *text) -WM_SETTEXT(<unused>, char *text) -EM_GETLINE(int line, char *text) -EM_REPLACESEL(<unused>, char *text) -EM_SETREADONLY +SCI_GETTEXT(int length, char *text) +SCI_SETTEXT(<unused>, char *text) +SCI_GETLINE(int line, char *text) +SCI_REPLACESEL(<unused>, char *text) +SCI_SETREADONLY SCI_GETREADONLY -EM_GETTEXTRANGE(<unused>, TEXTRANGE *tr) +SCI_GETTEXTRANGE(<unused>, TEXTRANGE *tr) SCI_ADDTEXT(int length, char *s) SCI_ADDSTYLEDTEXT(int length, cell *s) SCI_INSERTTEXT(int pos, char *text) @@ -99,18 +101,19 @@ SCI_GETSTYLEBITS Standard commands </h3> <pre> -WM_CUT -WM_COPY -WM_PASTE -WM_CLEAR +SCI_CUT +SCI_COPY +SCI_PASTE +SCI_CLEAR +SCI_CANPASTE </pre> <h3> Undo and Redo </h3> <pre> -WM_UNDO -EM_CANUNDO -EM_EMPTYUNDOBUFFER +SCI_UNDO +SCI_CANUNDO +SCI_EMPTYUNDOBUFFER SCI_REDO SCI_CANREDO SCI_SETUNDOCOLLECTION(bool collectUndo) @@ -130,30 +133,21 @@ SCI_ENDUNDOACTION Selection and information </h3> <pre> -WM_GETTEXTLENGTH -EM_GETFIRSTVISIBLELINE -EM_GETLINECOUNT -EM_GETMODIFY -EM_SETMODIFY(bool ismodified) -EM_GETRECT(RECT *rect) -EM_GETSEL(int *start, int *end) -EM_EXGETSEL(<unused>, CHARRANGE *cr) -EM_SETSEL(int start, int end) -EM_EXSETSEL(<unused>, CHARRANGE *cr) -EM_GETSELTEXT(<unused>, char *text) -EM_LINEFROMCHAR(int position) -EM_EXLINEFROMCHAR(int position) -EM_LINEINDEX(int line) -EM_LINELENGTH(int position) -EM_SCROLL(int line) -EM_LINESCROLL(int column, int line) -EM_SCROLLCARET() -EM_CANPASTE -EM_CHARFROMPOS(<unused>, POINT *location) -SCI_POSITIONFROMPOINT(<unused>, POINT *location) -EM_POSFROMCHAR(int position, POINT *location) -EM_SELECTIONTYPE -EM_HIDESELECTION(bool hide) +SCI_GETTEXTLENGTH +SCI_GETFIRSTVISIBLELINE +SCI_GETLINECOUNT +SCI_GETMODIFY +SCI_SETSEL(int start, int end) +SCI_GETSELTEXT(<unused>, char *text) +SCI_LINEFROMPOSITION(int position) +SCI_POSITIONFROMLINE(int line) +SCI_LINELENGTH(int line) +SCI_LINESCROLL(int column, int line) +SCI_SCROLLCARET +SCI_POSITIONFROMPOINT(int x, int y) +SCI_POINTXFROMPOSITION(<unused>, int position) +SCI_POINTYFROMPOSITION(<unused>, int position) +SCI_HIDESELECTION(bool hide) SCI_GETLENGTH SCI_SETCURRENTPOS(int position) SCI_GETCURRENTPOS @@ -167,7 +161,6 @@ SCI_SELECTALL SCI_GOTOLINE(int line) SCI_GOTOPOS(int position) SCI_GETCURLINE(int textlen, char *text) -SCI_LINELENGTH(int line) SCI_SETCARETPOLICY(int policy) SCI_LINESONSCREEN SCI_SELECTIONISRECTANGLE @@ -179,8 +172,8 @@ SCI_GETHSCROLLBAR current position. </p> <p> - EM_SETMODIFY is no longer supported as whether the document is modified is determined by - whether the undo position is at the save point. + It is not possible to change the modified status as whether the document is modified is + determined by whether the undo position is at the save point. </p> <p> SCI_GETCURLINE retrieves the text of the line containing the caret and returns the position @@ -195,8 +188,7 @@ SCI_GETHSCROLLBAR Searching </h3> <pre> -EM_FINDTEXT(int flags, FINDTEXTEX *ft) -EM_FINDTEXTEX(int flags, FINDTEXTEX *ft) +SCI_FINDTEXT(int flags, FINDTEXTEX *ft) </pre> <p> Scintilla can find where a string is present in its document. @@ -344,16 +336,14 @@ SCI_SETCARETPERIOD(int milliseconds) Margins </h3> <pre> -EM_GETMARGINS -EM_SETMARGINS(EC_LEFTMARGIN or EC_RIGHTMARGIN or EC_USEFONTINFO, int val) +SCI_SETMARGINLEFT(int width) +SCI_GETMARGINLEFT +SCI_SETMARGINRIGHT(int width) +SCI_GETMARGINRIGHT </pre> <p> Gets or sets the width of the blank margin on both sides of the text. This defaults to one - pixel on each side. val contains a left margin size in its low word and a right margin size - in its high word. This is also the way that EM_GETMARGINS returns the current setting. - EC_LEFTMARGIN and EC_RIGHTMARGIN are bit flags that can be used individually or combined to - set both margins at once. EC_USEFONTINFO ignores val and sets both margins to be half the - average character width in the current default font. + pixel on each side. </p> <pre> SCI_SETMARGINTYPEN(int margin, SC_MARGIN_SYMBOL | SC_MARGIN_NUMBER) @@ -729,14 +719,14 @@ SCI_STOPRECORD Printing </h3> <pre> -EM_FORMATRANGE +SCI_FORMATRANGE SCI_SETPRINTMAGNIFICATION(int magnification) SCI_GETPRINTMAGNIFICATION SCI_SETPRINTCOLOURMODE(int mode) SCI_GETPRINTCOLOURMODE </pre> <p> - On Windows EM_FORMATRANGE can be used to draw the text onto a display context which can + On Windows SCI_FORMATRANGE can be used to draw the text onto a display context which can include a printer display context. </p> <p> @@ -750,6 +740,25 @@ SCI_GETPRINTCOLOURMODE chosen with SCI_SETPRINTCOLOURMODE(SC_PRINT_BLACKONWHITE). </p> <h3> + Direct Access + </h3> +<pre> +SCI_GETDIRECTFUNCTION +SCI_GETDIRECTPOINTER +</pre> + <p> + On Windows, the message passing scheme used to communicate between the container and + Scintilla is mediated by the operating system SendMessage function which can lead to bad + performance when calling intensively. + To avoid this overhead a pointer to a message handling function inside Scintilla + can be retrieved with SCI_GETDIRECTFUNCTION. The first argument to use when calling + the returned function is the value retrieved from SCI_GETDIRECTPOINTER. After that go + the message number, wParam, and lParam. + </p> + <p> + This feature also works on GTK+ but has no significant impact on speed. + </p> + <h3> Multiple Views </h3> <pre> @@ -902,7 +911,8 @@ SCI_SETKEYWORDS(int keywordset, char *keywordlist) <p> Notifications are sent (fired) from the Scintilla control to its container when an event has occurred that may interest the container. Notifications are sent using the WM_NOTIFY message - with a structure containing information about the event. + on Windows and the "notify" signal on GTK+ with a structure containing information + about the event. </p> <pre> SCN_STYLENEEDED(int endstyleneeded) @@ -968,7 +978,7 @@ SCN_KEY </p> <pre> SCN_MODIFIED -EN_CHANGE +SCEN_CHANGE SCI_SETMODEVENTMASK(int eventmask) SCI_GETMODEVENTMASK </pre> @@ -979,7 +989,8 @@ SCI_GETMODEVENTMASK </p> <p> EN_CHANGE is fired when the text of the document has been changed for any reason. This - notification is sent using the WM_COMMAND message as this is the behaviour of the standard + notification is sent using the WM_COMMAND message on Windows and the "Command" signal + on GTK+ as this is the behaviour of the standard edit control. </p> <p> @@ -1013,7 +1024,53 @@ SCN_NEEDSHOWN will just ensure each line in the range is visible by calling SCI_ENSUREVISIBLE. </p> <h3> - Edit messages not supported by Scintilla + Edit messages currently supported by Scintilla which will be removed in the future. + </h3> +<pre> +WM_GETTEXT(int length, char *text) +WM_SETTEXT(<unused>, char *text) +EM_GETLINE(int line, char *text) +EM_REPLACESEL(<unused>, char *text) +EM_SETREADONLY +EM_GETTEXTRANGE(<unused>, TEXTRANGE *tr) +WM_CUT +WM_COPY +WM_PASTE +WM_CLEAR +WM_UNDO +EM_CANUNDO +EM_EMPTYUNDOBUFFER +WM_GETTEXTLENGTH +EM_GETFIRSTVISIBLELINE +EM_GETLINECOUNT +EM_GETMODIFY +EM_SETMODIFY(bool ismodified) +EM_GETRECT(RECT *rect) +EM_GETSEL(int *start, int *end) +EM_EXGETSEL(<unused>, CHARRANGE *cr) +EM_SETSEL(int start, int end) +EM_EXSETSEL(<unused>, CHARRANGE *cr) +EM_GETSELTEXT(<unused>, char *text) +EM_LINEFROMCHAR(int position) +EM_EXLINEFROMCHAR(int position) +EM_LINEINDEX(int line) +EM_LINELENGTH(int position) +EM_SCROLL(int line) +EM_LINESCROLL(int column, int line) +EM_SCROLLCARET() +EM_CANPASTE +EM_CHARFROMPOS(<unused>, POINT *location) +EM_POSFROMCHAR(int position, POINT *location) +EM_SELECTIONTYPE +EM_HIDESELECTION(bool hide) +EM_FINDTEXT(int flags, FINDTEXTEX *ft) +EM_FINDTEXTEX(int flags, FINDTEXTEX *ft) +EM_GETMARGINS +EM_SETMARGINS(EC_LEFTMARGIN or EC_RIGHTMARGIN or EC_USEFONTINFO, int val) +EM_FORMATRANGE +</pre> + <h3> + Edit messages never supported by Scintilla </h3> <pre> EM_GETWORDBREAKPROC EM_GETWORDBREAKPROCEX |