layoutmanager.js
63 lines
| 2.2 KiB
| application/javascript
|
JavascriptLexer
Brian E. Granger
|
r4609 | //---------------------------------------------------------------------------- | ||
// Copyright (C) 2008-2011 The IPython Development Team | ||||
// | ||||
// 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); | ||||
} | ||||
Brian Granger
|
r5857 | var menubar_height = $('div#menubar').outerHeight(true); | ||
Brian Granger
|
r5994 | var toolbar_height; | ||
Matthias BUSSONNIER
|
r8207 | if ($('div#maintoolbar').css('display') === 'none') { | ||
Brian Granger
|
r5994 | toolbar_height = 0; | ||
} else { | ||||
Matthias BUSSONNIER
|
r8207 | toolbar_height = $('div#maintoolbar').outerHeight(true); | ||
Brian Granger
|
r5994 | } | ||
Matthias BUSSONNIER
|
r6723 | return h-header_height-menubar_height-toolbar_height; // content height | ||
} | ||||
LayoutManager.prototype.do_resize = function () { | ||||
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)); | ||||