⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmidialogs.h

📁 是一个手机功能的模拟程序
💻 H
字号:
//#error MmiDialogs includiert
#ifndef _DEF_MMI_DIALOGS_H_
#define _DEF_MMI_DIALOGS_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:   MmiDialogs
 $File:       MmiDialogs.h
 $Revision:   1.0

 $Author:   Condat(UK)
 $Date:       25/10/00

********************************************************************************

 Description:

  MMI Information dialogue handling.


********************************************************************************
 $History: MmiDialogs.h

  25/10/00      Original Condat(UK) BMI version.

 $End

*******************************************************************************/
/********************************************************************************
 $History: MmiDialogs.h

  22/07/02      zy Mobile Innovation add the dialog display_data

 $End

*******************************************************************************/

#define TIMER_EXIT  0x0BB8             /* Default SMS timer period - 3 secs.  */
                                       /* Information dialogue display times. */
#define ONE_SECS  0x03E8        /* 1000 milliseconds.     */
#define TWO_SECS  0x07D0        /* 2000 milliseconds.     */
#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.               */

/* 2004/05/19 sunsj add */
#if(MAIN_LCD_SIZE==4)
#define POP_WINDOWS_WIDTH	84
#elif(MAIN_LCD_SIZE==3)
#define POP_WINDOWS_WIDTH	100
#endif
/*
#define SMS_PROMPTX      5
#define SMS_PROMPTY     45
#define PROMPTX          7
#define PROMPTY         17
#define INFO_TEXTX      6
#define INFO_TEXTY      15
#define INFO_TEXTY2     26
#define INFO_TEXTY3     37
#define FRAMEX1          4
#define FRAMEY1         14
#define FRAMEX2         92
#define FRAMEY2         52*//*2003/12/13, wangyan delete*/

/*
 * common template definitions
 */
typedef void (*T_DIALOG_FUNC)(T_MFW_HND win, USHORT event, USHORT value, void * parameter);


typedef struct
{
  T_DIALOG_FUNC  dialog;
  void         * data;
} T_MMI_CONTROL;

#define ALLOC_MEMORY mfwAlloc
#define FREE_MEMORY  mfwFree

extern  void mmi_send_event (T_MFW_HND win, USHORT event, USHORT value, void * parameter);

#define SEND_EVENT(w,e,v,p) mmi_send_event(w,e,v,p)

/*
 * End of common template definitions
 */

 /*
 * Definitions from common dialog function
 */

//Berlin_UK int
/* kk 011102
  typedef void   (*T_VOID_FUNC)();
  typedef short  (*T_SHORT_FUNC)();
*/
//Berlin_UK int
//GW-SPR#762 wrap definitions
#define WRAP_STRING_1 (0x01)
#define WRAP_STRING_2 (0x02)

typedef struct
{
  char *       TextString;
  BOOL			SoftKeyStrings;		// SH - TRUE if we are providing strings for softkeys rather than IDs
  USHORT       LeftSoftKey;
  USHORT       RightSoftKey;
  char			*LSKString;			// SH - Text for customised softkey
  char			*RSKString;			// SH - Text for customised softkey
  ULONG        Time;
  T_MFW_EVENT  KeyEvents;
  USHORT       TextId;
  USHORT       Identifier;
  char *       TextString2;
  USHORT       TextId2;
  T_VOID_FUNC  Callback;
  UBYTE			WrapStrings;	// GW-SPR#762 - bits 0,1 set=wrap string 1,2
  MfwIcnAttr     * icn;//zy Mobile Innovation add the dialog with icon
  UINT32       FontColor;
  UINT32       BackColor;
  USHORT      iconindex;//zy 1106 for groupIcon
  char *       TextString3;
  USHORT       TextId3;
} T_DISPLAY_DATA;

/*typedef struct
{
  USHORT       TitleTextId;
  char *       TextString;
  MfwEdtAttr   	EdtAttrScroll;
  USHORT       LeftSoftKey;
  USHORT       RightSoftKey;
  ULONG        Time;
  T_MFW_EVENT  KeyEvents;
  USHORT       Identifier;
  T_VOID_FUNC  Callback;
} T_SCROLL_DISPLAY_DATA;*//*2003/12/13, wangyan delete*/
/*
 * Function expected from Info Dialog
 */
#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_ALL   8
#define INFO_KCD_CLEAR 9
#define INFO_KCD_OFFHOOK 10
#define INFO_KCD_CALL 11
#define INFO_KCD_F4  12

/*#ifndef PROMPT_LENGTH
#define PROMPT_LENGTH    20
#endif*//*2003/12/13, wangyan delete*/

#ifndef TOP_POSITION
#define TOP_POSITION   12
#endif

void dialog_info_init(T_DISPLAY_DATA * display_info);
extern  T_MFW_HND info_dialog (T_MFW_HND        parent_win,
                               T_DISPLAY_DATA * display_info);

T_MFW_HND info_dialog_softkeystrings (T_MFW_HND parent_win, T_DISPLAY_DATA * display_info);

extern T_MFW_HND mmi_dialog_information_screen(T_MFW_HND parent_win, USHORT TxtId2,USHORT TextId,
          T_VOID_FUNC call_back, USHORT identifier);

/* 2004/04/22 sunsj */
extern void displayTitle( int start_x, const char *TitleString, const char *TitleNum, int position, int FrgColor, int BkgColor );

#if 1    
extern void dlg_zeroDisplayData( T_DISPLAY_DATA *displayInfo);
extern void dlg_initDisplayData_TextId( T_DISPLAY_DATA *displayInfo, int lsk, int rsk, int str1, int str2);
extern void dlg_initDisplayData_TextStr( T_DISPLAY_DATA *displayInfo, int lsk, int rsk,char *str1, char *str2);
extern void dlg_initDisplayData_events( T_DISPLAY_DATA *displayInfo, T_VOID_FUNC callback, int timer, T_MFW_EVENT keyEvents);
#endif


/*GB*/
void mmi_dialogs_insert_icon (T_MFW_HND win_dialog ,MfwIcnAttr *icon);
void mmi_dialogs_insert_animation (T_MFW_HND win_dialog ,S32 anim_time ,MfwIcnAttr *icon ,UBYTE number_of_frames);

/*
 * Internal events
 */
#define DIALOG_INIT    200
#define DIALOG_DESTROY 201

// c018 rsa
typedef int DisplayData; // ??? rsa  needed!?
typedef int DialogInfo; // ??? rsa  needed!?

typedef enum
            {
             DIALOGS_REASON_NULL = DialogsDummy,
             DIALOGS_REASON_TIMER,
             DIALOGS_REASON_LEFTKEY,
             DIALOGS_REASON_RIGHTKEY,
             DIALOGS_REASON_CLEARKEY
            }DialogReasons;
typedef enum
            {
             REMIND_START=110,
             REMIND_SUCCEED,             
             REMIND_FAILURE,
             REMIND_REQUIRE,
             REMIND_NORECORD,
             REMIND_DELETING,
             REMIND_COPYING,
             REMIND_SAVING,
             REMIND_SEARCHING,
             REMIND_COMPLETE,
             REMIND_WAITTING,
             REMIND_DELETEALL,
             REMIND_WAP,
             REMIND_END
            }ReminderReasons;

 /* 2003/12/4, wangyan modify*//*
#define MMI_TIMER_STATISTICS				 	200
#define SERVICES_AOC_STATISTICS				201
#define MMI_PHONEBOOK_MEMORYSTATE			202
#define MMI_VOICEMEMO_MEMROYSTATE			203
#define MMI_MESSAGE_MEMORYSTATE				204
#define MMI_OUTGOING_CALL_DIALOG_NORMAL		205
#define MMI_OUTGOING_CALL_DIALOG_SAT			206
#define MMI_OUTGOING_CALL_DIALOG_RINGOFF	207
#define MMI_INCOMING_CALL_DIALOG_NORMAL		208
#define MMI_CALL_ACTIVE						209
#define MMI_SHOWCALLICON_DIALOG				210
#define MMI_OUTGOING_CALL_SAT_RINGOFF		211
#define MMI_CALLFORWARD_DIALOG_NORMAL		212
#define SMS_SENDING_MSG						213
#define IDENTIFIER_CLOCK						214
#define StartAnimDialog							215
#define StartAnimNoSimcard						216
#define RECTCALLDETAIL							217 
#define LOW_VOLTAGE_WARNING					218 *//*2003/12/16, wangyan modify*/
 /* 2003/12/4, wangyan modify*/

typedef enum
            {
		MMI_TIMER_STATISTICS=200,
		SERVICES_AOC_STATISTICS,
		MMI_PHONEBOOK_MEMORYSTATE,
		MMI_VOICEMEMO_MEMROYSTATE,
		MMI_MESSAGE_MEMORYSTATE,
		MMI_OUTGOING_CALL_DIALOG_NORMAL,
		MMI_OUTGOING_CALL_DIALOG_SAT,
		MMI_OUTGOING_CALL_DIALOG_RINGOFF,
		MMI_OUTGOING_REDIAL,/*2004/4/27, wangyan add*/
		MMI_INCOMING_CALL_DIALOG_NORMAL,
		MMI_CALL_ACTIVE,
		MMI_SHOWCALLICON_DIALOG,
		MMI_OUTGOING_CALL_SAT_RINGOFF,
		MMI_CALLFORWARD_DIALOG_NORMAL,
		SMS_SENDING_MSG,
		IDENTIFIER_CLOCK,
		StartAnimDialog,
		StartAnimNoSimcard,
		RECTCALLDETAIL,
		LOW_VOLTAGE_WARNING,
		StartSwitchoffDialog
 		}MMI_DIAOLOG_IDENTIFIERS;

#if (MAIN_LCD_SIZE==3)
#define DIALOG_FIRST_LINE						37//原来是38
#define DIALOG_SECOND_LINE						53//原来52
#define DIALOG_THIRD_LINE						66
#define DIALOG_FOURTH_LINE						80
#define DIALOG_HALF_FIRSTSECOND          (DIALOG_FIRST_LINE+DIALOG_SECOND_LINE)/2//jhxu714
#elif ( MAIN_LCD_SIZE==4 )
	#define DIALOG_FIRST_LINE						14
	#define DIALOG_SECOND_LINE						32
	#define DIALOG_THIRD_LINE						50
	#define DIALOG_FOURTH_LINE						68

#elif ( MAIN_LCD_SIZE==2 )
	#define DIALOG_FIRST_LINE						18
	#define DIALOG_SECOND_LINE						33
	#define DIALOG_THIRD_LINE						48
	#define DIALOG_FOURTH_LINE						64
#endif

// 2004.3.5 WYJ add 
typedef enum
{
	POP_ICONSUCESS = 0,
	POP_ICONFAILED,
	POP_ICONREQUIRE,
	POP_ICONFORBID,
	POP_ICONINDICATE,
	POP_ICONCOMFIRM,
	POP_ICONSAVE,							// 2 pic 
	POP_ICONWAIT,							// 2 pic
	POP_ICONCOPY,							// 2 pic
	POP_ICONDELETE,							// 2 pic
	POP_END
}POP_TYPE;
// end of 2004.3.5 WYJ add 

#if (MAIN_LCD_SIZE==3)
typedef enum
{
	    CALLOUTGOINGANIM=1,
		CALLACTIVEANIM,
		CALLREDIALANIM,
		CALLALERTANIM,
		CALLFORWARDANIM,
		CALLINCOMINGANIM,
		WELCOMEANIM,
		GOODBYEANIM,
		NETWORKSEARCHINGANIM,
		SENDINGSMSANIM,
		SMSSENDINGSUCANIM,
		WAITINGANIM,
		CALLFAILANIM,
		CALLNOTCONNECTANIM,
		NOSIMCARDANIM
}AnimationReason;

#elif ( MAIN_LCD_SIZE==4 )
typedef enum
{
	CALLOUTGOINGANIM=1,
	CALLACTIVEANIM,
	CALLREDIALANIM,
	CALLALERTANIM,
	CALLFORWARDANIM,
	CALLINCOMINGANIM,
	WELCOMEANIM,
	GOODBYEANIM,
	NETWORKSEARCHINGANIM,
	SENDINGSMSANIM,
	SMSSENDINGSUCANIM,
	WAITINGANIM,
	CALLFAILANIM,
	CALLNOTCONNECTANIM,
	NOSIMCARDANIM
}AnimationReason;

#endif

void dialog_drawPopIcon(POP_TYPE type);

#endif

USHORT GetDiaolgIden(T_MFW_HND win);//zy add 2003-04-16

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -