forked from M-Labs/artiq
gui: add basic parameters window
This commit is contained in:
parent
3566cd1ce0
commit
cda394e0ce
|
@ -0,0 +1,19 @@
|
||||||
|
from gi.repository import Gtk
|
||||||
|
|
||||||
|
from artiq.gui.tools import Window
|
||||||
|
|
||||||
|
|
||||||
|
class ParametersWindow(Window):
|
||||||
|
def __init__(self):
|
||||||
|
Window.__init__(self, title="Parameters")
|
||||||
|
self.set_default_size(500, 500)
|
||||||
|
|
||||||
|
self.parameters_store = Gtk.ListStore(str, str)
|
||||||
|
tree = Gtk.TreeView(self.parameters_store)
|
||||||
|
for i, title in enumerate(["Parameter", "Value"]):
|
||||||
|
renderer = Gtk.CellRendererText()
|
||||||
|
column = Gtk.TreeViewColumn(title, renderer, text=i)
|
||||||
|
tree.append_column(column)
|
||||||
|
scroll = Gtk.ScrolledWindow()
|
||||||
|
scroll.add(tree)
|
||||||
|
self.add(scroll)
|
|
@ -89,7 +89,6 @@ class SchedulerWindow(Window):
|
||||||
hbox = Gtk.HBox(spacing=6)
|
hbox = Gtk.HBox(spacing=6)
|
||||||
enable = Gtk.Switch(active=True)
|
enable = Gtk.Switch(active=True)
|
||||||
label = Gtk.Label("Run experiments")
|
label = Gtk.Label("Run experiments")
|
||||||
label.set_justify(Gtk.Justification.RIGHT)
|
|
||||||
hbox.pack_start(label, False, False, 0)
|
hbox.pack_start(label, False, False, 0)
|
||||||
hbox.pack_start(enable, False, False, 0)
|
hbox.pack_start(enable, False, False, 0)
|
||||||
topvbox.pack_start(hbox, False, False, 0)
|
topvbox.pack_start(hbox, False, False, 0)
|
||||||
|
|
|
@ -7,6 +7,7 @@ import gbulb
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
|
||||||
from artiq.gui.scheduler import SchedulerWindow
|
from artiq.gui.scheduler import SchedulerWindow
|
||||||
|
from artiq.gui.parameters import ParametersWindow
|
||||||
|
|
||||||
|
|
||||||
def _get_args():
|
def _get_args():
|
||||||
|
@ -29,16 +30,20 @@ def main():
|
||||||
asyncio.set_event_loop_policy(gbulb.GtkEventLoopPolicy())
|
asyncio.set_event_loop_policy(gbulb.GtkEventLoopPolicy())
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
try:
|
try:
|
||||||
win = SchedulerWindow()
|
scheduler_win = SchedulerWindow()
|
||||||
win.connect("delete-event", Gtk.main_quit)
|
scheduler_win.connect("delete-event", Gtk.main_quit)
|
||||||
win.show_all()
|
scheduler_win.show_all()
|
||||||
|
|
||||||
loop.run_until_complete(win.sub_connect(args.server,
|
parameters_win = ParametersWindow()
|
||||||
args.port_schedule_notify))
|
parameters_win.connect("delete-event", Gtk.main_quit)
|
||||||
|
parameters_win.show_all()
|
||||||
|
|
||||||
|
loop.run_until_complete(scheduler_win.sub_connect(
|
||||||
|
args.server, args.port_schedule_notify))
|
||||||
try:
|
try:
|
||||||
loop.run_forever()
|
loop.run_forever()
|
||||||
finally:
|
finally:
|
||||||
loop.run_until_complete(win.sub_close())
|
loop.run_until_complete(scheduler_win.sub_close())
|
||||||
finally:
|
finally:
|
||||||
loop.close()
|
loop.close()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue