##// END OF EJS Templates
flush replies when entering an eventloop...
flush replies when entering an eventloop avoids possible hangs when the GUI eventloop prevents queued replies from being sent

File last commit:

r12966:86209d7d
r15232:158d7616
Show More
layoutmanager.js
61 lines | 2.1 KiB | application/javascript | JavascriptLexer
//----------------------------------------------------------------------------
// Copyright (C) 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.
//----------------------------------------------------------------------------
//============================================================================
// Layout
//============================================================================
var IPython = (function (IPython) {
"use strict";
var LayoutManager = function () {
this.bind_events();
};
LayoutManager.prototype.bind_events = function () {
$(window).resize($.proxy(this.do_resize,this));
};
LayoutManager.prototype.app_height = function() {
var win = $(window);
var w = win.width();
var h = win.height();
var header_height;
if ($('div#header').css('display') === 'none') {
header_height = 0;
} else {
header_height = $('div#header').outerHeight(true);
}
var menubar_height;
if ($('div#menubar-container').css('display') === 'none') {
menubar_height = 0;
} else {
menubar_height = $('div#menubar-container').outerHeight(true);
}
return h-header_height-menubar_height; // content height
};
LayoutManager.prototype.do_resize = function () {
var app_height = this.app_height(); // content height
$('#ipython-main-app').height(app_height); // content+padding+border height
var pager_height = IPython.pager.percentage_height*app_height;
var pager_splitter_height = $('div#pager_splitter').outerHeight(true);
$('div#pager').outerHeight(pager_height);
if (IPython.pager.expanded) {
$('div#notebook').outerHeight(app_height-pager_height-pager_splitter_height);
} else {
$('div#notebook').outerHeight(app_height-pager_splitter_height);
}
};
IPython.LayoutManager = LayoutManager;
return IPython;
}(IPython));