mmuifw_plat/alf_widgetmodel_api/inc/alf/alflayoutmanager.h
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alflayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* 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:  interface for layout managers
-*
-*/
-
-
-#ifndef ALFLAYOUTMANAGER
-#define ALFLAYOUTMANAGER
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-#include <memory>
-#include <alf/ialflayoutmanager.h>
-#include <alf/alflayout.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-class IAlfWidgetControl;
-class AlfLayoutManagerImpl;
-class IAlfLayoutPreferences;
-
-
-/**
- * @class AlfLayoutManager alflayoutmanager.h "alf/alflayoutmanager.h"
- * The interface for layout managers
- *
- * Layout manager handles the layouting of child widgets in the container widget.
- * It uses IAlfLayoutPreferences-interface (@see IAlfLayoutPreferences) 
- * of child widgets as a guide for laying out the widgets. The layoutmanager 
- * is set to the IAlfHostApi- interface (@see IAlfHostApi::setBaseLayout)
- * createLayout-method should be the first call after creating the layoutmanager.
- *
- * Layout manager may also provide information about the layout preferences of its
- * children. If this is supported the layout manager will combine the layout preferences
- * of its children taking into consideration the technique used to lay out the children
- * using the layout manager. This will provide information about the whole display area
- * occupied by the layout manager. For instance vertical flow layout manager will provide
- * preferred size area of its children by summing their heights and providing the maximum
- * width among the children.
- *
- * @code
- * // Create layout manager interface.
- * IAlfLayoutManager* layoutManager = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control);
- *
- * // See if layout preferences is supported in the given layout manager.
- * IAlfLayoutPreferences* layoutPreferences = IAlfInterfaceBase::makeInterface<IAlfLayoutPreferences>(layoutManager);
- *
- * if(layoutPreferences != 0)
- *     {
- *     TAlfXYMetric preferredSize;
- *     // This will report the preferred size of the layout by combining together preferred sizes of its children.
- *     bool result = layoutPreferences->getPreferredSize(preferredSize);
- *     }
- * @endcode
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- * @interfaces IAlfLayoutManager, IAlfLayoutPreferences
- */
-class AlfLayoutManager : public IAlfLayoutManager
-    {
-public:
-
-    /**
-     * layout manager constructor
-     *
-     * @param aLayoutType type of layout used by this manager.
-     */
-    OSN_IMPORT AlfLayoutManager(TAlfLayoutType aLayoutType);
-        
-    /**
-     * virtual destructor
-     */
-    OSN_IMPORT virtual ~AlfLayoutManager();
-    
-public:
-
-    /**
-     * @return the owner control of the layoutmanager.
-     */        
-    OSN_IMPORT CAlfWidgetControl& owner() const;
-
-    /**
-     * returns the control at aIndex.
-     *
-     * @param aIndex index for the control.
-     * @return control at aIndex
-     */
-    OSN_IMPORT CAlfWidgetControl* getControl(int aIndex) const;
-    
-    /**
-     * returns the count of controls inside layoutmanager.
-     *
-     * @return count of controls inside layoutmanager
-     */
-    OSN_IMPORT int count() const;
-    
-public:
-    //from IAlfLayoutManager
-        
-    /**
-     * creates the layout used by this layoutmanager.
-     *
-     * @param aOwner, owner-control of the the created layout.
-     * @param aParentLayout parent for the created layout
-     * @param aLayoutIndex index, where created visual should be placed in the parent layout.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aLayoutIndex is out of bounds.     
-     * @exception osncore::AlfVisualException Thrown with error code osncore::ECanNotCreateVisual if the layout creation failed.
-     */    
-    OSN_IMPORT virtual void createLayout(CAlfWidgetControl& aOwner,
-        CAlfLayout* aParentLayout, int aLayoutIndex);
-            
-    /**
-     * from IAlfLayoutManager
-     * Returns the layout used by this layoutmanager.
-     *
-     * @return layout used by this layoutmanager.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.
-     */
-    OSN_IMPORT virtual CAlfLayout& getLayout() const;
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the child control's layout
-     * must be updated
-     * 
-     * @param aControl control, which size has changed.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.
-     *
-     */
-    OSN_IMPORT virtual void updateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that all the child control's layouts
-     * must be updated.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.     
-     */
-    OSN_IMPORT virtual void updateChildrenLayout();
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which has been removed from the layout.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.     
-     */    
-    OSN_IMPORT virtual void childRemoved(CAlfWidgetControl* aControl);
-    
-protected:
-    /**
-     * Notifies the layout manager, that the child control's layout
-     * must be updated. Called in updateChildLayout for the updated control
-     * and in updateChildrenLayout for all the controls in the layout.
-     * 
-     * @param aControl control, which size has changed.    
-     */
-    OSN_IMPORT virtual void doUpdateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * returns the rect of the control.
-     *
-     * @param aControl, control, which size is queried.
-     * @param aRect will receive the rect of aControl, if return value is true.
-     * @return true, if control rect was fetched, false, if the control hasn't 
-     * got a visualization.
-     */    
-    OSN_IMPORT bool controlRect(
-        CAlfWidgetControl& aControl, TAlfRealRect& aRect);
-        
-    /**
-     * sets the size and position to the control
-     *
-     * @param aControl, control, which size and position is being set.
-     * @param aRect, rect for aControl
-     */        
-    OSN_IMPORT void setControlRect(
-        CAlfWidgetControl& aControl, const TAlfRealRect &aRect);
-
-    /**
-     * sets the position to the control
-     *
-     * @param aControl, control, which position is being set.
-     * @param aPos, position for aControl
-     */
-    OSN_IMPORT void setControlPosition(
-        CAlfWidgetControl& aControl, const TAlfRealPoint& aPos);
-        
-    /**
-     * sets the size to control
-     *
-     * @param aControl, control, which size is being set.
-     * @param aSize, new size for aControl.
-     */        
-    OSN_IMPORT void setControlSize(
-        CAlfWidgetControl& aControl, const TAlfRealPoint &aSize);
-    
-    /**
-     * returns layout preferences for aControl
-     *
-     * @return layout preferences for aControl.
-     */
-    OSN_IMPORT const IAlfLayoutPreferences* getLayoutPreferences(
-        CAlfWidgetControl* aControl) const;
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-private: // data
-
-    auto_ptr<AlfLayoutManagerImpl> mData;
-    
-    };
-
-    } // namespace Alf
-
-#endif // ALFLAYOUTMANAGER