menufw/hierarchynavigator/hnpresentationmodel/inc/hnmenuitemmodel.h
changeset 4 4d54b72983ae
parent 0 f72a12da539e
equal deleted inserted replaced
3:fb3763350a08 4:4d54b72983ae
    93 NONSHARABLE_CLASS( CHnMenuItemModel ):
    93 NONSHARABLE_CLASS( CHnMenuItemModel ):
    94     public CBase,
    94     public CBase,
    95     public MHnMenuItemModelIterator
    95     public MHnMenuItemModelIterator
    96     {
    96     {
    97 public:
    97 public:
       
    98 	enum THnMenuItemType {
       
    99 		EItemApplication,	//in options with & without focus
       
   100 		EItemAction,		//in options with focus
       
   101 		EItemSpecific		//in options with focus & in stylus popup
       
   102 	};
       
   103     
       
   104 public:
    98         
   105         
    99     /**
   106     /**
   100      * Two-phased constructor.
   107      * Two-phased constructor.
   101      * 
   108      * 
   102      * @since S60 5.0
   109      * @since S60 5.0
   183      * @param aPosition Position of item in menu.
   190      * @param aPosition Position of item in menu.
   184      */
   191      */
   185     IMPORT_C void SetPosition( TInt aPosition );
   192     IMPORT_C void SetPosition( TInt aPosition );
   186     
   193     
   187     /**
   194     /**
   188      * Sets menu item specific flag.
   195      * Sets menu item type.
   189      *
   196      *
   190      * @since S60 5.0
   197      * @since S60 5.0
   191      * @param aItemSpecific Is menu element item specific.
   198      * @param aMenuItemType type of menu element.
   192      */
   199      */
   193     IMPORT_C void SetItemSpecific( TBool aItemSpecific );
   200     IMPORT_C void SetMenuItemType( THnMenuItemType aMenuItemType );
   194 
   201 
   195     /**
   202     /**
   196      * Appends child item.
   203      * Appends child item.
   197      *
   204      *
   198      * @since S60 5.0
   205      * @since S60 5.0
   199      * @param aMenuModel Menu item model.
   206      * @param aMenuModel Menu item model.
   200      */
   207      */
   201     IMPORT_C void AppendChildMenuL( CHnMenuItemModel* aMenuModel );
   208     IMPORT_C void AppendChildMenuL( CHnMenuItemModel* aMenuModel );
   202     
   209     
   203     /**
   210     /**
   204      * Tells if menu item is item specific.
   211      * Returns menu item type.
   205      * 
   212      * 
   206      * @since S60 5.0
   213      * @since S60 5.0
   207      * @return ETrue if menu item is item specific.
   214      * @return menu item type.
   208      */
   215      */
   209     IMPORT_C TBool IsItemSpecific();
   216     IMPORT_C THnMenuItemType MenuItemType();
   210     
   217     
   211 private:
   218 private:
   212     
   219     
   213     /**
   220     /**
   214      * Default constructor.
   221      * Default constructor.
   251      * Children pointer array.
   258      * Children pointer array.
   252      */
   259      */
   253     RPointerArray< CHnMenuItemModel > iChildren;
   260     RPointerArray< CHnMenuItemModel > iChildren;
   254     
   261     
   255     /**
   262     /**
   256      * Is menu item item specific.
   263      * Type of menu item.
   257      */
   264      */
   258     TBool iItemSpecific;
   265     THnMenuItemType iMenuItemType;
   259     };
   266     };
   260 
   267 
   261 #endif // HNMENUITEMMODEL_H_
   268 #endif // HNMENUITEMMODEL_H_