--- a/widgetmodel/alfwidgetmodel/src/alfwidgetimpl.cpp Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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 private implementation of CAlfWidget.
-*
-*/
-
-
-#include "alfwidgetimpl.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfmodel.h>
-#include <alf/alfcontrolgroup.h>
-#include "alf/alfwidget.h"
-#include "alf/alfattribute.h"
-#include "alf/alfattributevaluetype.h"
-#include <alf/alfexceptions.h>
-#include <libc/string.h>
-#include <alf/ialfelement.h>
-
-#include "alfwidgetattributeownerimpl.h"
-
-
-namespace Alf
- {
-
-AlfWidgetImpl::AlfWidgetImpl()
- {
- mControl = NULL;
- mModel = NULL;
- mAttributeList.setAutoDelete(true);
- mWidgets.setAutoDelete(false);
- mTakesModelOwnership=false;
- }
-
-AlfWidgetImpl::~AlfWidgetImpl()
- {
- setControl( NULL, true );
-
- if (mTakesModelOwnership)
- {
- delete mModel;
- mModel = NULL;
- }
- mAttributeList.clear();
- mWidgets.clear();
- }
-
-void AlfWidgetImpl::setWidgetName( const UString& aWidgetName )
- {
- mWidgetName = aWidgetName;
- }
-
-const UString& AlfWidgetImpl::widgetName() const
- {
- return mWidgetName;
- }
-
-
-CAlfWidgetControl* AlfWidgetImpl::control()
- {
- return mControl;
- }
-
-void AlfWidgetImpl::setControl( CAlfWidgetControl* aControl,bool aDeletePreviousControl)
- {
- if ( mControl != aControl )
- {
- if( mControl )
- {
- if( mModel )
- {
- // Remove model change observer from control
- mModel->removeModelChangeObserver( *mControl );
- }
- if( aDeletePreviousControl )
- {
- // Delete control from possible control group to avoid double deletion
- if(mControl->ControlGroup())
- {
- mControl->ControlGroup()->Remove(mControl);
- }
- // Delete the control
- delete mControl;
- mControl = NULL;
- }
- }
-
- // Set the new control.
- mControl = aControl;
-
- // Add the new control as an observer for model changes.
- if( mControl )
- {
- if( mModel )
- {
- mModel->addModelChangeObserver( *mControl );
- }
- mAttributeOwnerImpl.reset(new (EMM) AlfWidgetAttributeOwnerImpl(mControl));
- }
- }
- }
-
-IAlfModel* AlfWidgetImpl::model()
- {
- return mModel;
- }
-
-void AlfWidgetImpl::setModel( IAlfModel* aModel,bool aTakeOwnerShip )
- {
- if ( mModel != aModel )
- {
- // Release the old model.
- if (mTakesModelOwnership)
- {
- delete mModel;
- }
-
- else if (mModel&&mControl)
- {
- mModel->removeModelChangeObserver(*mControl);
- }
-
- // Set the new model.
- mModel = aModel;
- mTakesModelOwnership=aTakeOwnerShip;
- // Add the control as an observer for model changes.
- if ( mModel && mControl )
- {
- mModel->addModelChangeObserver( *mControl );
- }
- }
- else // just copy the ownership flag
- {
- if (mModel != NULL)
- {
- mTakesModelOwnership=aTakeOwnerShip;
- }
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfWidgetImpl::addWidget(AlfWidget *aWidget)
- {
- for (int i=0 ; i< mWidgets.count(); i++ )
- {
- if (mWidgets.findRef(aWidget) >=0)
- {
- //widget already there.
- return;
- }
- }
- mWidgets.resize(mWidgets.count()+1);
- mWidgets.insert(mWidgets.count(),aWidget);
- }
-
-int AlfWidgetImpl::widgetCount()
- {
- return mWidgets.count();
- }
-
-AlfWidget* AlfWidgetImpl::getWidget(int aIndex)
- {
- if (aIndex>=0 && aIndex < mWidgets.count())
- return mWidgets[aIndex];
- return 0;
- }
-
-int AlfWidgetImpl::findWidget(AlfWidget* aWidget)
- {
- return mWidgets.findRef(aWidget);
- }
-
-void AlfWidgetImpl::removeWidget(int aIndex)
- {
- if (aIndex >=0 and aIndex < mWidgets.count())
- mWidgets.remove(aIndex);
- }
-
-// ---------------------------------------------------------------------------
-// Returns attribute owner interface.
-// ---------------------------------------------------------------------------
-//
-AlfWidgetAttributeOwnerImpl* AlfWidgetImpl::getAttributeOwner()
- {
- return mAttributeOwnerImpl.get();
- }
-
- } //namespace alf
-
-
-