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

baerb at myxo.css.msu.edu baerb at myxo.css.msu.edu
Mon Mar 28 11:48:49 PST 2005


Author: baerb
Date: 2005-03-28 14:48:49 -0500 (Mon, 28 Mar 2005)
New Revision: 79

Modified:
   trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
   trunk/source/python/AvidaGui2/pySessionDumbCtrl.py
Log:
Allow the command menu options to work (sort of -- they work better when the 
SessionDumbCtrl is visable).



Modified: trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2005-03-28 19:44:40 UTC (rev 78)
+++ trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2005-03-28 19:48:49 UTC (rev 79)
@@ -17,6 +17,8 @@
   def construct(self, session_mdl):
     self.m_session_mdl = session_mdl
     self.m_session_mdl.m_session_mdtr.m_workspace_mdtr = pyMdtr()
+    self.m_avida = None
+    self.startStatus = True
     self.m_nav_bar_ctrl.construct(session_mdl)
     self.m_freezer_ctrl.construct(session_mdl)
     self.m_cli_to_ctrl_dict = {}
@@ -52,7 +54,18 @@
 
     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.connect(self.fileOpenFreezerAction,SIGNAL("activated()"),self.freezerOpenSlot)
+    self.connect(self.controlNext_UpdateAction,SIGNAL("activated()"),self.next_UpdateActionSlot)
+    self.connect(self.controlStartAction,SIGNAL("activated()"),self.startActionSlot)
+    self.connect(
+      self.m_session_mdl.m_session_mdtr, PYSIGNAL("setAvidaSig"),
+      self.setAvidaSlot)
+    self.connect(
+      self.m_session_mdl.m_session_mdtr, PYSIGNAL("doPauseAvidaSig"),
+      self.doPauseAvidaSlot)
+    self.connect(
+      self.m_session_mdl.m_session_mdtr, PYSIGNAL("doStartAvidaSig"),
+      self.doStartAvidaSlot)
 
     self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.On)
     self.m_widget_stack.raiseWidget(self.m_one_population_ctrl)
@@ -107,7 +120,7 @@
 
   # public slot
 
-  def freezerOpen(self):
+  def freezerOpenSlot(self):
     freezer_dir = QFileDialog.getExistingDirectory(
                     self.m_session_mdl.m_current_freezer,
                     None,
@@ -183,3 +196,46 @@
   def helpAbout(self):
     print "pyEduWorkspaceCtrl.helpAbout(): Not implemented yet"
 
+  def next_UpdateActionSlot(self):
+    self.m_session_mdl.m_session_mdtr.emit(
+      PYSIGNAL("fromLiveCtrlUpdateAvidaSig"), ())
+
+  def startActionSlot(self):
+    if self.startStatus:
+      self.m_session_mdl.m_session_mdtr.emit(
+        PYSIGNAL("fromLiveCtrlStartAvidaSig"), ())
+      print "send start signal"
+    else:
+      self.m_session_mdl.m_session_mdtr.emit(
+        PYSIGNAL("fromLiveCtrlPauseAvidaSig"), ())
+      print "send pause signal"
+    
+  def setAvidaSlot(self, avida):
+    old_avida = self.m_avida
+    self.m_avida = avida
+    if(old_avida):
+      self.disconnect(
+        self.m_avida.m_avida_thread_mdtr, PYSIGNAL("AvidaUpdatedSig"),
+        self.avidaUpdatedSlot)
+      del old_avida
+    if(self.m_avida):
+      self.connect(
+        self.m_avida.m_avida_thread_mdtr, PYSIGNAL("AvidaUpdatedSig"),
+        self.avidaUpdatedSlot)
+
+  def avidaUpdatedSlot(self):
+    pass
+    
+  def doPauseAvidaSlot(self):
+    print "called pyEduWorkspaceCtryl.doPauseAvidaSlot"
+    self.controlStartAction.text = "Start"
+    self.controlStartAction.menuText = "Start"
+    self.startStatus = True
+    
+  def doStartAvidaSlot(self):
+    print "called pyEduWorkspaceCtryl.doStartAvidaSlot"
+    self.controlStartAction.text = "Pause"
+    self.controlStartAction.menuText = "Pause"
+    self.startStatus = False
+
+

Modified: trunk/source/python/AvidaGui2/pySessionDumbCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pySessionDumbCtrl.py	2005-03-28 19:44:40 UTC (rev 78)
+++ trunk/source/python/AvidaGui2/pySessionDumbCtrl.py	2005-03-28 19:48:49 UTC (rev 79)
@@ -28,6 +28,10 @@
       self.disconnect(
         self, PYSIGNAL("doUpdateAvidaSig"),
         old_avida.m_avida_thread_mdtr, PYSIGNAL("doUpdateAvidaSig"))
+      self.disconnect(
+        self.m_session_mdl.m_session_mdtr, 
+        PYSIGNAL("fromLiveCtrlUpdateAvidaSig"),
+        old_avida.m_avida_thread_mdtr, PYSIGNAL("doUpdateAvidaSig"))
       del old_avida
     if(self.m_avida):
       print "pySessionDumbCtrl.setAvidaSlot(): connecting..."
@@ -43,6 +47,10 @@
       self.connect(
         self, PYSIGNAL("doUpdateAvidaSig"),
         self.m_avida.m_avida_thread_mdtr, PYSIGNAL("doUpdateAvidaSig"))
+      self.connect(
+        self.m_session_mdl.m_session_mdtr, 
+        PYSIGNAL("fromLiveCtrlUpdateAvidaSig"),
+        self.m_avida.m_avida_thread_mdtr, PYSIGNAL("doUpdateAvidaSig"))
     
 #  def setupCustomMenus(self, edu_session_menu_bar_hdlr):
 #    self.m_debugging_menu = QPopupMenu()




More information about the Avida-cvs mailing list