Browse Source

Results widget: tabs

master
Denis Tereshkin 8 years ago
parent
commit
578518c341
  1. 3
      src/nailab/execution/executor.py
  2. 8
      src/nailab/ui/applicationwindow.py
  3. 12
      src/nailab/ui/resultstable.py

3
src/nailab/execution/executor.py

@ -21,6 +21,7 @@ class Executor:
strategy.run() strategy.run()
results = strategy.get_analyzer('stats').get_result() results = strategy.get_analyzer('stats').get_result()
return results trades = strategy.get_analyzer('tradeslist').get_result()
return (results, trades)

8
src/nailab/ui/applicationwindow.py

@ -71,13 +71,13 @@ class ApplicationWindow:
feeds.append(feed) feeds.append(feed)
e = Executor() e = Executor()
result = e.execute_from_file(self.tab_manager.get_current_source_path(), feeds) (result, trades) = e.execute_from_file(self.tab_manager.get_current_source_path(), feeds)
self._add_results_page(result) self._add_results_page(result, trades)
def _add_results_page(self, results): def _add_results_page(self, results, trades):
res_widget = ResultsTableWidget() res_widget = ResultsTableWidget()
res_widget.set_results(results) res_widget.set_results(results, trades)
res_widget.show_all() res_widget.show_all()
self.tab_manager.new_misc_tab(res_widget) self.tab_manager.new_misc_tab(res_widget)

12
src/nailab/ui/resultstable.py

@ -12,24 +12,26 @@ def render_ratio(a, b):
else: else:
return "" return ""
class ResultsTableWidget(Gtk.Box): class ResultsTableWidget(Gtk.Notebook):
def __init__(self): def __init__(self):
super().__init__(Gtk.Orientation.VERTICAL) super().__init__()
self.set_tab_pos(Gtk.PositionType.LEFT)
self.buffer = Gtk.TextBuffer() self.buffer = Gtk.TextBuffer()
self.text_result = Gtk.TextView() self.text_result = Gtk.TextView()
self.text_result.set_buffer(self.buffer) self.text_result.set_buffer(self.buffer)
self.add(self.text_result) self.append_page(self.text_result, Gtk.Label('Statistics'))
style_ctx = self.text_result.get_style_context() style_ctx = self.text_result.get_style_context()
self.provider = Gtk.CssProvider() self.provider = Gtk.CssProvider()
self.provider.load_from_data(b'GtkTextView { font-family: "Monospace"; }') self.provider.load_from_data(b'GtkTextView { font-family: "Monospace"; }')
style_ctx.add_provider(self.provider, Gtk.STYLE_PROVIDER_PRIORITY_USER) style_ctx.add_provider(self.provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
def set_results(self, results, trades):
def set_results(self, results):
self.buffer.set_text(self.generate_plain_text(results)) self.buffer.set_text(self.generate_plain_text(results))
print(trades)
def generate_plain_text(self, stats): def generate_plain_text(self, stats):

Loading…
Cancel
Save