--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidget.h Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +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: The base class for all widgets.
-*
-*/
-
-
-#ifndef I_ALFWIDGET_H
-#define I_ALFWIDGET_H
-
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include <alf/alfvarianttype.h>
-
-namespace duiuimodel
- {
-class DuiNode;
- }
-
-using namespace duiuimodel;
-
-class CAlfEnv;
-
-namespace Alf
- {
-
-class CAlfWidgetControl;
-class IAlfModel;
-class IAlfWidgetFactory;
-class IAlfContainerWidget;
-class AlfCustomInitDataBase;
-
-
-namespace alfwidget
- {
-static const IfId ident=
- {
- 0,"alfwidget"
- };
- }
-/**
- * An interface for all widgets.
- * Widgets consist of a model and a control.
- * The model is owned by the widget, but all
- * controls are owned by Alfred environment.
- * The widget can be queried for interfaces provided
- * by derived widget classes, the control or the model.
- * Widgets can be constructed using the widget factory.
- * Widgets are owned and accessed using the Alfred
- * environment.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfWidget : public IAlfInterfaceBase
- {
-public:
- static inline const IfId& type()
- {
- return alfwidget::ident;
- }
-
- /** Virtual destructor. */
- virtual ~IAlfWidget() {}
-
- /**
- * Getter for the control. The ownership is not passed.
- *
- * @since S60 ?S60_version
- * @return The control of this widget, or NULL if the control is not specified.
- */
- virtual CAlfWidgetControl* control() const = 0;
-
- /**
- * Getter for the parent container. The ownership is not passed.
- *
- * @return the parent container or 0 if the widget is the root-widget.
- */
- virtual IAlfContainerWidget* parent() const = 0;
-
- /**
- * Sets a new widget control. After this call has been succesfully executed, the control is
- * owned by this widget. When a new widget control is set to a widget the previously set widget
- * control is removed.
- *
- * Through the aDeletePreviousControl - parameter user can specify whether the previously set
- * control is destroyed when new control is set. Otherwise the previous control is left on the
- * ownership of the caller. The caller has to manually delete the control or reset it to another
- * widget or control group.
- *
- * If the control passed through this method exists in a control group it is appended to the
- * control group of the view where this widget is contained in and removed from its previous
- * control group.
- *
- * Widget should always have a valid control. An osncore::AlfException is thrown with error code
- * osncore::EInvalidArgument if a control that is already used in another widget is attempted to
- * be used with this widget. You have to replace the control in the source widget first
- * before you can reuse that control in the target widget. See two code snippets below for details:
- *
- * @code
- * // This will throw an osncore::AlfException with error code osncore::EInvalidArgument.
- * targetWidget.setControl(sourceWidget.control());
- * @endcode
- *
- * @code
- * CAlfWidgetControl* control = sourceWidget.control();
- * sourceWidget.setControl(newControl, false);
- * // This is ok, since control is not set in sourceWidget anymore.
- * targetWidget.setControl(control);
- * @endcode
- *
- * @see IAlfViewWidget
- *
- * @param aControl The new widget control to be used with this widget.
- * @param aDeletePreviousControl If set to true will destroy the previously set control from UI Accelerator Toolkit Environment.
- *
- * @exception osncore::AlfException If the given control is already set to another widget an osncore::AlfException
- * is thrown with error code osncore::EInvalidArgument.
- */
- virtual void setControl( CAlfWidgetControl* aControl, bool aDeletePreviousControl = true ) = 0;
-
- /**
- * Getter for the model. The ownership is not passed.
- *
- * @since S60 ?S60_version
- * @return The model of this widget, or NULL if the model is not specified.
- */
- virtual IAlfModel* model() = 0;
-
- /**
- * Setter for the model. Ownership is passed and the old model is released.
- *
- * @since S60 ?S60_version
- * @param aModel The model for this widget.
- * @param aTakeOwnership Whether takes ownership of model or not
- * return void
- */
- virtual void setModel( IAlfModel* aModel,bool aTakeOwnership = true) = 0;
-
- /**
- * Get the name of the widget instance.
- *
- * @since S60 ?S60_version
- * @return Widget name
- */
- virtual const char* widgetName() const = 0;
-
- /**
- * Sets/Releases the Focus from child widget of container.
- * Does not set the actual focused status in roster.
- *
- * @since S60 ?S60_version
- * @param aFocus boolean value for focused status
- * return void
- */
- virtual void setChildFocus(bool aFocus) = 0;
-
- /**
- * Sets the presentation for the widget using presentation XML file.
- * Destroys any existing presentation.
- * @param aFilePath Path to XML file describing the presentation
- * of the widget. Not Owned.
- * @exception AlfWidgetException if no visualization node available
- * in Presentation XML or if no control
- * is associated with the widget.
- * @exception bad_alloc
- * @since S60 ?S60_version
- * @return void.
- */
- virtual void setPresentation(const char* aFilePath) = 0;
- };
-
-/**
- * Placeholder for information required to instantiate a widget
- * via the widget factory mechanism.
- * A pointer to this structure is casted to a void pointer and sent to the
- * factory plugin.
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-struct AlfWidgetInitData
- {
- /**
- * Owner environment for the widget
- */
- CAlfEnv* mEnv;
-
- /**
- * Container widget pointer that is going to contain the created widget.
- */
- IAlfContainerWidget* mContainerWidget;
-
- /**
- * Widget instance ID.This uniquely identifies every widget instance
- * and is its name. Also see AlfWidget::Widgetname().
- */
- char* mWidgetId;
-
- /**
- * Pointer to node in declaration containing information for the widget.
- */
- DuiNode* mNode;
-
- /**
- * XML file name containing the declaration for the presention of the widget.
- */
- const char* mFilePath;
-
- /**
- * Pointer to custom data passed via factory mechanism
- * Not Owned.
- */
- AlfCustomInitDataBase* mCustomData;
- };
-
-
- } // namespace Alf
-
-#endif // I_ALFWIDGET_H
-
-// End of File