uifw/EikStd/coctlsrc/aknitemactionmenu.cpp
branchRCL_3
changeset 9 aabf2c525e0f
parent 4 8ca85d2f0db7
child 10 9f56a4e1b8ab
equal deleted inserted replaced
4:8ca85d2f0db7 9:aabf2c525e0f
    37 // ---------------------------------------------------------------------------
    37 // ---------------------------------------------------------------------------
    38 // CAknItemActionMenu::NewL
    38 // CAknItemActionMenu::NewL
    39 // ---------------------------------------------------------------------------
    39 // ---------------------------------------------------------------------------
    40 //
    40 //
    41 CAknItemActionMenu* CAknItemActionMenu::NewL(
    41 CAknItemActionMenu* CAknItemActionMenu::NewL(
    42         MAknCollection& aCollection )
    42         MAknCollection& aCollection, MObjectProvider* aOwner )
    43     {
    43     {
    44     CAknItemActionMenu* self = CAknItemActionMenu::NewLC( aCollection );
    44     CAknItemActionMenu* self = CAknItemActionMenu::NewLC( 
       
    45             aCollection, aOwner );
    45     CleanupStack::Pop( self );
    46     CleanupStack::Pop( self );
    46     return self;
    47     return self;
    47     }
    48     }
    48 
    49 
    49 
    50 
    50 // ---------------------------------------------------------------------------
    51 // ---------------------------------------------------------------------------
    51 // CAknItemActionMenu::NewLC
    52 // CAknItemActionMenu::NewLC
    52 // ---------------------------------------------------------------------------
    53 // ---------------------------------------------------------------------------
    53 //
    54 //
    54 CAknItemActionMenu* CAknItemActionMenu::NewLC( MAknCollection& aCollection )
    55 CAknItemActionMenu* CAknItemActionMenu::NewLC(
    55     {
    56         MAknCollection& aCollection, MObjectProvider* aOwner )
    56     CAknItemActionMenu* self = new ( ELeave ) CAknItemActionMenu();
    57     {
       
    58     CAknItemActionMenu* self = new ( ELeave ) CAknItemActionMenu( aOwner );
    57     CleanupStack::PushL( self );
    59     CleanupStack::PushL( self );
    58     self->ConstructL( aCollection );
    60     self->ConstructL( aCollection );
    59     return self;
    61     return self;
    60     }
    62     }
    61 
    63 
    69     AKNTASHOOK_REMOVE();
    71     AKNTASHOOK_REMOVE();
    70     delete iPopupMenu;
    72     delete iPopupMenu;
    71     delete iMenuPane;
    73     delete iMenuPane;
    72     delete iMenuData;
    74     delete iMenuData;
    73     iStates.Close();
    75     iStates.Close();
       
    76     
       
    77     for ( TInt i = 0; i < iObservers.Count(); ++i )
       
    78         {
       
    79         iObservers[i]->SetItemActionMenu( NULL );
       
    80         }
       
    81 
    74     iObservers.Close();
    82     iObservers.Close();
    75     }
    83     }
    76 
    84 
    77 
    85 
    78 // ---------------------------------------------------------------------------
    86 // ---------------------------------------------------------------------------
   308     return iStates.Count();
   316     return iStates.Count();
   309     }
   317     }
   310 
   318 
   311 
   319 
   312 // ---------------------------------------------------------------------------
   320 // ---------------------------------------------------------------------------
       
   321 // CAknItemActionMenu::Owner
       
   322 // ---------------------------------------------------------------------------
       
   323 //
       
   324  MObjectProvider* CAknItemActionMenu::Owner() const
       
   325      {
       
   326      return iOwner;
       
   327      }
       
   328 
       
   329 
       
   330 // ---------------------------------------------------------------------------
   313 // CAknItemActionMenu::CAknItemActionMenu
   331 // CAknItemActionMenu::CAknItemActionMenu
   314 // ---------------------------------------------------------------------------
   332 // ---------------------------------------------------------------------------
   315 //
   333 //
   316 CAknItemActionMenu::CAknItemActionMenu()
   334 CAknItemActionMenu::CAknItemActionMenu( MObjectProvider* aOwner )
   317     : iPopupMenu( NULL ),
   335     : iPopupMenu( NULL ),
   318     iMenuBarObserver( NULL ),
   336     iMenuBarObserver( NULL ),
   319     iMenuBar( NULL ),
   337     iMenuBar( NULL ),
   320     iMenuPane( NULL ),
   338     iMenuPane( NULL ),
   321     iMenuData( NULL )
   339     iMenuData( NULL ),
       
   340     iOwner( aOwner )
   322     {
   341     {
   323     AKNTASHOOK_ADD( this, "CAknItemActionMenu" );
   342     AKNTASHOOK_ADD( this, "CAknItemActionMenu" );
   324     }
   343     }
   325 
   344 
   326 
   345