##// END OF EJS Templates
adjust MagicManager.register to handle Configurable magics...
adjust MagicManager.register to handle Configurable magics Configurables don't allow positional args to init, and HasTraits classes don't identify as `type`.

File last commit:

r7209:fb02a677
r7298:b6378a8b
Show More
notificationwidget.js
123 lines | 4.4 KiB | application/javascript | JavascriptLexer
Brian Granger
Major refactoring of saving, notification....
r6047 //----------------------------------------------------------------------------
// 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.
//----------------------------------------------------------------------------
//============================================================================
// Notification widget
//============================================================================
var IPython = (function (IPython) {
var utils = IPython.utils;
var NotificationWidget = function (selector) {
this.selector = selector;
this.timeout = null;
this.busy = false;
if (this.selector !== undefined) {
this.element = $(selector);
this.style();
this.bind_events();
}
};
NotificationWidget.prototype.style = function () {
this.element.addClass('ui-widget ui-widget-content ui-corner-all');
this.element.addClass('border-box-sizing');
};
NotificationWidget.prototype.bind_events = function () {
var that = this;
// Kernel events
$([IPython.events]).on('status_idle.Kernel',function () {
IPython.save_widget.update_document_title();
if (that.get_message() === 'Kernel busy') {
that.element.fadeOut(100, function () {
that.element.html('');
});
};
});
$([IPython.events]).on('status_busy.Kernel',function () {
window.document.title='(Busy) '+window.document.title;
that.set_message("Kernel busy");
});
$([IPython.events]).on('status_restarting.Kernel',function () {
Takafumi Arakaki
Clear window title when kernel is restarted...
r7207 IPython.save_widget.update_document_title();
Brian Granger
Major refactoring of saving, notification....
r6047 that.set_message("Restarting kernel",500);
});
$([IPython.events]).on('status_interrupting.Kernel',function () {
that.set_message("Interrupting kernel",500);
});
Brian Granger
Major refactoring of the Notebook, Kernel and CodeCell JavaScript....
r7168 $([IPython.events]).on('status_dead.Kernel',function () {
var dialog = $('<div/>');
Brian Granger
Adding back kernel dead choice for user....
r7178 dialog.html('The kernel has died, would you like to restart it? If you do not restart the kernel, you will be able to save the notebook, but running code will not work until the notebook is reopened.');
Brian Granger
Major refactoring of the Notebook, Kernel and CodeCell JavaScript....
r7168 $(document).append(dialog);
dialog.dialog({
resizable: false,
modal: true,
title: "Dead kernel",
buttons : {
Brian Granger
Adding back kernel dead choice for user....
r7178 "Restart": function () {
Takafumi Arakaki
Reduce repeated code regarding restarting events
r7208 $([IPython.events]).trigger('status_restarting.Kernel');
Brian Granger
Adding back kernel dead choice for user....
r7178 IPython.notebook.start_kernel();
$(this).dialog('close');
},
"Continue running": function () {
Brian Granger
Major refactoring of the Notebook, Kernel and CodeCell JavaScript....
r7168 $(this).dialog('close');
}
}
});
});
Brian Granger
Major refactoring of saving, notification....
r6047 // Notebook events
$([IPython.events]).on('notebook_loading.Notebook', function () {
that.set_message("Loading notebook",500);
});
$([IPython.events]).on('notebook_loaded.Notebook', function () {
that.set_message("Notebook loaded",500);
});
$([IPython.events]).on('notebook_saving.Notebook', function () {
that.set_message("Saving notebook",500);
});
$([IPython.events]).on('notebook_saved.Notebook', function () {
that.set_message("Notebook saved",500);
});
$([IPython.events]).on('notebook_save_failed.Notebook', function () {
that.set_message("Notebook save failed",500);
});
};
NotificationWidget.prototype.set_message = function (msg, timeout) {
var that = this;
this.element.html(msg);
this.element.fadeIn(100);
if (this.timeout !== null) {
clearTimeout(this.timeout);
this.timeout = null;
};
if (timeout !== undefined) {
this.timeout = setTimeout(function () {
that.element.fadeOut(100, function () {that.element.html('');});
that.timeout = null;
}, timeout)
};
};
NotificationWidget.prototype.get_message = function () {
return this.element.html();
};
IPython.NotificationWidget = NotificationWidget;
return IPython;
}(IPython));