fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonCtrlExactWordPopupContent.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonCtrlExactWordPopupContent.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,165 @@
+/*
+* Copyright (c) 2007 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:             Contents of the exact word tooltip shown above inline editor
+*                when the exact word differs from the inline word in Western
+*                QWERTY predictive mode.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __AKN_FEP_EXACT_WORD_POPUP_CONTENT_H 
+#define __AKN_FEP_EXACT_WORD_POPUP_CONTENT_H
+#include <coecntrl.h>
+#include "AknFepUiWordPopupContent.h"
+
+// FORWARD DECLARATIONS
+class CAknPreviewPopUpController;
+
+
+// CLASS DECLARATION
+class CAknFepExactWordPopupContent : public CCoeControl, public MAknFepUiWordPopupContent
+    {
+    public: // construction and destruction
+    
+        /**
+        * Two phased constructor
+        */
+        static CAknFepExactWordPopupContent* NewL();
+        
+        /**
+        * Destructor
+        */
+        ~CAknFepExactWordPopupContent();
+        
+    private: // construction
+        
+        /**
+        * C++ constructor
+        */
+        CAknFepExactWordPopupContent();
+        
+        /**
+        * Second phase constructor
+        */
+        void ConstructL();
+        
+    public: // new interface functions
+    
+        /**
+        * Sets the text to be shown in the popup
+        */
+        void SetTextL( const TDesC& aText );
+        
+        /**
+        * Sets the popup controller pointer. This must be called before drawing the popup contents.
+        * @param    aController Pointer to the popup for which this object provides the content.
+        
+        void SetPopupController( CAknPreviewPopUpController* aController );
+		*/
+		
+        /**
+        * Sets the direction of the arrow included in the popup. This should be used as a hint
+        * about the direction to tap to select the word shown in the popup.
+        */
+        void SetArrowDirection( TArrowDirection aDirection );
+
+    public: // functions from base classes
+    	/**
+     	* Returns the minimuz size of this preview popup content.
+     	*/    
+        TSize MinimumSize();        
+    
+    public: //new interface functions
+    	/**
+        * Sets the delay used before showing the preview popup. The default 
+        * delay is one second.
+        * @param aDelay Delay in microseconds.
+        */
+    	void SetPopUpShowDelay( const TTimeIntervalMicroSeconds32& aDelay );
+    	/**
+        * Sets the preview popup visible after specified delay. If the popup
+        * is already visible it is hidden immediately and shown again after the
+        * showing delay. Popup is automatically hidden after its hiding delay
+        * unless the delay is zero in which case the popup is shown infinitely.
+        */
+        virtual void ShowPopUp();
+        
+        /**
+        * Hides the popup immediately.
+        */
+        virtual void HidePopUp();
+        /**
+        * Sets the position of preview popup. Popup's size is determined by the
+        * size of its content. The popup is placed left and down from the given 
+        * point. If fixed mode is used then this function has no effect.
+        * @param aPoint Popup's position.
+        */
+        virtual void SetPosition( const TPoint& aPoint );
+
+        /**
+        * Updates popup's size to reflect a change in content's size.
+        * Should be called if the size of the content is changed dynamically.
+        */
+        virtual void UpdateContentSize();
+        
+        /**
+        * Returns the popup's size.
+        */
+        virtual TSize Size() const; 
+		
+		/**
+        * Returns true if the popup is visible.
+        */
+        virtual TBool IsPopUpVisible();
+        virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent )	;        
+     
+    private: // functions from base classes
+    
+        /**
+        * Draws the contents of the popup
+        * @aRect    The area which should be redrawn.
+        */
+        void Draw( const TRect& aRect ) const;
+        
+        /**
+        * Draws the upwards or downwards pointing arrow, depending on the value
+        * set by SetArrowDirection(). The upward arrow is placed in the bottom of the popup
+        * while the downward arrow is drawn on the top part of the popup.
+        * @aTextRect    The area of the poup which is reserved for the text.
+        */ 
+        void DrawArrowL( const TRect& aTextRect ) const;
+        
+    private: // data
+    	TBool iIsPopUpVisible;
+        //! The text label to be shown in the popup
+        CEikLabel* iLabel;
+        
+        //! The popup where this object provides the content.
+        CAknPreviewPopUpController* iPopupController; // not owned
+        
+        //! Tells the direction of the arrow included in the popup
+        MAknFepUiWordPopupContent::TArrowDirection iArrowDirection;
+    };
+
+#endif // AKN_FEP_EXACT_WORD_POPUP_CONTENT_H
\ No newline at end of file