browserui/browser/BrowserAppInc/BrowserGotoPane.h
branchRCL_3
changeset 64 6385c4c93049
parent 63 4baee4f15982
child 65 8e6fa1719340
--- a/browserui/browser/BrowserAppInc/BrowserGotoPane.h	Thu Aug 19 09:57:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +0,0 @@
-/*
-* 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:  Browser Goto pane.
-*
-*/
-
-
-#ifndef WML_GOTO_PANE_BASE_H
-#define WML_GOTO_PANE_BASE_H
-
-// DEFINES
-#ifndef GOTOPANE_POPUPLIST_DISABLE
-#define GOTOPANE_POPUPLIST_DISABLE EFalse
-#endif
-
-#ifndef GOTOPANE_POPUPLIST_ENABLE
-#define GOTOPANE_POPUPLIST_ENABLE ETrue
-#endif
-
-// INCLUDE FILES
-#include <coecntrl.h>
-#include <eikedwin.h>
-#include <Avkon.mbg>
-
-// FORWARD DECLARATION
-class CAknInputFrame;
-class CBrowserGotoPane;
-class CBrowserAdaptiveListPopup;
-class CBrowserContentView;
-
-// CLASS DECLARATION
-/**
-* Mixin class for handling Goto Pane events.
-*  
-* @lib Browser.app
-* @since Series60 1.2
-*/
-class MGotoPaneObserver
-    {
-
-    public:     // types
-
-        enum TEvent                 /// Goto Pane events.
-            {
-            EEventEnterKeyPressed   ///< Enter (OK) key pressed.
-            };
-
-    public:     // new methods
-
-        /**
-        * Handle Goto Pane event. Derived classes must implement.
-        * @since Series60 1.2
-        * @param aGotoPane The Goto Pane in which the event occurred
-        * @param aEvent Goto Pane event
-        */
-        virtual void HandleGotoPaneEventL( CBrowserGotoPane* aGotoPane, TEvent aEvent ) = 0;
-    };
-
-
-/**
-* Key event handled. Has higher priority than FEP,
-* to be able to catch up/down key event and forward
-* them to goto pane's editor.
-*
-* @lib Browser.app
-* @since Series 60 1.2        
-*/
-class CBrowserKeyEventHandled : public CCoeControl, public MEikEdwinObserver
-    {
-    public:
-        
-        /**
-        * public constructor
-        * @param aGotoPane pointer to goto pane that key events are controled
-        */
-        CBrowserKeyEventHandled( CBrowserGotoPane& aGotoPane );
-
-        /**
-        * Catches key events before FEP could do it.
-        * @since Series60 1.2
-        * @param aKeyEvent
-        * @param aType
-        * @return
-        */
-        virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-
-        /**
-        * Catches EEventTextUpdate event.
-        * @since Series60 1.2
-        * @param aKeyEvent
-        * @param aType
-        * @return
-        */
-        virtual void HandleEdwinEventL(CEikEdwin* aEdwin,TEdwinEvent aEventType);
-
-        /**
-        * Put control to control stack or remove it from there.
-        * @since Series60 1.2
-        * @param aEnable ETrue puts control to the control stack with higher 
-        * priority than FEP has. EFalse removes control from the stack.
-        */
-        void EnableL( TBool aEnable );
-
-        /**
-        * Set iFirstKeyEvent to TRUE.
-        * @since Series60 1.2
-        */
-        void Reset();
-
-        /**
-        * Get LeftRightEvent.
-        * @since Series60 1.2
-        */
-
-        TBool IsLeftRightEvent() { return iLeftRightEvent; }
-
-        /**
-        * SetFirstKey.
-        * @since Series60 3.2
-        */
-        void SetFirstKeyEvent(TBool aFirstKeyEvent) {iFirstKeyEvent = aFirstKeyEvent;}
-
-
-    protected:
-        
-        // key event catching enable flag
-        TBool   iEnabled;   
-        
-        // only first key event is catched
-        TBool   iFirstKeyEvent; 
-        
-        //
-        TBool iLeftRightEvent;
-        
-        // goto pane control of which key events are catched
-        CBrowserGotoPane& iGotoPane;                                        
-    };
-
-/**
-* Goto Pane Base for the WML Browser & Bookmarks. 
-* It looks just like a search field.
-* 
-* @lib Browser.app
-* @since Series 60 1.2
-*/
-class CBrowserGotoPane:
-        public CCoeControl, public MCoeControlObserver, public MCoeFepObserver
-    {
-    public:
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @since Series60 1.2
-        * @param aParent Parent control
-        * @param aIconBitmapId Id of the icon to display
-        * @param aIconMaskId Id of the icon`s mask
-        * @param aPopupListStatus True if the pane uses popuplist,
-        *                         otherwise false.
-        * @param aContentView Pointer to content view
-        * @param aFindKeywordMode Set true if the pane is a find keyword pane.
-        * @return The constructed Goto Pane control
-        */
-        static CBrowserGotoPane* NewL
-              ( 
-              const CCoeControl* aParent, 
-              TInt aIconBitmapId = EMbmAvkonQgn_indi_find_goto, 
-              TInt aIconMaskId  = EMbmAvkonQgn_indi_find_goto_mask, 
-              TBool aPopupListStatus = GOTOPANE_POPUPLIST_ENABLE,
-              CBrowserContentView* aContentView = NULL,
-              TBool aFindKeywordMode = EFalse
-              );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBrowserGotoPane();
-
-        /**
-        * Makes goto pane (un)visible.
-        * @since Series60 1.2
-        * @param ETrue to set visible
-        */
-        virtual void MakeVisibleL( TBool aVisible );
-
-        /**
-        * Non-leaving version of MakeVisibleL.
-        * @since Series60 1.2
-        * @param ETrue to set visible
-        */
-		virtual void MakeVisible( TBool aVisible );
-
-        /**
-        * See description in calslbs.h.
-        */
-        void HandleFindSizeChanged();
-
-        /**
-        * Enable key event handler.
-        * @since Series60 1.2
-        * @param aEnable TRUE to enable
-        */
-        void EnableKeyEventHandlerL( TBool aEnable );
-
-        /**
-        * Activate GoTo Pane.
-        */
-        void SetGotoPaneActiveL();
-
-        /**
-        * Activate Search Pane.
-        */
-        void SetSearchPaneActiveL();
-        
-        /**
-        * Check if we are in Goto Mode
-        * @return ETrue if we are in Goto Mode; EFalse otherwise.
-        */
-        inline TBool GotoPaneActive() const { return iGotoPaneActive; }
-        
-        /**
-        * Check if we are in Search Mode
-        * @return ETrue if we are in Search Mode; EFalse otherwise.
-        */
-        inline TBool SearchPaneActive() const { return iSearchPaneActive; }
-        
-    public:	// from MCoeControlObserver
-
-        /**
-        * Handle control event.
-        * @since Series60 1.2
-        * @param aControl The control
-        * @param aEventType Event type
-        */
-	    void HandleControlEventL
-            ( CCoeControl* aControl, TCoeEvent aEventType );
-
-    public: // from CCoeControl
-
-        /**
-        * Handle key event.
-        * @since Series60 1.2
-        * @param aKeyEvent The key event
-        * @param aType Key event type
-        * @return Response (was the key event consumed?)
-        */
-        virtual TKeyResponse OfferKeyEventL
-            ( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-        /**
-        * HandlePointerEventL
-        * From CCoeControl
-        *
-        */
-        void HandlePointerEventL(const TPointerEvent& /*aPointerEvent*/);
-        
-        /**
-        * HandleResourceChange
-        * From CCoeControl
-        */
-        void HandleResourceChange(TInt aType);
-        
-
-    public:     // from CCoeControl
-
-        /**
-        * Count component controls.
-        * @since Series60 1.2
-        * @return Number of component controls
-        */
-        virtual TInt CountComponentControls() const;
-
-        /**
-        * Get a component control by index.
-        * @since Series60 1.2
-        * @param aIndex Index of component control to be returned
-        * @return Component control or NULL
-        */
-        virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * Sets the OrdinalPosition of GotoPane
-        * @param aPos The OrdinalPosition
-        */
-        void SetOrdinalPosition( TInt aPos );
-
-    public:     // Text manipulation
-
-        /**
-        * Length of the Search text in the editor.
-        * @return The text length
-        */
-        TInt SearchTextLength() const;
-
-        /**
-        * Length of the text in the editor.
-        * @since Series60 1.2
-        * @return The text length
-        */
-        TInt TextLength() const;
-
-        /**
-        * Get text from the editor.
-        * @since Series60 1.2
-        * @return text from the editor
-        */
-        HBufC* GetTextL() const;
-
-        /**
-        * Set text.
-        * @since Series60 1.2
-        * @param aTxt Text to set
-        * appended if needed.
-        */
-        virtual void SetTextL( const TDesC& aTxt );
-
-        /**
-        * Set Editor Font Posture to Italic.
-        */
-        void SetTextModeItalicL( );
-        
-        /**
-        * Set Search text.
-        * @param aTxt Text to set
-        * appended if needed.
-        */
-        void SetSearchTextL( const TDesC& aTxt );
-        
-        /**
-        * Selects all text in the editor.
-        * See CEikEdwin's SelectAllL();
-        * @since Series60 1.2
-        */
-        void SelectAllL();
-
-        /**
-        * Set info text.
-        * @since Series60 1.2
-        * @param aText Text to be displayed as info
-        */
-        void SetInfoTextL( const TDesC& aText );
-
-        /**
-        * Perform clipboard functionality.
-        * @since Series60 1.2
-        * @param aClipboardFunc Function to perform
-        */
-        void ClipboardL( CEikEdwin::TClipboardFunc aClipboardFunc );
-
-        /**
-        * Returns editor control of goto pane.
-        * @since Series60 1.2
-        * @return editor control of goto pane
-        */
-        CEikEdwin* Editor() const;
-        
-        void ResetPrevText();
-
-    public:     // observer support
-
-        /**
-        * Set observer. Pass NULL pointer to unset. Panics if already set.
-        * @since Series60 1.2
-        */
-        void SetGPObserver( MGotoPaneObserver* aObserver );
-
-         /**
-        * Gives back a pointer to adaptivepopuplist
-        */
-        CBrowserAdaptiveListPopup* PopupList();
-		
-         /**
-        * Handles the completion of a FEP transaction
-        */		
-		void HandleCompletionOfTransactionL();
-
-         /**
-        * Handles the start of a FEP transaction
-        */		
-		void HandleStartOfTransactionL();		
-
-    protected:  // Construct / destruct
-        /**
-        * Constructor.
-        * @param 
-        */
-        CBrowserGotoPane( CBrowserContentView* aContentView, TBool aFindKeywordMode );
-
-        /**
-        * Second-phase constructor. Leaves on failure.
-        * @param aParent Parent control
-        */
-        void ConstructL( const CCoeControl* aParent, TInt aIconBitmapId, TInt aIconMaskId, TBool aPopupListStatus );
-
-        /**
-        * Constructs Search Pane.
-        */
-        void ConstructSearchPaneL();
-        
-    protected:  // from CCoeControl
-
-        /**
-        * Handle size change, lay out and draw components.
-        */
-        virtual void SizeChanged();
-
-        /**
-        * Handle focus change.
-        * @since Series60 1.2
-        * @param aDrawNow Draw now?
-        */
-        virtual void FocusChanged( TDrawNow aDrawNow );
-
-    private:
-
-        /**
-        * Set the text and redraw.
-        * @since Series60 1.2
-        */
-        void DoSetTextL( const TDesC& aTxt );
-        
-        void ActivateVKB();
-
-
-    protected:    // data
-    
-		CBrowserContentView* iContentView; //Not owned.
-		
-		// If the control is in find keyword pane mode.
-		TBool iFindKeywordMode;
-		
-		// HandleFEPFind
-		TBool iHandleFEPFind;
-		
-		// The previously typed text into iEditor
-		HBufC* iPrevKeyword;
-					
-        // Editor. Owned.
-        CEikEdwin* iEditor;  
-        
-        // Input frame. Owned.
-        CAknInputFrame* iInputFrame;
-        
-        // Search Editor. Owned.
-        CEikEdwin* iSearchEditor;  
-        
-        // Search Input frame. Owned.
-        CAknInputFrame* iSearchInputFrame;
-                
-        // Observer (may be NULL). Not owned.
-        MGotoPaneObserver* iGPObserver;
-		
-        
-        CBrowserKeyEventHandled *iGotoKeyHandled;
-
-        /// adaptive popuplist
-        CBrowserAdaptiveListPopup* iBAdaptiveListPopup;
-        
-        // Represents Active Editors 
-        TBool iGotoPaneActive;
-        TBool iSearchPaneActive;
-        
-        // Default text in Search Editor.Owned.
-        HBufC* iDefaultSearchText;
-        
-        // Search Input Frame Icon Id, used for tracking the Search Icon Changes.
-        TInt iSearchIconId;
-        
-        // Stores the Search Icon File Path.
-        TFileName iSearchIconFilePath;
-    };
-
-#endif