Mercurial > MadButterfly
diff inkscape/AssignSymbol.py @ 203:1d485bf96480
Add a sample inkscape extention to assign symbol name to an SVG element.
author | wycc |
---|---|
date | Wed, 10 Dec 2008 09:17:16 +0800 |
parents | |
children | f61b709bbd0f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inkscape/AssignSymbol.py Wed Dec 10 09:17:16 2008 +0800 @@ -0,0 +1,69 @@ +#!/usr/bin/python +import inkex +import pygtk +import gtk + +class AssignSymbol(inkex.Effect): + def effect(self): + self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.window.set_position(gtk.WIN_POS_MOUSE) + self.defaultname = 'input symbol name here' + self.fillcontent() + self.window.show_all() + self.window.connect("delete_event", gtk.main_quit) + gtk.main() + def onQuit(self,data): + gtk.main_quit() + def onAssign(self,data): + text = self.text.get_text() + if text != self.defaultname: + self.node.set("mbname",text) + gtk.main_quit() + + def confirm(self,msg): + vbox = gtk.VBox() + vbox.pack_start(gtk.Label(msg)) + self.button = gtk.Button('OK') + vbox.pack_start(self.button) + self.button.connect("clicked", self.onQuit) + self.window.add(vbox) + def dumpattr(self,n): + s = "" + for a,v in n.attrib.items(): + s = s + ("%s=%s" % (a,v)) + return s + + def dump(self,node,l=0): + print " " * l*2,"<", node.tag, self.dumpattr(node),">" + for n in node: + self.dump(n,l+1) + print " " * l * 2,"/>" + + def fillcontent(self): + if len(self.selected) != 1: + self.confirm('Please select on group only') + return + for id,node in self.selected.iteritems(): + #self.dump(node) + self.node = node + vbox = gtk.VBox() + vbox.pack_start(gtk.Label('Please input the symbol name')) + self.text = gtk.Entry() + try: + self.text.set_text(node.get("mbname")) + except: + self.text.set_text(self.defaultname) + vbox.pack_start(self.text) + self.button = gtk.Button('OK') + self.button.connect("clicked", self.onAssign) + vbox.pack_start(self.button) + self.window.add(vbox) + self.window.show_all() + + + + +a=AssignSymbol() +a.affect() + +# vim: set ts=4