[Avida-SVN] r1670 - branches/developers/avida-edward/source/python/AvidaGui2

baerb at myxo.css.msu.edu baerb at myxo.css.msu.edu
Tue Jun 12 08:58:26 PDT 2007


Author: baerb
Date: 2007-06-12 11:58:26 -0400 (Tue, 12 Jun 2007)
New Revision: 1670

Modified:
   branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
   branches/developers/avida-edward/source/python/AvidaGui2/pyFreezerCtrl.py
Log:

Added code to open one full or empty petri dish from the main menu



Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2007-06-11 21:56:13 UTC (rev 1669)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2007-06-12 15:58:26 UTC (rev 1670)
@@ -599,6 +599,8 @@
       individual_file.close()
     export_file.close()
 
+  # allow user to delete one or more freezer items
+
   def fileDeleteItemSlot(self):
       for freezer_item_name in self.curr_sel_files.split("\t")[1:]:
         delete_item = False
@@ -615,10 +617,17 @@
           self.m_session_mdl.m_session_mdtr.emit(
             PYSIGNAL("DeleteFromFreezerSig"), (freezer_item_name, ))
 
+  # allow user to open up the first freezer item in the currently selected
+  # file list
+ 
   def fileOpenItemSlot(self):
-    info("pyEduWorkspaceView.fileOpenItemSlot(): Not implemented yet")
+    file_name = self.curr_sel_files.split("\t")[1]
+    if (file_name.endswith(".full")) or (file_name.endswith(".empty")):
+      self.m_session_mdl.m_session_mdtr.emit(
+        PYSIGNAL("openFreezerItemSig"), (file_name,))
+    else:
+      info("Can not open an organism by using the menu")
 
-
   # public slot
 
   def fileExit(self):

Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyFreezerCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyFreezerCtrl.py	2007-06-11 21:56:13 UTC (rev 1669)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyFreezerCtrl.py	2007-06-12 15:58:26 UTC (rev 1670)
@@ -187,6 +187,12 @@
     self.connect(self.m_session_mdl.m_session_mdtr,
       PYSIGNAL("DeleteFromFreezerSig"), self.deleteFreezerItemSlot)
 
+    # If User opens an item somewhere else in the program act as if it was
+    # "double-clicked" here
+
+    self.connect(self.m_session_mdl.m_session_mdtr,
+      PYSIGNAL("openFreezerItemSig"), self.freezerItemExtSelSlot)
+
     self.createFreezerIndexSlot()
     self.m_list_view.setAcceptDrops(True)
     self.m_empty_item.setDropEnabled(True)
@@ -341,9 +347,28 @@
       thawed_item = pyReadFreezer(file_name)
       self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("doDefrostDishSig"),
         (item.text(0), thawed_item,))
+      descr("BDB -- item.text(0) = " + str(item.text(0)))
       self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("freezerItemDoubleClicked"),
         (file_name,))
 
+  # if the user has selected to open an item from an external widget
+
+  def freezerItemExtSelSlot(self, in_file_name):
+    descr("BDB --file name = " + str(in_file_name))
+    if (in_file_name.endswith(".full")) or (in_file_name.endswith(".empty")):
+      short_name = os.path.basename(in_file_name)
+      if (short_name.endswith("empty")):
+        short_name = short_name[:-6]
+      elif (short_name.endswith("full")):
+        short_name = short_name[:-5]
+        in_file_name = os.path.join(in_file_name, "petri_dish")
+      thawed_item = pyReadFreezer(in_file_name)
+      self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("doDefrostDishSig"),
+        (short_name, thawed_item,))
+      self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("freezerItemDoubleClicked"),
+        (in_file_name,))
+
+
   # if item is right clicked pull up services menu
 
   def right_clicked_itemSlot(self, item):




More information about the Avida-cvs mailing list