classicui_plat/extended_options_menu_api/inc/akncollection.h
branchRCL_3
changeset 23 3d340a0166ff
parent 4 8ca85d2f0db7
child 25 941195f2d488
equal deleted inserted replaced
18:0aa5fbdfbc30 23:3d340a0166ff
    59          */
    59          */
    60         EStateViewOnly                = 0x00000008
    60         EStateViewOnly                = 0x00000008
    61         };
    61         };
    62 
    62 
    63     /**
    63     /**
       
    64      * Enum for collection extension types.
       
    65      */
       
    66     enum TExtensionType
       
    67         {
       
    68         /**
       
    69          * Collection supports multiple marking mode
       
    70          */
       
    71         EAknMarkingCollection = 1
       
    72         };
       
    73 
       
    74     /**
    64      * Returns the collection state. The state is combination of
    75      * Returns the collection state. The state is combination of
    65      * flags defined in @c TStateFlag. 
    76      * flags defined in @c TStateFlag. 
    66      *
    77      *
    67      * @return  Collection state.
    78      * @return  Collection state.
    68      */
    79      */
    83      */    
    94      */    
    84     virtual TInt CollectionExtension(
    95     virtual TInt CollectionExtension(
    85             TUint aExtensionId, TAny*& a0, TAny* a1 ) = 0;
    96             TUint aExtensionId, TAny*& a0, TAny* a1 ) = 0;
    86     };
    97     };
    87 
    98 
       
    99 
       
   100 /**
       
   101  * Collection marking mode handler.
       
   102  *
       
   103  * This interface is intended for those collections that implement
       
   104  * multiple marking mode and wish to use mode directly from options menu.
       
   105  *
       
   106  * @lib eikcoctl
       
   107  * @since S60 v5.2
       
   108  */
       
   109 class MAknMarkingCollection
       
   110     {
       
   111 public:
       
   112 
       
   113     /**
       
   114      * Extension type.
       
   115      */
       
   116     enum { TYPE = MAknCollection::EAknMarkingCollection };
       
   117 
       
   118     /**
       
   119      * Enum for collection state flags.
       
   120      */
       
   121     enum TStateFlag
       
   122         {
       
   123         /**
       
   124          * Collection is in multiple marking mode.
       
   125          */
       
   126         EStateMarkingMode     = 0x00000001,
       
   127         /**
       
   128          * Collection has marked items.
       
   129          */
       
   130         EStateMarkedItems             = 0x00000002,
       
   131         /**
       
   132          * Collection is empty
       
   133          */
       
   134         EStateCollectionEmpty         = 0x00000004
       
   135         };
       
   136 
       
   137     /**
       
   138      * Sets multiple marking state.
       
   139      *
       
   140      * @param aActive ETrue if multiple marking should be active.
       
   141      */
       
   142     virtual void SetMultipleMarkingState( TBool aActive ) = 0;
       
   143 
       
   144     /**
       
   145      * Request to end marking mode
       
   146      * 
       
   147      * @return ETrue if marking mode can be ended 
       
   148      */
       
   149     virtual TBool ExitMarkingMode() = 0;
       
   150     
       
   151     /**
       
   152      * Returns the collection marking state. The state is combination of
       
   153      * flags defined in @c TStateFlag. 
       
   154      *
       
   155      * @return  Marking state.
       
   156      */
       
   157     virtual TUint MarkingState() const = 0;
       
   158     
       
   159     /**
       
   160      * Marks the currently selected item.
       
   161      */
       
   162     virtual void MarkCurrentItemL() = 0;
       
   163      
       
   164     /**
       
   165      * Marks all items in the collection.
       
   166      */
       
   167     virtual void MarkAllL() = 0; 
       
   168 
       
   169     /**
       
   170      * Unmarks all items in the collection.
       
   171      */
       
   172     virtual void UnmarkAll() = 0; 
       
   173     
       
   174     /*
       
   175      * Can current item be marked
       
   176      * 
       
   177      * @return ETrue if item is markable
       
   178      */
       
   179     virtual TBool CurrentItemMarkable() = 0;
       
   180     
       
   181     };
       
   182 
    88 #endif // M_AKNCOLLECTION_H
   183 #endif // M_AKNCOLLECTION_H
       
   184