def __init__(self): # load glade-file glade_file = os.path.join(os.path.dirname(__file__),"accelmap.glade") self.__xml = gtk.glade.XML(glade_file, "AccelDialog") # and get some widgets self.__dialog = self.__xml.get_widget("AccelDialog") self.__tree = self.__xml.get_widget("ActionTree") # add colums to treeview self.__tree.append_column(gtk.TreeViewColumn(_("Action"), gtk.CellRendererText(), markup=0)) self.__tree.append_column(gtk.TreeViewColumn(_("Shortcut"), gtk.CellRendererText(), text=1)) # create and fill treemodel self.__model_iters = dict() self.__model = gtk.TreeStore(str, str, str) self.__my_accel_map = dict() gtk.accel_map_foreach(self.populate_tree) self.__model.set_sort_column_id(0, gtk.SORT_ASCENDING) self.__tree.set_model(self.__model) # connect event-handler self.__tree.connect("row-activated", self.on_double_click) self.__xml.get_widget("cancel").connect('clicked', self.on_cancel_clicked) self.__xml.get_widget("apply").connect('clicked', self.on_apply_clicked)
def __init__(self): # load glade-file glade_file = os.path.join(os.path.dirname(__file__), "accelmap.glade") self.__xml = gtk.glade.XML(glade_file, "AccelDialog") # and get some widgets self.__dialog = self.__xml.get_widget("AccelDialog") self.__tree = self.__xml.get_widget("ActionTree") # add colums to treeview self.__tree.append_column( gtk.TreeViewColumn(_("Action"), gtk.CellRendererText(), markup=0)) self.__tree.append_column( gtk.TreeViewColumn(_("Shortcut"), gtk.CellRendererText(), text=1)) # create and fill treemodel self.__model_iters = dict() self.__model = gtk.TreeStore(str, str, str) self.__my_accel_map = dict() gtk.accel_map_foreach(self.populate_tree) self.__model.set_sort_column_id(0, gtk.SORT_ASCENDING) self.__tree.set_model(self.__model) # connect event-handler self.__tree.connect("row-activated", self.on_double_click) self.__xml.get_widget("cancel").connect('clicked', self.on_cancel_clicked) self.__xml.get_widget("apply").connect('clicked', self.on_apply_clicked)
def accel_is_used(self, key, modi): def _accel_cb(path, mkey, mmodi, changed, udata): if key==mkey and modi==mmodi: udata[0] = str(path) udata = [''] gtk.accel_map_foreach(_accel_cb, udata) m = re.match("^<Actions>(.+)$", udata[0]) if not m: return udata[0] return m.group(1)
def accel_is_used(self, key, modi): def _accel_cb(path, mkey, mmodi, changed, udata): if key == mkey and modi == mmodi: udata[0] = str(path) udata = [''] gtk.accel_map_foreach(_accel_cb, udata) m = re.match("^<Actions>(.+)$", udata[0]) if not m: return udata[0] return m.group(1)
import gtk actiongroup = gtk.ActionGroup("MainWindow") actiongroup.add_actions([ ("save", None, "Save", None, "saves the current file", gtk.main_quit), ]) print actiongroup.get_action("save").get_accel_path() def debug(*args): print args gtk.accel_map_foreach(debug) manager = gtk.UIManager() manager.insert_action_group(actiongroup) manager.add_ui_from_string(""" <ui> <accelerator action="save"/> </ui> """) gtk.accel_map_foreach(debug) gtk.main()