Move "setSheetOffset" to the BrowserWindow

This commit is contained in:
Ben Gotow 2016-04-18 22:39:12 -07:00
parent 1976c271ec
commit 8f89cd2d59
7 changed files with 27 additions and 33 deletions

View file

@ -66,10 +66,6 @@ void ShowMessageBox(int type,
}
}
void SetSheetOffset(atom::NativeWindow* window, const double offset) {
window->SetSheetOffset(offset);
}
void ShowOpenDialog(const std::string& title,
const base::FilePath& default_path,
const file_dialog::Filters& filters,
@ -116,7 +112,6 @@ void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
dict.SetMethod("showMessageBox", &ShowMessageBox);
dict.SetMethod("showErrorBox", &atom::ShowErrorBox);
dict.SetMethod("showOpenDialog", &ShowOpenDialog);
dict.SetMethod("setSheetOffset", &SetSheetOffset);
dict.SetMethod("showSaveDialog", &ShowSaveDialog);
}

View file

@ -514,6 +514,10 @@ std::vector<int> Window::GetPosition() {
return result;
}
void Window::SetSheetOffset(double offset) {
window_->SetSheetOffset(offset);
}
void Window::SetTitle(const std::string& title) {
window_->SetTitle(title);
}
@ -763,6 +767,7 @@ void Window::BuildPrototype(v8::Isolate* isolate,
.SetMethod("center", &Window::Center)
.SetMethod("setPosition", &Window::SetPosition)
.SetMethod("getPosition", &Window::GetPosition)
.SetMethod("setSheetOffset", &Window::SetSheetOffset)
.SetMethod("setTitle", &Window::SetTitle)
.SetMethod("getTitle", &Window::GetTitle)
.SetMethod("flashFrame", &Window::FlashFrame)

View file

@ -110,6 +110,7 @@ class Window : public mate::TrackableObject<Window>,
std::vector<int> GetMinimumSize();
void SetMaximumSize(int width, int height);
std::vector<int> GetMaximumSize();
void SetSheetOffset(double offset);
void SetResizable(bool resizable);
bool IsResizable();
void SetMovable(bool movable);

View file

@ -201,14 +201,6 @@ gfx::Size NativeWindow::GetContentSize() {
return WindowSizeToContentSize(GetSize());
}
void NativeWindow::SetSheetOffset(const double offset) {
sheet_offset_ = offset;
}
double NativeWindow::GetSheetOffset() {
return sheet_offset_;
}
void NativeWindow::SetSizeConstraints(
const extensions::SizeConstraints& window_constraints) {
extensions::SizeConstraints content_constraints;
@ -262,6 +254,14 @@ gfx::Size NativeWindow::GetMaximumSize() {
return GetSizeConstraints().GetMaximumSize();
}
void NativeWindow::SetSheetOffset(const double offset) {
sheet_offset_ = offset;
}
double NativeWindow::GetSheetOffset() {
return sheet_offset_;
}
void NativeWindow::SetRepresentedFilename(const std::string& filename) {
}

View file

@ -675,6 +675,17 @@ Returns the title of the native window.
**Note:** The title of web page can be different from the title of the native
window.
### `win.setSheetOffset(offset)`
Changes the attachment point for sheets on Mac OS X. By default, sheets are attached
just below the window frame, but you may want to display them beneath a HTML-rendered
toolbar. For example:
```
var toolbarRect = document.getElementById('toolbar').getBoundingClientRect();
win.setSheetOffset(toolbarRect.height);
```
### `win.flashFrame(flag)`
* `flag` Boolean

View file

@ -129,19 +129,5 @@ On Mac OS X, dialogs are presented as sheets attached to a window if you provide
a `BrowserWindow` reference in the `browserWindow` parameter, or modals if no
window is provided.
### `dialog.setSheetOffset(browserWindow, offset)`
* `browserWindow` BrowserWindow (optional)
Changes the attachment point for sheets on Mac OS X. By default, sheets are attached
just below the window frame, but you may want to display them beneath a HTML-rendered
toolbar. For example:
```
const {remote} = require('electron');
const browserWindow = remote.getCurrentWindow();
var toolbarRect = document.getElementById('toolbar').getBoundingClientRect();
remote.dialog.setSheetOffset(browserWindow, toolbarRect.height);
... show dialog ...
```
You can call `BrowserWindow.getCurrentWindow().setSheetOffset(offset)` to change
the offset from the window frame where sheets are attached.

View file

@ -49,10 +49,6 @@ var checkAppInitialized = function () {
}
module.exports = {
setSheetOffset: function (window, offset) {
return binding.setSheetOffset(window, offset)
},
showOpenDialog: function (...args) {
var prop, properties, value, wrappedCallback
checkAppInitialized()