csxhelp/inc/CSXHHtmlTopicView.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 15:15:23 +0200
changeset 0 1f04cf54edd8
child 5 d06b1526f62c
permissions -rw-r--r--
Revision: 201004

/*
* 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:  CCSXHHtmlTopicView class declaration
*
*/


#ifndef INC_CCSXHHTMLTOPICVIEW_H__
#define INC_CCSXHHTMLTOPICVIEW_H__

// INCLUDES
#include <aknview.h>
#include <aknlists.h>

class CCSXHHtmlTopicContainer;
class TCoeHelpContext;
// CLASS DECLARATION

/** 
* @class CCSXHHtmlTopicView
* This class handles BrowserView of the Csxhelp Application
*/
class CCSXHHtmlTopicView : public CAknView
    {
    public: 
    
    enum THtmlViewType
    	{
    	EHtmlView = 0,
    	EContextHtmlView
    	};    
/** 
*  @function NewL
*  @since S60 3.2
*  Construct a CCSXHHtmlTopicView 
*  and return a pointer to the created object
*  @param aUid   - View Id
*		  aFlags - Resource Id
*		  aRect  - TRect Object	
*  @return a CCSXHHtmlTopicView Pointer 
*/
    static CCSXHHtmlTopicView* NewL(const TUid&, const TInt&,const TRect& aRect);
    
/** 
*  @function ~CCSXHHtmlTopicView
*  @since S60 3.2
*  Destroy the object and release all memory objects
*/
    virtual ~CCSXHHtmlTopicView();

/**
*  @function SetViewType
*  @since S60 3.2
*  Sets the view type as either normal or context view
*/        
	void SetViewTypeL(TInt viewType); 
	
/** 
*  @function GetViewType
*  @since S60 3.2
*  Gets the view type as either normal or context view
*/        
	TInt GetViewType(); 	
        
    protected:
/** 
*  @function CCSXHHtmlTopicView
*  @since S60 3.2
*  Perform the first phase of two phase construction
*/  
    CCSXHHtmlTopicView(const TUid&,const TInt&);

/** 
*  @function ConstructL
*  @since S60 3.2
*  Perform the second phase construction of a htmltopicview object
*/  
    void ConstructL(const TRect& aRect);

/**
* From MEikMenuObserver
* @function DynInitMenuPaneL 
* used to manage the menu when
* no item are in the list box.
* We need to delete the "Open"
* menu item in this case.
*
* @since 3.2
* @param aResource resource ID of menu pane
* @param aMenuPane instance of menupane
*/         
        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
      

    public: // Functions from base classes
/**
* From CAknView, return view id of this view
*
* @function Id
* @since 3.2
* @return view id
*/
       TUid Id() const;

/** 
 * @function HandleCommandL
 * @since S60 3.2  
 * takes care of command handling.
 * @param aCommand command to be handled
 */
       void HandleCommandL(TInt aCommand);
       
/** 
 * @function ResourceChangeHdl
 * @since S60 3.2  
 * Handler for resource change
 * @param aType - Type of resource change event
 */
     void ResourceChangeHdl(TInt aType);             

/** 
 * @function ViewActivatedL
 * @since S60 3.2  
 * Takes any action required when this view is activated. 
 * Handles this view activation event from view server
 * @param aPrevViewId  		- Specifies the view previously active.  
 *		  aCustomMessageId  - Specifies the message type.  
 *  	  aCustomMessage    - Activation message 
 */
       void ViewActivatedL(const TVwsViewId& aPrevViewId,
	                             TUid aCustomMessageId,
	                             const TDesC8& aCustomMessage);
	                             
	                             
/** 
 * @function SetSoftKeysL
 * @since S60 3.2  
 * Sets SoftKeys 
 * @param aSoftKeys Resource Id
 */	                             
	   void SetSoftKeysL(TInt aSoftKeys);
	   
/** 
 * @function GetCurrentFontSize
 * @since S60 3.2  
 * SetSoftKeysL 
 * @return Current FontSize 
 */	   
	   TInt GetCurrentFontSize();
/** 
*  @function SetMiddleSoftKey
*  @since S60 3.2
*  This will set the Label for MSK
*/	   
	   void SetMiddleSoftKey(TBool aValue);
	   
/**
* From CAknView
* @function DoDeactivate 
* de-activation handler
*
* @since 3.2
* @param aPrevViewId ID of previious view.
*/  
      void DoDeactivate();	   
#ifdef FF_HELP_TUTORIAL_MERGE
    /**
    *  Lauch tutorial if exist, else popup a error message
    *  @since S60 3.2
    *  @param None
    *  @return None
    */
    void LaunchTutorial();
#endif // FF_HELP_TUTORIAL_MERGE

    protected: // functions from base classes
/**
* From CAknView
* @function DoActivateL 
* activation handler
*
* @since 3.2
* @param aPrevViewId ID of previious view.
*/
       void DoActivateL(const TVwsViewId& aPrevViewId,
                             TUid /* aCustomMessageId */,
                             const TDesC8& /* aCustomMessage */);


        
   private: 
        // previous view
      TVwsViewId iPrevious;
	  CCSXHHtmlTopicContainer* iBCContainer;
	  
	  const TUid& iUid;
      const TInt& iAppFlags;
      
	  static TInt iFontSize;
	  
	  TBool iContextTopicView;		
    };

#endif // INC_CCSXHHTMLTOPICVIEW_H__

// End of File