//---------------------------------------------------------------------------- // 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. //---------------------------------------------------------------------------- //============================================================================ // LeftPanel //============================================================================ var IPython = (function (IPython) { var utils = IPython.utils; var LeftPanel = function (left_panel_selector, left_panel_splitter_selector) { this.left_panel_element = $(left_panel_selector); this.left_panel_splitter_element = $(left_panel_splitter_selector); this.expanded = true; this.width = 300; this.style(); this.bind_events(); this.create_children(); }; LeftPanel.prototype.style = function () { this.left_panel_splitter_element.addClass('border-box-sizing ui-widget ui-state-default'); this.left_panel_element.addClass('border-box-sizing ui-widget'); this.left_panel_element.width(this.width); this.left_panel_splitter_element.css({left : this.width}); this.left_panel_splitter_element.attr('title', 'Click to Show/Hide left panel'); }; LeftPanel.prototype.bind_events = function () { var that = this; this.left_panel_element.bind('collapse_left_panel', function () { that.left_panel_element.hide('fast'); that.left_panel_splitter_element.animate({left : 0}, 'fast'); }); this.left_panel_element.bind('expand_left_panel', function () { that.left_panel_element.show('fast'); that.left_panel_splitter_element.animate({left : that.width}, 'fast'); }); this.left_panel_splitter_element.hover( function () { that.left_panel_splitter_element.addClass('ui-state-hover'); }, function () { that.left_panel_splitter_element.removeClass('ui-state-hover'); } ); this.left_panel_splitter_element.click(function () { that.toggle(); }); }; LeftPanel.prototype.create_children = function () { this.notebook_section = new IPython.NotebookSection('div#notebook_section'); this.cell_section = new IPython.CellSection('div#cell_section'); this.kernel_section = new IPython.KernelSection('div#kernel_section'); this.help_section = new IPython.HelpSection('div#help_section'); } LeftPanel.prototype.collapse = function () { if (this.expanded === true) { this.left_panel_element.add($('div#notebook')).trigger('collapse_left_panel'); this.expanded = false; }; }; LeftPanel.prototype.expand = function () { if (this.expanded !== true) { this.left_panel_element.add($('div#notebook')).trigger('expand_left_panel'); this.expanded = true; }; }; LeftPanel.prototype.toggle = function () { if (this.expanded === true) { this.collapse(); } else { this.expand(); }; }; IPython.LeftPanel = LeftPanel; return IPython; }(IPython));