Changed Control::SetLayout to handle empty layouts
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / control / control-data-impl.cpp
index ce2d9b1..a6d30d9 100755 (executable)
@@ -335,6 +335,8 @@ Control::Impl::Impl( Control& controlImpl )
   mPanGestureDetector(),
   mTapGestureDetector(),
   mLongPressGestureDetector(),
+  mTooltip( NULL ),
+  mInputMethodContext(),
   mFlags( Control::ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
   mIsKeyboardNavigationSupported( false ),
   mIsKeyboardFocusGroup( false )
@@ -1422,12 +1424,12 @@ bool Control::Impl::FilterKeyEvent( const KeyEvent& event )
   return consumed;
 }
 
-Toolkit::Internal::LayoutBasePtr Control::Impl::GetLayout() const
+Toolkit::Internal::LayoutItemPtr Control::Impl::GetLayout() const
 {
   return mLayout;
 }
 
-void Control::Impl::SetLayout( Toolkit::Internal::LayoutBase& layout )
+void Control::Impl::SetLayout( Toolkit::Internal::LayoutItem& layout )
 {
   if( mLayout )
   {
@@ -1440,6 +1442,15 @@ void Control::Impl::SetLayout( Toolkit::Internal::LayoutBase& layout )
   mLayout->Initialize( controlHandle, controlHandle.GetTypeName() ); // LayoutGroup takes ownership of existing children
 }
 
+void Control::Impl::RemoveLayout()
+{
+  if( mLayout )
+  {
+    mLayout->Unparent();
+    mLayout.Reset();
+  }
+}
+
 } // namespace Internal
 
 } // namespace Toolkit