Move "setSheetOffset" to the BrowserWindow
authorBen Gotow <bengotow@gmail.com>
Tue, 19 Apr 2016 05:39:12 +0000 (22:39 -0700)
committerBen Gotow <bengotow@gmail.com>
Tue, 19 Apr 2016 05:39:12 +0000 (22:39 -0700)
atom/browser/api/atom_api_dialog.cc
atom/browser/api/atom_api_window.cc
atom/browser/api/atom_api_window.h
atom/browser/native_window.cc
docs/api/browser-window.md
docs/api/dialog.md
lib/browser/api/dialog.js

index 965b928..0a544c5 100644 (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);
 }
 
index fd9dd94..07cee2a 100644 (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)
index d26ff5b..0b8f0e3 100644 (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);
index 37bf8f6..091a7b8 100644 (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) {
 }
 
index 877a6d0..a28ed10 100644 (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
index f36850f..32b8628 100644 (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.
index ed7ab06..6669d8c 100644 (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()