--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/inc/COECOBS.H Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,117 @@
+// Copyright (c) 1997-2009 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:
+//
+
+#ifndef __COECOBS_H__
+#define __COECOBS_H__
+
+#include <e32base.h>
+#include <coemop.h>
+
+class CCoeControl;
+
+class MCoeControlObserver
+/** Interface for a control to send events to its observer control.
+
+@publishedAll
+@released */
+ {
+public:
+ /** Observer event types. */
+ enum TCoeEvent
+ {
+ /** Request exit.
+ This event is used to indicate exit from a mode when
+ the user has completed an operation 'successfully'. For example, this
+ event might be sent when the user has a choice list open and presses
+ enter to select an item. The UI Control Framework does not use this
+ event itself. */
+ EEventRequestExit,
+ /** Request cancel.
+ This event is used to indicate exit from a mode when the user has cancelled
+ the operation that caused entry into the mode originally. For example, this
+ event might be sent when the user presses escape to close the list and leave
+ the choice as it was. The UI Control Framework does not use this event itself. */
+ EEventRequestCancel,
+ /** Request focus.
+ This event is notified by the UI Control Framework during pointer down event
+ processing after EEventPrepareFocusTransition is handled. */
+ EEventRequestFocus,
+ /** Prepare focus transition.
+ This event is notified by the UI Control Framework during pointer down event
+ processing if the control does not yet have, but could get, focus. */
+ EEventPrepareFocusTransition,
+ /** State changed.
+ This event can be used by a control to report that some piece of internal
+ data has changed, and hence that any observer should be notified accordingly.
+ The UI Control Framework does not use this value itself. */
+ EEventStateChanged,
+ /** Interaction refused.
+ This event is notified by the UI Control Framework during pointer down event
+ processing if the control is dimmed (disabled). */
+ EEventInteractionRefused
+ };
+public:
+ /** Handles an event from an observed control.
+
+ This function is called when a control for which this control is the observer
+ calls CCoeControl::ReportEventL(). It should be implemented by the observer
+ control, and should handle all events sent by controls it observes.
+
+ @param aControl The control that sent the event.
+ @param aEventType The event type. */
+ virtual void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType)=0;
+protected:
+ IMPORT_C MCoeControlObserver();
+
+private:
+ IMPORT_C virtual void MCoeControlObserver_Reserved1();
+ IMPORT_C virtual void MCoeControlObserver_Reserved2();
+
+private:
+ TInt iMCoeControlObserver_Reserved1;
+ };
+
+class MCoeControlStateObserver
+/** This class defines an interface which will given notification of when a CCoeControl
+changes its visibility or dimmed state.
+
+@publishedAll
+@released */
+ {
+ friend class CCoeControl;
+public:
+ /** The MObjectProvider framework should use this UID to know when to return a concrete instance of this interface. */
+ DECLARE_TYPE_ID(0x10285A45)
+ enum TCoeState
+ {
+ /** This enum is used to say that the control has changed its Dimmed state */
+ EStateDimmed,
+ /** This enum is used to say that the control has changed its Visibility state */
+ EStateVisibility
+ };
+private:
+ /**
+ If an object implementing this interface has been attached to the MObjectProvider
+ hierarchy in which a CCoeControl is a member, any call to the CCoeControl's
+ SetDimmed() or MakeVisible() (that results in an actual state change) will trigger
+ a call to this interface.
+
+ @param aControl A pointer to the control that has changed.
+ @param aState An enum from TCoeState to say how the control has changed.
+ @return A system wide error code, currently ignored but may not be in future.*/
+ virtual TInt HandleControlStateChange(CCoeControl* aControl,TCoeState aState)=0;
+ };
+
+#endif // __COECOBS_H__