1.1 --- a/epoc32/include/eikappui.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,186 +0,0 @@
1.4 -// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -#ifndef __EIKAPPUI_H__
1.20 -#define __EIKAPPUI_H__
1.21 -
1.22 -#include <coeaui.h>
1.23 -#include <coemain.h>
1.24 -#include <eikmobs.h>
1.25 -#include <apadef.h>
1.26 -#include <vwsdef.h>
1.27 -#include <eikdef.h>
1.28 -#include <baerrhan.h>
1.29 -#include <eikaufty.h>
1.30 -#include <coemop.h>
1.31 -
1.32 -class CEikDocument;
1.33 -class CEikApplication;
1.34 -class CEikAppUiExtra;
1.35 -class MApaEmbeddedDocObserver;
1.36 -struct SExtendedError;
1.37 -class CApaCommandLine;
1.38 -
1.39 -/** Handles application-wide aspects of the application's user interface such
1.40 -as the menu bar, toolbar pop-up menus, opening and closing files and exiting the
1.41 -application cleanly.
1.42 -
1.43 -Every GUI application should use its own class derived from CEikAppUi.
1.44 -
1.45 -An app UI's main role is to handle commands, in its HandleCommandL() function.
1.46 -These may be invoked using the menu bar, toolbar, or hotkeys; the commands
1.47 -that an app UI handles are specified in the application's resource file.
1.48 -
1.49 -In addition, the app UI normally needs to respond to other kinds of events, by
1.50 -providing suitable implementations of the following virtual functions, all
1.51 -inherited from CCoeAppUi:
1.52 -
1.53 -- HandleKeyEventL(): Key events.
1.54 -
1.55 -- HandleForegroundEventL(): Application switched to foreground.
1.56 -
1.57 -- HandleSwitchOnEventL(): Machine switched on.
1.58 -
1.59 -- HandleSystemEventL(): System events.
1.60 -
1.61 -- HandleApplicationSpecificEventL(): Application-specific events.
1.62 -
1.63 -@publishedAll
1.64 -@released */
1.65 -class CEikAppUi : public CCoeAppUi, public MEikMenuObserver, public MCoeMessageObserver, public MObjectProvider
1.66 - {
1.67 -public:
1.68 - IMPORT_C ~CEikAppUi();
1.69 - IMPORT_C CEikAppUi();
1.70 -public: // new functions
1.71 - IMPORT_C virtual void ConstructL();
1.72 - IMPORT_C virtual void HandleModelChangeL();
1.73 - IMPORT_C TLanguage ApplicationLanguageL() const;
1.74 - IMPORT_C CEikApplication* Application() const;
1.75 - IMPORT_C CEikDocument* Document() const;
1.76 - IMPORT_C void SetDocument(CEikDocument* aDocument);
1.77 - inline CEikAppUi* ContainerAppUi() const;
1.78 - IMPORT_C void SetEmbeddedDocInfo(MApaEmbeddedDocObserver* aObserver, TBool aReadOnly);
1.79 - IMPORT_C virtual TBool ProcessCommandParametersL(TApaCommand aCommand, TFileName& aDocumentName, const TDesC8& aTail);
1.80 - IMPORT_C virtual TBool ProcessCommandParametersL(CApaCommandLine& aCommandLine);
1.81 - // Application screen extent
1.82 - IMPORT_C TRect ClientRect() const;
1.83 - IMPORT_C virtual TRect ApplicationRect() const;
1.84 - // Menu utilities
1.85 - IMPORT_C void LaunchPopupMenuL(TInt aResourceId, const TPoint& aTargetPos, TPopupTargetPosType aTargetType, const CEikHotKeyTable* aHotKeyTable = NULL);
1.86 - IMPORT_C virtual void StopDisplayingMenuBar();
1.87 - // Fading effect
1.88 - IMPORT_C TBool FadeWhenInBackground();
1.89 - IMPORT_C virtual void SetFadedL(TBool aFaded);
1.90 - inline void SetFaded(TBool aFaded); //mm: has no implementation
1.91 -public: // new function
1.92 - IMPORT_C virtual void ReportResourceChangedToAppL(TInt aType);
1.93 - IMPORT_C virtual void HandleCommandL(TInt aCommand);
1.94 - IMPORT_C virtual void ProcessMessageL(TUid aUid, const TDesC8& aParams);
1.95 - IMPORT_C virtual void OpenFileL(const TDesC& aFileName);
1.96 - IMPORT_C virtual void CreateFileL(const TDesC& aFileName);
1.97 - IMPORT_C virtual TErrorHandlerResponse HandleError(TInt aError, const SExtendedError& aExtErr, TDes& aErrorText, TDes& aContextText);
1.98 - IMPORT_C virtual void HandleResourceChangeL(TInt aType);
1.99 -public: // from CCoeAppUi
1.100 - IMPORT_C void PrepareToExit();
1.101 -protected: // new functions
1.102 - // Construction
1.103 - IMPORT_C void BaseConstructL(TInt aAppUiFlags = 0);
1.104 - IMPORT_C void ReadAppInfoResourceL(TInt aResourceFileOffset = 0);
1.105 - IMPORT_C void CreateHotKeyControlL(TInt aResourceId);
1.106 - IMPORT_C TBool ProcessCommandParametersL(TApaCommand aCommand, TFileName& aDocumentName);
1.107 - // User data change management
1.108 - IMPORT_C void SetDocChanged();
1.109 - IMPORT_C void SaveAnyChangesL();
1.110 - IMPORT_C void SaveL();
1.111 - IMPORT_C virtual void Exit();
1.112 - // Utility
1.113 - IMPORT_C void ClosePopup(); //mm: deprecate?
1.114 -protected: // from MEikMenuObserver
1.115 - IMPORT_C void HandleSideBarMenuL(TInt aResourceId,const TPoint& aPos,TInt aModifiers,const CEikHotKeyTable* aTable);
1.116 -protected: // from CCoeAppUi
1.117 - IMPORT_C void HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent);
1.118 - IMPORT_C void HandleForegroundEventL(TBool aForeground);
1.119 - IMPORT_C void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
1.120 - IMPORT_C void HandleSystemEventL(const TWsEvent& aEvent);
1.121 - IMPORT_C void HandleScreenDeviceChangedL();
1.122 -protected: // from MEikCommandObserver
1.123 - IMPORT_C void ProcessCommandL(TInt aCommand);
1.124 -private: // from MEikMenuObserver
1.125 - IMPORT_C void SetEmphasis(CCoeControl* aMenuWindow,TBool aEmphasis);
1.126 -protected: // from MCoeMessageObserver
1.127 - IMPORT_C MCoeMessageObserver::TMessageResponse HandleMessageL(TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid, const TDesC8& aMessageParameters);
1.128 -protected: // from MObjectProvider
1.129 - IMPORT_C virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
1.130 - IMPORT_C virtual MObjectProvider* MopNext();
1.131 -private:
1.132 - // Validate document file type
1.133 - IMPORT_C virtual TBool ValidFileType(TUid aFileUid) const;
1.134 -private: // spare virtuals
1.135 - IMPORT_C virtual void Reserved_3();
1.136 - IMPORT_C virtual void Reserved_4();
1.137 -public:
1.138 - /** Application resource file and screen furniture flags, passed to BaseConstructL(). */
1.139 - enum
1.140 - {
1.141 - /** Application uses a standard resource file. */
1.142 - EStandardApp = 0x00,
1.143 - /** Application has no resource file. */
1.144 - ENoAppResourceFile = 0x01,
1.145 - /** Application uses a different resource file from the standard. */
1.146 - ENonStandardResourceFile= 0x02,
1.147 - /** Application uses no screen furniture. */
1.148 - ENoScreenFurniture = 0x04,
1.149 - /** Indicates the last value in the enum. */
1.150 - ELastReservedEikAppUiFlag = 0x8000
1.151 - };
1.152 -public:
1.153 - IMPORT_C void ReportResourceChangedToAppStackL(CEikAppUi* aTopApp, TInt aEventId);
1.154 - CEikAppUiExtra* AppUiExtra();
1.155 -private:
1.156 - void CreateResourceIndependentFurnitureL();
1.157 - TBool ValidFileExistsL(const TDesC& aFileName);
1.158 -protected:
1.159 - /** A pointer to the application's document. */
1.160 - CEikDocument* iDocument;
1.161 - /** A pointer to the containing app UI. This is NULL for non-embedded
1.162 - apps. */
1.163 - CEikAppUi* iContainerAppUi;
1.164 - /** Embedded document observer. */
1.165 - MApaEmbeddedDocObserver* iDoorObserver;
1.166 - /** Indicates whether or not this is the app UI for an embedded,
1.167 - read-only document. */
1.168 - TBool iEmbeddedAndReadOnly;
1.169 - TInt iFlags;
1.170 -private:
1.171 - enum
1.172 - {
1.173 - EEmbedded = 0x01
1.174 - };
1.175 -private:
1.176 - CEikAppUiExtra* iAppUiExtra;
1.177 - };
1.178 -
1.179 -
1.180 -
1.181 -/** Returns the app UI inside which this app UI is embedded.
1.182 -Embedded app UIs are used for editing embedded documents.
1.183 -
1.184 -@return A pointer to this object's container app UI. NULL if this app
1.185 -UI is not embedded */
1.186 -inline CEikAppUi* CEikAppUi::ContainerAppUi() const
1.187 - { return iContainerAppUi; }
1.188 -
1.189 -#endif // __EIKAPPUI_H__