Merge pull request #11832 from electron/enable-window
Add API to enable/disable a window
This commit is contained in:
commit
64f509ea7a
7 changed files with 26 additions and 1 deletions
|
@ -393,6 +393,10 @@ bool Window::IsEnabled() {
|
||||||
return window_->IsEnabled();
|
return window_->IsEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Window::SetEnabled(bool enable) {
|
||||||
|
window_->SetEnabled(enable);
|
||||||
|
}
|
||||||
|
|
||||||
void Window::Maximize() {
|
void Window::Maximize() {
|
||||||
window_->Maximize();
|
window_->Maximize();
|
||||||
}
|
}
|
||||||
|
@ -1008,6 +1012,7 @@ void Window::BuildPrototype(v8::Isolate* isolate,
|
||||||
.SetMethod("hide", &Window::Hide)
|
.SetMethod("hide", &Window::Hide)
|
||||||
.SetMethod("isVisible", &Window::IsVisible)
|
.SetMethod("isVisible", &Window::IsVisible)
|
||||||
.SetMethod("isEnabled", &Window::IsEnabled)
|
.SetMethod("isEnabled", &Window::IsEnabled)
|
||||||
|
.SetMethod("setEnabled", & Window::SetEnabled)
|
||||||
.SetMethod("maximize", &Window::Maximize)
|
.SetMethod("maximize", &Window::Maximize)
|
||||||
.SetMethod("unmaximize", &Window::Unmaximize)
|
.SetMethod("unmaximize", &Window::Unmaximize)
|
||||||
.SetMethod("isMaximized", &Window::IsMaximized)
|
.SetMethod("isMaximized", &Window::IsMaximized)
|
||||||
|
|
|
@ -112,6 +112,7 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
void Hide();
|
void Hide();
|
||||||
bool IsVisible();
|
bool IsVisible();
|
||||||
bool IsEnabled();
|
bool IsEnabled();
|
||||||
|
void SetEnabled(bool enable);
|
||||||
void Maximize();
|
void Maximize();
|
||||||
void Unmaximize();
|
void Unmaximize();
|
||||||
bool IsMaximized();
|
bool IsMaximized();
|
||||||
|
|
|
@ -80,6 +80,7 @@ class NativeWindow : public base::SupportsUserData,
|
||||||
virtual void Hide() = 0;
|
virtual void Hide() = 0;
|
||||||
virtual bool IsVisible() = 0;
|
virtual bool IsVisible() = 0;
|
||||||
virtual bool IsEnabled() = 0;
|
virtual bool IsEnabled() = 0;
|
||||||
|
virtual void SetEnabled(bool enable) = 0;
|
||||||
virtual void Maximize() = 0;
|
virtual void Maximize() = 0;
|
||||||
virtual void Unmaximize() = 0;
|
virtual void Unmaximize() = 0;
|
||||||
virtual bool IsMaximized() = 0;
|
virtual bool IsMaximized() = 0;
|
||||||
|
|
|
@ -38,6 +38,7 @@ class NativeWindowMac : public NativeWindow,
|
||||||
void Hide() override;
|
void Hide() override;
|
||||||
bool IsVisible() override;
|
bool IsVisible() override;
|
||||||
bool IsEnabled() override;
|
bool IsEnabled() override;
|
||||||
|
void SetEnabled(bool enable) override;
|
||||||
void Maximize() override;
|
void Maximize() override;
|
||||||
void Unmaximize() override;
|
void Unmaximize() override;
|
||||||
bool IsMaximized() override;
|
bool IsMaximized() override;
|
||||||
|
|
|
@ -1135,6 +1135,17 @@ bool NativeWindowMac::IsEnabled() {
|
||||||
return [window_ attachedSheet] == nil;
|
return [window_ attachedSheet] == nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NativeWindowMac::SetEnabled(bool enable) {
|
||||||
|
if (enable) {
|
||||||
|
[window_ beginSheet: window_ completionHandler:^(NSModalResponse returnCode) {
|
||||||
|
NSLog(@"modal enabled");
|
||||||
|
return;
|
||||||
|
}];
|
||||||
|
} else {
|
||||||
|
[window_ endSheet: [window_ attachedSheet]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void NativeWindowMac::Maximize() {
|
void NativeWindowMac::Maximize() {
|
||||||
if (IsMaximized())
|
if (IsMaximized())
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -132,7 +132,7 @@ class NativeWindowViews : public NativeWindow,
|
||||||
void SetIcon(const gfx::ImageSkia& icon);
|
void SetIcon(const gfx::ImageSkia& icon);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void SetEnabled(bool enable);
|
void SetEnabled(bool enable) override;
|
||||||
|
|
||||||
views::Widget* widget() const { return window_.get(); }
|
views::Widget* widget() const { return window_.get(); }
|
||||||
|
|
||||||
|
|
|
@ -847,6 +847,12 @@ the supplied bounds.
|
||||||
|
|
||||||
Returns [`Rectangle`](structures/rectangle.md)
|
Returns [`Rectangle`](structures/rectangle.md)
|
||||||
|
|
||||||
|
#### `win.setEnabled(enable)`
|
||||||
|
|
||||||
|
* `enable` Boolean
|
||||||
|
|
||||||
|
Disable or enable the window.
|
||||||
|
|
||||||
#### `win.setSize(width, height[, animate])`
|
#### `win.setSize(width, height[, animate])`
|
||||||
|
|
||||||
* `width` Integer
|
* `width` Integer
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue