--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/inc/COEAUI.H Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,249 @@
+// 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 __COEAUI_H__
+#define __COEAUI_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <w32std.h>
+#include <coedef.h>
+#include <coehelp.h>
+#include <coeview.h>
+#include <coeinput.h>
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <vwsdef.h>
+#endif //SYMBIAN_ENABLE_SPLIT_HEADERS
+
+
+class CCoeEnv;
+class CCoeControl;
+
+/**
+Creates a FEP interface object.
+
+@publishedAll
+@released
+*/
+typedef CCoeFep* (*TCoeFepFactoryFunctionL)(CCoeEnv& aConeEnvironment, const TDesC& aFullFileNameOfDll, const CCoeFepParameters& aFepParameters);
+
+/**
+Calls the second ordinal function of the FEP for which the settings dialog is to be executed.
+
+@publishedAll
+@released
+*/
+typedef void (*TCoeSynchronouslyExecuteFepSettingsDialogFunctionL)(CCoeEnv& aConeEnvironment, const TDesC& aFullFileNameOfDll);
+
+/** Stack priority flags.
+
+Controls with higher priorities get offered key events before controls
+with lower priorities.
+
+@publishedAll
+@released */
+enum
+ {
+ /** 0 */
+ ECoeStackPriorityDefault=0,
+ /** 10 */
+ ECoeStackPriorityMenu=10,
+ /** 50 */
+ ECoeStackPriorityDialog=50,
+ /** 60 */
+ ECoeStackPriorityCba=60,
+ /** 200 */
+ ECoeStackPriorityAlert=200,
+ /** 240 */
+ ECoeStackPrioritySoftkey=240,
+ /** 250 */
+ ECoeStackPriorityFep=250,
+ /** 300 */
+ ECoeStackPriorityEnvironmentFilter=300
+ };
+
+
+/** Control stack flags.
+
+Each control on the stack has a set of these flags which can be used
+to refuse to accept key events and to refuse requests for focus.
+
+@publishedAll
+@released */
+enum
+ {
+ /** The default value */
+ ECoeStackFlagStandard = 0,
+ /** The control does not accept key events. */
+ ECoeStackFlagRefusesAllKeys = 0x01,
+ /** The control does not accept keyboard focus. */
+ ECoeStackFlagRefusesFocus = 0x02,
+ /** The control is owned and deleted by the stack. */
+ ECoeStackFlagOwnershipTransfered= 0x04,
+ /** The control is also added to the stack of any embedded app UI. For
+ example, an alert dialog added through CEikonEnv will be
+ shared on the stack of all embedded app UIs that may appear in the
+ application. */
+ ECoeStackFlagSharable = 0x08
+ };
+
+class CCoeControlStack;
+class CCoeViewManager;
+
+/** Application user interface (app UI) base class.
+
+The app UI's responsibilities include owning the application's control stack and views,
+handling user commands, (see the derived class CEikAppUi), and handling events sent by
+the OS to the application, for instance being brought to the foreground.
+
+The UI framework class CEikAppUi is derived from this class. UIs may derive
+further to add their own UI-specific features to the app UI; each application must
+derive its own concrete app UI class from this.
+
+@publishedAll
+@released */
+class CCoeAppUi : public CBase
+ {
+public:
+ // Construction and destruction
+ IMPORT_C CCoeAppUi();
+ IMPORT_C ~CCoeAppUi();
+ IMPORT_C void ConstructL(CCoeAppUi* aPrevious=NULL);
+ // Control stack
+ IMPORT_C void AddToStackL(const MCoeView& aView,CCoeControl* aControl,TInt aPriority=ECoeStackPriorityDefault,TInt aStackingFlags=ECoeStackFlagStandard);
+ IMPORT_C void AddToStackL(CCoeControl* aControl,TInt aPriority=ECoeStackPriorityDefault,TInt aStackingFlags=ECoeStackFlagStandard);
+ IMPORT_C void RemoveFromStack(CCoeControl* aControl);
+ IMPORT_C void HandleStackChanged();
+ IMPORT_C void HandleStackedControlsResourceChange(TInt aType);
+ IMPORT_C void UpdateStackedControlFlags(CCoeControl* aControl,TInt aFlags,TInt aMask);
+ // Help context
+ IMPORT_C CArrayFix<TCoeHelpContext>* AppHelpContextL() const;
+ // Text input
+ IMPORT_C virtual TCoeInputCapabilities InputCapabilities() const;
+ // Control focus
+ IMPORT_C CCoeControl* TopFocusedControl() const;
+ // Utility
+ IMPORT_C TBool IsDisplayingMenuOrDialog() const;
+ IMPORT_C TBool IsDisplayingDialog() const;
+ IMPORT_C TBool IsDisplayingControlBetweenPriorities(TInt aLowerPriority, TInt aHigherPriority) const;
+ // View registration
+ IMPORT_C void RegisterViewL(MCoeView& aView);
+ IMPORT_C void DeregisterView(const MCoeView& aView);
+ IMPORT_C void SetDefaultViewL(const MCoeView& aView);
+ IMPORT_C TInt GetDefaultViewId(TVwsViewId& aViewId) const;
+ // Pseudo-view registration
+ IMPORT_C void CheckInitializeViewsL(TUid aAppUid);
+ IMPORT_C void RegisterApplicationViewL(TUid aAppUid);
+ IMPORT_C void DeregisterApplicationView();
+ // View construction
+ IMPORT_C TBool IsViewConstructed(const TVwsViewId& aViewId) const;
+ // View activation
+ IMPORT_C void ActivateViewL(const TVwsViewId& aViewId);
+ IMPORT_C void ActivateViewL(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
+ IMPORT_C void ActivateTopViewL();
+ IMPORT_C void CreateActivateViewEventL(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
+ IMPORT_C void DeactivateActiveViewIfOwnerMatchL();
+ IMPORT_C void DeactivateActiveViewL();
+ IMPORT_C TInt GetActiveViewId(TVwsViewId& aViewId) const;
+ // View registration
+ IMPORT_C void AddViewObserverL(MCoeViewObserver* aViewObserver);
+ IMPORT_C void RemoveViewObserver(MCoeViewObserver* aViewObserver);
+ // View activation observer
+ IMPORT_C void AddViewActivationObserverL(MCoeViewActivationObserver* aViewActivationObserver);
+ IMPORT_C void RemoveViewActivationObserver(MCoeViewActivationObserver* aViewActivationObserver);
+ IMPORT_C void NotifyNextActivation(const TVwsViewId& aViewId, MCoeViewActivationObserver& aViewActivationObserver);
+ IMPORT_C void NotifyNextActivation(MCoeViewActivationObserver& aViewActivationObserver);
+ IMPORT_C TBool CheckSourceOfViewSwitchL(const TSecurityPolicy& aSecurityPolicy,const char* aDiagnostic=NULL) const;
+ // View decativation observer
+ IMPORT_C void AddViewDeactivationObserverL(MCoeViewDeactivationObserver* aViewDeactivationObserver);
+ IMPORT_C void RemoveViewDeactivationObserver(MCoeViewDeactivationObserver* aViewDeactivationObserver);
+ IMPORT_C void NotifyNextDeactivation(const TVwsViewId& aViewId, MCoeViewDeactivationObserver& aViewDeactivationObserver);
+ IMPORT_C void NotifyNextDeactivation(MCoeViewDeactivationObserver& aViewDeactivationObserver);
+ // View session configuration
+ IMPORT_C TInt EnableExternalViewSwitches(TBool aEnable);
+ IMPORT_C void UpdateViewServerBackgroundColor(const TRgb& aBgColor);
+
+ // New APIs
+ IMPORT_C void SetCustomControl(TInt aCustomControl);
+ IMPORT_C TInt GetTopViewId(TVwsViewId& aViewId) const;
+ IMPORT_C void SetWindowGroupOrdinal(TInt aWindowGroupOrdinal);
+
+public: // Internal
+ IMPORT_C void SetApplicationViewAsDefaultL(); // internalTechnology
+ IMPORT_C void SetSystemDefaultViewL(const TVwsViewId& aViewId,TInt aMode); // internalTechnology
+ IMPORT_C void SetSystemDefaultViewL(const TVwsViewId& aViewId); // internalTechnology
+ IMPORT_C void GetSystemDefaultViewL(TVwsViewId& aViewId); // internalTechnology
+ IMPORT_C virtual void HandleWsEventL(const TWsEvent& aEvent,CCoeControl* aDestination);
+ IMPORT_C virtual void PrepareToExit();
+protected: // Internal
+ IMPORT_C virtual void HandleScreenDeviceChangedL();
+private: // Internal
+ IMPORT_C virtual TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ IMPORT_C virtual void HandleForegroundEventL(TBool aForeground);
+ IMPORT_C virtual void HandleSwitchOnEventL(CCoeControl* aDestination);
+ IMPORT_C virtual void HandleSystemEventL(const TWsEvent& aEvent);
+ IMPORT_C virtual void HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent);
+ IMPORT_C virtual void SetAndDrawFocus(TBool aFocus);
+ IMPORT_C virtual CArrayFix<TCoeHelpContext>* HelpContextL() const;
+public: // Internal
+ IMPORT_C virtual TBool FrameworkCallsRendezvous() const;
+public: // Internal
+ IMPORT_C void WriteInternalStateOfStackedControlsL(RWriteStream& aWriteStream) const; // internalTechnology
+public: // Deprecated. Do not use!
+ IMPORT_C void RegisterViewAndAddStackL(MCoeView& aView); // deprecated
+ IMPORT_C void DeregisterViewAndRemoveStack(const MCoeView& aView); // deprecated
+ IMPORT_C void RemoveFromViewStack(const MCoeView& aView,CCoeControl* aControl); // deprecated
+ IMPORT_C void UpdateViewStackedControlFlags(const MCoeView& aView,CCoeControl* aControl,TInt aFlags,TInt aMask); // deprecated
+ IMPORT_C void AddToViewStackL(const MCoeView& aView,CCoeControl* aControl,TInt aPriority=ECoeStackPriorityDefault,TInt aStackingFlags=ECoeStackFlagStandard); // deprecated
+public: // not exported
+ TBool IsControlOnStack(CCoeControl* aControl) const;
+ void SetCurrentControlStackGroupId(TInt aGroupId);
+ void NotifyFontChange(const CCoeFontProvider& aFontProvider);
+ void RefetchPixelMappingL();
+private:
+ enum TRemoveCondition
+ {
+ ERemoveUnconditionally,
+ ERemoveOnlyIfSharable
+ };
+private:// Internal
+ IMPORT_C virtual void CCoeAppUi_Reserved_2();
+private:
+ CCoeControl* TopFocusableControl() const;
+ TInt FindPos(CCoeControlStack* aStack,CCoeControl* aControl) const;
+ void SetFocusToControl(CCoeControl* aControl,TBool aFocus);
+ void DoAddToStackL(CCoeControlStack* aStack,CCoeControl* aControl,TInt aPriority,TInt aStackingFlags);
+ void DoAddToStackL(CCoeControlStack* aStack,CCoeControl* aControl,TInt aPriority,TInt aStackingFlags, TInt aGroupId);
+ void DoRemoveFromStack(CCoeControlStack* aStack,CCoeControl* aControl,TRemoveCondition aRemoveCondition=ERemoveUnconditionally);
+ void DoUpdateStackedControlFlags(CCoeControlStack* aStack,CCoeControl* aControl,TInt aFlags,TInt aMask);
+public:
+/**Monitor function for passing all windows events to registered monitor observers for optional inspection*/
+ void MonitorWsEvent(const TWsEvent& aEvent);
+private:
+ class CExtra;
+ friend class CExtra;
+ friend class CTestDriver;
+protected:
+ CCoeEnv* iCoeEnv;
+private:
+ CCoeViewManager* iViewManager;
+ CCoeControlStack* iStack;
+ CExtra* iExtra;
+ TInt iCCoeAppUi_Reserved1;
+ };
+
+
+#endif // __COEAUI_H__