Changed Control::SetLayout to handle empty layouts
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / control-devel.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 187e518..a4685ff
@@ -1,5 +1,5 @@
 /*
 /*
- * 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.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -83,18 +83,65 @@ bool IsVisualEnabled( const Internal::Control& control, Dali::Property::Index in
   return controlDataImpl.IsVisualEnabled( index );
 }
 
   return controlDataImpl.IsVisualEnabled( index );
 }
 
-Toolkit::Visual::ResourceStatus GetVisualResourceStatus( const Internal::Control& control, Dali::Property::Index index )
+Dali::Animation CreateTransition( Internal::Control& control, const Toolkit::TransitionData& handle )
 {
 {
-  const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
-  return controlDataImpl.GetVisualResourceStatus( index );
+  Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+  return controlDataImpl.CreateTransition( handle );
 }
 
 }
 
-Dali::Animation CreateTransition( Internal::Control& control, const Toolkit::TransitionData& handle )
+
+void AddTransitions( Internal::Control& control,
+                     Dali::Animation animation,
+                     const Toolkit::TransitionData& transitionData )
 {
   Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
 {
   Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
-  return controlDataImpl.CreateTransition( handle );
+  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() );
+}
+
+Toolkit::LayoutItem GetLayout( Internal::Control& control )
+{
+  Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+  return Toolkit::LayoutItem( controlDataImpl.GetLayout().Get() );
+}
+
+void SetLayout( Internal::Control& control, Toolkit::LayoutItem layout )
+{
+  Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+  controlDataImpl.SetLayout( GetImplementation( layout ) );
+}
+
+void SetLayout( Control control, Toolkit::LayoutItem layout )
+{
+  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();
+  }
+}
 
 } // namespace DevelControl
 
 
 } // namespace DevelControl