def __init__(self, key, settings_obj, uuid): BaseWidget.__init__(self, key, settings_obj, uuid) super(Keybinding, self).__init__() self.label = Gtk.Label.new(self.get_desc()) self.value = self.get_val() if self.get_desc() != "": self.pack_start(self.label, False, False, 2) set_tt(self.get_tooltip(), self.label) self.buttons = [] self.teach_button = None self.accel_frame = Gtk.Frame(shadow_type=Gtk.ShadowType.IN) box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.accel_frame.add(box) self.pack_end(self.accel_frame, False, False, 2) array = self.string_to_array(self.value) x = 0 for x in range(2): kb = ButtonKeybinding(accel_string=array[x]) kb.set_size_request(200, -1) kb.set_hexpand(True) kb.connect("accel-edited", self.on_kb_changed) kb.connect("accel-cleared", self.on_kb_changed) box.pack_start(kb, True, True, 0) self.buttons.append(kb) if x == 0: box.add(Gtk.Separator(orientation=Gtk.Orientation.VERTICAL)) self.show_all() self.event_id = None self.teaching = False
def __init__(self, label, num_bind=2, size_group=None, dep_key=None, tooltip=""): super(Keybinding, self).__init__(dep_key=dep_key) self.num_bind = num_bind self.label = SettingsLabel(label) self.buttons = [] self.teach_button = None self.content_widget = Gtk.Frame(shadow_type=Gtk.ShadowType.IN) self.content_widget.set_valign(Gtk.Align.CENTER) box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.content_widget.add(box) self.pack_start(self.label, False, False, 0) self.pack_end(self.content_widget, False, False, 0) for x in range(self.num_bind): if x != 0: box.add(Gtk.Separator(orientation=Gtk.Orientation.VERTICAL)) kb = ButtonKeybinding() kb.set_size_request(150, -1) kb.connect("accel-edited", self.on_kb_changed) kb.connect("accel-cleared", self.on_kb_changed) box.pack_start(kb, False, False, 0) self.buttons.append(kb) self.event_id = None self.teaching = False self.set_tooltip_text(tooltip) if size_group: self.add_to_size_group(size_group)