Handling toolbar item events

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
        …
        }
    }