getting enough data to start a new project
authorLincoln de Sousa <lincoln@minaslivre.org>
Sat, 9 Aug 2008 19:24:05 +0000 (16:24 -0300)
committerLincoln de Sousa <lincoln@minaslivre.org>
Sat, 9 Aug 2008 19:24:05 +0000 (16:24 -0300)
gzv.glade
gzv.py

index bcf67c8..b097e28 100644 (file)
--- a/gzv.glade
+++ b/gzv.glade
@@ -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.5 on Sat Aug  9 16:14:00 2008 -->
+<!--Generated with glade3 3.4.5 on Sat Aug  9 16:21:30 2008 -->
 <glade-interface>
   <widget class="GtkWindow" id="main-window">
     <property name="title" translatable="yes">Gzv</property>
                       <widget class="GtkVBox" id="vbox5">
                         <property name="visible">True</property>
                         <child>
-                          <widget class="GtkFileChooserButton" id="filechooserbutton1">
+                          <widget class="GtkFileChooserButton" id="image">
                             <property name="visible">True</property>
                           </widget>
                           <packing>
                               </widget>
                             </child>
                             <child>
-                              <widget class="GtkEntry" id="entry1">
+                              <widget class="GtkEntry" id="width">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                               </widget>
                               </widget>
                             </child>
                             <child>
-                              <widget class="GtkEntry" id="entry2">
+                              <widget class="GtkEntry" id="height">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                               </widget>
diff --git a/gzv.py b/gzv.py
index 78f3929..318a0f8 100644 (file)
--- a/gzv.py
+++ b/gzv.py
@@ -66,11 +66,27 @@ class GladeLoader(object):
     def gtk_main(self, *args):
         gtk.main()
 
+class Project(object):
+    def __init__(self, image, width, height):
+        self.image = image
+        self.width = width
+        self.height = height
+
 class NewProject(GladeLoader):
     def __init__(self, parent=None):
         super(NewProject, self).__init__('gzv.glade', 'new-project')
+        self.dialog = self.wid('new-project')
         if parent:
-            self.wid('new-project').set_transient_for(parent)
+            self.dialog.set_transient_for(parent)
+
+    def get_project(self):
+        fname = self.wid('image').get_filename()
+        width = self.wid('width').get_text()
+        height = self.wid('height').get_text()
+        return Project(fname, width, height)
+
+    def destroy(self):
+        self.dialog.destroy()
 
 class Gzv(GladeLoader):
     def __init__(self):
@@ -123,12 +139,12 @@ class Gzv(GladeLoader):
         print args
 
     def new_project(self, button):
-        dialog = NewProject(self.window).wid('new-project')
+        proj = NewProject(self.window)
 
         # This '1' was defined in the glade file
-        if dialog.run() == 1:
-            pass
-        dialog.destroy()
+        if proj.dialog.run() == 1:
+            self.load_new_project(proj.get_project())
+        proj.destroy()
 
     def open_file_chooser(self, button):
         fc = gtk.FileChooserDialog(_('Choose a gzv project'), self.window,