Skip to content

Commit

Permalink
Add dynamic xy options
Browse files Browse the repository at this point in the history
  • Loading branch information
lukas-koschmieder committed May 8, 2019
1 parent d1c7565 commit 7d1faf4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 13 deletions.
4 changes: 0 additions & 4 deletions aixplot/cacher.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ def _filter(self, data, cache):
async def _async_read(self):
pass

@abstractstaticmethod
def labels(self):
pass

async def async_cache(self, stop_cond=None,
on_stop=None, on_update=None, on_eof=None):
while True:
Expand Down
17 changes: 8 additions & 9 deletions aixplot/widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,12 @@ def __init__(self, cacher_class, logger=None, **traits):
log_handler.setFormatter(logging.Formatter(fmt, "%H:%M:%S"))
self.logger.addHandler(log_handler)

labels = self._cacher_class.labels(self)
self.x = self.x if self.x else labels[0]
self.y = self.y if self.y else labels[0]
self.filter = self.filter if self.filter else self.filters[0]
self.read, self.refresh = False, False

ui_filename = Text(description="File:", layout={"flex":"1 0 auto"})
ui_x = Dropdown(description="x:", options=labels)
ui_y = Dropdown(description="y:", options=labels)
self._ui_x = Dropdown(description="x:", options=[])
self._ui_y = Dropdown(description="y:", options=[])
ui_read = Button(description="Read")
ui_cancel = Button(description="Cancel")
ui_refresh = Checkbox(description="Refresh plot", layout={"width":"auto"},
Expand All @@ -74,22 +71,20 @@ def __init__(self, cacher_class, logger=None, **traits):
self.observe(self._read, names=['read'])
ui_log.observe(self._update_log, names=['value'])
link((self, 'filename'), (ui_filename, 'value'))
link((self, 'x'), (ui_x, 'value'))
link((self, 'y'), (ui_y, 'value'))
link((self, 'refresh'), (ui_refresh, 'value'))
link((self, 'filter'), (ui_filter, 'value'))

l1 = Layout(display="inline-flex", flex_flow="row wrap")
l2 = Layout(display="inline-flex", flex_flow="row wrap",
justify_content="space-between")
b = (HBox((ui_filename, ui_read, ui_cancel,), layout=l1),
HBox((ui_x, ui_y, ui_filter,), layout=l1),
HBox((self._ui_x, self._ui_y, ui_filter,), layout=l1),
HBox((spacer, self._tb, ui_refresh,), layout=l2),
HBox((self._fig,), layout=l1),
HBox((ui_log,), layout=l1),
HBox((log_handler.out,), layout=l1),)

self._ui = (ui_filename, ui_x, ui_y, ui_read, ui_cancel,
self._ui = (ui_filename, self._ui_x, self._ui_y, ui_read, ui_cancel,
ui_refresh, ui_filter)

self.refresh = True
Expand Down Expand Up @@ -156,6 +151,10 @@ def _cancel_task(self):
self._task = None

def _on_update(self, cache, new):
self._ui_x.options, self._ui_y.options = cache.keys(), cache.keys()
link((self, 'x'), (self._ui_x, 'value'))
link((self, 'y'), (self._ui_y, 'value'))

if self.refresh: self._refresh_plot()
updates = int(1.0 / (time.time() - self._last_update))
progress = "{} | {} updates/s" if updates > 0 else "{}"
Expand Down

0 comments on commit 7d1faf4

Please sign in to comment.