layoutmanager.js
61 lines
| 2.1 KiB
| application/javascript
|
JavascriptLexer
Brian E. Granger
|
r4609 | //---------------------------------------------------------------------------- | ||
MinRK
|
r12966 | // Copyright (C) 2011 The IPython Development Team | ||
Brian E. Granger
|
r4609 | // | ||
// Distributed under the terms of the BSD License. The full license is in | ||||
// the file COPYING, distributed as part of this software. | ||||
//---------------------------------------------------------------------------- | ||||
Brian E. Granger
|
r4363 | |||
//============================================================================ | ||||
// Layout | ||||
//============================================================================ | ||||
var IPython = (function (IPython) { | ||||
Matthias BUSSONNIER
|
r12103 | "use strict"; | ||
Brian E. Granger
|
r4363 | |||
var LayoutManager = function () { | ||||
this.bind_events(); | ||||
}; | ||||
LayoutManager.prototype.bind_events = function () { | ||||
$(window).resize($.proxy(this.do_resize,this)); | ||||
}; | ||||
Matthias BUSSONNIER
|
r6723 | LayoutManager.prototype.app_height = function() { | ||
Brian E. Granger
|
r4363 | var win = $(window); | ||
var w = win.width(); | ||||
var h = win.height(); | ||||
Brian Granger
|
r5994 | var header_height; | ||
if ($('div#header').css('display') === 'none') { | ||||
header_height = 0; | ||||
} else { | ||||
header_height = $('div#header').outerHeight(true); | ||||
} | ||||
MinRK
|
r12966 | var menubar_height; | ||
if ($('div#menubar-container').css('display') === 'none') { | ||||
menubar_height = 0; | ||||
Brian Granger
|
r5994 | } else { | ||
MinRK
|
r12966 | menubar_height = $('div#menubar-container').outerHeight(true); | ||
Brian Granger
|
r5994 | } | ||
MinRK
|
r12966 | return h-header_height-menubar_height; // content height | ||
}; | ||||
Matthias BUSSONNIER
|
r6723 | |||
LayoutManager.prototype.do_resize = function () { | ||||
MinRK
|
r12966 | var app_height = this.app_height(); // content height | ||
Brian E. Granger
|
r4363 | |||
Bussonnier Matthias
|
r9265 | $('#ipython-main-app').height(app_height); // content+padding+border height | ||
Brian E. Granger
|
r4363 | |||
var pager_height = IPython.pager.percentage_height*app_height; | ||||
var pager_splitter_height = $('div#pager_splitter').outerHeight(true); | ||||
MinRK
|
r10907 | $('div#pager').outerHeight(pager_height); | ||
Brian E. Granger
|
r4363 | if (IPython.pager.expanded) { | ||
MinRK
|
r10907 | $('div#notebook').outerHeight(app_height-pager_height-pager_splitter_height); | ||
Brian E. Granger
|
r4363 | } else { | ||
MinRK
|
r10907 | $('div#notebook').outerHeight(app_height-pager_splitter_height); | ||
Brian E. Granger
|
r4363 | } | ||
}; | ||||
Stefan van der Walt
|
r5479 | IPython.LayoutManager = LayoutManager; | ||
Brian E. Granger
|
r4363 | |||
return IPython; | ||||
}(IPython)); | ||||