diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/inc/MPbk2ControlObserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/inc/MPbk2ControlObserver.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,141 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Phonebook 2 control observer interface. +* +*/ + + +#ifndef MPBK2CONTROLOBSERVER_H +#define MPBK2CONTROLOBSERVER_H + +// FORWARD DECLARATIONS +class MPbk2ContactUiControl; + +// CLASS DECLARATION + +/** + * Phonebook 2 control observer event type. + */ +class TPbk2ControlEvent + { + public: // Types + + /** + * Event types. + */ + enum TEventType + { + /// Control unavailable + EUnavailable, + /// Control ready + /// @see MVPbkContactViewObserver::ContactViewReady + EReady, + /// Item added to the control + /// @see MVPbkContactViewObserver::ContactAddedToView + EItemAdded, + /// Item removed from the control + /// @see MVPbkContactViewObserver::ContactRemovedFromView + EItemRemoved, + /// Sent when contact selection status changes because of + /// the user actions. Selection changes caused programmically + /// by control API calls are not reported. + EContactSelected, + /// Sent when contact selection status changes because of + /// the user actions. Selection changes caused programmically + /// by control API calls are not reported. + EContactUnselected, + /// Sent when contact selection status changes because of + /// the user actions. Selection changes caused programmically + /// by control API calls are not reported. + EContactUnselectedAll, + /// Sent when the control enters busy state + EEnterBusy, + /// Sent when the control exits busy state + EExitBusy, + /// Sent when the control's content is changed + /// because of the find filtering + EContactSetChanged, + /// Sent when user taps a contact item in a list. This might be + /// the only event sent if selection accepter prevents the focused + /// contact from being selected e.g. in a multi-selection fetch. + EContactTapped, + /// Sent when user double-taps a contact item in a list. In this + /// case, EContactTapped is not sent. + EContactDoubleTapped, + /// Sent when the control's logical state changes + EControlStateChanged, + /// Sent when listbox enters selection mode if the control + /// supports selection. Selection mode is enabled by + /// long pressing shift, ctrl or hash keys (when hash key + /// marking is enabled). + EControlEntersSelectionMode, + /// Sent when listbox leaves the selection mode if the control + /// supports selection. + EControlLeavesSelectionMode, + /// Sent when focus changed in listbox. + EControlFocusChanged, + /// Sent when enter was pressed in listbox. + EControlEnterKeyPressed + }; + + public: // Constructor + + /** + * Constructor. + * + * @param aEventType Event type. + */ + inline TPbk2ControlEvent( + TEventType aEventType ) : + iEventType( aEventType ), + iInt( KErrNotFound ) + { + } + + public: // Data + /// Own: Event type + TEventType iEventType; + /// Own: Index + TInt iInt; + }; + + +/** + * Phonebook 2 control observer interface. + */ +class MPbk2ControlObserver + { + public: // Interface + + /** + * Handles Phonebook 2 control event. + * + * @param aControl The control. + * @param aEvent The event. + */ + virtual void HandleControlEventL( + MPbk2ContactUiControl& aControl, + const TPbk2ControlEvent& aEvent ) = 0; + + protected: // Protected functions + /** + * Destructor. + */ + virtual ~MPbk2ControlObserver() + {} + }; + +#endif // MPBK2CONTROLOBSERVER_H + +// End of File