##// END OF EJS Templates
Allow the user to interact with link anchors in the qtconsole...
Allow the user to interact with link anchors in the qtconsole Since the qtconsole can display hyperlinks, it would be useful to allow interacting with them. This adds showing a tooltip when the mouse is over a link. The tooltip code stores the anchor in ConsoleWidget._anchor, so when the user right-clicks to select the context menu for "Open Link" or "Copy Link Address", it uses the text that was displayed and not whats under the current context menu pointer location. Also storing the anchor allows me to check to see if we've already displayed that anchor on a new mouseMoveEvent so the tooltip doesn't keep getting redrawn.

File last commit:

r8513:d9a42fe4 merge
r8532:9891d074
Show More
notebook.html
224 lines | 10.4 KiB | text/html | HtmlLexer
{% extends page.html %}
{% block stylesheet %}
{% if mathjax_url %}
<script type="text/javascript" src="{{mathjax_url}}?config=TeX-AMS_HTML" charset="utf-8"></script>
{% end %}
<script type="text/javascript">
// MathJax disabled, set as null to distingish from *missing* MathJax,
// where it will be undefined, and should prompt a dialog later.
window.mathjax_url = "{{mathjax_url}}";
</script>
<link rel="stylesheet" href="{{ static_url("codemirror/lib/codemirror.css") }}">
<link rel="stylesheet" href="{{ static_url("codemirror/theme/ipython.css") }}">
<link rel="stylesheet" href="{{ static_url("prettify/prettify.css") }}"/>
<link rel="stylesheet" href="{{ static_url("css/notebook.css") }}" type="text/css" />
<link rel="stylesheet" href="{{ static_url("css/tooltip.css") }}" type="text/css" />
<link rel="stylesheet" href="{{ static_url("css/renderedhtml.css") }}" type="text/css" />
<link rel="stylesheet" href="{{ static_url("css/printnotebook.css") }}" type="text/css" media="print"/>
{% end %}
{% block params %}
data-project={{project}}
data-base-project-url={{base_project_url}}
data-base-kernel-url={{base_kernel_url}}
data-read-only={{read_only and not logged_in}}
data-notebook-id={{notebook_id}}
{% end %}
{% block header %}
<span id="save_widget">
<span id="notebook_name"></span>
<span id="save_status"></span>
</span>
{% end %}
{% block site %}
<div id="menubar_container">
<div id="menubar">
<ul id="menus">
<li><a href="#">File</a>
<ul>
<li id="new_notebook"><a href="#">New</a></li>
<li id="open_notebook"><a href="#">Open...</a></li>
<hr/>
<li id="copy_notebook"><a href="#">Make a Copy...</a></li>
<li id="rename_notebook"><a href="#">Rename...</a></li>
<li id="save_notebook"><a href="#">Save</a></li>
<hr/>
<li><a href="#">Download as</a>
<ul>
<li id="download_ipynb"><a href="#">IPython (.ipynb)</a></li>
<li id="download_py"><a href="#">Python (.py)</a></li>
</ul>
</li>
<hr/>
<li id="print_notebook"><a href="/{{notebook_id}}/print" target="_blank">Print View</a></li>
<hr/>
<li id="kill_and_exit"><a href="#" >Close and halt</a></li>
</ul>
</li>
<li><a href="#">Edit</a>
<ul>
<li id="cut_cell"><a href="#">Cut Cell</a></li>
<li id="copy_cell"><a href="#">Copy Cell</a></li>
<li id="paste_cell" class="ui-state-disabled"><a href="#">Paste Cell</a></li>
<li id="paste_cell_above" class="ui-state-disabled"><a href="#">Paste Cell Above</a></li>
<li id="paste_cell_below" class="ui-state-disabled"><a href="#">Paste Cell Below</a></li>
<li id="delete_cell"><a href="#">Delete</a></li>
<hr/>
<li id="split_cell"><a href="#">Split Cell</a></li>
<li id="merge_cell_above"><a href="#">Merge Cell Above</a></li>
<li id="merge_cell_below"><a href="#">Merge Cell Below</a></li>
<hr/>
<li id="move_cell_up"><a href="#">Move Cell Up</a></li>
<li id="move_cell_down"><a href="#">Move Cell Down</a></li>
<hr/>
<li id="select_previous"><a href="#">Select Previous Cell</a></li>
<li id="select_next"><a href="#">Select Next Cell</a></li>
</ul>
</li>
<li><a href="#">View</a>
<ul>
<li id="toggle_header"><a href="#">Toggle Header</a></li>
<li id="toggle_toolbar"><a href="#">Toggle Toolbar</a></li>
</ul>
</li>
<li><a href="#">Insert</a>
<ul>
<li id="insert_cell_above"><a href="#">Insert Cell Above</a></li>
<li id="insert_cell_below"><a href="#">Insert Cell Below</a></li>
</ul>
</li>
<li><a href="#">Cell</a>
<ul>
<li id="run_cell"><a href="#">Run</a></li>
<li id="run_cell_in_place"><a href="#">Run in Place</a></li>
<li id="run_all_cells"><a href="#">Run All</a></li>
<hr/>
<li id="to_code"><a href="#">Code</a></li>
<li id="to_markdown"><a href="#">Markdown </a></li>
<li id="to_raw"><a href="#">Raw Text</a></li>
<li id="to_heading1"><a href="#">Heading 1</a></li>
<li id="to_heading2"><a href="#">Heading 2</a></li>
<li id="to_heading3"><a href="#">Heading 3</a></li>
<li id="to_heading4"><a href="#">Heading 4</a></li>
<li id="to_heading5"><a href="#">Heading 5</a></li>
<li id="to_heading6"><a href="#">Heading 6</a></li>
<hr/>
<li id="toggle_output"><a href="#">Toggle Current Output</a></li>
<li id="all_outputs"><a href="#">All Output</a>
<ul>
<li id="expand_all_output"><a href="#">Expand</a></li>
<li id="scroll_all_output"><a href="#">Scroll Long</a></li>
<li id="collapse_all_output"><a href="#">Collapse</a></li>
<li id="clear_all_output"><a href="#">Clear</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Kernel</a>
<ul>
<li id="int_kernel"><a href="#">Interrupt</a></li>
<li id="restart_kernel"><a href="#">Restart</a></li>
</ul>
</li>
<li><a href="#">Help</a>
<ul>
<li><a href="http://ipython.org/documentation.html" target="_blank">IPython Help</a></li>
<li><a href="http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html" target="_blank">Notebook Help</a></li>
<li id="keyboard_shortcuts"><a href="#">Keyboard Shortcuts</a></li>
<hr/>
<li><a href="http://docs.python.org" target="_blank">Python</a></li>
<li><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></li>
<li><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></li>
<li><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></li>
<li><a href="http://matplotlib.sourceforge.net/" target="_blank">Matplotlib</a></li>
</ul>
</li>
</ul>
</div>
<div id="notification_area">
</div>
</div>
<div id="maintoolbar"></div>
<div id="main_app">
<div id="notebook_panel">
<div id="notebook"></div>
<div id="pager_splitter"></div>
<div id="pager_container">
<div id='pager_button_area'>
</div>
<div id="pager"></div>
</div>
</div>
</div>
<div id='tooltip' class='tooltip ui-corner-all' style='display:none'></div>
{% end %}
{% block script %}
<script src="{{ static_url("codemirror/lib/codemirror.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/lib/util/loadmode.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/lib/util/multiplex.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/python/python.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/htmlmixed/htmlmixed.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/xml/xml.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/javascript/javascript.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/css/css.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/rst/rst.js") }}" charset="utf-8"></script>
<script src="{{ static_url("codemirror/mode/markdown/markdown.js") }}" charset="utf-8"></script>
<script src="{{ static_url("pagedown/Markdown.Converter.js") }}" charset="utf-8"></script>
<script src="{{ static_url("prettify/prettify.js") }}" charset="utf-8"></script>
<script src="{{ static_url("dateformat/date.format.js") }}" charset="utf-8"></script>
<script src="{{ static_url("js/events.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/utils.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/layoutmanager.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/initmathjax.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/outputarea.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/cell.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/codecell.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/completer.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/textcell.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/kernel.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/savewidget.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/quickhelp.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/pager.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/menubar.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/toolbar.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/maintoolbar.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/notebook.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/notificationwidget.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/notificationarea.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/tooltip.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/config.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/notebookmain.js") }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ static_url("js/contexthint.js") }}" charset="utf-8"></script>
{% end %}