diff -r 000000000000 -r 84ad3b177aa3 browserui/browser/BrowserAppInc/BrowserDisplay.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserui/browser/BrowserAppInc/BrowserDisplay.h Mon Mar 30 12:49:49 2009 +0300 @@ -0,0 +1,242 @@ +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* Access to display components +* +* +*/ + + +#ifndef BROWSER_DISPLAY_H +#define BROWSER_DISPLAY_H + +// INCLUDE FILES +#include +#include +#include "Display.h" +#include "WlanObserver.h" + +// FORWARD DECLARATIONS + +class MApiProvider; +class CBrowserProgressIndicator; +class CAknNavigationDecorator; +class CAknIndicatorContainer; +class CBrowserWindow; + +// CLASS DECLARATION + +class CBrowserDisplay : public CBase, public MDisplay + { + public : // constructor, destructor + + /** + * Two-phased constructor. + */ + static CBrowserDisplay* NewL( MApiProvider& aApiProvider, + CBrowserWindow& aWindow ); + + /** + * Destructor. + */ + virtual ~CBrowserDisplay(); + + public : // functions from MDisplay + + /** + * Return Status Pane. Can be NULL. + * @return Status Pane. + */ + virtual CEikStatusPane* StatusPane() const; + + /** + * Get Navi Pane; leave on error. + * @return Navi Pane. Never NULL. + */ + virtual CAknNavigationControlContainer* NaviPaneL() const; + + /** + * Set title pane text. + * @param aTitle Title text to be displayed. + */ + virtual void SetTitleL( const TDesC& aTitle ); + + /** + * Set title pane text from resource. + * @param aTitle Resource id of title text to be displayed. + */ + virtual void SetTitleL( TInt aResourceId ); + + /** + * Starts animation. + * @param aBearerType Determines what is to be animated. + */ + virtual void StartProgressAnimationL(/* TApBearerType aBearerType*/ ); + + /** + * Stops animation. + */ + virtual void StopProgressAnimationL(); + + /** + * Shows or hides secure indicator depending on aState. + * @param aState EAknIndicatorStateOff/EAknIndicatorStateOn. + */ + virtual void UpdateSecureIndicatorL( const TInt aState ); + + /** + * Adds transaction id to array. + * @param aId Transaction id + */ + virtual void AddTransActIdL( TUint16 aId ) const; + + /** + * Saves maximum and received data with a transction id. + * @since Series60 1.2 + * @param aId Id of the transaction + * @param aRecvdData Amount of data we have received with current transaction Id + * @param aMaxData Max size of the transaction + */ + virtual void AddProgressDataL( TUint16 aId, TUint32 aRecvdData, TUint32 aMaxData ) const; + + /** + * Marks particular transaction id to complete status + * @since Series60 2.0 + * @param aId Id of the transaction + */ + virtual void TransActIdComplete( TUint16 aId ) const; + + /** + * Sets Secure indicator on/off, UpdateFullScreenIndicatorsL() needs to be called after indicators are set + * @param aState indicator state on/off + */ + void SetFullScreenSecureIndicatorL(const TBool aState); + + /** + * Sets gprs indicator for Full Screen on + */ + virtual void SetGPRSIndicatorOnL(); + + /** + * Starts the Wlan Indicator observer + */ + virtual void StartWlanObserverL(); + + /** + * Updates the Wlan Indicator to current value + */ + virtual void UpdateWlanIndicator( const TInt aWlanValue ); + + /** + * Initialises Full Screen pane indicators + */ + virtual void FSPaneOnL( ); + + /** + * Updates Full Screen progress indicator + */ + virtual void UpdateFSProgressIndicator(const TInt aMaxData, const TInt aReceivedData); + + /** + * Starts Full Screen Wait indicator + */ + virtual void StartFSWaitIndicator(); + + /** + * Updates 'downloaded data amount' message on Full Screen pane + */ + virtual void UpdateFSProgressDataL(const TDesC16& aReceivedDataText); + + /** + * Updates initial download indicator on Full Screen pane + */ + virtual void UpdateFSDownloadInitialIndicator(const TBool aState); + + /** + * Initializes Full Screen Indicators + */ + virtual void InitIndicatorsL(); + + /** + * Clears the Message Info indicator in the navipane + */ + virtual void ClearMessageInfo(); + + /** + * Sets formerly saved page title. SetTitleL's functionality moved here, because page title restoration is + * necessary in Full Screen mode + */ + virtual void RestoreTitleL(); + + /** + * Notify that new data has arrived to the loaders. + * @since Series60_version 2.5 + * @return none + */ + virtual void NotifyProgress(); + + /** + * Updates the Multiple Windows Indicator + * @param aState Indicator On or Off + * @param aWinCount The number of windows open + * @since Series60 3.0 + */ + virtual void UpdateMultipleWindowsIndicatorL( + const TBool aState, const TInt aNumWindows ); + + public: + + inline MApiProvider& ApiProvider() { return iApiProvider; } + + private: //for internal use of full screen indicators + + /** + * Selects Editor's IndicatorContainer to use. + */ + CAknIndicatorContainer* SelectIndicContainerEditing(); + + /** + * Selects own IndicatorContainer to use. Editor's or our own. + */ + CAknIndicatorContainer* SelectIndicContainerOwn(); + + protected : // construction + + /** + * Default C++ constructor. + * @param aApiProvider Browser's API provider + */ + CBrowserDisplay( MApiProvider& aApiProvider, CBrowserWindow& aWindow ); + + /** + * Symbian OS constructor that can leave. + */ + void ConstructL(); + + private : // data members + + CBrowserProgressIndicator* iProgressIndicator; ///< animation for CSD,HSCSD,GPRS connections + + MApiProvider& iApiProvider; ///< reference to API provider + CBrowserWindow* iWindow; ///< owner window, object not owned + CWlanObserver* iWlanObserver; ///< Wlan status observer + + CAknNavigationDecorator* iEditorIndicatorContainer; /// Full Screen Editor indicator container + + HBufC* iTitle; /// Page title, stored because it needs to be restored after downloading in Full Screen mode. + }; + +#endif // WMLBROWSER_DISPLAY_H + +// End of file