FreeCalypso > hg > leo2moko-debug
comparison g23m/condat/ms/src/bmi/MmiEditor.h @ 0:509db1a7b7b8
initial import: leo2moko-r1
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 01 Jun 2015 03:24:05 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:509db1a7b7b8 |
---|---|
1 #ifndef _DEF_MMI_EDITOR_H_ | |
2 #define _DEF_MMI_EDITOR_H_ | |
3 | |
4 /******************************************************************************* | |
5 | |
6 CONDAT (UK) | |
7 | |
8 ******************************************************************************** | |
9 | |
10 This software product is the property of Condat (UK) Ltd and may not be | |
11 disclosed to any third party without the express permission of the owner. | |
12 | |
13 ******************************************************************************** | |
14 | |
15 $Project name: Basic MMI | |
16 $Project code: BMI (6349) | |
17 $Module: MMI | |
18 $File: MmiEditor.h | |
19 $Revision: 1.0 | |
20 | |
21 $Author: Condat(UK) | |
22 $Date: 25/10/00 | |
23 | |
24 ******************************************************************************** | |
25 | |
26 Description: | |
27 | |
28 This provides the root mofule for the basic MMI | |
29 | |
30 ******************************************************************************** | |
31 $History: MmiMmi.h | |
32 | |
33 25/10/00 Original Condat(UK) BMI version. | |
34 | |
35 $End | |
36 | |
37 *******************************************************************************/ | |
38 | |
39 | |
40 | |
41 | |
42 /******************************************************************************* | |
43 | |
44 Type definitions | |
45 | |
46 *******************************************************************************/ | |
47 /* | |
48 * Definitions from common editor function | |
49 */ | |
50 #define INFO_TIMEOUT 1 | |
51 #define INFO_KCD_LEFT 2 | |
52 #define INFO_KCD_RIGHT 3 | |
53 #define INFO_KCD_HUP 4 | |
54 #define INFO_KCD_UP 5 | |
55 #define INFO_KCD_DOWN 6 | |
56 #define INFO_KCD_0_9 7 | |
57 #define INFO_KCD_ALTERNATELEFT 8 | |
58 #define INFO_EMERGENCY 99 | |
59 | |
60 #define DIGITS_MODE 0 | |
61 #define ALPHA_MODE 1 | |
62 #define READ_ONLY_MODE 2 | |
63 #define T9_MODE 3 | |
64 #define CALC_MODE 4 | |
65 #define PIN_SECURITY 5 | |
66 #define FORMAT_MODE 6 // SH - formatted input mode for WAP | |
67 | |
68 #define PROMPT_LENGTH 16 | |
69 | |
70 #ifndef FOREVER | |
71 #define TIMER_EXIT 0x0BB8 /* Default SMS timer period - 3 secs. */ | |
72 #define SHORT_SECS 0x01F4 /* Information dialogue display times. */ | |
73 #define THREE_SECS 0x0BB8 /* 3000 milliseconds. */ | |
74 #define FIVE_SECS 0x1388 /* 5000 milliseconds. */ | |
75 #define TEN_SECS 0x2710 /* 10000 milliseconds. */ | |
76 #define TWO_MIN 0x1D4C0 /* 2 min */ | |
77 #define FOREVER 0xFFFF /* Infinite time period. */ | |
78 #endif /* FOREVER */ | |
79 | |
80 /* | |
81 * Parameter Decription: | |
82 * ---------------- | |
83 * mode -> sets mode to digits or alpha; | |
84 * (ALPHA_MODE | DIGITS_MODE | READ_ONLY_MODE | T9_MODE) | |
85 * Callback -> Routine to be called, if the user presses left- or right- or clear-key or a timeout occurs | |
86 * (parameter = INFO_KCD_LEFT, INFO_KCD_ALTERNATELEFT, INFO_KCD_RIGHT, INFO_KCD_HUP, | |
87 * INFO_TIMEOUT) | |
88 * timeout -> after this timeout the Callback will be executed | |
89 * (optional, set to FOREVER if unused) | |
90 * (timeout is refreshed on every key-press) | |
91 * Identifier -> passed back to the creator as a parameter of Callback (optional) | |
92 * hide -> hide the entered string (currently not supported), | |
93 * TextId -> If you want to use a label... | |
94 * (optional, set to 0 if unused) | |
95 * TextString -> if no TextId is provided this will be used as alternative label | |
96 * (optional, set to NULL if unused) | |
97 * min_enter -> minimum number of chars to be entered in buffer, | |
98 * min_enter= 0x00 means no min. limit | |
99 * min_enter = editor_attr.size-1 means fixed lenght | |
100 * LeftSoftKey -> SoftKey to be shown if number of entered chars >= min_enter | |
101 * AlternateLeftSoftKey -> SoftKey to be shown if number of entered chars < min_enter | |
102 * RightSoftKey -> SoftKey to be shown unconditionally | |
103 * (in order to hide/disable a Softkey set it to TxtNull) | |
104 * NOTE: The buffer to be edited shall provide sufficient space to hold the terminating zero character. | |
105 * NOTE: We assume that the buffer to be edited is provided by the caller and valid throughout the lifetime of the editor. | |
106 * Thus we do NOT copy the buffer into local temporary space. | |
107 * NOTE: If digits-mode and hide are concurrently enabled, entering of '+' is not possible | |
108 * NOTE: In read-only mode the cursor is set to the top of the buffer and all normal keys are ignored. | |
109 * However Softkeys and long-clear are functional. | |
110 * NOTE: There's an exception from the normal behaviour if (mode == DIGITS) and (size == 2). | |
111 * In this case called "single digit key request" the editor is left immediately on any normal key | |
112 * by calling <Callback> with parameter INFO_KCD_LEFT. | |
113 */ | |
114 | |
115 /* | |
116 * External types | |
117 */ | |
118 | |
119 typedef enum | |
120 { | |
121 E_EDITOR_INIT, | |
122 E_EDITOR_DEINIT, | |
123 E_EDITOR_UPDATE, | |
124 E_EDITOR_CURSOR_END /*SPR 1392*/ | |
125 } e_editor_events; | |
126 | |
127 | |
128 typedef void (*T_EDIT_CB) (T_MFW_HND, USHORT, USHORT); | |
129 | |
130 typedef struct | |
131 { | |
132 T_MFW_EDT_ATTR editor_attr; | |
133 BOOL hide; | |
134 USHORT LeftSoftKey; | |
135 USHORT AlternateLeftSoftKey; | |
136 USHORT RightSoftKey; | |
137 USHORT Identifier; | |
138 UBYTE mode; | |
139 USHORT TextId; | |
140 char *TextString; | |
141 UBYTE min_enter; | |
142 ULONG timeout; | |
143 T_EDIT_CB Callback; | |
144 UBYTE destroyEditor; | |
145 char *FormatString; // SH - Formatting string for formatted input | |
146 int formatIndex; // SH - Position in formatting string | |
147 int fieldIndex; // SH - position within a delimited field | |
148 } T_EDITOR_DATA; | |
149 | |
150 //Zone data for drawing windows | |
151 #define ZONE_FULL_HEIGHT 0x000F | |
152 #define ZONE_TOPHALF_HEIGHT 0x000C | |
153 #define ZONE_MIDDLE_HEIGHT 0x0006 | |
154 #define ZONE_BOTTOMHALF_HEIGHT 0x0003 | |
155 #define ZONE_FULL_WIDTH 0x00F0 | |
156 #define ZONE_LEFTHALF_WIDTH 0x00C0 | |
157 #define ZONE_MIDDLE_WIDTH 0x0060 | |
158 #define ZONE_RIGHTHALF_WIDTH 0x0030 | |
159 | |
160 #define ZONE_ICONS 0x0100 | |
161 #define ZONE_TITLE 0x0200 | |
162 #define ZONE_CASE_ABC 0x0400 | |
163 #define ZONE_SOFTKEYS 0x1000 | |
164 | |
165 #define ZONE_FULLSCREEN (ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) | |
166 #define ZONE_FULLICONS (ZONE_ICONS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) | |
167 #define ZONE_FULLTITLE (ZONE_TITLE|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) | |
168 #define ZONE_FULLSOFTKEYS (ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) | |
169 | |
170 #define ZONE_FULL_SK_TITLE (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) | |
171 #define ZONE_FULL_SK_TITLE_ALPHA (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH | ZONE_CASE_ABC) | |
172 #define ZONE_WAP_EDITOR (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) | |
173 | |
174 //Specific editor sizes | |
175 #define ZONE_SMALL_EDITOR (0xFF00) /* editor for small (one line) editors */ | |
176 #define ZONE_BORDER_EDITOR (0xFE00) /* editors with a border to the left/right - sim toolkit */ | |
177 #define ZONE_BOTTOM_LINE (0xFD00) /* editors for the bottom line */ | |
178 #define ZONE_BOTTOM_LINE_FIND (0xFC00) /* editors on the bottom line after "Find:" */ | |
179 | |
180 | |
181 /* PROTOTYPES */ | |
182 extern T_MFW_HND editor_start (T_MFW_HND parent, T_EDITOR_DATA * editor_data); | |
183 | |
184 extern T_MFW_HND editor_start_common(T_MFW_HND win, char * buffer, U16 len, | |
185 T_EDITOR_DATA * editor_info, T_EDIT_CB editor_cb); | |
186 | |
187 | |
188 int showeZiTextIcon(MfwMnu* m, MfwMnuItem* i); | |
189 | |
190 int Easy_Activate(MfwMnu* m, MfwMnuItem* i); | |
191 | |
192 int Easy_DeActivate(MfwMnu* m, MfwMnuItem* i); | |
193 | |
194 //API - 01/10/02 - Concatenation Switch Function Definition | |
195 int Concatenate_DeActivate(MfwMnu* m, MfwMnuItem* i); | |
196 int Concatenate_Activate(MfwMnu* m, MfwMnuItem* i); | |
197 int Concatenate_Status(MfwMnu* m, MfwMnuItem* i); | |
198 | |
199 extern void editor_destroy (T_MFW_HND window); | |
200 extern void editor_attr_init(MfwEdtAttr* attr, int zone_id, U8 mode, U8 *controls, char *text, U16 size, int colour); | |
201 extern void editor_data_init( T_EDITOR_DATA* editor_info, T_EDIT_CB callback,USHORT lsk, USHORT rsk, USHORT txtId, USHORT min_num_char, UBYTE mode, ULONG timeout); | |
202 | |
203 #endif /* _DEF_MMI_EDITOR */ |