window_->SetAspectRatio(aspect_ratio, extra_size);
}
+void Window::SetParentWindow(NativeWindow* parent) {
+ window_->SetParentWindow(parent);
+}
+
v8::Local<v8::Value> Window::GetNativeWindowHandle() {
gfx::AcceleratedWidget handle = window_->GetAcceleratedWidget();
return ToBuffer(
.SetMethod("setFullScreen", &Window::SetFullScreen)
.SetMethod("isFullScreen", &Window::IsFullscreen)
.SetMethod("setAspectRatio", &Window::SetAspectRatio)
+ .SetMethod("setParentWindow", &Window::SetParentWindow)
.SetMethod("getNativeWindowHandle", &Window::GetNativeWindowHandle)
.SetMethod("getBounds", &Window::GetBounds)
.SetMethod("setBounds", &Window::SetBounds)
void SetMenuBarVisibility(bool visible);
bool IsMenuBarVisible();
void SetAspectRatio(double aspect_ratio, mate::Arguments* args);
+ void SetParentWindow(NativeWindow* parent);
v8::Local<v8::Value> GetNativeWindowHandle();
#if defined(OS_WIN)
virtual void SetFocusable(bool focusable);
virtual void SetMenu(ui::MenuModel* menu);
virtual bool HasModalDialog();
+ virtual void SetParentWindow(NativeWindow* parent) = 0;
virtual gfx::NativeWindow GetNativeWindow() = 0;
virtual gfx::AcceleratedWidget GetAcceleratedWidget() = 0;
bool IsDocumentEdited() override;
void SetIgnoreMouseEvents(bool ignore) override;
bool HasModalDialog() override;
+ void SetParentWindow(NativeWindow* parent) override;
gfx::NativeWindow GetNativeWindow() override;
gfx::AcceleratedWidget GetAcceleratedWidget() override;
void SetProgressBar(double progress) override;
return [window_ attachedSheet] != nil;
}
+void NativeWindowMac::SetParentWindow(NativeWindow* parent) {
+ // Remove current parent window.
+ if ([window_ parentWindow])
+ [[window_ parentWindow] removeChildWindow:window_];
+
+ // Set new current window.
+ if (parent)
+ [parent->GetNativeWindow() addChildWindow:window_ ordered:NSWindowAbove];
+}
+
gfx::NativeWindow NativeWindowMac::GetNativeWindow() {
return window_;
}
Layout();
}
+void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
+}
+
gfx::NativeWindow NativeWindowViews::GetNativeWindow() {
return window_->GetNativeWindow();
}
void SetIgnoreMouseEvents(bool ignore) override;
void SetFocusable(bool focusable) override;
void SetMenu(ui::MenuModel* menu_model) override;
+ void SetParentWindow(NativeWindow* parent) override;
gfx::NativeWindow GetNativeWindow() override;
void SetOverlayIcon(const gfx::Image& overlay,
const std::string& description) override;