[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