+void Window::SetParent( Dali::Window& parent )
+{
+ if ( DALI_UNLIKELY( parent ) )
+ {
+ mParentWindow = parent;
+ Dali::Window self = Dali::Window( this );
+ // check circular parent window setting
+ if ( Dali::DevelWindow::GetParent( parent ) == self )
+ {
+ Dali::DevelWindow::Unparent( parent );
+ }
+ mWindowBase->SetParent( GetImplementation( mParentWindow ).mWindowBase );
+ }
+}
+
+void Window::Unparent()
+{
+ mWindowBase->SetParent( nullptr );
+ mParentWindow.Reset();
+}
+
+Dali::Window Window::GetParent()
+{
+ return mParentWindow;
+}
+