FreeCalypso > hg > fc-tourmaline
diff src/ui/mfw/mfw_edt.h @ 3:67bfe9f274f6
src/ui: import of src/ui3 from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:33:10 +0000 |
parents | |
children | 92abb46dc1ba |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ui/mfw/mfw_edt.h Fri Oct 16 06:33:10 2020 +0000 @@ -0,0 +1,156 @@ +/* ++--------------------------------------------------------------------+ +| PROJECT: MMI-Framework (8417) $Workfile:: mfw_edt.h $| +| $Author:: Es $ CONDAT GmbH $Revision:: 7 $| +| CREATED: 21.09.98 $Modtime:: 23.03.00 8:23 $| +| STATE : code | ++--------------------------------------------------------------------+ + + MODULE : MFW_EDT + + PURPOSE : EDIT types & constants + + EXPORT : + + TO DO : + + $History:: mfw_edt.h $ + * + * * ***************** Version 8 ***************** + * User: MC Date: 03/10/02 Time: 14:40 + * Updated in $/GSM/Condat/MS/SRC/MFW + * Replaced most of the file with version on 3.3.3 line (MC, SPR 1242) + * + * ***************** Version 7 ***************** + * User: Es Date: 23.03.00 Time: 14:40 + * Updated in $/GSM/Condat/MS/SRC/MFW + * added edtUnhide() + * + * ***************** Version 6 ***************** + * User: Es Date: 18.02.00 Time: 15:45 + * Updated in $/GSM/Condat/MS/SRC/MFW + * added edit controls: ecTop, ecBottom + * + * ***************** Version 5 ***************** + * User: Es Date: 6.07.99 Time: 12:03 + * Updated in $/GSM/DEV/MS/SRC/MFW + * + * ***************** Version 4 ***************** + * User: Es Date: 17.02.99 Time: 20:00 + * Updated in $/GSM/DEV/MS/SRC/MFW + * + * ***************** Version 3 ***************** + * User: Es Date: 14.01.99 Time: 17:19 + * Updated in $/GSM/DEV/MS/SRC/MFW + * + * ***************** Version 2 ***************** + * User: Es Date: 23.12.98 Time: 16:19 + * Updated in $/GSM/DEV/MS/SRC/MFW +*/ + +#ifndef _DEF_MFW_EDT_H_ +#define _DEF_MFW_EDT_H_ + +#define edtCurNone 0x00 /* no cursor, read only */ +#define edtCurBar1 0x01 /* vertical bar thin */ +#define edtCurMask 0x07 /* mask for cursor type */ +#define edtModOverWr 0x08 /* overwrite mode */ +#define edtModWordSkip 0x10 /* GW 12/09/01 skip over words (for predictive text) */ +#define edtModAllowPredText 0x20 /* SPR957 - SH - whether predicted text is available in this editor */ + +#define MAX_PRED_TEXT 15 + +//GW Added bgd colour - and changed type to U32 (for future compatibility) +typedef struct MfwEdtAttrTag /* EDITOR ATTRIBUTES */ +{ + MfwRect win; /* editor position and size */ + U32 edtCol; /* index to fgd/bgd colour definition*/ + U8 font; /* character font */ + U8 mode; /* edit modes & cursor type */ + U8 *controls; /* edit control keys */ + char *text; /* edit buffer */ + U16 size; /* buffer size */ + char predText[MAX_PRED_TEXT]; /* GW 06/09/01 Added predicted word buffer */ + +/* NM, 13.03, fast-edit + old: to handle between the two modes (digit/alpha) was done by BMI + new: handle by MFW +*/ + U8 alphaMode; /* true(alpha)/false(digit) */ +} MfwEdtAttr; + +typedef struct MfwEdtTag /* EDITOR CONTROL BLOCK */ +{ + MfwEvt mask; /* selection of events */ + MfwEvt flags; /* current event */ + MfwCb handler; /* event handler */ + MfwEdtAttr *attr; /* editor attributes */ + U16 cp; /* cursor position */ + U16 curOffs; /* start of view in text */ + /* SPR920 - NH (SH) - these properties are now kept by the editor */ + int fontHeight; /* height of current font */ + int display; /* really show the things */ + U8 curMode; /* edit mode & cursor type */ + S16 curCX, curCY; /* screen cursor position */ + S16 curCSize; /* size of screen cursor */ + /* end SPR920 */ +} MfwEdt; + +typedef enum /* EDITOR CONTROL KEYS */ +{ + ecNone, /* no valid edit control */ + ecLeft, /* cursor left */ + ecRight, /* cursor right */ + ecUp, /* cursor up */ + ecDown, /* cursor down */ + ecTop, /* cursor to top of text */ + ecBottom, /* cursor to end of text */ + ecBack, /* backspace */ + ecDel, /* delete */ + ecEnter, /* return key */ + ecEscape /* escape key */ +} MfwEdtEC; + + /* EDITOR FLAGS */ +#define MfwEdtVisible 1 /* editor is visible */ + + + /* PROTOTYPES */ +MfwRes edtInit (void); +MfwRes edtExit (void); +MfwHnd edtCreate (MfwHnd w, MfwEdtAttr *a, MfwEvt e, MfwCb f); +MfwRes edtDelete (MfwHnd e); +MfwRes edtReset (MfwHnd w); +MfwRes edtShow (MfwHnd e); +MfwRes edtHide (MfwHnd e); +MfwRes edtUnhide (MfwHnd e); +MfwRes edtClear (MfwHnd e); +MfwRes edtUpdate (MfwEdt *e); +MfwRes edtChar (MfwHnd e, int c); + +MfwRes edtRefresh (MfwHnd e); /* SPR945 - SH*/ + +//Global procedures - Adding/ removing words in the editor. +MfwRes edtInsertString (MfwHnd e, char* insWord); //Insert a string at the cursor +MfwRes edtCopyString (MfwHnd e, char* removeWord); //Copy a word from the cursor pos +MfwRes edtRemoveString (MfwHnd e, char* removeWord); //Delete a word from the cursor pos. + +char getCursorChar(MfwHnd e, int offset ); +void moveRight (char *b, int s, int d); +void moveLeft (char * str, int ofs); + +/* Unicode editor procedures. + * SPR957 - SH - moved some prototypes here from mfw_edt.c */ + +MfwRes edtUpdateUnicode (MfwEdt *e); +MfwRes edtCharUnicode (MfwHnd e, int c); +void moveLeftUnicode(U16 *unicodeStr, int nChars); +void moveRightUnicode(U16 *unicodeStr, int nChars);/*MC*/ +U16 strlenUnicode(U16* str);/*MC*/ +int edtInsertUnicode (MfwEdt *e, int c, U16 *b, int s); +MfwRes edtInsertUnicodeString (MfwHnd e, char* insWordChar); +void convertToUnicode(U16 *outputString, char *inputString); /* SPR957 - SH - added */ + + +#endif +