def __init__(self,filename,root=None,preamble=False): self.filename = filename self.db = parse_xml(open(self.filename).read()) self.config = self.db = ConvertXmlToDict(self.db.getroot()) self.preamble = '' if preamble == True: self.preamble = """<?xml version="1.0" encoding="utf-8"?>\n""" if root != None: try: self.config = self.config[root] except KeyError: pass self.config.save = self.save
def button_action(self, widget, event): x = int(event.x) y = int(event.y) path = self.treeview.get_path_at_pos(x, y) if path == None: return True row_path,column,_,_ = path if event.button == 3: clipboard = Gtk.clipboard_get(Gdk.SELECTION_CLIPBOARD) iter = self.store.get_iter(row_path) menu = Gtk.Menu() item = Gtk.MenuItem("copy value") value,= self.store.get(iter,4) item.connect("activate", lambda w: clipboard.set_text(value)) menu.append(item) item = Gtk.MenuItem("copy raw event") raw,= self.store.get(iter,5) try: from coherence.extern.et import ET, indent, parse_xml xml = parse_xml(raw) xml = xml.getroot() indent(xml,0) raw = ET.tostring(xml, encoding='utf-8') except: import traceback print traceback.format_exc() item.connect("activate", lambda w: clipboard.set_text(raw)) menu.append(item) menu.show_all() menu.popup(None,None,None,event.button,event.time) return True return False
def button_action(self, widget, event): x = int(event.x) y = int(event.y) path = self.treeview.get_path_at_pos(x, y) if path == None: return True row_path, column, _, _ = path if event.button == 3: clipboard = gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD) iter = self.store.get_iter(row_path) menu = gtk.Menu() item = gtk.MenuItem("Copy value") value, = self.store.get(iter, 4) item.connect("activate", lambda w: clipboard.set_text(value)) menu.append(item) item = gtk.MenuItem("Copy raw event XML") raw, = self.store.get(iter, 5) try: from coherence.extern.et import ET, indent, parse_xml xml = parse_xml(raw) xml = xml.getroot() indent(xml, 0) raw = ET.tostring(xml, encoding='utf-8') except: import traceback print traceback.format_exc() item.connect("activate", lambda w: clipboard.set_text(raw)) menu.append(item) menu.show_all() menu.popup(None, None, None, event.button, event.time) return True return False