|
|
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.