Skip to content

Ipython/Webagg integration #2054

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Aug 28, 2013
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
mpl_interface.js template does not need to be parameterized on the fi…
…gure number
  • Loading branch information
mdboom committed Aug 26, 2013
commit 78cac75935a4900680495974c45d3fe82cadb7c2
11 changes: 6 additions & 5 deletions lib/matplotlib/backends/backend_webagg.py
Original file line number Diff line number Diff line change
Expand Up @@ -428,18 +428,19 @@ def get(self):


class MPLInterfaceJS(tornado.web.RequestHandler):
def get(self, fignum):
def get(self):
with open(os.path.join(WebAggApplication._mpl_dirs['web_backend'],
'mpl_interface.js')) as fd:
tpl = fd.read()

fignum = int(fignum)
manager = Gcf.get_fig_manager(fignum)
manager = Gcf.get_fig_manager(1)
canvas = manager.canvas

t = tornado.template.Template(tpl)
self.write(t.generate(
toolitems=NavigationToolbar2WebAgg.toolitems,
canvas=manager.canvas))
canvas=canvas))


class Download(tornado.web.RequestHandler):
def get(self, fignum, fmt):
Expand Down Expand Up @@ -553,7 +554,7 @@ def __init__(self, url_prefix=''):
(url_prefix + r'/([0-9]+)', self.SingleFigurePage,
{'url_prefix': url_prefix}),

(url_prefix + r'/([0-9]+)/mpl_interface.js', self.MPLInterfaceJS),
(url_prefix + r'/mpl_interface.js', self.MPLInterfaceJS),

# Sends images and events to the browser, and receives
# events from the browser
Expand Down
30 changes: 15 additions & 15 deletions lib/matplotlib/backends/web_backend/all_figures.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,61 +7,61 @@
<script src="{{ prefix }}/_static/jquery/js/jquery-1.7.1.min.js"></script>
<script src="{{ prefix }}/_static/jquery/js/jquery-ui.min.js"></script>
<script src="{{ prefix }}/_static/mpl.js"></script>
<script src="{{ prefix }}/{{ str(figures[0][0]) }}/mpl_interface.js"></script>
<script src="{{ prefix }}/mpl_interface.js"></script>

<script>
var websocket_url_prefix = "{{ ws_uri }}";
var figures = new Array();

{% for (fig_id, _) in figures %}
$(document).ready(
function() {
fig = new figure({{ repr(str(fig_id)) }}, websocket_url_prefix);
figures.push(fig);

fig.focus_on_mouseover = true;

var toolbar_prefix = '{{ str(fig_id).replace(' ', '') }}-toolbar';
init_mpl_toolbar(fig, toolbar_prefix);

var statusbar_prefix = '{{ str(fig_id).replace(' ', '') }}-statusbar';
var status_id = init_mpl_statusbar(toolbar_prefix, statusbar_prefix);

var canvas_prefix = '{{ str(fig_id).replace(' ', '') }}-canvas';
init_mpl_canvas(fig, '{{ str(fig_id).replace(' ', '') }}-canvas-div', canvas_prefix);

fig.finalize(canvas_prefix, toolbar_prefix, statusbar_prefix);

$(fig.canvas).attr('tabindex', {{ fig_id }});
}
);

{% end %}
</script>
<title>MPL | WebAgg current figures</title>

<title>MPL | WebAgg current figures</title>

</head>
<body>
<div id="mpl-warnings" class="mpl-warnings"></div>
{% for (fig_id, fig_manager) in figures %}
{% set fig_label='Figure: {}'.format(fig_manager.canvas.figure.get_label()) %}

{% if fig_label == 'Figure: ' %}
{% set fig_label="Figure {}".format(fig_id) %}
{% end %}

<div style="margin: 25px 100px;">
<h2>
<a href="{{ prefix }}/{{ str(fig_id) }}">
{{ fig_label }}

</a>
</h2>
<div id="{{ str(fig_id).replace(' ', '') }}-canvas-div"></div>
<div id="{{ str(fig_id).replace(' ', '') }}-toolbar" style="width: 700px;"></div>
</div>
{% end %}

</body>
</html>
22 changes: 11 additions & 11 deletions lib/matplotlib/backends/web_backend/single_figure.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@
<script src="{{ prefix }}/_static/jquery/js/jquery-1.7.1.min.js"></script>
<script src="{{ prefix }}/_static/jquery/js/jquery-ui.min.js"></script>
<script src="{{ prefix }}/_static/mpl.js"></script>
<script src="{{ prefix }}/1/mpl_interface.js"></script>
<script src="{{ prefix }}/mpl_interface.js"></script>

<script>
var websocket_url_prefix = "{{ ws_uri }}";
var fig = new figure({{ repr(str(fig_id)) }}, websocket_url_prefix);

$(document).ready(
function() {
var toolbar_prefix = 'fig-toolbar';
init_mpl_toolbar(fig, toolbar_prefix);

var statusbar_prefix = 'statusbar';
var status_id = init_mpl_statusbar(toolbar_prefix, statusbar_prefix);

var canvas_prefix = 'figure';
init_mpl_canvas(fig, 'fig-canvas-div', canvas_prefix);

fig.finalize(canvas_prefix, toolbar_prefix, statusbar_prefix);
// fig.canvas.focus();
// Let the top level document handle key events.
Expand All @@ -32,14 +32,14 @@
}
);
</script>

{% set fig_label='Figure: {}'.format(canvas.figure.get_label()) %}

{% if fig_label == 'Figure: ' %}
{% set fig_label="Figure {}".format(fig_id) %}
{% end %}
{% end %}

<title>MPL | {{ fig_label }}</title>
<title>MPL | {{ fig_label }}</title>


</head>
Expand All @@ -52,6 +52,6 @@ <h1>
<div id="fig-canvas-div"></div>
<div id="fig-toolbar" style="width: 600px;"></div>
</div>

</body>
</html>