FreeCalypso > hg > fc-magnetite
view src/aci2/bmi/mmiEditor.h @ 639:026c98f757a6
tpudrv12.h & targets/gtm900.h: our current support is for MGC2GSMT version only
As it turns out, there exist two different Huawei-made hw platforms both
bearing the marketing name GTM900-B: one is MG01GSMT, the other is MGC2GSMT.
The two are NOT fw-compatible: aside from flash chip differences which
should be handled by autodetection, the two hw platforms are already known
to have different RFFEs with different control signals, and there may be
other differences not yet known. Our current gtm900 build target is for
MGC2GSMT only; we do not yet have a specimen of MG01GSMT on hand, hence
no support for that version will be possible until and unless someone
provides one.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 30 Jan 2020 18:19:01 +0000 |
parents | 3c2acfa1a72f |
children |
line wrap: on
line source
#ifndef _DEF_MMI_EDITOR_H_ #define _DEF_MMI_EDITOR_H_ /******************************************************************************* CONDAT (UK) ******************************************************************************** This software product is the property of Condat (UK) Ltd and may not be disclosed to any third party without the express permission of the owner. ******************************************************************************** $Project name: Basic MMI $Project code: BMI (6349) $Module: MMI $File: MmiEditor.h $Revision: 1.0 $Author: Condat(UK) $Date: 25/10/00 ******************************************************************************** Description: This provides the root mofule for the basic MMI ******************************************************************************** $History: MmiMmi.h 25/10/00 Original Condat(UK) BMI version. $End *******************************************************************************/ /******************************************************************************* Type definitions *******************************************************************************/ /* * Definitions from common editor function */ #define INFO_TIMEOUT 1 #define INFO_KCD_LEFT 2 #define INFO_KCD_RIGHT 3 #define INFO_KCD_HUP 4 #define INFO_KCD_UP 5 #define INFO_KCD_DOWN 6 #define INFO_KCD_0_9 7 #define INFO_KCD_ALTERNATELEFT 8 #define INFO_EMERGENCY 99 #define DIGITS_MODE 0 #define ALPHA_MODE 1 #define READ_ONLY_MODE 2 #define T9_MODE 3 #define CALC_MODE 4 #define PIN_SECURITY 5 #define FORMAT_MODE 6 // SH - formatted input mode for WAP #define PROMPT_LENGTH 16 #ifndef FOREVER #define TIMER_EXIT 0x0BB8 /* Default SMS timer period - 3 secs. */ #define SHORT_SECS 0x01F4 /* Information dialogue display times. */ #define THREE_SECS 0x0BB8 /* 3000 milliseconds. */ #define FIVE_SECS 0x1388 /* 5000 milliseconds. */ #define TEN_SECS 0x2710 /* 10000 milliseconds. */ #define TWO_MIN 0x1D4C0 /* 2 min */ #define FOREVER 0xFFFF /* Infinite time period. */ #endif /* FOREVER */ /* * Parameter Decription: * ---------------- * mode -> sets mode to digits or alpha; * (ALPHA_MODE | DIGITS_MODE | READ_ONLY_MODE | T9_MODE) * Callback -> Routine to be called, if the user presses left- or right- or clear-key or a timeout occurs * (parameter = INFO_KCD_LEFT, INFO_KCD_ALTERNATELEFT, INFO_KCD_RIGHT, INFO_KCD_HUP, * INFO_TIMEOUT) * timeout -> after this timeout the Callback will be executed * (optional, set to FOREVER if unused) * (timeout is refreshed on every key-press) * Identifier -> passed back to the creator as a parameter of Callback (optional) * hide -> hide the entered string (currently not supported), * TextId -> If you want to use a label... * (optional, set to 0 if unused) * TextString -> if no TextId is provided this will be used as alternative label * (optional, set to NULL if unused) * min_enter -> minimum number of chars to be entered in buffer, * min_enter= 0x00 means no min. limit * min_enter = editor_attr.size-1 means fixed lenght * LeftSoftKey -> SoftKey to be shown if number of entered chars >= min_enter * AlternateLeftSoftKey -> SoftKey to be shown if number of entered chars < min_enter * RightSoftKey -> SoftKey to be shown unconditionally * (in order to hide/disable a Softkey set it to TxtNull) * NOTE: The buffer to be edited shall provide sufficient space to hold the terminating zero character. * NOTE: We assume that the buffer to be edited is provided by the caller and valid throughout the lifetime of the editor. * Thus we do NOT copy the buffer into local temporary space. * NOTE: If digits-mode and hide are concurrently enabled, entering of '+' is not possible * NOTE: In read-only mode the cursor is set to the top of the buffer and all normal keys are ignored. * However Softkeys and long-clear are functional. * NOTE: There's an exception from the normal behaviour if (mode == DIGITS) and (size == 2). * In this case called "single digit key request" the editor is left immediately on any normal key * by calling <Callback> with parameter INFO_KCD_LEFT. */ /* * External types */ typedef enum { E_EDITOR_INIT, E_EDITOR_DEINIT, E_EDITOR_UPDATE, E_EDITOR_CURSOR_END /*SPR 1392*/ } e_editor_events; typedef void (*T_EDIT_CB) (T_MFW_HND, USHORT, USHORT); typedef struct { T_MFW_EDT_ATTR editor_attr; BOOL hide; USHORT LeftSoftKey; USHORT AlternateLeftSoftKey; USHORT RightSoftKey; USHORT Identifier; UBYTE mode; USHORT TextId; char *TextString; UBYTE min_enter; ULONG timeout; T_EDIT_CB Callback; UBYTE destroyEditor; char *FormatString; // SH - Formatting string for formatted input int formatIndex; // SH - Position in formatting string int fieldIndex; // SH - position within a delimited field } T_EDITOR_DATA; //Zone data for drawing windows #define ZONE_FULL_HEIGHT 0x000F #define ZONE_TOPHALF_HEIGHT 0x000C #define ZONE_MIDDLE_HEIGHT 0x0006 #define ZONE_BOTTOMHALF_HEIGHT 0x0003 #define ZONE_FULL_WIDTH 0x00F0 #define ZONE_LEFTHALF_WIDTH 0x00C0 #define ZONE_MIDDLE_WIDTH 0x0060 #define ZONE_RIGHTHALF_WIDTH 0x0030 #define ZONE_ICONS 0x0100 #define ZONE_TITLE 0x0200 #define ZONE_CASE_ABC 0x0400 #define ZONE_SOFTKEYS 0x1000 #define ZONE_FULLSCREEN (ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) #define ZONE_FULLICONS (ZONE_ICONS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) #define ZONE_FULLTITLE (ZONE_TITLE|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) #define ZONE_FULLSOFTKEYS (ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) #define ZONE_FULL_SK_TITLE (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) #define ZONE_FULL_SK_TITLE_ALPHA (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH | ZONE_CASE_ABC) #define ZONE_WAP_EDITOR (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH) //Specific editor sizes #define ZONE_SMALL_EDITOR (0xFF00) /* editor for small (one line) editors */ #define ZONE_BORDER_EDITOR (0xFE00) /* editors with a border to the left/right - sim toolkit */ #define ZONE_BOTTOM_LINE (0xFD00) /* editors for the bottom line */ #define ZONE_BOTTOM_LINE_FIND (0xFC00) /* editors on the bottom line after "Find:" */ /* PROTOTYPES */ extern T_MFW_HND editor_start (T_MFW_HND parent, T_EDITOR_DATA * editor_data); extern T_MFW_HND editor_start_common(T_MFW_HND win, char * buffer, U16 len, T_EDITOR_DATA * editor_info, T_EDIT_CB editor_cb); int showeZiTextIcon(MfwMnu* m, MfwMnuItem* i); int Easy_Activate(MfwMnu* m, MfwMnuItem* i); int Easy_DeActivate(MfwMnu* m, MfwMnuItem* i); //API - 01/10/02 - Concatenation Switch Function Definition int Concatenate_DeActivate(MfwMnu* m, MfwMnuItem* i); int Concatenate_Activate(MfwMnu* m, MfwMnuItem* i); int Concatenate_Status(MfwMnu* m, MfwMnuItem* i); extern void editor_destroy (T_MFW_HND window); extern void editor_attr_init(MfwEdtAttr* attr, int zone_id, U8 mode, U8 *controls, char *text, U16 size, int colour); 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); #endif /* _DEF_MMI_EDITOR */