Making widgets unsensitive/sensitive before
authorLincoln de Sousa <lincoln@minaslivre.org>
Wed, 13 Aug 2008 00:27:26 +0000 (21:27 -0300)
committerLincoln de Sousa <lincoln@minaslivre.org>
Wed, 13 Aug 2008 00:27:26 +0000 (21:27 -0300)
loading/unloading a project

gzv.glade
gzv.py

index 810c05f..0554cda 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 Tue Aug 12 03:44:20 2008 -->
+<!--Generated with glade3 3.4.5 on Tue Aug 12 19:59:49 2008 -->
 <glade-interface>
   <widget class="GtkWindow" id="main-window">
     <property name="title" translatable="yes">Gzv</property>
             <child>
               <widget class="GtkToolButton" id="toolbutton5">
                 <property name="visible">True</property>
+                <property name="sensitive">False</property>
                 <property name="stock_id">gtk-save</property>
                 <signal name="clicked" handler="save_project"/>
               </widget>
             <child>
               <widget class="GtkToolButton" id="toolbutton4">
                 <property name="visible">True</property>
+                <property name="sensitive">False</property>
                 <property name="stock_id">gtk-execute</property>
               </widget>
               <packing>
                   <widget class="GtkScrolledWindow" id="scrolledwindow1">
                     <property name="width_request">179</property>
                     <property name="visible">True</property>
+                    <property name="sensitive">False</property>
                     <property name="can_focus">True</property>
                     <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                     <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                 <child>
                   <widget class="GtkHBox" id="hbox2">
                     <property name="visible">True</property>
+                    <property name="sensitive">False</property>
                     <property name="spacing">4</property>
                     <child>
                       <widget class="GtkButton" id="button4">
diff --git a/gzv.py b/gzv.py
index dd25983..8eb7fdb 100644 (file)
--- a/gzv.py
+++ b/gzv.py
@@ -234,7 +234,6 @@ class Gzv(GladeLoader):
             self.balls.save_to_file(self.project.focus_points_file)
         fc.destroy()
 
-
     def load_project(self, project):
         self.project = project
         self.balls = self.load_balls_from_file(project.focus_points_file)
@@ -257,12 +256,18 @@ class Gzv(GladeLoader):
 
         self.draw.set_from_pixbuf(pixbuf)
         self.load_balls_to_treeview()
+        self.set_widgets_sensitivity(True)
 
     def unload_project(self):
         self.project = None
         self.image = None
         self.balls = BallManager()
         self.draw.queue_draw()
+        self.set_widgets_sensitivity(False)
+
+    def set_widgets_sensitivity(self, sensitive):
+        for i in 'toolbutton1', 'toolbutton5', 'scrolledwindow1', 'hbox2':
+            self.wid(i).set_sensitive(sensitive)
 
     def load_balls_to_treeview(self):
         self.model.clear()
@@ -305,6 +310,18 @@ class Gzv(GladeLoader):
                 i.selected = False
             ball.selected = True
 
+            # available space to the image
+            w = self.evtbox.get_allocation().width
+            h = self.evtbox.get_allocation().height
+
+            # point begining from the left image border
+            wib = self.point_with_border(ball)
+
+            print wib.x, w
+
+            self.wid('viewport').get_vadjustment().value = wib.x # + (w / 2)
+            self.wid('viewport').get_hadjustment().value = wib.y # + (h / 2)
+
             self.draw.queue_draw()
 
     def select_fp_from_image(self, ball):