mulwidgets/common/inc/mulvisualutility.h
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
--- a/mulwidgets/common/inc/mulvisualutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,728 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for widgets visualization in terms of LCT data
-*
-*/
-
-
-#ifndef MULVISUALUTILITY_H_
-#define MULVISUALUTILITY_H_
-
-#include <alf/alflayout.h>
-#include <osn/ustring.h>
-
-// Avkon Includes
-#include <aknlayout2hierarchy.h>
-#include <AknUtils.h>
-#include <AknsConstants.h>
-
-// OpenC Includes
-#include <libc/string.h>
-#include <libc/stdlib.h>
-
-#include <vector>
-using namespace osncore;
-
-namespace Alf
-	{
-	    
-enum TMulCurrentOrientation
-    {
-    EMulPortrait,
-    EMulLandScape
-    };	
-/**
- * Different visual types
- */
-enum TMulLCTVisualType
-    {
-    EVisualImage = 0,
-    EVisualText
-    };
-
-/**
- * Different attribute types
- */    
-enum TMulCustomAttributeType
-    {
-    EAttributeNone,
-    EAttributeCategory,
-    EAttributeOpacity,
-    EAttributeStyle,
-    EAttributeFontthemecolor,
-    EAttributeHAlign,
-    EAttributeVAlign
-    };
-
-/**
- * Different Category types
- */    
-enum TMulAttributeCategoryType
-    {
-    ECategoryInvalid,
-    ECategoryData,
-    ECategoryStaticData
-    };
-    
-/**
- * Co-ordinate data
- */    
-struct LCTData
-	{
-	    int mPosX;
-	    int mPosY;
-	    int mWidth;
-	    int mHeight;
-	    int mFontId;
-	};
-
-/**
- * LCT Id and variety
- */	
-struct LCTPair
-    {
-    UString mLctId;
-    int mVariety;
-    };
-
-// ---------------------------------------------------------------------------
-// Class to hold  attributes name and value
-// ---------------------------------------------------------------------------
-//
-class CustomAttributeStructure 
-    {
-public:
-
-   /**
-	* Constructor
-	*
-	* @param aName				Name of the Attribute
-	* @param aTargetVal			Value the Attribute
-	* @param aAttributeType		Name of the Attribute
-	* @param aCategoryType		Name of the Attribute
-	*
-	*
-	*/
-    CustomAttributeStructure(const UString& aName, const UString& aTargetVal,
-        TMulCustomAttributeType aAttributeType = EAttributeNone, 
-        TMulAttributeCategoryType aCategoryType = ECategoryInvalid): 
-            mName(aName),
-            mTargetVal(aTargetVal),
-            mAttributeType(aAttributeType), 
-            mCategoryType(aCategoryType)
-            
-             {
-             mLctPair.mLctId = UString("");
-             mLctPair.mVariety = -1;
-             } 
-    
-   /**
-	* Constructor
-	*
-	* @param aName				Name of the Attribute
-	* @param aLctInfo			LCT information of the custom attribute
-	* @param aAttributeType		Name of the Attribute
-	* @param aCategoryType		Name of the Attribute
-	*
-	*
-	*/
-    CustomAttributeStructure(const UString& aName, const LCTPair& aLctInfo,
-        TMulCustomAttributeType aAttributeType = EAttributeNone, 
-        TMulAttributeCategoryType aCategoryType = ECategoryInvalid): 
-            mName(aName),
-            mTargetVal(""),
-            mAttributeType(aAttributeType), 
-            mCategoryType(aCategoryType)
-            
-             {
-             mLctPair.mLctId = aLctInfo.mLctId;
-             mLctPair.mVariety = aLctInfo.mVariety;
-             }   
-    
-   /**
-	* Sets the name of the custom attribute
-	*
-	* @param aName	Name of the custom attribute
-	* @return nothing
-	*
-	*/         
-    void SetName(const UString& aName) {mName = aName;}
-    
-   /**
-	* Sets the value the custom attribute
-	*
-	* @param aTarget	Value of the custom attribute
-	* @return nothing
-	*
-	*/ 
-    void SetTargetValue(const UString& aTarget) {mTargetVal = aTarget; }
-    
-   /**
-	* Get the name of attribute
-	*
-	* 
-	* @return Name of the attribute
-	*
-	*/
-    const UString GetName() const {return mName; } 
-    
-   /**
-	* Get the value of the attribute
-	*
-	* 
-	* @return Value of the attribute
-	*
-	*/
-    const UString GetTargetvalue() const {return mTargetVal;} 
-     
-   /**
-	* Sets the attribute type the custom attribute
-	*
-	* @param aAttributeType		Attribute type of the custom attribute
-	* @return nothing
-	*
-	*/ 
-    void SetAttributeType(TMulCustomAttributeType aAttributeType) {mAttributeType = aAttributeType;}
-    
-   /**
-	* Sets the Category type the custom attribute
-	*
-	* @param aCategoryType		Category type of the custom attribute
-	* @return nothing
-	*
-	*/
-    void SetCategoryType(TMulAttributeCategoryType aCategoryType) {mCategoryType = aCategoryType;} 
-       
-   /**
-	* Get the attribute type of the attribute
-	*
-	* 
-	* @return TMulCustomAttributeType
-	*
-	*/  
-    TMulCustomAttributeType AttributeType() const {return mAttributeType;}
-    
-   /**
-	* Get the category type of the attribute
-	*
-	* 
-	* @return TMulAttributeCategoryType
-	*
-	*/ 
-    TMulAttributeCategoryType CategoryType()const {return mCategoryType;}
-    
-   /**
-	* Get the LCT information of attribute
-	*
-	* 
-	* @return LCTPair
-	*
-	*/ 
-    const LCTPair& GetLctPair() 
-    {
-    return mLctPair;
-    }
-
-private: 
- 
-   /**
-	* Attribute name
-	*/
-    UString mName;
-    
-   /**
-	* Attribute value
-	*/
-    UString mTargetVal;
-    
-   /**
-	* Attribute type
-	*/
-    TMulCustomAttributeType mAttributeType;
-    
-   /**
-	* Attribute  Category type
-	*/
-    TMulAttributeCategoryType mCategoryType;    
-    
-   /**
-	* LCT Id and variety
-	*/
-    LCTPair mLctPair;
-    };
-    
-
-// ---------------------------------------------------------------------------
-// Class to hold a visual's attributes
-// ---------------------------------------------------------------------------
-//
-class LCTVisualStructure
-    {
-public:
-	
-   /**
-	* Default Constructor
-	*
-	*/
-    LCTVisualStructure()
-    {
-    	
-    }    
-        
-   /**
-	* Destructor
-	*
-	*/
-    ~LCTVisualStructure()
-    {
-    for(int i =0; i < mAttributeStructure.size(); i++)
-        {
-        delete mAttributeStructure[i];
-        }
-    mAttributeStructure.clear();
-    } 
-        
-   /**
-	* Sets the LCT Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @param aId	LCT Id of Visual Structure
-	* @return nothing
-	*
-	*/
-    void SetLCTId(const UString& aId) {mLctPair.mLctId = aId;}
-    
-   /**
-	* Sets the Variety Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @param aId	Variety Id of Visual Structure
-	* @return nothing
-	*
-	*/
-    void SetVarietyId(int aId) {mLctPair.mVariety = aId;}
-    
-   /**
-	* Gets the LCT Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @return nothing
-	*
-	*/
-    const UString GetLCTId() const {return mLctPair.mLctId; } 
-    
-   /**
-	* Gets the Variety Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @return nothing
-	*
-	*/
-    const int GetVarietyId() const {return mLctPair.mVariety;}
-     
-   /**
-	* Sets the type of visual this structure contains (can be either image/text)
-	*
-	* @param aVisualType	EVisualImage/EVisualText
-	* @return nothing
-	*
-	*/
-    void SetVisualType(const TMulLCTVisualType aVisualType) {mVisualType = aVisualType; }
-    
-   /**
-	* Gets the visual type of the visual Structure 
-	*
-	* @return TMulLCTVisualType
-	*
-	*/
-    TMulLCTVisualType VisualType()const { return mVisualType;} 
-    
-   /**
-	* Adds a Custom attribute structure to this visual structure
-	*
-	* @param	aAttr	Custom Attribute structure to be added
-	*					
-	*
-	*/    
-    void AddAttribute(CustomAttributeStructure* aAttr)
-    {
-    if(aAttr)
-        mAttributeStructure.push_back(aAttr);
-    }
-    
-   /**
-	* Gets a Custom attribute structure at a specified index in this visual structure
-	*
-	* @param	aIndex	Index at which the attribute struct desired
-	* @return   CustomAttributeStructure, NULL if no attribute is found
-	*
-	*/ 
-    const CustomAttributeStructure* GetAttribute(int aIndex) const
-    {
-    if(aIndex >=0 && aIndex < mAttributeStructure.size())
-        return mAttributeStructure[aIndex];
-    else
-        return NULL;
-    }
-        
-   /**
-	* Gets a Custom attribute structure by name in this visual structure
-	*
-	* @param	aAttrName	Name of the attribute struct desired
-	* @return   CustomAttributeStructure, NULL if no attribute is found
-	*					
-	*
-	*/  
-    const CustomAttributeStructure* GetAttributeByName(const UString& aAttrName) const
-    {
-    for (vector<CustomAttributeStructure*>::const_iterator it = mAttributeStructure.begin(); 
-            it!=mAttributeStructure.end(); ++it) 
-    	{
-    	if(!strcmp(((*it)->GetName()).getUtf8(),aAttrName.getUtf8()))
-    		return *it;
-    	} 
-    return NULL;        
-    } 
-    
-   /**
-	* Gets the current attribute count
-	*
-	* @return total number of attributes
-	*
-	*/
-    int AttributeCount() const
-    {
-    return mAttributeStructure.size();
-    }
-
-   /**
-	* Sets the Id of the visual Structure 
-	*
-	* @param aId	Identifier of Visual Structure
-	* @return nothing
-	*
-	*/
-    void SetId(const UString& aId) {mId = aId;}
-    
-   /**
-	* Gets the Id of the visual Structure 
-	*
-	* @return Identifier of the visual structure
-	*
-	*/   
-    UString GetId() const { return mId; }
-    
-    void SetPositions(int x,int y)
-	    {
-	    mX = x;
-	    mY = y;
-	    }
-    void SetDimensions(int width,int height)
-	    {
-	    mW = width;
-	    mH = height;
-	    }  
-    int PositionX() const {return mX;}
-    int PositionY() const {return mY;}
-    int Width() const {return mW;}
-    int Height() const {return mH;}
-   /**
-	* Gets the LCT Information of the visual Structure 
-	*
-	* @return LCTPair 
-	*
-	*/   
-    const LCTPair& GetLctPair() 
-    {
-    return mLctPair;
-    }
-
-        
-private:
-
-   /**
-	* Class to hold  attributes name and value
-	*
-	*/
-    UString mId;
-     
-	/**
-	 * LCT Id and variety
-	 */ 
-    LCTPair mLctPair;   
-    
-	/**
- 	 * Type of Visual
-     */
-    TMulLCTVisualType mVisualType;
-    
-    /**
-	* Array of attribute structures (owned)
-	*
-	*/
-    std::vector<CustomAttributeStructure*> mAttributeStructure;
-    int mX,mY,mW,mH;
-    };
-
-// ---------------------------------------------------------------------------
-// Custom data type to hold information about different visuals
-// ---------------------------------------------------------------------------
-//
-class LCTElementStructure
-    {
-public:
-    
-   /**
-	* Destructor
-	*
-	*/
-    ~LCTElementStructure()
-    {
-    for(int i =0; i < mVS.size(); ++i)
-        {
-        delete mVS[i];            
-        }
-    mVS.clear(); 
-    }
-       
-   /**
-	* Adds a Visual structure to this Element structure
-	*
-	* @param	aVStructure		VisualStructure to be added
-	* @return 	nothing				
-	*
-	*/  
-    void AddVisualStructure(LCTVisualStructure* aVStructure)
-    {
-    if(aVStructure)
-    mVS.push_back(aVStructure);
-    }   
-    
-   /**
-	* Gets a Visual structure at a specified index in this visual structure
-	*
-	* @param	aIndex	Index at which the attribute struct desired
-	* @return   LCTVisualStructure, NULL if no structure is found
-	*
-	*/    
-    const LCTVisualStructure* GetVisualStruture(int aIndex)
-    {
-    if(aIndex >=0 && aIndex < mVS.size())
-        return mVS[aIndex];
-    else
-        return NULL;
-    }
-    
-    /**
-	* Gets a Visual structure with specified name
-	*
-	* @param	aVisualName	name of the  visual structure
-	* @return   LCTVisualStructure, NULL if no structure is found
-	*
-	*/    
-    const LCTVisualStructure* GetVisualStrutureByName(const UString& aVisualName) const
-    {
-    for (vector<LCTVisualStructure*>::const_iterator it = mVS.begin(); 
-            it!=mVS.end(); ++it) 
-    	{
-    	if(!strcmp(((*it)->GetId()).getUtf8(),aVisualName.getUtf8()))
-    		return *it;
-    	} 
-    //if attribute by this name is not found
-    return NULL;        
-    }
-        
-    /**
-	* Gets a Visual structure count
-	*
-	* @param	nothing
-	* @return   int visual structure count
-	*
-	*/ 
-    int VisualCount()
-    {
-    return mVS.size();
-    }
-        
-    /**
-	* Sets the visual structure Id
-	*
-	* @param	aId
-	* @return   nothing
-	*
-	*/ 
-    void SetId(const UString& aId) {mId = aId;}
-    
-    /**
-	* Gets the visual structure Id
-	*
-	* @param	nothing
-	* @return   UString 
-	*
-	*/ 
-    UString GetId() const { return mId; }
-    
-    void SetPositions(int x,int y)
-	    {
-	    mX = x;
-	    mY = y;
-	    }
-    void SetDimensions(int width,int height)
-	    {
-	    mW = width;
-	    mH = height;
-	    }  
-    int PositionX() const {return mX;}
-    int PositionY() const {return mY;}
-    int Width() const {return mW;}
-    int Height() const {return mH;}
-   /**
-	* Sets the LCT Id
-	*
-	* @param	aId
-	* @return   nothing
-	*
-	*/ 
-    void SetLCTId(const UString& aId) {mLctPair.mLctId = aId;}
-    
-    /**
-	* Sets the Variety Id
-	*
-	* @param	aId
-	* @return   nothing
-	*
-	*/ 
-    void SetVarietyId(int aId) {mLctPair.mVariety = aId;}
-    
-   /**
-	* Returns the LCT Id
-	*
-	* @param	nothing
-	* @return   UString 
-	*
-	*/ 
-    const UString GetLCTId() const {return mLctPair.mLctId; }
-    
-    /**
-	* Returns the Variety Id
-	*
-	* @param	nothing
-	* @return   int
-	*
-	*/  
-    const int GetVarietyId() const {return mLctPair.mVariety;} 
-    
-    /**
-	* Returns the LCT Pair structure
-	*
-	* @param	nothing
-	* @return   LCTPair
-	*
-	*/  
-    const LCTPair& GetLctPair() 
-    {
-    return mLctPair;
-    }
-
-private:
-	/**
-	 * Identifier for the element structure
-	 */
-    UString mId;
-    
-    /**
-	 * LCT information of element
-	 */
-    LCTPair mLctPair;
-    
-    /**
-     * Array of children visual structure (owned)
-     */
-    vector<LCTVisualStructure*> mVS;    
-    
-    int mX,mY,mW,mH;
-    };
-
-
-
-class MulVisualUtility
-	{
-	public:
-	    /**
-	     *  Default Constructor
-	     */
-	    OSN_IMPORT MulVisualUtility();
-	    
-	    /**
-	     * Destructor
-	     */
-	    OSN_IMPORT ~MulVisualUtility();
-	   
-	   /**
-	    * Accessor function for the LCT data
-	    * 
-	    * @return	LCTData		internal data that contains the coordinate information
-	    */
-	    OSN_IMPORT const LCTData& data() const ;
-	    
-	    /**
-	     *  Uses the passed LCTPair and populates the LCT related information
-	     *  as its internal Data.
-	     *
-	     *  @param	aPair			LCTPair to be parsed
-	     *  @param  aParentLayout	ParentLayout wit respect to which the 
-	     *							coordinate calculation has to be made
-	     *  @return nothing
-	     */
-	    OSN_IMPORT void parseLCTInfo(const LCTPair& aPair, CAlfLayout* aParentLayout= NULL);
-	     
-	    /**
-	     *  Uses the passed LCTPair and populates the LCT related information
-	     *  as its internal Data.
-	     *
-	     *  @ :: yet to implement
-	     *  @return nothing
-	     */
-	    OSN_IMPORT void parseLCTTextInfo();
-	     
-	private:
-	    /**
-	     * Internal function to concert LCT IDs into absolute data 
-	     */	
-	     void readLCTData();
-	     
-	    /**
-	     * Internal function to concert LCT IDs into absolute data for text 
-	     */	
-	     void readLCTTextData();
-	     
-	     bool isParentRelative(int aVal) const;
-	
-	private:
-	    /**
-	     * LCT data, Owned
-	     */
-	    auto_ptr <LCTData> mData;
-	    
-	    /**
-	     * LCT id
-	     */
-	     UString mLCTId;
-	     
-	    /**
-	     * Variety id
-	     */
-	     int mVarietyId;
-	};
-
-	}
- //namespace Alf
-
-#endif /*MULVISUALUTILITY_H_*/