--- /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