uifw/EikStd/coctlsrc/EIKMENUP.CPP
branchRCL_3
changeset 25 941195f2d488
parent 23 3d340a0166ff
child 29 a8834a2e9a96
equal deleted inserted replaced
23:3d340a0166ff 25:941195f2d488
   236         ESingleClickEnabled,
   236         ESingleClickEnabled,
   237         EHideItemSpecificCommands,
   237         EHideItemSpecificCommands,
   238         EContextSensitive,
   238         EContextSensitive,
   239         ESkipScrollbarUpdate,
   239         ESkipScrollbarUpdate,
   240         EHighlightEnabled,
   240         EHighlightEnabled,
   241         EHideViewSpecificCommands
   241         EHideViewSpecificCommands, 
       
   242         EHideMarkAndUnmark
   242         };
   243         };
   243 
   244 
   244     /**
   245     /**
   245      * Menu pane extension flags.
   246      * Menu pane extension flags.
   246      */
   247      */
  2258     if (iEditMenuObserver)
  2259     if (iEditMenuObserver)
  2259         {
  2260         {
  2260         iEditMenuObserver->DynInitMenuPaneL( aCascadeMenuId, iCascadeMenuPane );
  2261         iEditMenuObserver->DynInitMenuPaneL( aCascadeMenuId, iCascadeMenuPane );
  2261         }
  2262         }
  2262 
  2263 
       
  2264     if ( iExtension->iFlags.IsSet( CEikMenuPaneExtension::EHideMarkAndUnmark ) )
       
  2265         {
       
  2266         TInt pos; 
       
  2267         if ( iCascadeMenuPane->MenuItemExists( EAknCmdMark, pos ) ) 
       
  2268             {
       
  2269             iCascadeMenuPane->SetItemDimmed( EAknCmdMark, ETrue ); 
       
  2270             }
       
  2271         if ( iCascadeMenuPane->MenuItemExists( EAknCmdUnmark, pos ) ) 
       
  2272             {
       
  2273             iCascadeMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue ); 
       
  2274             } 
       
  2275         }
       
  2276     
  2263     iCascadeMenuPane->iExtension->PrepareCascadeForItemCommandsL();
  2277     iCascadeMenuPane->iExtension->PrepareCascadeForItemCommandsL();
  2264     iCascadeMenuPane->iExtension->EnableHighlight( EFalse );
  2278     iCascadeMenuPane->iExtension->EnableHighlight( EFalse );
  2265     iCascadeMenuPane->FilterDimmedItems();
  2279     iCascadeMenuPane->FilterDimmedItems();
  2266 
  2280 
  2267     // cascade menu launch animation
  2281     // cascade menu launch animation
  3121         else if ( commandId != EAknCmdTaskSwapper )
  3135         else if ( commandId != EAknCmdTaskSwapper )
  3122             {
  3136             {
  3123             _AKNTRACE( "commandId = %d",  commandId );
  3137             _AKNTRACE( "commandId = %d",  commandId );
  3124             TBool isDeleted = EFalse;
  3138             TBool isDeleted = EFalse;
  3125             iIsDeleted = &isDeleted;
  3139             iIsDeleted = &isDeleted;
       
  3140             
       
  3141             CleanupStack::PushL( TCleanupItem( CleanLocalRef, this ) );            
  3126             iMenuObserver->ProcessCommandL( commandId ); 
  3142             iMenuObserver->ProcessCommandL( commandId ); 
       
  3143             CleanupStack::Pop();
  3127 
  3144 
  3128             if ( !isDeleted )
  3145             if ( !isDeleted )
  3129                 {
  3146                 {
  3130                 CEikMenuBar* menuBar = static_cast<CEikMenuBar*>( Parent() );
  3147                 CEikMenuBar* menuBar = static_cast<CEikMenuBar*>( Parent() );
  3131                 if ( menuBar && menuBar->MenuPane() == this )
  3148                 if ( menuBar && menuBar->MenuPane() == this )
  6700         {
  6717         {
  6701         iExtension->SetDefaultHighlight();
  6718         iExtension->SetDefaultHighlight();
  6702         }
  6719         }
  6703     }
  6720     }
  6704 
  6721 
       
  6722 // -----------------------------------------------------------------------------
       
  6723 // CEikMenuPane::HideMarkAndUnmark
       
  6724 // -----------------------------------------------------------------------------
       
  6725 //
       
  6726 void CEikMenuPane::HideMarkAndUnmark( TBool aHide )
       
  6727     {
       
  6728     if ( aHide )
       
  6729         {
       
  6730         iExtension->iFlags.Set( CEikMenuPaneExtension::EHideMarkAndUnmark );
       
  6731         }
       
  6732     else 
       
  6733         {
       
  6734         iExtension->iFlags.Clear( CEikMenuPaneExtension::EHideMarkAndUnmark );
       
  6735         }
       
  6736     }
       
  6737 	
       
  6738 // -----------------------------------------------------------------------------
       
  6739 // CEikMenuPane::CleanLocalRef
       
  6740 // -----------------------------------------------------------------------------
       
  6741 //
       
  6742 void CEikMenuPane::CleanLocalRef( TAny* any )
       
  6743     {
       
  6744     static_cast<CEikMenuPane*>( any )->iIsDeleted = NULL;
       
  6745     }
       
  6746 
       
  6747 
  6705 // end of file
  6748 // end of file
  6706 
  6749