|
|
1.1 root 1: /*static char *SCCSID = "@(#)pmmle.h 13.3 89/07/11";*/
2: /***************************************************************************\
3: *
4: * Module Name: PMMLE.H
5: *
6: * OS/2 Presentation Manager MultiLine Edit Control - Version 1.0
7: *
8: * Copyright (c) International Business Machines Corporation 1989
9: * Copyright (c) Microsoft Corporation 1989
10: *
11: \***************************************************************************/
12:
13: /***************************************************************************\
14: * MLE Class and dialog code
15: \***************************************************************************/
16: /* in pmwin.h */
17:
18: /***************************************************************************\
19: * MLE Window styles ( in addition to WS_* )
20: \***************************************************************************/
21: #define MLS_WORDWRAP 0x00000001L
22: #define MLS_BORDER 0x00000002L
23: #define MLS_VSCROLL 0x00000004L
24: #define MLS_HSCROLL 0x00000008L
25: #define MLS_READONLY 0x00000010L
26: #define MLS_IGNORETAB 0x00000020L
27:
28: /***************************************************************************\
29: * MLE External Data Types
30: \***************************************************************************/
31: typedef LONG IPT; /* insertion point */
32: typedef PLONG PIPT; /* insertion point */
33: typedef LONG PIX; /* pixel */
34: typedef ULONG LINE; /* Line number */
35:
36: typedef struct _FORMATRECT { /* MLEFRD format rectangle data */
37: LONG cxFormat; /* format rectangle width */
38: LONG cyFormat; /* format rectangle height */
39: } MLEFORMATRECT;
40: typedef MLEFORMATRECT FAR *PFORMATRECT;
41:
42: typedef struct _MLECTLDATA { /* MLECTL control data */
43: USHORT cbCtlData; /* Length of the MLECTLDATA structure */
44: USHORT afIEFormat; /* import/export format */
45: ULONG cchText; /* text limit */
46: IPT iptAnchor; /* beginning of selection */
47: IPT iptCursor; /* ending of selection */
48: LONG cxFormat; /* format rectangle width */
49: LONG cyFormat; /* format rectangle height */
50: ULONG afFormatFlags; /* formatting rectangle flags - see mask below */
51: } MLECTLDATA;
52: typedef MLECTLDATA FAR *PMLECTLDATA;
53:
54: /***************************************************************************\
55: * afFormatFlags mask
56: \***************************************************************************/
57: #define MLFFMTRECT_LIMITHORZ 0x00000001L
58: #define MLFFMTRECT_LIMITVERT 0x00000002L
59: #define MLFFMTRECT_MATCHWINDOW 0x00000004L
60: #define MLFFMTRECT_FORMATRECT 0x00000007L
61: /***************************************************************************\
62: * afIEFormat - Import/Export Format flags
63: \***************************************************************************/
64: #define MLFIE_CFTEXT 0
65: #define MLFIE_NOTRANS 1
66: #define MLFIE_WINFMT 2
67: #define MLFIE_RTF 3
68:
69: /***************************************************************************\
70: * MLN_OVERFLOW structure
71: \***************************************************************************/
72: typedef struct _MLEOVERFLOW { /* overflow structure */
73: ULONG afErrInd; /* see mask below */
74: LONG nBytesOver; /* number of bytes overflowed */
75: LONG pixHorzOver; /* number of pixels horizontally overflowed */
76: LONG pixVertOver; /* number of pixels vertically overflowed */
77: } MLEOVERFLOW;
78: typedef MLEOVERFLOW FAR *POVERFLOW;
79:
80: /***************************************************************************\
81: * afErrInd - error format rectangle flags
82: \***************************************************************************/
83: #define MLFEFR_RESIZE 0x00000001L
84: #define MLFEFR_TABSTOP 0x00000002L
85: #define MLFEFR_FONT 0x00000004L
86: #define MLFEFR_TEXT 0x00000008L
87: #define MLFEFR_WORDWRAP 0x00000010L
88: #define MLFETL_TEXTBYTES 0x00000020L
89:
90: /***************************************************************************\
91: * MLN_MARGIN structure
92: \***************************************************************************/
93: typedef struct _MLEMARGSTRUCT { /* margin structure */
94: USHORT afMargins; /* margin indicator */
95: USHORT usMouMsg; /* mouse message */
96: IPT iptNear; /* the geometrically nearest insertion point */
97: } MLEMARGSTRUCT;
98: typedef MLEMARGSTRUCT FAR *PMARGSTRUCT;
99:
100: /***************************************************************************\
101: * afFlags - margin notification indicators
102: \***************************************************************************/
103: #define MLFMARGIN_LEFT 0x0001
104: #define MLFMARGIN_BOTTOM 0x0002
105: #define MLFMARGIN_RIGHT 0x0003
106: #define MLFMARGIN_TOP 0x0004
107:
108: /***************************************************************************\
109: * MLM_QUERYSELECTION flags
110: \***************************************************************************/
111: #define MLFQS_MINMAXSEL 0
112: #define MLFQS_MINSEL 1
113: #define MLFQS_MAXSEL 2
114: #define MLFQS_ANCHORSEL 3
115: #define MLFQS_CURSORSEL 4
116:
117: /***************************************************************************\
118: * MLN_CLPBDFAIL flags
119: \***************************************************************************/
120: #define MLFCLPBD_TOOMUCHTEXT 0x00000001L
121: #define MLFCLPBD_ERROR 0x00000002L
122:
123: /***************************************************************************\
124: * MLM_SEARCH structure
125: \***************************************************************************/
126: typedef struct _SEARCH { /* search structure */
127: USHORT cb; /* size of search spec structure */
128: PCHAR pchFind; /* string to search for */
129: PCHAR pchReplace; /* string to replace with */
130: SHORT cchFind; /* length of pchFindString */
131: SHORT cchReplace; /* length of replace string */
132: IPT iptStart; /* point at which to start search */
133: /* (negative indicates cursor pt) */
134: /* becomes pt where string found */
135: IPT iptStop; /* point at which to stop search */
136: /* (negative indicates EOT) */
137: USHORT cchFound; /* Length of found string at iptStart */
138: } MLE_SEARCHDATA;
139: typedef MLE_SEARCHDATA FAR *PMLE_SEARCHDATA;
140:
141: /***************************************************************************\
142: * MLM_SEARCH style flags
143: \***************************************************************************/
144: #define MLFSEARCH_CASESENSITIVE 0x00000001L
145: #define MLFSEARCH_SELECTMATCH 0x00000002L
146: #define MLFSEARCH_CHANGEALL 0x00000004L
147:
148: /***************************************************************************\
149: * MLE messages - MLM from 0x01b0 to 0x01de; MLN from 0x0001 to 0x000f
150: \***************************************************************************/
151: /* formatting messages */
152: #define MLM_SETTEXTLIMIT 0x01b0
153: #define MLM_QUERYTEXTLIMIT 0x01b1
154: #define MLM_SETFORMATRECT 0x01b2
155: #define MLM_QUERYFORMATRECT 0x01b3
156: #define MLM_SETWRAP 0x01b4
157: #define MLM_QUERYWRAP 0x01b5
158: #define MLM_SETTABSTOP 0x01b6
159: #define MLM_QUERYTABSTOP 0x01b7
160: #define MLM_SETREADONLY 0x01b8
161: #define MLM_QUERYREADONLY 0x01b9
162:
163: /* text content manipulation and queries messages */
164: #define MLM_QUERYCHANGED 0x01ba
165: #define MLM_SETCHANGED 0x01bb
166: #define MLM_QUERYLINECOUNT 0x01bc
167: #define MLM_CHARFROMLINE 0x01bd
168: #define MLM_LINEFROMCHAR 0x01be
169: #define MLM_QUERYLINELENGTH 0x01bf
170: #define MLM_QUERYTEXTLENGTH 0x01c0
171:
172: /* text import and export messages */
173: #define MLM_FORMAT 0x01c1
174: #define MLM_SETIMPORTEXPORT 0x01c2
175: #define MLM_IMPORT 0x01c3
176: #define MLM_EXPORT 0x01c4
177: #define MLM_DELETE 0x01c6
178: #define MLM_QUERYFORMATLINELENGTH 0x01c7
179: #define MLM_QUERYFORMATTEXTLENGTH 0x01c8
180: #define MLM_INSERT 0x01c9
181:
182: /* selection messages */
183: #define MLM_SETSEL 0x01ca
184: #define MLM_QUERYSEL 0x01cb
185: #define MLM_QUERYSELTEXT 0x01cc
186:
187: /* undo and redo messages */
188: #define MLM_QUERYUNDO 0x01cd
189: #define MLM_UNDO 0x01ce
190: #define MLM_RESETUNDO 0x01cf
191:
192: /* text attributes messages */
193: #define MLM_QUERYFONT 0x01d0
194: #define MLM_SETFONT 0x01d1
195: #define MLM_SETTEXTCOLOR 0x01d2
196: #define MLM_QUERYTEXTCOLOR 0x01d3
197: #define MLM_SETBACKCOLOR 0x01d4
198: #define MLM_QUERYBACKCOLOR 0x01d5
199:
200: /* scrolling messages */
201: #define MLM_QUERYFIRSTCHAR 0x01d6
202: #define MLM_SETFIRSTCHAR 0x01d7
203:
204: /* clipboard messages */
205: #define MLM_CUT 0x01d8
206: #define MLM_COPY 0x01d9
207: #define MLM_PASTE 0x01da
208: #define MLM_CLEAR 0x01db
209:
210: /* display manipulation messages */
211: #define MLM_ENABLEREFRESH 0x01dc
212: #define MLM_DISABLEREFRESH 0x01dd
213:
214: /* search message */
215: #define MLM_SEARCH 0x01de
216: #define MLM_QUERYIMPORTEXPORT 0x01df
217:
218: /* notification messages */
219: #define MLN_OVERFLOW 0x0001
220: #define MLN_PIXHORZOVERFLOW 0x0002
221: #define MLN_PIXVERTOVERFLOW 0x0003
222: #define MLN_TEXTOVERFLOW 0x0004
223: #define MLN_VSCROLL 0x0005
224: #define MLN_HSCROLL 0x0006
225: #define MLN_CHANGE 0x0007
226: #define MLN_SETFOCUS 0x0008
227: #define MLN_KILLFOCUS 0x0009
228: #define MLN_MARGIN 0x000a
229: #define MLN_SEARCHPAUSE 0x000b
230: #define MLN_MEMERROR 0x000c
231: #define MLN_UNDOOVERFLOW 0x000d
232: #define MLN_CLPBDFAIL 0x000f
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.