+ DevelControl::RegisterVisual( *this, index, visual );
+
+ VisualIndices::iterator iter = std::find( mRegisteredVisualIndices.begin(), mRegisteredVisualIndices.end(), index );
+ if( iter == mRegisteredVisualIndices.end() )
+ {
+ mRegisteredVisualIndices.push_back(index);
+ }
+}
+
+void DummyControlImpl::RegisterVisual( Property::Index index, Toolkit::Visual::Base visual, bool enabled )
+{
+ DevelControl::RegisterVisual( *this, index, visual, enabled );
+
+ VisualIndices::iterator iter = std::find( mRegisteredVisualIndices.begin(), mRegisteredVisualIndices.end(), index );
+ if( iter == mRegisteredVisualIndices.end() )
+ {
+ mRegisteredVisualIndices.push_back(index);
+ }
+}
+
+void DummyControlImpl::UnregisterVisual( Property::Index index )
+{
+ DevelControl::UnregisterVisual( *this, index );
+
+ VisualIndices::iterator iter = std::find( mRegisteredVisualIndices.begin(), mRegisteredVisualIndices.end(), index );
+ if( iter != mRegisteredVisualIndices.end() )
+ {
+ mRegisteredVisualIndices.erase(iter);
+ }
+}
+
+Toolkit::Visual::Base DummyControlImpl::GetVisual( Property::Index index )
+{
+ return DevelControl::GetVisual( *this, index );
+}
+
+void DummyControlImpl::EnableVisual( Property::Index index, bool enabled )
+{
+ DevelControl::EnableVisual( *this, index, enabled );
+}
+
+bool DummyControlImpl::IsVisualEnabled( Property::Index index )
+{
+ return DevelControl::IsVisualEnabled( *this, index );
+}
+
+Animation DummyControlImpl::CreateTransition( const Toolkit::TransitionData& transition )
+{
+ return DevelControl::CreateTransition( *this, transition );
+}
+
+void DummyControlImpl::DoAction( Dali::Property::Index index, Dali::Property::Index action, const Dali::Property::Value attributes )
+{
+ DummyControl control( *this );
+ DevelControl::DoAction( control, index, action, attributes);
+}
+
+void DummyControlImpl::SetProperty( BaseObject* object, Dali::Property::Index index, const Dali::Property::Value& value )
+{
+ Toolkit::DummyControl control = Toolkit::DummyControl::DownCast( Dali::BaseHandle( object ) );
+ DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(control.GetImplementation());
+
+ switch(index)
+ {
+ case Toolkit::DummyControl::Property::TEST_VISUAL:
+ case Toolkit::DummyControl::Property::TEST_VISUAL2:
+ case Toolkit::DummyControl::Property::FOREGROUND_VISUAL:
+ case Toolkit::DummyControl::Property::FOCUS_VISUAL:
+ case Toolkit::DummyControl::Property::LABEL_VISUAL:
+ {
+ Property::Map* map = value.GetMap();
+ if( map != NULL )
+ {
+ VisualFactory visualFactory = VisualFactory::Get();
+ Visual::Base visual = visualFactory.CreateVisual(*map);
+ dummyImpl.RegisterVisual(index, visual);
+ }
+ break;
+ }
+ }
+}
+
+Property::Value DummyControlImpl::GetProperty( BaseObject* object, Dali::Property::Index propertyIndex )
+{
+ Toolkit::DummyControl control = Toolkit::DummyControl::DownCast( Dali::BaseHandle( object ) );
+ DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>( control.GetImplementation() );
+
+ Visual::Base visual = dummyImpl.GetVisual( propertyIndex );
+ Property::Map map;
+ if( visual )
+ {
+ visual.CreatePropertyMap( map );
+ }
+ Dali::Property::Value value = map;
+
+ return value;
+}
+
+
+Toolkit::DummyControl Impl::DummyControl::New()
+{
+ IntrusivePtr< Toolkit::Impl::DummyControl > impl = new Toolkit::Impl::DummyControl;
+ Toolkit::DummyControl control( *impl );