To be able to receive toolbar item events in your application or application view, you must implement the toolbar observer interface in the view and register the view to the toolbar:
To receive toolbar item events, use the observer class MAknToolbarObserver.
The example below shows how to set the toolbar observer.
void CMyAppView::ConstructL( TInt aResId ) { BaseConstructL( aResId ); CAknToolbar* toolbar = Toolbar(); if ( toolbar ) { toolbar->SetToolbarObserver( this ); } }
Handle toolbar item events in MAknToolbarObserver’s OfferToolbarEventL().
OfferToolbarEventL() is called when the toolbar item state has changed, for example when a button is pressed. When handling a toolbar event, the control in question can be identified from the commandid that is sent as a parameter in the method. The ID belongs to that control it was sent from (in case of a button, the ID of the button that was pressed).
The example below illustrates how to implement OfferToolBarEventL().
void CMyAppView::OfferToolbarEventL( TInt aCommandId ) { if ( aCommandId == KButtonId ) { // do button function … } }