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

avidaedward at myxo.css.msu.edu avidaedward at myxo.css.msu.edu
Thu Nov 2 13:54:33 PST 2006


Author: avidaedward
Date: 2006-11-02 16:54:33 -0500 (Thu, 02 Nov 2006)
New Revision: 1070

Modified:
   branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py
   branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureCtrl.py
   branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py
Log:
Organism viewer: after change in configuration, re-analyze organism upon
"flip to viewer".


Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py	2006-11-02 18:54:41 UTC (rev 1069)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py	2006-11-02 21:54:33 UTC (rev 1070)
@@ -22,6 +22,8 @@
       self.ToggleScopeSlot)
 
     self.m_organism_configure_ctrl.SetRandomGeneratedRadioButton(True);
+    self.m_organism_configure_ctrl.ChangeMutationSliderSlot();
+    self.m_organism_configure_ctrl.setAnalysisNeeded(False)
 
   def aboutToBeLowered(self):
     """does nothing yet."""
@@ -46,4 +48,7 @@
        self.m_flip_button_text_label.setText("<p align=\"right\">Flip to<br>Settings</p>")
        QToolTip.remove(self.m_organism_scope_toggle)
        QToolTip.add(self.m_organism_scope_toggle,"Flip to see <b><i>Organism Viewer Settings</i></b>")
+       if self.m_organism_configure_ctrl.isAnalysisNeeded():
+          self.m_one_org_scope_ctrl.m_organism_scope_ctrl.analyzeLoadedOrganism()
+          self.m_organism_configure_ctrl.setAnalysisNeeded(False)
 

Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureCtrl.py	2006-11-02 18:54:41 UTC (rev 1069)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureCtrl.py	2006-11-02 21:54:33 UTC (rev 1070)
@@ -8,6 +8,14 @@
   def __init__(self, parent = None, name = None, fl = 0):
     pyOrganismConfigureView.__init__(self, parent, name, fl)
 
+    self.setAnalysisNeeded(False)
+
+  def setAnalysisNeeded(self, is_analysis_needed):
+    self.m_is_analysis_needed = is_analysis_needed
+
+  def isAnalysisNeeded(self):
+    return self.m_is_analysis_needed
+
   def construct(self, session_mdl):
     self.m_session_mdl = session_mdl
 
@@ -77,6 +85,9 @@
     self.m_mutation_rate_lineedit.setText(slide_value_txt)
     self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("ScopeConfig_MutationSliderValueChangedSig"),(slide_value,))
 
+    self.setAnalysisNeeded(True)
+
+
   # When the user changes the mutation slider (which has a log scale) change the
   # text next to it (which is liner). Must check if the text entered is a 
   # valid real number
@@ -116,9 +127,11 @@
         self.m_mutation_slider.setValue(-30000)
 
     self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("ScopeConfig_MutationSliderValueChangedSig"),(mutValue,))
+    self.setAnalysisNeeded(True)
   
   def SetRandomGeneratedRadioButton(self, is_down):
     self.RandomGeneratedRadioButton.setDown(is_down);
 
   def ChangeRandomGeneratedRadioButtonSlot(self, value):
+    self.setAnalysisNeeded(True)
     self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("ScopeConfig_RandomSeedSig"),(value,))

Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py	2006-11-02 18:54:41 UTC (rev 1069)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py	2006-11-02 21:54:33 UTC (rev 1070)
@@ -25,6 +25,7 @@
 
     self.m_test_cpu_mutation_rate = 0.0
     self.m_seed_based_on_time = True
+    self.m_debug_organism_file = None
 
   def construct(self, session_mdl):
     print "pyOrganismScopeCtrl.construct()."
@@ -33,7 +34,7 @@
     self.setAcceptDrops(1)
 
     self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("setAvidaSig"), self.setAvidaSlot)
-    self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("setDebugOrganismFileSig"), self.setDebugOrganismFileSlot)
+    #self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("setDebugOrganismFileSig"), self.setDebugOrganismFileSlot)
 
     self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("ScopeConfig_MutationSliderValueChangedSig"),
       self.MutationSliderValueChangedSlot)
@@ -105,7 +106,9 @@
         else:
           if freezer_item_name.endswith('.organism'):
             e.accept()
-            self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("setDebugOrganismFileSig"), (freezer_item_name,))
+            #self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("setDebugOrganismFileSig"), (freezer_item_name,))
+            self.setDebugOrganismFile(freezer_item_name)
+            self.analyzeLoadedOrganism()
           else:
             info("Only organisms can be dragged here")
 
@@ -117,8 +120,18 @@
       print "pyOrganismScopeCtrl.setAvidaSlot() deleting old_avida ..."
       del old_avida
 
-  def setDebugOrganismFileSlot(self, organism_filename):
-    print "pyOrganismScopeCtrl.setDebugOrganismFileSlot"
+  def setDebugOrganismFile(self, organism_filename):
+    self.m_debug_organism_file = organism_filename
+    
+
+  def analyzeLoadedOrganism(self):
+    organism_filename = self.m_debug_organism_file
+    descr(organism_filename)
+
+    # early exit if there's not organism to analyze
+    if organism_filename is None:
+      return
+
     if self.m_avida:
       self.setFrames()
 




More information about the Avida-cvs mailing list