implement "open" menu item

This commit is contained in:
Jon Dowland 2008-02-18 19:16:26 +00:00
parent 77110453b9
commit 7247924240
2 changed files with 27 additions and 2 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--Generated with glade3 3.4.0 on Sun Feb 3 22:37:38 2008 -->
<!--Generated with glade3 3.4.1 on Mon Feb 18 19:07:52 2008 -->
<glade-interface>
<widget class="GtkWindow" id="window1">
<property name="visible">True</property>
@ -33,7 +33,7 @@
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem2">
<widget class="GtkImageMenuItem" id="open_menu_item">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">gtk-open</property>

View file

@ -291,6 +291,7 @@ class HellowWorldGTK:
self.wTree.get_widget("quit_menu_item").connect("activate", gtk.main_quit)
self.wTree.get_widget("saveas_menu_item").connect("activate", self.saveas_activated)
self.wTree.get_widget("save_menu_item").connect("activate", self.save_activated)
self.wTree.get_widget("open_menu_item").connect("activate", self.open_activated)
# select the top-most texture
lhs.set_cursor( (0,) , None, False)
@ -311,6 +312,30 @@ class HellowWorldGTK:
writetome.write("".join(map(str,self.wip_textures.values())))
writetome.close()
def open_activated(self,arg):
filesel = \
gtk.FileChooserDialog(action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN, gtk.RESPONSE_OK))
if filesel.run() == gtk.RESPONSE_OK:
self.filename = filesel.get_filename()
filesel.destroy()
print self.filename
texture1 = file(self.filename, "r").read()
self.wip_textures = {}
current = None
for line in texture1.split("\n"):
if len(line) == 0 or line[0] == ";" or line[0] == "#":
continue
elif line[0] == "*" and current:
junk,name,y,x= line.split()
current.patches.append(Patch(name,int(x),int(y)))
else:
line = line.split()
current = Texture(line[0],line[1],line[2])
self.wip_textures[line[0]] = current
if __name__ == "__main__":
hwg = HellowWorldGTK()
gtk.main()