FreeCalypso > hg > fc-magnetite
diff src/aci2/bmi/MmiMenu.c @ 3:93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 26 Sep 2016 00:29:36 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/aci2/bmi/MmiMenu.c Mon Sep 26 00:29:36 2016 +0000 @@ -0,0 +1,385 @@ +/******************************************************************************* + + 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: Menus + $File: MmiMenu.c + $Revision: 1.0 + + $Author: Condat(UK) + $Date: 25/10/00 + +******************************************************************************** + + Description: + + This provides the implementation of the main menu handling for the basic + MMI + +******************************************************************************** + $History: MmiMenu.c + + 25/10/00 Original Condat(UK) BMI version. + + $End + +*******************************************************************************/ + + +/******************************************************************************* + + Include files + +*******************************************************************************/ + +#define ENTITY_MFW + +/* includes */ +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#if defined (NEW_FRAME) + +#include "typedefs.h" +#include "vsi.h" +#include "pei.h" +#include "custom.h" +#include "gsm.h" + +#else + +#include "STDDEFS.H" +#include "custom.h" +#include "gsm.h" +#include "vsi.h" + +#endif +#include "mfw_sys.h" + +#include "prim.h" + + +#include "mfw_mfw.h" +#include "mfw_win.h" +#include "mfw_kbd.h" +#include "mfw_lng.h" +/* SPR#1428 - SH - New Editor changes */ +#ifndef NEW_EDITOR +#include "mfw_edt.h" +#endif +#include "mfw_icn.h" +#include "mfw_mnu.h" +#include "mfw_phb.h" +#include "mfw_sim.h" +#include "mfw_nm.h" +#include "mfw_tim.h" +#include "mfw_sms.h" +#include "mfw_icn.h" +#include "mfw_sat.h" + +#include "dspl.h" + +#include "ksd.h" +#include "psa.h" + + +#include "MmiMmi.h" +#include "MmiMain.h" +#include "MmiStart.h" + +#include "MmiDummy.h" +#include "MmiDialogs.h" +#include "MmiLists.h" +#include "mmiSmsBroadcast.h" + +#include "MmiMenu.h" +#include "MmiSimToolkit.h" + + +#include "MmiSounds.h" +#include "MmiSettings.h" +#include "MmiServices.h" +#include "MmiPins.h" +#include "Mmiicons.h" +#include "MmiNetwork.h" +#include "MmiUserData.h" +#include "MmiSoftKeys.h" +#include "MmiTimeDate.h" +#include "MmiIdle.h" + + +#include "cus_aci.h" + +#include "prim.h" +#ifndef PCM_2_FFS +#include "pcm.h" +#endif + +/******************************************************************************* + + Private definitions + +*******************************************************************************/ + + +/* next define used for code that might be removed +*/ +#define KEEP 0 + + + + +/******************************************************************************* + + Global Data Elements + +*******************************************************************************/ + +/* Menus display area +*/ + + + +/******************************************************************************* + + Module Global Data Elements + +*******************************************************************************/ + +MfwHnd MenuWin = (MfwHnd) 0; + +static MfwHnd win=0; /* our window */ +static MfwHnd mnu; /* our menu */ +static MfwHnd kbd; /* our keyboard */ +static MfwHnd kbdLong; + + +static SimMenuFunc SimCallback; +static MfwHnd SimWindow; + +static MmiState nextState; /* next state when finished */ +static BOOL fromHotKey; +static BOOL flagHotKey; + +static const int OperatorIndex = 1; + + +/******************************************************************************* + + Local function prototypes + +*******************************************************************************/ + + +/******************************************************************************* + + $Function: leftKeyEventHandler + + $Description: invokes the menu select handler + + $Returns: as per mnuSelect + + $Arguments: event, to be handled + keynoard, handle + +*******************************************************************************/ + +static int leftKeyEventHandler( MfwEvt event, MfwKbd *keyboard) +{ + return mnuSelect(mnu); +} + + + + + +/******************************************************************************* + + $Function: rightKeyEventHandler + + $Description: invokes the menu escape handler + + $Returns: as per mnuEscape + + $Arguments: event, to be handled + keynoard, handle + +*******************************************************************************/ + +static int rightKeyEventHandler( MfwEvt event, MfwKbd *keyboard) +{ + return mnuEscape(mnu); +} + + + + + +/******************************************************************************* + + $Function: menuSimItemCallback + + $Description: invokes the SimCallback function if it is allocated + + $Returns: MfwResOk, always + + $Arguments: m, menu being activated, i, item in menu + +*******************************************************************************/ + +int menuSimItemCallback( MfwMnu* m, MfwMnuItem* i) +{ + if( SimCallback != NULL ) + SimCallback(SimWindow); + + return MfwResOk; +} + + + + +/******************************************************************************* + + Public Routines + +*******************************************************************************/ + +/******************************************************************************* + + $Function: item_flag_none + + $Description: Attribut function for menu entries. This function shall + be used for all cases of no specific attributes (default) + + $Returns: zero always + + $Arguments: m, ma, mi - not used + +*******************************************************************************/ + +USHORT item_flag_none( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi ) +{ + return 0; +} + +//xpradipg - Aug 4:changes for WAP2.0 Menu +#if defined (FF_WAP) && defined (FF_GPF_TCPIP) +USHORT item_flag_WAP_2_0( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi ) +{ + return (HTTP_Selected()?0:1); +} +#endif +/******************************************************************************* + + $Function: item_flag_hide + + $Description: Attribut function for menu entries. This function shall + be used for all cases of hiding menu entries. + + $Returns: MNU_ITEM_HIDE always + + $Arguments: m, ma, mi - not used + +*******************************************************************************/ + +USHORT item_flag_hide( T_MFW_MNU *m, T_MFW_MNU_ATTR *ma, T_MFW_MNU_ITEM *mi ) +{ + return MNU_ITEM_HIDE; +} + + + + + + + +/******************************************************************************* + + $Function: menuIsFocussed + + $Description: Returns 1 if the menu window has the focus, else returns 0. + + $Returns: Returns 1 if the menu window has the focus, else returns 0. + + $Arguments: None + +*******************************************************************************/ + +int menuIsFocussed( void ) +{ + return winIsFocussed( win ); +} + + + + + + + + + +/******************************************************************************* + + $Function: menuEnableSimMenu + + $Description: Unhides the SIM toolkit menu item, using <label> as the label. + If <label> is 0, the default label is used. If the SIM toolkit + menu item is invoked by the user, <simCallback> gets called + with argument <window>, unless <simCallback> is 0. + + $Returns: None + + $Arguments: label, simCallBack, simWindow as indicated above + +*******************************************************************************/ + +void menuEnableSimMenu( char *label, SimMenuFunc simCallback, MfwHnd simWindow ) +{ + + TRACE_FUNCTION("menuEnableSimMenu"); + + SimCallback = simCallback; + + /* parameter to callback + */ + SimWindow = simWindow; +} + + + + + + +/******************************************************************************* + + $Function: menuDisableSimMenu + + $Description: Hides the SIM toolkit menu item + + $Returns: None + + $Arguments: None + +*******************************************************************************/ + +void menuDisableSimMenu(void) +{ + TRACE_FUNCTION("menuDisableSimMenu"); +} + +/******************************************************************************* + + End Of File + +*******************************************************************************/ +