diff g23m/condat/ms/src/bmi/MmiMenu.c @ 0:509db1a7b7b8

initial import: leo2moko-r1
author Space Falcon <falcon@ivan.Harhan.ORG>
date Mon, 01 Jun 2015 03:24:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/g23m/condat/ms/src/bmi/MmiMenu.c	Mon Jun 01 03:24:05 2015 +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
+
+*******************************************************************************/
+