mulwidgets/common/inc/multemplateinterface.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:18 +0100
branchRCL_3
changeset 26 0e9bb658ef58
parent 0 e83bab7cf002
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  xml parser header
*
*/


#ifndef MULTEMPLATEINTERFACE_H
#define MULTEMPLATEINTERFACE_H

#include <alf/ialfmap.h>
#include <osn/ustring.h>
#include <alf/alfimagevisual.h>
#include <alf/alflayout.h>

//#include "mulplaintexteditor.h"

namespace duiuimodel
    {
    class DuiNode;
    }
using namespace duiuimodel;

namespace Alf
    {
    
//Forward declarations
class MulXmlUtility;
class IAlfMap;
 	
class MulTemplateInterface
    {
        
public:

    /**
     * Display Area.
     *
     * @returns the display are of the control.
     */
    virtual TRect Displayarea() = 0;    
    
    /**
     * Data for the item.
     *
     * @aItemIndex index of the item.
     * @returns data map of the item at the index.
     */
    virtual IAlfMap* RootData(int aItemIndex) = 0;
    
    /**
     * Get the xml utility.
     *
     * @returns MulXmlUtility.
     */
    virtual MulXmlUtility& GetMulXmlUtlity() = 0;
    
    /**
     * Get the path where the xmls are stored.
     *
     * @returns the path.
     */
    virtual UString ResourcePath() = 0;        
    
    /**
    * Gets the template Attribute Name.
    */
    virtual UString TemplateAttribute() = 0; 
    
    /**
    * Gets the embedded widget load name.
    */
    virtual UString EmbedWidgetName() = 0;
    
    /**
     * Checks if the visual passed as argument belongs to the highlighted item
     * 
     * @param aVisual The visual to be checked if it belongs to the highlighted item.
     * @returns True: If aVisual corresponds to highlight item. otherwise, False.
     */
    virtual bool IsHighlightVisual(CAlfVisual& aVisual) = 0;
    
    /**
     * Return image scale mode
     * 
     * @return Scale mode
     */
    virtual CAlfImageVisual::TScaleMode ScaleMode() = 0;
    
    /**
     * Return images should be scaled or not
     * 
     * @return true if scaling should be applied, else false
     */
    virtual bool ApplyScaleMode() = 0;
    
    /**
     * Gets the plain text editor control
     * 
     * @return MulPlainTextEditor wraped in layout.
     */
    //virtual MulPlainTextEditor* PlainTextEditor() = 0;    
    
    /**
     * Gets the root node of the current template.
     * 
     * @return DuiNode pointer.
     */
    virtual DuiNode* TemplateRootNode() = 0;  

    virtual bool IsHomogeneous() = 0;
    
    
    /**
    * To Get the background is transparent or not.
    */
    virtual bool BackGroundTransparency() = 0;   
    
    
    }; //class
            
    } // namespace 

#endif