/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
// CLASS HEADER
#include "control-devel.h"
+// EXTERNAL INCLUDES
+#include <dali/public-api/animation/animation.h>
+
// INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/control/control-data-impl.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali-toolkit/devel-api/visual-factory/transition-data.h>
namespace Dali
{
namespace DevelControl
{
-ResourceReadySignalType& ResourceReadySignal( Control& control )
+void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.RegisterVisual( index, visual );
+}
+
+void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, int depthIndex )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.RegisterVisual( index, visual, depthIndex );
+}
+
+void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.RegisterVisual( index, visual, enabled );
+}
+
+void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled, int depthIndex )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.RegisterVisual( index, visual, enabled, depthIndex );
+}
+
+void UnregisterVisual( Internal::Control& control, Dali::Property::Index index )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.UnregisterVisual( index );
+}
+
+Toolkit::Visual::Base GetVisual( const Internal::Control& control, Dali::Property::Index index )
+{
+ const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ return controlDataImpl.GetVisual( index );
+}
+
+void EnableVisual( Internal::Control& control, Dali::Property::Index index, bool enable )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.EnableVisual( index, enable );
+}
+
+bool IsVisualEnabled( const Internal::Control& control, Dali::Property::Index index )
+{
+ const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ return controlDataImpl.IsVisualEnabled( index );
+}
+
+Dali::Animation CreateTransition( Internal::Control& control, const Toolkit::TransitionData& handle )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ return controlDataImpl.CreateTransition( handle );
+}
+
+
+void AddTransitions( Internal::Control& control,
+ Dali::Animation animation,
+ const Toolkit::TransitionData& transitionData )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.AddTransitions( animation, transitionData );
+}
+
+void DoAction( Control& control, Dali::Property::Index visualIndex, Dali::Property::Index actionId, const Dali::Property::Value attributes )
+{
+ Internal::Control& controlInternal = Toolkit::Internal::GetImplementation( control );
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( controlInternal );
+ controlDataImpl.DoAction( visualIndex, actionId, attributes );
+}
+
+void SetInputMethodContext( Internal::Control& control, InputMethodContext& inputMethodContext )
+{
+ Internal::Control::Impl::Get( control ).SetInputMethodContext( inputMethodContext );
+}
+
+Toolkit::LayoutItem GetLayout( Control control )
{
+ const Internal::Control& internalControl = Toolkit::Internal::GetImplementation( control );
+ const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( internalControl );
+ return Toolkit::LayoutItem( controlDataImpl.GetLayout().Get() );
+}
- Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
- Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( internalControl );
+Toolkit::LayoutItem GetLayout( Internal::Control& control )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ return Toolkit::LayoutItem( controlDataImpl.GetLayout().Get() );
+}
- return controlImpl.mResourceReadySignal;
+void SetLayout( Internal::Control& control, Toolkit::LayoutItem layout )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ controlDataImpl.SetLayout( GetImplementation( layout ) );
}
-bool IsResourceReady( const Control& control )
+void SetLayout( Control control, Toolkit::LayoutItem layout )
{
- const Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
- const Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( internalControl );
+ Internal::Control& internalControl = Toolkit::Internal::GetImplementation( control );
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( internalControl );
+ if( layout )
+ {
+ controlDataImpl.SetLayout( GetImplementation( layout ) );
+ }
+ else
+ {
+ controlDataImpl.RemoveLayout();
+ }
+}
- return controlImpl.IsResourceReady();
+void RequestLayout( Internal::Control& control )
+{
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ Toolkit::Internal::LayoutItemPtr layoutItem = controlDataImpl.GetLayout();
+ if ( layoutItem )
+ {
+ layoutItem->RequestLayout();
+ }
+}
+void SetLayoutingRequired( Control control, bool layoutingRequired )
+{
+ Internal::Control& internalControl = Toolkit::Internal::GetImplementation( control );
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( internalControl );
+ controlDataImpl.SetLayoutingRequired( layoutingRequired );
}
+bool IsLayoutingRequired( Control control )
+{
+ Internal::Control& internalControl = Toolkit::Internal::GetImplementation( control );
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( internalControl );
+ return controlDataImpl.IsLayoutingRequired();
+}
} // namespace DevelControl