--- a/csxhelp/inc/CSXHHtmlTopicContainer.h Thu Aug 19 09:42:56 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,507 +0,0 @@
-/*
-* Copyright (c) 2006 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: CCSXHHtmlTopicContainer class declaration
-*
-*/
-
-
-#ifndef INC_CCSXHHTMLTOPICCONTAINER_H__
-#define INC_CCSXHHTMLTOPICCONTAINER_H__
-//If I use INC_CCSXHHTMLTOPICCONTAINER_H__, then CodeScanner fails
-//but if I use INC_CCSXH_HTML_TOPIC_CONTAINER_H__ code scanner
-//reports an error but produces results for other files
-
-#include <coecntrl.h>
-#include <brctllinkresolver.h>
-#include <brctlinterface.h>
-//RUNTIME
-#include <featurecontrol.h>
-
-class CBrCtlInterface;
-class CCSXHDocument;
-class CCSXHHtmlTOC2;
-class CCSXHHtmlTopicView;
-class AppLauncherForCSXH;
-class CCSXHHelpContentBase;
-
-typedef CBrCtlInterface* (*FuncPtr_CreateBrowserControlL) (CCoeControl* aParent, TRect aRect,
- TUint aBrCtlCapabilities, TUint aCommandIdBase = TBrCtlDefs::ECommandIdBase,
- MBrCtlSoftkeysObserver* aBrCtlSoftkeysObserver = NULL,
- MBrCtlLinkResolver* aBrCtlLinkResolver = NULL,
- MBrCtlSpecialLoadObserver* aBrCtlSpecialLoadObserver = NULL,
- MBrCtlLayoutObserver* aBrCtlLayoutObserver = NULL,
- MBrCtlDialogsProvider* aBrCtlDialogsProvider = NULL,
- MBrCtlWindowObserver* aBrCtlWindowObserver = NULL,
- MBrCtlDownloadObserver* aBrCtlDownloadObserver = NULL );
-
-// A container which draw white rectagle.
-NONSHARABLE_CLASS( CBlankContainer ): public CCoeControl
- {
-public:
- CBlankContainer();
- ~CBlankContainer();
-
- /**
- * From CoeControl class
- * @function Draw
- * Draw() for drawing the Background
- */
- void Draw( const TRect& aRect ) const;
-
- };
-
-/**
-* @class CCSXHHtmlTopicContainer
-* This class provides Browser functionality
-*/
-
-class CCSXHHtmlTopicContainer : public CCoeControl, public MBrCtlLinkResolver,
- public MBrCtlLinkContent, public MBrCtlLoadEventObserver,
- public MBrCtlSoftkeysObserver,public MBrCtlLayoutObserver
- {
-public:
-
-/**
-* @function NewL
-* @since S60 3.2
-* Construct a CCSXHHtmlTopicContainer
-* and return a pointer to the created object
-* @param aRect - TRect Object
-* aDocument - Document Object
-* aView - HtmlTopicView Pointer
-* @return a CCSXHHtmlTopicContainer Pointer
-*/
- static CCSXHHtmlTopicContainer* NewL(const TRect& aRect,CCSXHDocument
- &aDocument,CCSXHHtmlTopicView *aView);
-
-/**
-* @function NewLC
-* @since S60 3.2
-* Construct a CCSXHHtmlTopicContainer
-* and return a pointer to the created object using two phase constuction
-* @param aRect - TRect Object
-* aDocument - Document Object
-* aView - HtmlTopicView Pointer
-* @return a CCSXHHtmlTopicContainer Pointer
-*/
- static CCSXHHtmlTopicContainer* NewLC(const TRect& aRect,CCSXHDocument
- &aDocument,CCSXHHtmlTopicView *aView);
-
-/**
-* @function CCSXHHtmlTopicContainer
-* @since S60 3.2
-* Construct a CCSXHHtmlTopicContainer
-* and return a pointer to the created object using two phase constuction
-* @param aRect - TRect Object
-* aDocument - Document Object
-* aView - HtmlTopicView Pointer
-* @return a CCSXHHtmlTopicContainer Pointer
-*/
- CCSXHHtmlTopicContainer(CCSXHDocument &aDocument, CCSXHHtmlTopicView *aView);
-/**
- * @function ~CCSXHHtmlTopicContainer
- * @since S60 3.2
- * Destroy the object and release all memory objects
- */
- ~CCSXHHtmlTopicContainer();
-
-/**
- * @function SetAndLoadInitialTopicL
- * @since S60 3.2
- * Destroy the object and release all memory objects
- * @param aTopic - Initial Topic to be displayed
- */
- void SetAndLoadInitialTopicL(CCSXHHtmlTOC2* aTopic);
-
-public:
-/**
-* From MBrCtlSoftkeysObserver class
-* Browser plug-in calls this method requests to update a softkey
-* @function UpdateSoftkeyL
-* @since S60 3.2
-* @Param aKeySoftkey - Update the left softkey or the right softkey
-* aLabel - The label associated with the softkey update
-* aCommandId - The command to use if the softkey is selected by the user
-* aBrCtlSoftkeyChangeReason - The reason for the softkey change
-*/
-void UpdateSoftkeyL(TBrCtlKeySoftkey aKeySoftkey,
- const TDesC& aLabel,
- TUint32 aCommandId,
- TBrCtlSoftkeyChangeReason aBrCtlSoftkeyChangeReason);
-
-/**
-* From MBrCtlLayoutObserver Class
-* Browser plug-in calls this method to Update the position of vertical scrollbar
-* @function UpdateBrowserVScrollBarL
-* @since S60 3.2
-* @Param aDocumentHeight - The total height of the markup page
-* aDisplayHeight - The height of the display
-* aDisplayPosY - The current Y position
-*/
- void UpdateBrowserVScrollBarL(TInt aDocumentHeight,
- TInt aDisplayHeight,
- TInt aDisplayPosY ) ;
-
-/**
-* From MBrCtlLayoutObserver Class
-* Browser plug-in calls this method to Update the position of horizontal scrollbar
-* @function UpdateBrowserHScrollBarL
-* @since S60 3.2
-* @Param aDocumentWidth - The total width of the markup page
-* aDisplayWidth - The width of the display
-* aDisplayPosX - The current X position
-*/
-void UpdateBrowserHScrollBarL(TInt aDocumentWidth,
- TInt aDisplayWidth,
- TInt aDisplayPosX );
-
-/**
-* From MBrCtlLayoutObserver Class
-* Browser plug-in calls this method to Inform the layout of the page: right to left or left to right
-* @function NotifyLayoutChange
-* @since S60 3.2
-* @Param aNewLayout - RTL or LTR
-*/
-void NotifyLayoutChange( TBrCtlLayout aNewLayout );
-
-/**
-* From MBrCtlLayoutObserver Class
-* Browser plug-in calls this method to Inform the layout of the page: right to left or left to right
-* @function UpdateTitleL
-* @since S60 3.2
-* @Param aTitle - Title of the page
-*/
-void UpdateTitleL( const TDesC& aTitle );
-
-public: // from CCoeControl
-/**
-* From CoeControl class
-* @function SizeChanged
-* @since S60 3.2
-* re-allocates and re-sizes components.
-*/
- void SizeChanged();
-/**
-* From CoeControl class
-* @function CountComponentControls
-* @since S60 3.2
-* @return Number of child controls this has.
-*/
- TInt CountComponentControls() const;
-
-/**
-* From CoeControl class
-* @function ComponentControl
-* @since S60 3.2
-* @param aIndex index of child controls
-* @retrun pointer to child control
-*/
- CCoeControl* ComponentControl(TInt aIndex) const;
-/**
-* From CoeControl class
-* @function OfferKeyEventL
-* @since S60 3.2
-* Progress Key Event
-* @param aKeyEvent the key event
-* @param aType EEventKey | EEventKeyUp | EEventKeyDown
-* @return EKeyWasConsumed if key event is processed,
-* otherwise EKeyWasNotConsumed
-*/
- TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-
-/**
-* From MBrCtlLoadEventObserver class
-* @function HandleBrowserLoadEventL
-* @since S60 3.2
-* A load events notification
-* @param aLoadEvent - The load event
-* aSize - Size depends on the event
-* aTransactionId - The transaction id of the transaction that had this event
-*/
- void HandleBrowserLoadEventL(TBrCtlDefs::TBrCtlLoadEvent aLoadEvent,
- TUint aSize, TUint16 aTransactionId);
-
-/**
-* @function RefreshL
-* @since S60 3.2
-* Used to Refresh the Content
-* @param aTopic - CCSXHHtmlTOC2 Object
-*/
- void RefreshL(CCSXHHtmlTOC2 *aTopic);
-
-/**
-* @function HandleBackKeyL
-* Handle Back Key
-* @since S60 3.2
-* @return ETrue, if the key is handled in the container, EFalse otherwise
-*/
- TBool HandleBackKeyL();
-
-/**
-* @function IsPrevHtmlPageAvblL
-* Check for Existance of the page in the Browser history stack
-* @since S60 3.2
-* @return ETrue, if page is available in Browser History Stack, EFalse otherwise
-*/
- TBool IsPrevHtmlPageAvblL();
-
-/**
-* @function SetSelectedFontSizeL
-* Sets BrowserFontsize
-* @since S60 3.2
-* @param aValue - Fontsize Value
-*/
- void SetSelectedFontSizeL(TInt aValue);
-
-/**
-* @function SetSelectedFontSizeL
-* Get Current Settings Value
-* @since S60 3.2
-* @param aValue - Any Setting
-* @return Current Value used by Browser
-*/
- TInt GetCurrentValueL(TInt aSetting);
-
-/**
-* @function HandleCommandBackL
-* @since S60 3.2
-* Handles resource changes.
-* pass OpenLink command to the browser HandlecommandL
-*/
- void HandleCommandOpenHyperLinkL();
-
-/**
-* From CoeControl class
-* @function Draw
-* @since S60 3.2
-* Draw() for drawing the Background
-*/
- void Draw(const TRect& aRect) const;
-
- void ShowIndexHtmlPageL() const;
-/**
-* @function HandleResourceChange
-* @since S60 3.2
-* Handles resource changes.
-* This function is called by framework when when e.g skin or locale is changed.
-* @param aType resource change type
-*/
- void HandleResourceChange(TInt aType);
-
-/**
-* @function HandleResourceChangeImpl
-* @since S60 3.2
-* Handles resource changes.
-* Implementation function for resource change
-* @param aType resource change type
-*/
- void HandleResourceChangeImpl(TInt aType);
-
-/**
-* @function HandleCommandBackL
-* @since S60 3.2
-* Handles resource changes.
-* pass Back command to the browser HandlecommandL
-*/
- void HandleCommandBackL();
-
-/**
-* Browser plug-in calls this method when embedded link is found. Used with ECapabilityClientResolveEmbeddedURL
-* @since 3.2
-* @param aEmbeddedUrl The url of the embedded content
-* @param aCurrentUrl The url of the current page
-* @param aLoadContentType The expected type of the embedded content
-* @param aEmbeddedLinkContent a callback interface to return the embedded content
-* @return EFalse, browser will resolve the link
-*/
- TBool ResolveEmbeddedLinkL(const TDesC& aEmbeddedUrl,
- const TDesC& aCurrentUrl,
- TBrCtlLoadContentType aLoadContentType,
- MBrCtlLinkContent& aEmbeddedLinkContent);
-
-/**
-* Browser plug-in calls this method when the user requests to load content via selecting a link, or any other way. Used with ECapabilityClientNotifyURL
-* @since 3.2
-* @param aUrl The requested url
-* @param aCurrentUrl The url of the current page
-* @param aBrCtlLinkContent a callback interface to return the embedded content
-* @return EFalse, browser will resolve the link
-*/
- TBool ResolveLinkL(const TDesC& aUrl, const TDesC& aCurrentUrl,
- MBrCtlLinkContent& aBrCtlLinkContent);
-
-/**
-* @function CancelFetchL
-* Cancel all outstanding resolving operations
-*/
- void CancelFetchL();
-/**
-* @function CancelAll
-* Cancel all outstanding resolving operations
-* @since 3.2
-*/
- void CancelAll();
-
-
-/**
-* @function HandleResolveComplete
-* @since 3.2
-* Resolver calls this method when content is resolved.
-* @param aContentType The content type of the response
-* @param aCharset The charset of the response. May be empty in case of image
-* @param aContentBuf content data. Ownership is not transfered
-* @return void
-*/
- void HandleResolveComplete(const TDesC& aContentType,
- const TDesC& aCharset,
- const HBufC8* aContentBuf);
-
-/**
-* @function HandleResolveError
-* @since 3.2
-* This method is called if there is some error while resolving the content
-* @param aError system wide error code.
-*/
- void HandleResolveError(TInt aError);
-/**
-* @function CheckForMSK
-* @since S60 3.2
-* Checks Msk flag is Enabled or not, If Enabled, Sets MSK Label
-*/
- void CheckForMSK();
-/**
-* @function IsPrevPageAvbl
-* Check wether focus is on Hyperlink or not
-* @since S60 3.2
-* @return ETrue, if Focus is on Hyperlink , EFalse otherwise
-*/
- TBool IsHyperLinkFocused();
-/**
-* @function IsPrevPageAvbl
-* Check for Existance of the page
-* @since S60 3.2
-* @return ETrue, if page is available , EFalse otherwise
-*/
- TBool IsPrevPageAvbl();
-
-/**
-* @function ClearHistoryL
-* Clear Browser history stack
-* @since S60 3.2
-*/
- void ClearHistoryL();
-
-/**
-* @function GetCurrActiveObject
-* Get the Current Active Object
-* @since S60 3.2
-* @return CCSXHHelpContentBase Pointer,
-*/
- CCSXHHelpContentBase* GetCurrActiveObject();
-
-private:
-
-/**
-* The state type of browser content.
-* @see SetContentLoadState() and NeedRefresh.
-*/
- enum TContentLoadState
- {
- ENoContent,
- EContentLoading,
- EContentLoadFinished
- };
-
-/**
-* @function ConstructL
-* @since S60 3.2
-* @Perform the second phase construction of a HtmlTopicContainer object
-* @param aRect the rectangle this view will be drawn to
- */
- void ConstructL( const TRect& aRect );
-
-/**
-* @function LoadHtmlL
-* loads HTML page in the Browser
-* @since S60 3.2
-*/
- void LoadHtmlL();
-
-/**
-* @function CheckForExternalLinkL
-* Check for external Hyperlink, if yes launch browserNG
-* @since S60 3.2
-* @return ETrue, if external hyperlink available, EFalse otherwise
-*/
- TBool CheckForExternalLinkL(const TDesC& aUrl);
-
-/**
-* @function SetContentLoadingState
-* Set the state of content loading and refresh the UI id needed
-*/
- void SetContentLoadState( const TContentLoadState aLoadState );
-
-/**
-* @function NeedRefresh
-* Judge whether we need to refresh the browser control
-*/
- TBool NeedRefresh( const TContentLoadState aNewLoadState ) const;
-
-/**
- * @function HideBrowser
- */
- void HideBrowser();
-
-/**
- * * @function ShowBrowser
- */
- void ShowBrowser();
-
-/*
- * @function SetTopAndBottomContainer
- * To set top and Bottom container of browser and blank container
- */
- void SetTopAndBottomContainer( CCoeControl* aTopControl,
- CCoeControl* aBottomControl );
-
-private:
- CBrCtlInterface* iBrCtrl;
- CCSXHHtmlTOC2* iTopic;
- CCSXHDocument& iDocument;
- CCSXHHelpContentBase *iNewTopic;
-
- //Check the impln comments in HandleBrowserLoadEventL function
- TBuf<KMaxFileName> iUrlNoAnchors;
-
- CCSXHHtmlTopicView* iView;
- AppLauncherForCSXH* iAppLauncher;
- RLibrary iBrLibrary;
- RFeatureControl iFeatureControl;
- TBool iLoadHtml;
- TInt32 iPrevPageCount;
- TBool iBack;
-
- TContentLoadState iContentLoading;
-
- // used to hide browser control if needed.
- CCoeControl* iBlankContainer;
-
- // Used to determine whether hide browser control or not.
- CCoeControl* iTopControl;
- CCoeControl* iBottomControl;
-
- };
-
-
-#endif