home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
warphead.zip
/
H
/
PMMLE.H
< prev
next >
Wrap
C/C++ Source or Header
|
1997-08-17
|
12KB
|
290 lines
/****************************** Module Header ******************************\
*
* Module Name: PMMLE.H
*
* OS/2 Presentation Manager MultiLine Edit Control
*
* Copyright (c) International Business Machines Corporation 1981, 1988-1992
*
* ===========================================================================
*
* The following symbols are used in this file for conditional sections.
*
* #define: To include:
*
* INCL_WINMLE Includes this file
*
* ===========================================================================
*
* Comments at the end of each typedef line give the name tags used in
* the assembler include version of this file.
*
* The assembler include version of this file excludes lines between XLATOFF
* and XLATON comments.
*
\***************************************************************************/
/* XLATOFF */
#if __IBMC__ || __IBMCPP__
#pragma info( none )
#ifndef __CHKHDR__
#pragma info( none )
#endif
#pragma info( restore )
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* XLATON */
#ifndef MLE_INCLUDED
#define MLE_INCLUDED
/*************************************************************************
* MLE Window styles ( in addition to WS_* )
*************************************************************************/
#define MLS_WORDWRAP 0x00000001L
#define MLS_BORDER 0x00000002L
#define MLS_VSCROLL 0x00000004L
#define MLS_HSCROLL 0x00000008L
#define MLS_READONLY 0x00000010L
#define MLS_IGNORETAB 0x00000020L
#define MLS_DISABLEUNDO 0x00000040L
#define MLS_LIMITVSCROLL 0x00000080L
/*************************************************************************
* MLE External Data Types
*************************************************************************/
typedef LONG IPT; /* insertion point */
typedef PLONG PIPT; /* insertion point */
typedef LONG PIX; /* pixel */
typedef ULONG LINE; /* Line number */
typedef struct _FORMATRECT /* MLEFRD */
{
LONG cxFormat; /* format rectangle width */
LONG cyFormat; /* format rectangle height */
} MLEFORMATRECT;
typedef MLEFORMATRECT *PFORMATRECT;
typedef struct _MLECTLDATA /* MLECTL */
{
USHORT cbCtlData; /* Length of the MLECTLDATA structure */
USHORT afIEFormat; /* import/export format */
ULONG cchText; /* text limit */
IPT iptAnchor; /* beginning of selection */
IPT iptCursor; /* ending of selection */
LONG cxFormat; /* format rectangle width */
LONG cyFormat; /* format rectangle height */
ULONG afFormatFlags; /* formatting rectangle flags */
PVOID pHWXCtlData; /* reserved for Pen CtlData (penpm.h) */
} MLECTLDATA;
typedef MLECTLDATA *PMLECTLDATA;
/*************************************************************************
* afFormatFlags mask
*************************************************************************/
#define MLFFMTRECT_LIMITHORZ 0x00000001L
#define MLFFMTRECT_LIMITVERT 0x00000002L
#define MLFFMTRECT_MATCHWINDOW 0x00000004L
#define MLFFMTRECT_FORMATRECT 0x00000007L
/*************************************************************************
* afIEFormat - Import/Export Format flags
*************************************************************************/
#define MLFIE_CFTEXT 0
#define MLFIE_NOTRANS 1
#define MLFIE_WINFMT 2
#define MLFIE_RTF 3
/*************************************************************************
* MLE color types: MLM_QUERY(TEXT/BACK)COLOR, MLM_SET(TEXT/BACK)COLOR
*************************************************************************/
#define MLE_INDEX 0
#define MLE_RGB 1
/*************************************************************************
* MLN_OVERFLOW structure
*************************************************************************/
typedef struct _MLEOVERFLOW /* overflow */
{
ULONG afErrInd; /* see mask below */
LONG nBytesOver; /* number of bytes overflowed */
LONG pixHorzOver; /* number of pixels horizontally overflow */
LONG pixVertOver; /* number of pixels vertically overflowed */
} MLEOVERFLOW;
typedef MLEOVERFLOW *POVERFLOW;
/*************************************************************************
* afErrInd - error format rectangle flags
*************************************************************************/
#define MLFEFR_RESIZE 0x00000001L
#define MLFEFR_TABSTOP 0x00000002L
#define MLFEFR_FONT 0x00000004L
#define MLFEFR_TEXT 0x00000008L
#define MLFEFR_WORDWRAP 0x00000010L
#define MLFETL_TEXTBYTES 0x00000020L
/*************************************************************************
* MLN_MARGIN structure
*************************************************************************/
typedef struct _MLEMARGSTRUCT /* margin */
{
USHORT afMargins; /* margin indicator */
USHORT usMouMsg; /* mouse message */
IPT iptNear; /* the geometrically nearest insertion point */
} MLEMARGSTRUCT;
typedef MLEMARGSTRUCT *PMARGSTRUCT;
/*************************************************************************
* afFlags - margin notification indicators
*************************************************************************/
#define MLFMARGIN_LEFT 0x0001
#define MLFMARGIN_BOTTOM 0x0002
#define MLFMARGIN_RIGHT 0x0003
#define MLFMARGIN_TOP 0x0004
/*************************************************************************
* MLM_QUERYSELECTION flags
*************************************************************************/
#define MLFQS_MINMAXSEL 0
#define MLFQS_MINSEL 1
#define MLFQS_MAXSEL 2
#define MLFQS_ANCHORSEL 3
#define MLFQS_CURSORSEL 4
/*************************************************************************
* MLN_CLPBDFAIL flags
*************************************************************************/
#define MLFCLPBD_TOOMUCHTEXT 0x00000001L
#define MLFCLPBD_ERROR 0x00000002L
/*************************************************************************
* MLM_SEARCH structure
*************************************************************************/
typedef struct _SEARCH /* search */
{
USHORT cb; /* size of search spec structure */
PCHAR pchFind; /* string to search for */
PCHAR pchReplace; /* string to replace with */
SHORT cchFind; /* length of pchFindString */
SHORT cchReplace; /* length of replace string */
IPT iptStart; /* point at which to start search */
/* (negative indicates cursor pt) */
/* becomes pt where string found */
IPT iptStop; /* point at which to stop search */
/* (negative indicates EOT) */
USHORT cchFound; /* Length of found string at iptStart */
} MLE_SEARCHDATA;
typedef MLE_SEARCHDATA *PMLE_SEARCHDATA;
/*************************************************************************
* MLM_SEARCH style flags
*************************************************************************/
#define MLFSEARCH_CASESENSITIVE 0x00000001L
#define MLFSEARCH_SELECTMATCH 0x00000002L
#define MLFSEARCH_CHANGEALL 0x00000004L
/*************************************************************************
* MLE messages - MLM from 0x01b0 to 0x01de; MLN from 0x0001 to 0x000f
*************************************************************************/
/* formatting messages */
#define MLM_SETTEXTLIMIT 0x01b0
#define MLM_QUERYTEXTLIMIT 0x01b1
#define MLM_SETFORMATRECT 0x01b2
#define MLM_QUERYFORMATRECT 0x01b3
#define MLM_SETWRAP 0x01b4
#define MLM_QUERYWRAP 0x01b5
#define MLM_SETTABSTOP 0x01b6
#define MLM_QUERYTABSTOP 0x01b7
#define MLM_SETREADONLY 0x01b8
#define MLM_QUERYREADONLY 0x01b9
/* text content manipulation and queries messages */
#define MLM_QUERYCHANGED 0x01ba
#define MLM_SETCHANGED 0x01bb
#define MLM_QUERYLINECOUNT 0x01bc
#define MLM_CHARFROMLINE 0x01bd
#define MLM_LINEFROMCHAR 0x01be
#define MLM_QUERYLINELENGTH 0x01bf
#define MLM_QUERYTEXTLENGTH 0x01c0
/* text import and export messages */
#define MLM_FORMAT 0x01c1
#define MLM_SETIMPORTEXPORT 0x01c2
#define MLM_IMPORT 0x01c3
#define MLM_EXPORT 0x01c4
#define MLM_DELETE 0x01c6
#define MLM_QUERYFORMATLINELENGTH 0x01c7
#define MLM_QUERYFORMATTEXTLENGTH 0x01c8
#define MLM_INSERT 0x01c9
/* selection messages */
#define MLM_SETSEL 0x01ca
#define MLM_QUERYSEL 0x01cb
#define MLM_QUERYSELTEXT 0x01cc
/* undo and redo messages */
#define MLM_QUERYUNDO 0x01cd
#define MLM_UNDO 0x01ce
#define MLM_RESETUNDO 0x01cf
/* text attributes messages */
#define MLM_QUERYFONT 0x01d0
#define MLM_SETFONT 0x01d1
#define MLM_SETTEXTCOLOR 0x01d2
#define MLM_QUERYTEXTCOLOR 0x01d3
#define MLM_SETBACKCOLOR 0x01d4
#define MLM_QUERYBACKCOLOR 0x01d5
/* scrolling messages */
#define MLM_QUERYFIRSTCHAR 0x01d6
#define MLM_SETFIRSTCHAR 0x01d7
/* clipboard messages */
#define MLM_CUT 0x01d8
#define MLM_COPY 0x01d9
#define MLM_PASTE 0x01da
#define MLM_CLEAR 0x01db
/* display manipulation messages */
#define MLM_ENABLEREFRESH 0x01dc
#define MLM_DISABLEREFRESH 0x01dd
/* search message */
#define MLM_SEARCH 0x01de
#define MLM_QUERYIMPORTEXPORT 0x01df
/* notification messages */
#define MLN_OVERFLOW 0x0001
#define MLN_PIXHORZOVERFLOW 0x0002
#define MLN_PIXVERTOVERFLOW 0x0003
#define MLN_TEXTOVERFLOW 0x0004
#define MLN_VSCROLL 0x0005
#define MLN_HSCROLL 0x0006
#define MLN_CHANGE 0x0007
#define MLN_SETFOCUS 0x0008
#define MLN_KILLFOCUS 0x0009
#define MLN_MARGIN 0x000a
#define MLN_SEARCHPAUSE 0x000b
#define MLN_MEMERROR 0x000c
#define MLN_UNDOOVERFLOW 0x000d
#define MLN_CLPBDFAIL 0x000f
#endif /* MLE_INCLUDED */
/* XLATOFF */
#ifdef __cplusplus
}
#endif
#if __IBMC__ || __IBMCPP__
#pragma info( none )
#ifndef __CHKHDR__
#pragma info( restore )
#endif
#pragma info( restore )
#endif
/* XLATON */
/**************************** end of file **********************************/