##// END OF EJS Templates
dont use string as dict key, better redability
r7837:a6b6d752
Show More
toolbar.js
94 lines | 3.0 KiB | application/javascript | JavascriptLexer
Brian Granger
First draft of toolbar....
r5993 //----------------------------------------------------------------------------
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 // Copyright (C) 2008 The IPython Development Team
Brian Granger
First draft of toolbar....
r5993 //
// Distributed under the terms of the BSD License. The full license is in
// the file COPYING, distributed as part of this software.
//----------------------------------------------------------------------------
//============================================================================
// ToolBar
//============================================================================
var IPython = (function (IPython) {
var ToolBar = function (selector) {
this.selector = selector;
if (this.selector !== undefined) {
this.element = $(selector);
this.style();
}
};
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 // add a group of button into the current toolbar.
//
// First argument : Mandatory
// list of dict as argument, each dict should contain
// 3 mandatory keys and values :
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 // label : string -- the text to show on hover
// icon : string -- the jQuery-ui icon to add on this button
// callback : function -- the callback to execute on a click
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 //
// and optionnaly an 'id' key that is assigned to the button element
//
// Second Argument, optionnal,
// string reprensenting the id to give to the button group.
//
// Example
//
// IPython.toolbar.addButtonsGroup([
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 // {label:'my button',
// icon:'ui-icon-disk',
// callback:function(){alert('hoho'),
// id : 'my_button_id', // this is optionnal
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 // }
// },
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 // {label:'my second button',
// icon:'ui-icon-scissors',
// callback:function(){alert('be carefull I cut')}
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 // }
// ],
// "my_button_group_id"
// )
//
ToolBar.prototype.addButtonsGroup = function(list, group_id){
var span_group = $('<span/>');
if( group_id != undefined )
span_group.attr('id',group_id)
for(var el in list)
{
var button = $('<button/>').button({
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 icons : {primary: list[el].icon},
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 text : false,
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 label: list[el].label,
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 });
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 var id = list[el].id;
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 if( id != undefined )
button.attr('id',id);
Matthias BUSSONNIER
dont use string as dict key, better redability
r7837 var fun = list[el].callback;
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 button.click(fun);
span_group.append(button);
}
span_group.buttonset();
$(this.selector).append(span_group)
}
Brian Granger
First draft of toolbar....
r5993
ToolBar.prototype.style = function () {
Brian Granger
Major refactoring of notebook....
r6193 this.element.addClass('border-box-sizing').
Matthias BUSSONNIER
Allow toolbar construction in js...
r7832 addClass('ui-widget ui-widget-content toolbar').
Brian Granger
Major refactoring of notebook....
r6193 css('border-top-style','none').
css('border-left-style','none').
css('border-right-style','none');
Brian Granger
First draft of toolbar....
r5993 };
Brian Granger
Further work on the toolbar UI....
r5994 ToolBar.prototype.toggle = function () {
this.element.toggle();
IPython.layout_manager.do_resize();
Brian Granger
First draft of toolbar....
r5993 };
IPython.ToolBar = ToolBar;
return IPython;
}(IPython));