| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 2 // for details. All rights reserved. Use of this source code is governed by a | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 // Generated from namespace: app.window | |
| 6 | |
| 7 part of chrome; | |
| 8 | |
| 9 /** | |
| 10 * Types | |
| 11 */ | |
| 12 | |
| 13 class AppWindowBounds extends ChromeObject { | |
| 14 /* | |
| 15 * Public constructor | |
| 16 */ | |
| 17 AppWindowBounds({int left, int top, int width, int height}) { | |
| 18 if (left != null) | |
| 19 this.left = left; | |
| 20 if (top != null) | |
| 21 this.top = top; | |
| 22 if (width != null) | |
| 23 this.width = width; | |
| 24 if (height != null) | |
| 25 this.height = height; | |
| 26 } | |
| 27 | |
| 28 /* | |
| 29 * Private constructor | |
| 30 */ | |
| 31 AppWindowBounds._proxy(_jsObject) : super._proxy(_jsObject); | |
| 32 | |
| 33 /* | |
| 34 * Public accessors | |
| 35 */ | |
| 36 int get left => JS('int', '#.left', this._jsObject); | |
| 37 | |
| 38 void set left(int left) { | |
| 39 JS('void', '#.left = #', this._jsObject, left); | |
| 40 } | |
| 41 | |
| 42 int get top => JS('int', '#.top', this._jsObject); | |
| 43 | |
| 44 void set top(int top) { | |
| 45 JS('void', '#.top = #', this._jsObject, top); | |
| 46 } | |
| 47 | |
| 48 int get width => JS('int', '#.width', this._jsObject); | |
| 49 | |
| 50 void set width(int width) { | |
| 51 JS('void', '#.width = #', this._jsObject, width); | |
| 52 } | |
| 53 | |
| 54 int get height => JS('int', '#.height', this._jsObject); | |
| 55 | |
| 56 void set height(int height) { | |
| 57 JS('void', '#.height = #', this._jsObject, height); | |
| 58 } | |
| 59 | |
| 60 } | |
| 61 | |
| 62 class AppWindowCreateWindowOptions extends ChromeObject { | |
| 63 /* | |
| 64 * Public constructor | |
| 65 */ | |
| 66 AppWindowCreateWindowOptions({String id, int defaultWidth, int defaultHeight,
int defaultLeft, int defaultTop, int width, int height, int left, int top, int m
inWidth, int minHeight, int maxWidth, int maxHeight, String type, String frame,
AppWindowBounds bounds, bool transparentBackground, String state, bool hidden, b
ool resizable, bool singleton}) { | |
| 67 if (id != null) | |
| 68 this.id = id; | |
| 69 if (defaultWidth != null) | |
| 70 this.defaultWidth = defaultWidth; | |
| 71 if (defaultHeight != null) | |
| 72 this.defaultHeight = defaultHeight; | |
| 73 if (defaultLeft != null) | |
| 74 this.defaultLeft = defaultLeft; | |
| 75 if (defaultTop != null) | |
| 76 this.defaultTop = defaultTop; | |
| 77 if (width != null) | |
| 78 this.width = width; | |
| 79 if (height != null) | |
| 80 this.height = height; | |
| 81 if (left != null) | |
| 82 this.left = left; | |
| 83 if (top != null) | |
| 84 this.top = top; | |
| 85 if (minWidth != null) | |
| 86 this.minWidth = minWidth; | |
| 87 if (minHeight != null) | |
| 88 this.minHeight = minHeight; | |
| 89 if (maxWidth != null) | |
| 90 this.maxWidth = maxWidth; | |
| 91 if (maxHeight != null) | |
| 92 this.maxHeight = maxHeight; | |
| 93 if (type != null) | |
| 94 this.type = type; | |
| 95 if (frame != null) | |
| 96 this.frame = frame; | |
| 97 if (bounds != null) | |
| 98 this.bounds = bounds; | |
| 99 if (transparentBackground != null) | |
| 100 this.transparentBackground = transparentBackground; | |
| 101 if (state != null) | |
| 102 this.state = state; | |
| 103 if (hidden != null) | |
| 104 this.hidden = hidden; | |
| 105 if (resizable != null) | |
| 106 this.resizable = resizable; | |
| 107 if (singleton != null) | |
| 108 this.singleton = singleton; | |
| 109 } | |
| 110 | |
| 111 /* | |
| 112 * Private constructor | |
| 113 */ | |
| 114 AppWindowCreateWindowOptions._proxy(_jsObject) : super._proxy(_jsObject); | |
| 115 | |
| 116 /* | |
| 117 * Public accessors | |
| 118 */ | |
| 119 /// Id to identify the window. This will be used to remember the size and | |
| 120 /// position of the window and restore that geometry when a window with the | |
| 121 /// same id is later opened. | |
| 122 String get id => JS('String', '#.id', this._jsObject); | |
| 123 | |
| 124 void set id(String id) { | |
| 125 JS('void', '#.id = #', this._jsObject, id); | |
| 126 } | |
| 127 | |
| 128 /// Default width of the window. (Deprecated; regular bounds act like this | |
| 129 /// now.) | |
| 130 int get defaultWidth => JS('int', '#.defaultWidth', this._jsObject); | |
| 131 | |
| 132 void set defaultWidth(int defaultWidth) { | |
| 133 JS('void', '#.defaultWidth = #', this._jsObject, defaultWidth); | |
| 134 } | |
| 135 | |
| 136 /// Default height of the window. (Deprecated; regular bounds act like this | |
| 137 /// now.) | |
| 138 int get defaultHeight => JS('int', '#.defaultHeight', this._jsObject); | |
| 139 | |
| 140 void set defaultHeight(int defaultHeight) { | |
| 141 JS('void', '#.defaultHeight = #', this._jsObject, defaultHeight); | |
| 142 } | |
| 143 | |
| 144 /// Default X coordinate of the window. (Deprecated; regular bounds act like | |
| 145 /// this now.) | |
| 146 int get defaultLeft => JS('int', '#.defaultLeft', this._jsObject); | |
| 147 | |
| 148 void set defaultLeft(int defaultLeft) { | |
| 149 JS('void', '#.defaultLeft = #', this._jsObject, defaultLeft); | |
| 150 } | |
| 151 | |
| 152 /// Default Y coordinate of the window. (Deprecated; regular bounds act like | |
| 153 /// this now.) | |
| 154 int get defaultTop => JS('int', '#.defaultTop', this._jsObject); | |
| 155 | |
| 156 void set defaultTop(int defaultTop) { | |
| 157 JS('void', '#.defaultTop = #', this._jsObject, defaultTop); | |
| 158 } | |
| 159 | |
| 160 /// Width of the window. (Deprecated; use 'bounds'.) | |
| 161 int get width => JS('int', '#.width', this._jsObject); | |
| 162 | |
| 163 void set width(int width) { | |
| 164 JS('void', '#.width = #', this._jsObject, width); | |
| 165 } | |
| 166 | |
| 167 /// Height of the window. (Deprecated; use 'bounds'.) | |
| 168 int get height => JS('int', '#.height', this._jsObject); | |
| 169 | |
| 170 void set height(int height) { | |
| 171 JS('void', '#.height = #', this._jsObject, height); | |
| 172 } | |
| 173 | |
| 174 /// X coordinate of the window. (Deprecated; use 'bounds'.) | |
| 175 int get left => JS('int', '#.left', this._jsObject); | |
| 176 | |
| 177 void set left(int left) { | |
| 178 JS('void', '#.left = #', this._jsObject, left); | |
| 179 } | |
| 180 | |
| 181 /// Y coordinate of the window. (Deprecated; use 'bounds'.) | |
| 182 int get top => JS('int', '#.top', this._jsObject); | |
| 183 | |
| 184 void set top(int top) { | |
| 185 JS('void', '#.top = #', this._jsObject, top); | |
| 186 } | |
| 187 | |
| 188 /// Minimum width for the lifetime of the window. | |
| 189 int get minWidth => JS('int', '#.minWidth', this._jsObject); | |
| 190 | |
| 191 void set minWidth(int minWidth) { | |
| 192 JS('void', '#.minWidth = #', this._jsObject, minWidth); | |
| 193 } | |
| 194 | |
| 195 /// Minimum height for the lifetime of the window. | |
| 196 int get minHeight => JS('int', '#.minHeight', this._jsObject); | |
| 197 | |
| 198 void set minHeight(int minHeight) { | |
| 199 JS('void', '#.minHeight = #', this._jsObject, minHeight); | |
| 200 } | |
| 201 | |
| 202 /// Maximum width for the lifetime of the window. | |
| 203 int get maxWidth => JS('int', '#.maxWidth', this._jsObject); | |
| 204 | |
| 205 void set maxWidth(int maxWidth) { | |
| 206 JS('void', '#.maxWidth = #', this._jsObject, maxWidth); | |
| 207 } | |
| 208 | |
| 209 /// Maximum height for the lifetime of the window. | |
| 210 int get maxHeight => JS('int', '#.maxHeight', this._jsObject); | |
| 211 | |
| 212 void set maxHeight(int maxHeight) { | |
| 213 JS('void', '#.maxHeight = #', this._jsObject, maxHeight); | |
| 214 } | |
| 215 | |
| 216 /// Type of window to create. | |
| 217 String get type => JS('String', '#.type', this._jsObject); | |
| 218 | |
| 219 void set type(String type) { | |
| 220 JS('void', '#.type = #', this._jsObject, type); | |
| 221 } | |
| 222 | |
| 223 /// Frame type: 'none' or 'chrome' (defaults to 'chrome'). | |
| 224 String get frame => JS('String', '#.frame', this._jsObject); | |
| 225 | |
| 226 void set frame(String frame) { | |
| 227 JS('void', '#.frame = #', this._jsObject, frame); | |
| 228 } | |
| 229 | |
| 230 /// Size and position of the content in the window (excluding the titlebar). I
f | |
| 231 /// an id is also specified and a window with a matching id has been shown | |
| 232 /// before, the remembered bounds of the window will be used instead. | |
| 233 AppWindowBounds get bounds => new AppWindowBounds._proxy(JS('', '#.bounds', th
is._jsObject)); | |
| 234 | |
| 235 void set bounds(AppWindowBounds bounds) { | |
| 236 JS('void', '#.bounds = #', this._jsObject, convertArgument(bounds)); | |
| 237 } | |
| 238 | |
| 239 /// Enable window background transparency. Only supported in ash. Requires | |
| 240 /// experimental API permission. | |
| 241 bool get transparentBackground => JS('bool', '#.transparentBackground', this._
jsObject); | |
| 242 | |
| 243 void set transparentBackground(bool transparentBackground) { | |
| 244 JS('void', '#.transparentBackground = #', this._jsObject, transparentBackgro
und); | |
| 245 } | |
| 246 | |
| 247 /// The initial state of the window, allowing it to be created already | |
| 248 /// fullscreen, maximized, or minimized. Defaults to 'normal'. | |
| 249 String get state => JS('String', '#.state', this._jsObject); | |
| 250 | |
| 251 void set state(String state) { | |
| 252 JS('void', '#.state = #', this._jsObject, state); | |
| 253 } | |
| 254 | |
| 255 /// If true, the window will be created in a hidden state. Call show() on the | |
| 256 /// window to show it once it has been created. Defaults to false. | |
| 257 bool get hidden => JS('bool', '#.hidden', this._jsObject); | |
| 258 | |
| 259 void set hidden(bool hidden) { | |
| 260 JS('void', '#.hidden = #', this._jsObject, hidden); | |
| 261 } | |
| 262 | |
| 263 /// If true, the window will be resizable by the user. Defaults to true. | |
| 264 bool get resizable => JS('bool', '#.resizable', this._jsObject); | |
| 265 | |
| 266 void set resizable(bool resizable) { | |
| 267 JS('void', '#.resizable = #', this._jsObject, resizable); | |
| 268 } | |
| 269 | |
| 270 /// By default if you specify an id for the window, the window will only be | |
| 271 /// created if another window with the same id doesn't already exist. If a | |
| 272 /// window with the same id already exists that window is activated instead. I
f | |
| 273 /// you do want to create multiple windows with the same id, you can set this | |
| 274 /// property to false. | |
| 275 bool get singleton => JS('bool', '#.singleton', this._jsObject); | |
| 276 | |
| 277 void set singleton(bool singleton) { | |
| 278 JS('void', '#.singleton = #', this._jsObject, singleton); | |
| 279 } | |
| 280 | |
| 281 } | |
| 282 | |
| 283 class AppWindowAppWindow extends ChromeObject { | |
| 284 /* | |
| 285 * Private constructor | |
| 286 */ | |
| 287 AppWindowAppWindow._proxy(_jsObject) : super._proxy(_jsObject); | |
| 288 | |
| 289 /* | |
| 290 * Public accessors | |
| 291 */ | |
| 292 /// The JavaScript 'window' object for the created child. | |
| 293 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 294 // for details. All rights reserved. Use of this source code is governed by a | |
| 295 // BSD-style license that can be found in the LICENSE file. | |
| 296 | |
| 297 // TODO(sashab, sra): Detect whether this is the current window, or an | |
| 298 // external one, and return an appropriately-typed object | |
| 299 WindowBase get contentWindow => | |
| 300 JS("Window", "#.contentWindow", this._jsObject); | |
| 301 | |
| 302 /* | |
| 303 * Methods | |
| 304 */ | |
| 305 /// Focus the window. | |
| 306 void focus() => JS('void', '#.focus()', this._jsObject); | |
| 307 | |
| 308 /// Fullscreens the window. | |
| 309 void fullscreen() => JS('void', '#.fullscreen()', this._jsObject); | |
| 310 | |
| 311 /// Is the window fullscreen? | |
| 312 bool isFullscreen() => JS('bool', '#.isFullscreen()', this._jsObject); | |
| 313 | |
| 314 /// Minimize the window. | |
| 315 void minimize() => JS('void', '#.minimize()', this._jsObject); | |
| 316 | |
| 317 /// Is the window minimized? | |
| 318 bool isMinimized() => JS('bool', '#.isMinimized()', this._jsObject); | |
| 319 | |
| 320 /// Maximize the window. | |
| 321 void maximize() => JS('void', '#.maximize()', this._jsObject); | |
| 322 | |
| 323 /// Is the window maximized? | |
| 324 bool isMaximized() => JS('bool', '#.isMaximized()', this._jsObject); | |
| 325 | |
| 326 /// Restore the window, exiting a maximized, minimized, or fullscreen state. | |
| 327 void restore() => JS('void', '#.restore()', this._jsObject); | |
| 328 | |
| 329 /// Move the window to the position (|left|, |top|). | |
| 330 void moveTo(int left, int top) => JS('void', '#.moveTo(#, #)', this._jsObject,
left, top); | |
| 331 | |
| 332 /// Resize the window to |width|x|height| pixels in size. | |
| 333 void resizeTo(int width, int height) => JS('void', '#.resizeTo(#, #)', this._j
sObject, width, height); | |
| 334 | |
| 335 /// Draw attention to the window. | |
| 336 void drawAttention() => JS('void', '#.drawAttention()', this._jsObject); | |
| 337 | |
| 338 /// Clear attention to the window. | |
| 339 void clearAttention() => JS('void', '#.clearAttention()', this._jsObject); | |
| 340 | |
| 341 /// Close the window. | |
| 342 void close() => JS('void', '#.close()', this._jsObject); | |
| 343 | |
| 344 /// Show the window. Does nothing if the window is already visible. | |
| 345 void show() => JS('void', '#.show()', this._jsObject); | |
| 346 | |
| 347 /// Hide the window. Does nothing if the window is already hidden. | |
| 348 void hide() => JS('void', '#.hide()', this._jsObject); | |
| 349 | |
| 350 /// Get the window's bounds as a $ref:Bounds object. | |
| 351 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 352 // for details. All rights reserved. Use of this source code is governed by a | |
| 353 // BSD-style license that can be found in the LICENSE file. | |
| 354 | |
| 355 // TODO(sashab, kalman): Fix IDL parser to read function return values | |
| 356 // correctly. Currently, it just reads void for all functions. | |
| 357 AppWindowBounds getBounds() => | |
| 358 new AppWindowBounds._proxy(JS('void', '#.getBounds()', this._jsObject)); | |
| 359 | |
| 360 /// Set the window's bounds. | |
| 361 void setBounds(AppWindowBounds bounds) => JS('void', '#.setBounds(#)', this._j
sObject, convertArgument(bounds)); | |
| 362 | |
| 363 /// Set the app icon for the window (experimental). Currently this is only | |
| 364 /// being implemented on Ash. TODO(stevenjb): Investigate implementing this on | |
| 365 /// Windows and OSX. | |
| 366 void setIcon(String icon_url) => JS('void', '#.setIcon(#)', this._jsObject, ic
on_url); | |
| 367 | |
| 368 } | |
| 369 | |
| 370 /** | |
| 371 * Events | |
| 372 */ | |
| 373 | |
| 374 /// Fired when the window is resized. | |
| 375 class Event_app_window_onBoundsChanged extends Event { | |
| 376 void addListener(void callback()) => super.addListener(callback); | |
| 377 | |
| 378 void removeListener(void callback()) => super.removeListener(callback); | |
| 379 | |
| 380 bool hasListener(void callback()) => super.hasListener(callback); | |
| 381 | |
| 382 Event_app_window_onBoundsChanged(jsObject) : super._(jsObject, 0); | |
| 383 } | |
| 384 | |
| 385 /// Fired when the window is closed. | |
| 386 class Event_app_window_onClosed extends Event { | |
| 387 void addListener(void callback()) => super.addListener(callback); | |
| 388 | |
| 389 void removeListener(void callback()) => super.removeListener(callback); | |
| 390 | |
| 391 bool hasListener(void callback()) => super.hasListener(callback); | |
| 392 | |
| 393 Event_app_window_onClosed(jsObject) : super._(jsObject, 0); | |
| 394 } | |
| 395 | |
| 396 /// Fired when the window is fullscreened. | |
| 397 class Event_app_window_onFullscreened extends Event { | |
| 398 void addListener(void callback()) => super.addListener(callback); | |
| 399 | |
| 400 void removeListener(void callback()) => super.removeListener(callback); | |
| 401 | |
| 402 bool hasListener(void callback()) => super.hasListener(callback); | |
| 403 | |
| 404 Event_app_window_onFullscreened(jsObject) : super._(jsObject, 0); | |
| 405 } | |
| 406 | |
| 407 /// Fired when the window is maximized. | |
| 408 class Event_app_window_onMaximized extends Event { | |
| 409 void addListener(void callback()) => super.addListener(callback); | |
| 410 | |
| 411 void removeListener(void callback()) => super.removeListener(callback); | |
| 412 | |
| 413 bool hasListener(void callback()) => super.hasListener(callback); | |
| 414 | |
| 415 Event_app_window_onMaximized(jsObject) : super._(jsObject, 0); | |
| 416 } | |
| 417 | |
| 418 /// Fired when the window is minimized. | |
| 419 class Event_app_window_onMinimized extends Event { | |
| 420 void addListener(void callback()) => super.addListener(callback); | |
| 421 | |
| 422 void removeListener(void callback()) => super.removeListener(callback); | |
| 423 | |
| 424 bool hasListener(void callback()) => super.hasListener(callback); | |
| 425 | |
| 426 Event_app_window_onMinimized(jsObject) : super._(jsObject, 0); | |
| 427 } | |
| 428 | |
| 429 /// Fired when the window is restored from being minimized or maximized. | |
| 430 class Event_app_window_onRestored extends Event { | |
| 431 void addListener(void callback()) => super.addListener(callback); | |
| 432 | |
| 433 void removeListener(void callback()) => super.removeListener(callback); | |
| 434 | |
| 435 bool hasListener(void callback()) => super.hasListener(callback); | |
| 436 | |
| 437 Event_app_window_onRestored(jsObject) : super._(jsObject, 0); | |
| 438 } | |
| 439 | |
| 440 /** | |
| 441 * Functions | |
| 442 */ | |
| 443 | |
| 444 class API_app_window { | |
| 445 /* | |
| 446 * API connection | |
| 447 */ | |
| 448 Object _jsObject; | |
| 449 | |
| 450 /* | |
| 451 * Events | |
| 452 */ | |
| 453 Event_app_window_onBoundsChanged onBoundsChanged; | |
| 454 Event_app_window_onClosed onClosed; | |
| 455 Event_app_window_onFullscreened onFullscreened; | |
| 456 Event_app_window_onMaximized onMaximized; | |
| 457 Event_app_window_onMinimized onMinimized; | |
| 458 Event_app_window_onRestored onRestored; | |
| 459 | |
| 460 /* | |
| 461 * Functions | |
| 462 */ | |
| 463 /// The size and position of a window can be specified in a number of differen
t | |
| 464 /// ways. The most simple option is not specifying anything at all, in which | |
| 465 /// case a default size and platform dependent position will be used.<br/><br/
> | |
| 466 /// Another option is to use the bounds property, which will put the window at | |
| 467 /// the specified coordinates with the specified size. If the window has a | |
| 468 /// frame, it's total size will be the size given plus the size of the frame; | |
| 469 /// that is, the size in bounds is the content size, not the window | |
| 470 /// size.<br/><br/> To automatically remember the positions of windows you can | |
| 471 /// give them ids. If a window has an id, This id is used to remember the size | |
| 472 /// and position of the window whenever it is moved or resized. This size and | |
| 473 /// position is then used instead of the specified bounds on subsequent openin
g | |
| 474 /// of a window with the same id. If you need to open a window with an id at a | |
| 475 /// location other than the remembered default, you can create it hidden, move | |
| 476 /// it to the desired location, then show it. | |
| 477 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 478 // for details. All rights reserved. Use of this source code is governed by a | |
| 479 // BSD-style license that can be found in the LICENSE file. | |
| 480 | |
| 481 // TODO(sashab): This override is no longer needed once prefixes are removed. | |
| 482 void create(String url, | |
| 483 [AppWindowCreateWindowOptions options, | |
| 484 void callback(AppWindowAppWindow created_window)]) { | |
| 485 void __proxy_callback(created_window) { | |
| 486 if (callback != null) | |
| 487 callback(new AppWindowAppWindow._proxy(created_window)); | |
| 488 } | |
| 489 JS('void', '#.create(#, #, #)', this._jsObject, url, convertArgument(options
), | |
| 490 convertDartClosureToJS(__proxy_callback, 1)); | |
| 491 } | |
| 492 | |
| 493 /// Returns an $ref:AppWindow object for the current script context (ie | |
| 494 /// JavaScript 'window' object). This can also be called on a handle to a | |
| 495 /// script context for another page, for example: | |
| 496 /// otherWindow.chrome.app.window.current(). | |
| 497 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 498 // for details. All rights reserved. Use of this source code is governed by a | |
| 499 // BSD-style license that can be found in the LICENSE file. | |
| 500 | |
| 501 // TODO(sashab, kalman): Fix IDL parser to read function return values | |
| 502 // correctly. Currently, it just reads void for all functions. | |
| 503 AppWindowAppWindow current() => | |
| 504 new AppWindowAppWindow._proxy(JS('void', '#.current()', this._jsObject)); | |
| 505 | |
| 506 void initializeAppWindow(Object state) => JS('void', '#.initializeAppWindow(#)
', this._jsObject, convertArgument(state)); | |
| 507 | |
| 508 API_app_window(this._jsObject) { | |
| 509 onBoundsChanged = new Event_app_window_onBoundsChanged(JS('', '#.onBoundsCha
nged', this._jsObject)); | |
| 510 onClosed = new Event_app_window_onClosed(JS('', '#.onClosed', this._jsObject
)); | |
| 511 onFullscreened = new Event_app_window_onFullscreened(JS('', '#.onFullscreene
d', this._jsObject)); | |
| 512 onMaximized = new Event_app_window_onMaximized(JS('', '#.onMaximized', this.
_jsObject)); | |
| 513 onMinimized = new Event_app_window_onMinimized(JS('', '#.onMinimized', this.
_jsObject)); | |
| 514 onRestored = new Event_app_window_onRestored(JS('', '#.onRestored', this._js
Object)); | |
| 515 } | |
| 516 } | |
| OLD | NEW |