second attempt at scrolled long output
Some amount of CSS tweaking will probably want to be done before 0.13 final,
but this is good enough for beta.
closes#1553
Cell/Worksheet metadata
* metadata dicts are attached to cells and worksheets
* restores collapsed flag to the nbformat - this change happened in the refactor, and was undocumented, and possibly accidental. But we should either document it or fix it, and this includes a fix.
* adds a new field, `nbformat_minor`, used to denote minor bumps of the notebook format that expose new capabilities but don't prevent loading by older clients.
* Add a warning in Javascript if loading a multiworksheet notebook (which will exist in the future) as current JS code will only save the first.
closes#1915
I found another bug where switching the cell type causes the loss of all
undo history for that cell. With this commit, switching the cell type
simply resets the history
For security reasons, the kernel should not be started until
after the notebook content is completely loaded and on the page.
This prevents people from creating notebooks that run nasty code
on the users machine at load time.
In order to implement this, we had to create a CodeCell.set_kernel
method that allows the kernel attribute of a CodeCell to be set
at a later time. This also fixes some error messages we were
seeing related to the kernel's channels not being setup properly
when a send was attempted.
* Kernel doesn't depend on Notebook or CodeCell.
* CodeCell doesn't depend on Notebook, only Kernel.
* All of the kernel management logic has been moved out of the
Notebook into the Kernel.
* Public methods of the Kernel (execute, complete, etc) take
a callbacks object that registers the callbacks for that msg.
(rebased, cherrypicked, by Bussonnier Matthias <bussonniermatthias@gmail.com>)
(and tabs removed)
Conflicts:
IPython/frontend/html/notebook/static/js/codecell.js
IPython/frontend/html/notebook/static/js/completer.js
IPython/frontend/html/notebook/static/js/tooltip.js
consecutives tab pressing with tooltip does :
- fisrt : show it
- second : expand it
- third : make it sticky for 10s (typing wont dismiss it)
- forth : send the content into the Pager
more feature like
-completion based on 2 sources :
* introspection in kernel
* context of current cell (complete with matching words)
* each source has its color in the completer
This reduces flicker during common loops like:
for step in stuff:
clear_output()
print something
the timeout is flushed *immediately* on any subsequent output.
Pressing TAB to get the tooltip "range(TAB" was inserting a TAB.
To get rid of this we are now telling CodeMirror to ignore it
and also stopping the event from bubbling up the DOM.
* json separator is not ',' to avoid adding extra space at EOL.
* vs used throughout nbformat.current.
* Cell collapse is properly loaded from notebook.
Make Control-S (or Cmd-S on Apple) save the actual notebook instead of bringing up the useless 'save as html' dialog. This doesn't disable the C-m-s keybinding, simply adds the far more familiar and common C-s.