def __init__(self, parent):
Gtk.Dialog.__init__(self, "Alarms", parent, 0,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self._store = Gtk.ListStore(str, str, str, object)
for i, alarm in enumerate(config['alarms']):
row = self._build_row(alarm)
self._store.append(row)
self._tree = Gtk.TreeView(self._store)
self._selection = self._tree.get_selection()
self._selection.connect("changed", self._on_tree_selection_changed)
self._tree.set_size_request(300, 150)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Exchange", renderer, text=self._EXCHANGE_COL)
self._tree.append_column(column)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Market", renderer, text=self._MARKET_COL)
self._tree.append_column(column)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Alarm Trigger", renderer, text=self._TRIGGER_COL)
self._tree.append_column(column)
vbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.VERTICAL)
new_button = Gtk.Button.new_with_label("New Alarm")
new_button.connect("clicked", self._on_new_button_clicked)
vbox.pack_start(new_button, False, False, 0)
self._remove_button = Gtk.Button.new_with_label("Remove Alarm")
self._remove_button.connect("clicked", self._on_remove_button_clicked)
vbox.pack_start(self._remove_button, False, False, 0)
self._market_combo, self._market_store = self._create_market_combo()
self._market_combo.connect("changed", self._on_market_changed)
vbox.pack_start(self._market_combo, False, False, 0)
self._above_radio = Gtk.RadioButton.new_with_label_from_widget(None, "Above")
self._above_radio.connect("clicked", self._on_type_radio_clicked)
self._below_radio = Gtk.RadioButton.new_with_label_from_widget(self._above_radio, "Below")
self._below_radio.connect("clicked", self._on_type_radio_clicked)
type_hbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.HORIZONTAL)
type_hbox.pack_start(self._above_radio, True, True, 0)
type_hbox.pack_start(self._below_radio, True, True, 0)
vbox.pack_start(type_hbox, False, False, 0)
self._price_entry = Gtk.Entry()
self._price_entry.connect("changed", self._on_price_changed)
_add_label_and_widget(vbox, "Price:", self._price_entry)
hbox = Gtk.Box(spacing=6)
hbox.pack_start(self._tree, True, True, 0)
hbox.pack_start(vbox, False, False, 0)
self.get_content_area().add(hbox)
self._set_inputs_sensitive(False)
self.show_all()
评论列表
文章目录