--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/uicomponents/inc/fsfastaddressingvisualizer.h Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,251 @@
+/*
+* 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: Declaration of CFsFastAddressingVisualizer class
+*
+*/
+
+
+#ifndef C_FSFASTADDRESSINGVISUALIZER_H
+#define C_FSFASTADDRESSINGVISUALIZER_H
+
+
+#include <e32base.h>
+//<cmail> removed __FS_ALFRED_SUPPORT flag (other places in this file not tagged!)
+//#include <fsconfig.h>
+/*#ifdef __FS_ALFRED_SUPPORT
+#else // !__FS_ALFRED_SUPPORT
+#endif // __FS_ALFRED_SUPPORT*/
+//</cmail> removed __FS_ALFRED_SUPPORT flag
+#include "fsfastaddressinglist.h"
+
+class CAlfAnchorLayout;
+class CAlfFlowLayout;
+class CFsTextInputVisual;
+
+/**
+ * CFsFastAddressingVisualizer class is responsible for visualisation
+ * of the fast addressing list component. The class constructs the
+ * visualization tree and manages the visualization of the text input field.
+ *
+ */
+
+NONSHARABLE_CLASS( CFsFastAddressingVisualizer ) : public CBase
+ {
+public:
+
+ /**
+ * Two-phased constructor
+ *
+ * @param aOwner Owner of visualizer
+ * @param aTextControl CoeControl of which the Rect will be handled
+ * @return Created instance of CFsFastAddressingVisualizer class
+ */
+ static CFsFastAddressingVisualizer* NewL( CAlfControl& aOwner,
+ CCoeControl& aTextControl );
+
+ /**
+ * Two-phased constructor
+ *
+ * @param aOwner Owner of visualizer
+ * @param aTextControl CoeControl of which the Rect will be handled
+ * @return Created instance of CFsFastAddressingVisualizer class
+ */
+ static CFsFastAddressingVisualizer* NewLC( CAlfControl& aOwner,
+ CCoeControl& aTextControl );
+
+ /**
+ * Destructor
+ */
+ virtual ~CFsFastAddressingVisualizer();
+
+ /**
+ * Set the icon image.
+ *
+ * @param aIconID Sets icon image
+ * @param aImage Image to be set
+ */
+ void SetIcon(
+ const CFsFastAddressingList::TIconID aIconID,
+ const TAlfImage& aImage );
+
+ /**
+ * Sets icon visibility
+ *
+ * @param aIconID Sets icon image
+ * @param aVisible State of icon visibility.
+ */
+ void SetIconVisible( const CFsFastAddressingList::TIconID aIconID,
+ const TBool aVisible );
+
+ /**
+ * Returns the icon visibility.
+ * @param aIconID Id of icon which visiblity will be set
+ * @return TBool icon visibility status.
+ */
+ TBool IconVisible( const CFsFastAddressingList::TIconID aIconID ) const;
+
+ /**
+ * Redraw the FAL.
+ */
+ void Refresh();
+
+
+ /**
+ * Sets list visiblity
+ *
+ * @param aVisible If ETrue list is set to be visible.
+ * If EFalse list is set to invisible.
+ */
+ void SetVisible( const TBool aVisible );
+
+ /**
+ * Move selection up.
+ * Selection implemented in TreeList.
+ */
+
+ void MoveSelectionUp();
+ /**
+ * Move selection down.
+ * Selection implemented in TreeList.
+ */
+
+ void MoveSelectionDown();
+
+ /**
+ * Returns pointer to the layout for the text input field.
+ * @return Layout for the text input field.
+ */
+ CAlfLayout* GetTextLayout() const;
+
+ /**
+ * Sets visibility of the text field layout.
+ * @param iVisible visibility of the text input field.
+ */
+ void SetTextFieldVisible( const TBool iVisible );
+
+ /**
+ * Returns status of visibility of the text field layout.
+ * @return TBool visibility status of the text input field.
+ */
+ TBool IsTextFieldVisible() const;
+
+ /**
+ * Sets position of the list (bottom of text field or on top of text field)
+ * @param aPos position of the list
+ * {EListOnTopOfTextField,EListBelowTextField}
+ */
+ void SetListPosition( CFsFastAddressingList::TFsListPosition aPos );
+
+ /**
+ * Returns position of the list
+ * @return TFsListPosition position of the list
+ * {EListOnTopOfTextField,EListBelowTextField}
+ */
+ CFsFastAddressingList::TFsListPosition ListPosition() const;
+
+ /**
+ * Returns main layout of FAL
+ * @return CHuiLayout* pointer to the main layout.
+ */
+ CAlfLayout* GetMainLayout() const;
+
+ /**
+ * Returns layout for list component
+ * @return CHuiLayout* pointer to the main layout.
+ */
+ CAlfLayout* GetListLayout() const;
+
+private:
+ /**
+ * Default constructor
+ *
+ * @param aOwner Owner of the visualizer.
+ */
+ CFsFastAddressingVisualizer( CAlfControl& aOwner );
+
+ /**
+ * Second phase constructor
+ * @param aTextControl CCoeControl of which the TRect will be managed
+ */
+ void ConstructL( CCoeControl& aTextControl );
+
+ /**
+ * Draw underline text
+ */
+ void DrawUnderline();
+
+ /**
+ * Sets anchors for the textinput layout and for the list layout
+ */
+ void SetAnchors();
+
+
+private: //Data
+
+ /**
+ * Root laout of the fast addresing list component.
+ * Not owned.
+ */
+ CAlfAnchorLayout* iRootLayout;
+
+ /**
+ * Layout passed to the tree list component.
+ * Not owned.
+ */
+ CAlfLayout* iItemsList;
+
+ /**
+ * Layout for text input field.
+ * Not owned.
+ */
+ CAlfFlowLayout* iTextField;
+
+ /**
+ * Image visual for icon A
+ * Not owned.
+ */
+ CAlfImageVisual* iIconA;
+
+ /**
+ * Image visual for icon B
+ * Not owned.
+ */
+ CAlfImageVisual* iIconB;
+
+ /**
+ * Controls which owns the visualizer.
+ * Not owned.
+ */
+ CAlfControl& iControlOwner;
+
+ /**
+ * Visualizer for the text input field
+ * Not owned.
+ */
+ CFsTextInputVisual* iTextInputVisual;
+
+ /**
+ * Visibility of text field.
+ */
+ TBool iTextFieldVisible;
+
+ /**
+ * List position.
+ * {EListOnTopOfTextField,EListBelowTextField}
+ */
+ CFsFastAddressingList::TFsListPosition iListPosition;
+ };
+
+
+#endif // C_FSFASTADDRESSINGVISUALIZER_H