diff g23m/condat/ms/src/mfw/mfw_mnu.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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/g23m/condat/ms/src/mfw/mfw_mnu.h	Mon Jun 01 03:24:05 2015 +0000
@@ -0,0 +1,211 @@
+/*
++--------------------------------------------------------------------+
+| PROJECT: MMI-Framework (8417)         $Workfile:: mfw_mnu.h       $|
+| $Author:: Le  $ CONDAT GmbH           $Revision:: 10              $|
+| CREATED: 23.11.98                     $Modtime:: 4.01.00 13:30    $|
+| STATE  : code                                                      |
++--------------------------------------------------------------------+
+
+   MODULE  : MFW_MNU
+
+   PURPOSE : Keyboard types & constants
+
+   EXPORT  :
+
+   TO DO   :
+
+   $History:: mfw_mnu.h                                             $
+
+        Shashi Shekar B.S., a0876501, 16 Mar, 2006, OMAPS00061462
+       Icon support for SetupMenu & Select item.
+  
+ *
+ * ************************************************
+ * User: xreddymn           Date: Dec-16-2004
+ * Updated in $/GSM/Condat/MS/SRC/MFW
+ * Added double line display for MFW list menu items
+ *
+ * *****************  Version 10  *****************
+ * User: Le           Date: 6.01.00    Time: 9:23
+ * Updated in $/GSM/Condat/MS/SRC/MFW
+ * Alignment of MFW versions
+ *
+ * *****************  Version 2  *****************
+ * User: Es           Date: 22.11.99   Time: 10:29
+ * Updated in $/GSM/Condat/SND-MMI/MFW
+ *
+ * *****************  Version 1  *****************
+ * User: Es           Date: 18.11.99   Time: 16:35
+ * Created in $/GSM/Condat/SND-MMI/MFW
+ * Initial
+*/
+
+#ifndef _DEF_MFW_MNU_H_
+#define _DEF_MFW_MNU_H_
+
+                                        /* MENU MODES               */
+                                        /* ALIGNMENT                */
+#define MNU_LEFT        0x0001          /* left aligned             */
+#define MNU_RIGHT       0x0002          /* right aligned            */
+#define MNU_CENTER      0x0003          /* centered                 */
+#define MNU_ALIGN       0x0003          /* alignment mode mask      */
+                                        /* MENU MODES HEADER              */
+                                        /* ALIGNMENT                */
+#define MNU_HDR_LEFT		0x0004          /* left aligned             */
+#define MNU_HDR_RIGHT		0x0008          /* right aligned            */
+#define MNU_HDR_CENTER		0x000C          /* centered                 */
+#define MNU_HDR_ALIGN		0x000C          /* alignment mode mask      */
+
+                                        /* DISPLAY                  */
+#define MNU_OVERLAPPED  0x0010          /* location as specified    */
+#define MNU_PAGED       0x0020          /* single item per page     */
+#define MNU_LIST        0x0030          /* list items on page       */
+#define MNU_LIST_ICONS  0x0040          /* list items on page with icon for each      */
+#define MNU_PAGE_ICONS  0x0050          /*  page with multiple 2-state icons      */
+#define MNU_LIST_2_LINE	0x0060          /* list with each item occupying two lines. xreddymn Dec-16-2004 */
+#define MNU_LIST_COLOUR 	0x00F0		/* list items on page - each item is a different colour */
+#define MNU_DISPLAY     0x00F0          /* display mode mask        */
+
+                                        /* ITEM SELECTION           */
+#define MNU_FRAMED      0x0100          /* selection by frame       */
+#define MNU_CUR_ARROW   0x0200          /* selection by arrow       */
+#define MNU_CUR_STAR    0x0300          /* selection by star        */
+#define MNU_CUR_BLOCK   0x0400          /* selection by block       */
+#define MNU_CUR_LINE    0x0500          /* selection by line        */
+#define MNU_ITEMSEL     0x0f00          /* item select mode mask    */
+
+#define MNU_HDRFORMAT_STR	0x8000		/* 0=Text ID, 1=Text string in supplied language */
+
+                                        /* MENU EVENTS              */
+#define E_MNU_VISIBLE   0x00000001      /* menu is displayed        */
+#define E_MNU_EMPTY     0x00000002      /* menu is empty            */
+#define E_MNU_SELECT    0x00000010      /* menu item selected       */
+#define E_MNU_ESCAPE    0x00000020      /* menu escape              */
+#define E_MNU_TOPPED    0x00000040      /* menu over top            */
+#define E_MNU_BOTTOMED  0x00000080      /* menu under bottom        */
+#define E_MNU_PREDRAW   0x00000100      /* item will be drawn       */
+#define E_MNU_POSTDRAW  0x00000200      /* item has been drawn      */
+
+                                        /* ITEM EXTENSION FLAGS     */
+#define MNU_ITEM_HIDE       0x0001      /* item is hidden           */
+#define MNU_ITEM_NOTIFY     0x0002      /* notify on draw           */
+#define MNU_ITEM_ANIMA      0x0004      /* icon animation           */
+#define MNU_ITEM_FONT       0x0008      /* use font (disabled, ...) */
+#define MNU_ITEM_STATED     0x0010      /* item has status          */
+#define MNU_ITEM_RADIO      0x0020      /* item is radio button     */
+#define MNU_ITEM_HOTKEY     0x0040      /* item can have hotkey     */
+#define MNU_ITEM_UNCHECKED	0x0080		  /* SPR#998 - SH -Item in checklist, unchecked */
+#define MNU_ITEM_CHECKED	  0x0100	  /* SPR#998 - SH - Item in checklist, checked */
+
+
+
+#define MAX_LVL         100             /* maximum of menu level    */
+#define UNUSED          -1              /* unused menu level        */
+
+// Shashi Shekar B.S., a0876501, 16-Jan-2006, OMAPS00061460
+#ifdef FF_MMI_SAT_ICON
+#define TITLE_ICON_WIDTH			10
+#define TITLE_ICON_HEIGHT			16
+#define LINE_ICON_WIDTH			10
+extern const unsigned char SATIconQuestionMark[];
+#endif
+
+/* SPR#1983 - SH - These are the different text encodings for menus */
+
+typedef enum
+{
+	MNU_LIST_LANGUAGE_DEFAULT	= 0,
+	MNU_LIST_LANGUAGE_UNICODE,
+	MNU_LIST_LANGUAGE_ASCII
+} MfwMnuListLanguageType;
+
+typedef struct MfwMnuItemTag; 
+typedef struct MfwMnuAttrTag;  
+typedef struct MfwMnuTag;      
+
+                                        /* menu function            */
+typedef int (*MenuFunc)(struct MfwMnuTag* m, struct MfwMnuItemTag* i);
+                                        /* item flag function       */
+typedef U16 (*FlagFunc)(struct MfwMnuTag *m, struct MfwMnuAttrTag *a,
+                                             struct MfwMnuItemTag *i);
+
+
+typedef struct MfwItmExtPredrawTag      /* item ext: predraw        */
+{
+    char *str;                          /* string to be drawn       */
+    MfwIcnAttr *icon;                   /* icon to be drawn         */
+} MfwItmExtPredraw;
+
+typedef struct MfwMnuItemTag            /* menu item                */
+{
+    MfwIcnAttr * icon;                  /* item with icon control   */
+    void *exta;                         /* item extension data      */
+    MfwHnd x;//edit;                        /* Must be removed ES!!     */
+    char* str;                          /* item with textId (GW)     */
+    struct MfwMnuAttrTag *menu;         /* item with submenu        */
+    MenuFunc func;                      /* item with handler        */
+    FlagFunc flagFunc;                  /* item flag function       */
+} MfwMnuItem;
+
+typedef struct MfwMnuAttrTag            /* menu attributes          */
+{
+    MfwRect *area;                      /* menu area                */
+    U16 mode;                           /* menu modes               */
+    U8 font;                            /* default menu font        */
+    MfwMnuItem *items;                  /* menu items               */
+    U8 nItems;                          /* number of menu items     */
+	U32 mnuColour;				//GW index as to what the colour is going to be
+    int  hdrId;					//GW Added
+    MfwIcnAttr *bgdBitmap;		//GW Added for background for menus
+   int unused;					//GW Added and removed definition
+ // Shashi Shekar B.S., a0876501, Feb 4, 2006, DR: OMAPS00061462
+#ifdef FF_MMI_SAT_ICON
+	MfwIcnAttr *icon;				/* Icon to be displayed in the header.*/
+#endif
+} MfwMnuAttr;
+//If 'unused' is to be used, remove the definition below and add the required definition into the code
+#define MNUATTRSPARE 0
+typedef struct MfwMnuTag                /* menu control block       */
+{
+    MfwEvt mask;                        /* selection of events      */
+    MfwEvt flags;                       /* current event            */
+    MfwCb handler;                      /* menu event handler       */
+    MfwMnuAttr *attr;                   /* menu attributes          */
+    MfwMnuAttr *curAttr;                /* current attributes       */
+    MfwHnd useStrID;                    /* GW 0=Text is passed as ID's ,   1=txt is strings     */
+    MfwHnd useDefLang;					/* GW 0=Set text display to ascii, 1=txt is in language default*/
+    U8 level;                           /* current level            */
+	U8 lShift[MAX_LVL];					/* shift scrolling			*/
+    U8 lCursor [MAX_LVL];               /* level cursor position    */
+    U8 scrollMode;						
+    int nLines;							/* Number of lines that ftn on screen */
+    UBYTE textDCS;		/* specify the data type of text (ASCII, Unicode etc) */
+} MfwMnu;
+
+MfwRes mnuInit (void);
+MfwRes mnuExit (void);
+MfwHnd mnuCreate (MfwHnd w, MfwMnuAttr *a, MfwEvt e, MfwCb Mnu);
+MfwRes mnuDelete (MfwHnd m);
+MfwHnd mnuLang (MfwHnd m, MfwHnd l);
+MfwHnd mnuStrType (MfwHnd m, MfwHnd l); //GW
+MfwRes mnuShow (MfwHnd m);
+MfwRes mnuHide (MfwHnd m);
+MfwRes mnuUnhide (MfwHnd m);//GW added 29/11/01
+MfwRes mnuUpdate (MfwMnu *m);
+MfwRes mnuUp (MfwHnd m);
+MfwRes mnuDown (MfwHnd m);
+MfwRes mnuEscape (MfwHnd m);
+MfwRes mnuSelect (MfwHnd m);
+MfwRes mnuDone (MfwHnd m);
+MfwRes mnuKeyAction (MfwHnd m, U8 keycode);
+MfwRes mnuChooseVisibleItem(MfwHnd m,U8 nItem);
+U8 mnuCountVisibleItems(MfwHnd m);
+U8 mnuCountCurrentVisibleItem(MfwHnd m);
+void mnuScrollMode (MfwHnd menu,U8 mode);
+
+void mnuInitDataItem(MfwMnuItem* mnuItem);
+int mnuIdentify(struct MfwMnuAttrTag *attr, struct MfwMnuItemTag *item); /*SPR#998 - SH - added*/
+
+
+
+#endif