[Avida-cvs] [Avida2-svn] r65 - trunk/source/python/AvidaGui2

baerb at myxo.css.msu.edu baerb at myxo.css.msu.edu
Mon Mar 21 09:22:48 PST 2005


Author: baerb
Date: 2005-03-21 12:22:48 -0500 (Mon, 21 Mar 2005)
New Revision: 65

Modified:
   trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
   trunk/source/python/AvidaGui2/pyEduWorkspaceView.ui
   trunk/source/python/AvidaGui2/pyFreezerCtrl.py
   trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
   trunk/source/python/AvidaGui2/pySessionCtrl.py
Log:
Allow user to chose a new freezer from the file menu.  Does not correctly clean
old freezer intem names from the freezer list.
  


Modified: trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2005-03-21 16:25:51 UTC (rev 64)
+++ trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
@@ -52,6 +52,7 @@
 
     self.connect(self.m_nav_bar_ctrl.m_list_view, SIGNAL("clicked(QListViewItem *)"), self.navBarItemClickedSlot)
     self.connect(self.m_widget_stack, SIGNAL("aboutToShow(QWidget *)"), self.ctrlAboutToShowSlot)
+    self.connect(self.fileOpenFreezerAction,SIGNAL("activated()"),self.freezerOpen)
 
     self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.On)
     self.m_widget_stack.raiseWidget(self.m_one_population_ctrl)
@@ -65,7 +66,11 @@
       del self.m_ctrl_to_cli_dict[key]
 
   def navBarItemClickedSlot(self, item):
+    print "called navBarItemClickedSlot"
     if item:
+      print "item true"
+      print item
+      dir (item)
       if self.m_cli_to_ctrl_dict.has_key(item):
         self.m_widget_stack.raiseWidget(self.m_cli_to_ctrl_dict[item])
 
@@ -102,6 +107,20 @@
 
   # public slot
 
+  def freezerOpen(self):
+    freezer_dir = QFileDialog.getExistingDirectory(
+                    self.m_session_mdl.current_freezer,
+                    None,
+                    "get existing directory",
+                    "Choose a directory",
+                    True);
+    print freezer_dir;
+    self.m_session_mdl.current_freezer = str(freezer_dir) + "/"
+    self.m_session_mdl.m_session_mdtr.emit(
+      PYSIGNAL("doRefreshFreezerInventory"), ())
+
+  # public slot
+
   def fileSave(self):
     print "pyEduWorkspaceCtrl.fileSave(): Not implemented yet"
 

Modified: trunk/source/python/AvidaGui2/pyEduWorkspaceView.ui
===================================================================
--- trunk/source/python/AvidaGui2/pyEduWorkspaceView.ui	2005-03-21 16:25:51 UTC (rev 64)
+++ trunk/source/python/AvidaGui2/pyEduWorkspaceView.ui	2005-03-21 17:22:48 UTC (rev 65)
@@ -90,6 +90,7 @@
         <action name="fileNewAction"/>
         <action name="fileOpenAction"/>
         <action name="fileClose_WorkspaceAction"/>
+        <action name="fileOpenFreezerAction"/>
         <separator/>
         <action name="fileSaveAction"/>
         <action name="fileSaveAsAction"/>
@@ -125,6 +126,10 @@
         <separator/>
         <action name="helpAboutAction"/>
     </item>
+    <item text="new menu" name="new_menu">
+    </item>
+    <item text="new menu" name="new_menu_2">
+    </item>
 </menubar>
 <toolbars>
 </toolbars>
@@ -533,6 +538,14 @@
             <string>Minimize Window</string>
         </property>
     </action>
+    <action>
+        <property name="name">
+            <cstring>fileOpenFreezerAction</cstring>
+        </property>
+        <property name="text">
+            <string>Open Freezer</string>
+        </property>
+    </action>
 </actions>
 <images>
     <image name="image0">

Modified: trunk/source/python/AvidaGui2/pyFreezerCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyFreezerCtrl.py	2005-03-21 16:25:51 UTC (rev 64)
+++ trunk/source/python/AvidaGui2/pyFreezerCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
@@ -20,12 +20,20 @@
 
   def construct(self, session_mdl):
     self.m_session_mdl = session_mdl
+    self.connect(self.m_session_mdl.m_session_mdtr,
+      PYSIGNAL("doRefreshFreezerInventory"),
+      self.createFreezerIndexSlot)
+    self.createFreezerIndexSlot()
+    
+  def createFreezerIndexSlot(self):
     empty_item = self.m_list_view.firstChild()
+#    if empty_item.firstChild():
+#      print empty_item.firstChild().text(0)
     full_item = empty_item.nextSibling()
     organism_item = full_item.nextSibling()
-    if os.path.exists("freezer") == False:
-      os.mkdir("freezer")
-    freezer_dir =  os.listdir("freezer")
+    if os.path.exists(self.m_session_mdl.current_freezer) == False:
+      os.mkdir(self.m_session_mdl.current_freezer)
+    freezer_dir =  os.listdir(self.m_session_mdl.current_freezer)
     for file in freezer_dir:
       if file.endswith(".empty"):
         dish_name = file[:-6]
@@ -59,7 +67,7 @@
         file_name = str(item.text(0)) + ".full/petri_dish"
       elif str(top_level.text(0)).startswith(" Organism"):
         file_name = str(item.text(0)) + ".organism"
-      file_name = "freezer/" + file_name
+      file_name = self.m_session_mdl.current_freezer + file_name
       thawed_item = pyReadFreezer(file_name)
       self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("doDefrostDishSig"),
         (thawed_item,))

Modified: trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py	2005-03-21 16:25:51 UTC (rev 64)
+++ trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
@@ -168,7 +168,7 @@
   def CreateFilesFromPetriSlot(self, out_dir = None):
     self.full_petri_dict["SETTINGS"] = self.Form2Dictionary()
     print "in CreateFilesFromPetriSlot keys = " + str(self.full_petri_dict.keys())
-    write_object = pyWriteGenesis(self.full_petri_dict, "freezer/", "test/")
+    write_object = pyWriteGenesis(self.full_petri_dict, self.m_session_mdl.current_freezer, "test/")
     self.m_session_mdl.m_session_mdtr.emit(
       PYSIGNAL("doInitializeAvidaPhaseIISig"), ("test/genesis.avida",))
       
@@ -205,7 +205,7 @@
   def FreezePetriSlot(self, freeze_dir = None, population_dict = None):
     tmp_dict["SETTINGS"] = self.Form2Dictionary()
     m_pop_up_freezer_file_name = pyFreezeDialogCtrl()
-    file_name = m_pop_up_freezer_file_name.showDialog("freezer/")
+    file_name = m_pop_up_freezer_file_name.showDialog(self.m_session_mdl.current_freezer)
     if (m_pop_up_freezer_file_name.isEmpty() == False):
       os.mkdir(file_name)
       file_name = file_name + "/petri_dish"

Modified: trunk/source/python/AvidaGui2/pySessionCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pySessionCtrl.py	2005-03-21 16:25:51 UTC (rev 64)
+++ trunk/source/python/AvidaGui2/pySessionCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
@@ -40,6 +40,7 @@
     # Create "model" for storing state data.
     class pyMdl: pass
     self.m_session_mdl = pyMdl()
+    self.m_session_mdl.current_freezer = "freezer/"
 
     # Create a temporary subdirectory for general use in this session.
     self.m_session_mdl.m_tempdir = tempfile.mkdtemp('-pid%d'%os.getpid(),'AvidaEd-')




More information about the Avida-cvs mailing list