[Avida-cvs] [avida-svn] r425 - branches/developers/avida-edward/source/python/AvidaGui2
kaben@myxo.css.msu.edu
kaben at myxo.css.msu.edu
Tue Dec 20 10:54:00 PST 2005
Author: kaben
Date: 2005-12-20 13:54:00 -0500 (Tue, 20 Dec 2005)
New Revision: 425
Modified:
branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyNavBarCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui
branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOnePop_GraphCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOnePopulationCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureView.ui
branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView.py
branches/developers/avida-edward/source/python/AvidaGui2/pyTwoAnalyzeCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyTwoOrganismCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyTwoPopulationCtrl.py
Log:
* In Organism Scope, made the following configurable:
- Show Registers
- Show Stacks
- Show Full Stacks
- Show Inputs and Outputs
- Hardware Indicator Size
* In Organism Scope, disabled options that don't do anything yet.
* Removed "not-working" parts of Analyze.
* In Petri Dish and Analyze, enabled "Print Graph..." menu item.
* In Navigation section, removed radiobuttons and subsections, and just
* made each view into its own item.
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyEduWorkspaceCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -47,8 +47,10 @@
self.m_cli_to_ctrl_dict[cli] = ctrl
self.m_ctrl_to_cli_dict[ctrl] = cli
- self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.On)
- self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.Off)
+ #self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.On)
+ #self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.Off)
+ #self.m_nav_bar_ctrl.m_one_population_cli.setSelected(True)
+ #self.m_nav_bar_ctrl.m_one_population_cli.setSelected(False)
#for ctrl in self.m_ctrl_to_cli_dict.keys():
# ctrl.construct(self.m_session_mdl)
@@ -62,9 +64,6 @@
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.freezerOpenSlot)
self.connect(
@@ -103,8 +102,8 @@
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("statusBarMessageSig"), self.statusBarMessageSlot)
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("statusBarClearSig"), self.statusBarClearSlot)
- self.m_nav_bar_ctrl.m_one_population_cli.setState(QCheckListItem.On)
- self.m_widget_stack.raiseWidget(self.m_one_population_ctrl)
+ self.navBarItemClickedSlot(self.m_nav_bar_ctrl.m_one_population_cli)
+ self.m_nav_bar_ctrl.m_list_view.setSelected(self.m_nav_bar_ctrl.m_one_population_cli, True)
self.splitter1.setSizes([100])
self.show()
@@ -116,21 +115,15 @@
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])
+ controller = self.m_cli_to_ctrl_dict[item]
+ old_controller = self.m_widget_stack.visibleWidget()
+ if old_controller is not None:
+ old_controller.aboutToBeLowered()
+ controller.aboutToBeRaised()
+ self.m_widget_stack.raiseWidget(controller)
- def ctrlAboutToShowSlot(self, ctrl):
- if ctrl:
- if self.m_ctrl_to_cli_dict.has_key(ctrl):
- for cli in self.m_cli_to_ctrl_dict.keys():
- cli.setState(QCheckListItem.Off)
- self.m_ctrl_to_cli_dict[ctrl].setState(QCheckListItem.On)
-
def close(self, also_delete = False):
self.emit(PYSIGNAL("quitAvidaPhaseISig"), ())
return False
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyNavBarCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyNavBarCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyNavBarCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -10,41 +10,14 @@
pyNavBarView.__init__(self,parent,name,fl)
def construct(self, session_mdl):
-# def generateCLIGroup(list_view, group_name, first_name, second_name):
- def generateCLIGroup(list_view, group_name, first_name):
- group_lvi = QCheckListItem(list_view, group_name, QCheckListItem.RadioButtonController)
- group_lvi.setSelectable(False)
- group_lvi.setOpen(True)
- #
-# second_cli = QCheckListItem(group_lvi, second_name, QCheckListItem.RadioButton)
-# second_cli.setSelectable(False)
- first_cli = QCheckListItem(group_lvi, first_name, QCheckListItem.RadioButton)
- first_cli.setSelectable(False)
- #
-# return (group_lvi, first_cli, second_cli)
- return (group_lvi, first_cli)
-
+ self.m_list_view.setSelectionMode(QListView.Single)
self.m_list_view.setSortColumn(-1)
self.m_list_view.clear()
-# (self.m_analyze_lvi, self.m_one_analyze_cli, self.m_two_analyze_cli) = generateCLIGroup(
-# self.m_list_view, " Analysis", "Analyze One", "Compare Two")
+ self.m_one_analyze_cli = QListViewItem(self.m_list_view, "Analysis")
+ self.m_one_organism_cli = QListViewItem(self.m_list_view, "Organism")
+ self.m_one_population_cli = QListViewItem(self.m_list_view, "Population")
- (self.m_analyze_lvi, self.m_one_analyze_cli) = generateCLIGroup(
- self.m_list_view, " Analysis", "Analyze One")
-
-# (self.m_organism_lvi, self.m_one_organism_cli, self.m_two_organism_cli) = generateCLIGroup(
-# self.m_list_view, " Organisms", "View One", "Compare Two")
-
- (self.m_organism_lvi, self.m_one_organism_cli) = generateCLIGroup(
- self.m_list_view, " Organisms", "View One")
-
-# (self.m_population_lvi, self.m_one_population_cli, self.m_two_population_cli) = generateCLIGroup(
-# self.m_list_view, " Populations", "View One", "Compare Two")
-
- (self.m_population_lvi, self.m_one_population_cli) = generateCLIGroup(
- self.m_list_view, " Populations", "View One")
-
- self.m_population_lvi.setPixmap(0, self.image0)
- self.m_organism_lvi.setPixmap(0, self.image1)
- self.m_analyze_lvi.setPixmap(0, self.image2)
+ self.m_one_population_cli.setPixmap(0, self.image0)
+ self.m_one_organism_cli.setPixmap(0, self.image1)
+ self.m_one_analyze_cli.setPixmap(0, self.image2)
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -100,10 +100,6 @@
self.modeActivatedSlot()
- self.connect(
- self.m_session_mdl.m_session_mdtr, PYSIGNAL("printGraphSig"),
- self.printGraphSlot)
-
def load(self, filename, colx, coly):
init_file = cInitFile(cString(os.path.join(str(self.m_petri_dish_dir_path), filename)))
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -12,6 +12,11 @@
def construct(self, session_mdl):
self.m_session_mdl = session_mdl
+ # XXX temporarily disabled nonfunctioning gui element, reenable in
+ # future when it works. @kgn
+ self.m_ana_petri_dish_ctrl.hide()
+ self.m_ana_gradient_scale_ctrl.hide()
+ self.m_ana_live_controls_ctrl.hide()
self.connect( self.m_session_mdl.m_session_mdtr,
PYSIGNAL("freezerItemDroppedInOneAnalyzeSig"),
self.freezerItemDropped)
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui 2005-12-20 18:54:00 UTC (rev 425)
@@ -100,22 +100,6 @@
</size>
</property>
</spacer>
- <widget class="QToolButton">
- <property name="name">
- <cstring>toolButton31_2</cstring>
- </property>
- <property name="font">
- <font>
- <pointsize>10</pointsize>
- </font>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>image1</iconset>
- </property>
- </widget>
<spacer>
<property name="name">
<cstring>spacer126_2</cstring>
@@ -149,6 +133,9 @@
<property name="name">
<cstring>m_ana_petri_dish_ctrl</cstring>
</property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -181,100 +168,6 @@
</widget>
<widget class="QLayoutWidget">
<property name="name">
- <cstring>layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>textLabel11</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string><font size="-1"><p align="right">Update:</p></font></string>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>textLabel12</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string><font size="-1">10000</font></string>
- </property>
- </widget>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>Merit</string>
- </property>
- </item>
- <property name="name">
- <cstring>comboBox1_2</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>textLabel10</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string><font size="-1"><p align="right">Zoom:</p></font></string>
- </property>
- </widget>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>spinBox1</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
<cstring>layout253</cstring>
</property>
<hbox>
@@ -353,7 +246,7 @@
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
- <pixmap>image2</pixmap>
+ <pixmap>image1</pixmap>
<property type="0">3</property>
<property type="1">pyPetriDishCtrl</property>
<property type="3">-1</property>
@@ -408,7 +301,7 @@
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
- <pixmap>image2</pixmap>
+ <pixmap>image1</pixmap>
<property type="0">3</property>
<property type="1">pyGradientScaleCtrl</property>
<property type="3">-1</property>
@@ -463,7 +356,7 @@
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
- <pixmap>image2</pixmap>
+ <pixmap>image1</pixmap>
<property type="0">3</property>
<property type="1">pyAnalyzeControlsCtrl</property>
<property type="3">-1</property>
@@ -478,9 +371,6 @@
<data format="PNG" length="2166">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000083d49444154789ced965d6c1cd515c7ffe7de99d9d94f7bbdfe88d71b6c123b350492b4e13340534844092204a2d2d2873685f6a55511a52d502168d5022a0d1105aa3e205024d440118516a9a050a08a8302095875e4382190388eedaced6ce2d8bbeb9dd999d9b9f7f481354a281508a9ea0b7fe9e8ce9566747ee77f8fee19e00bfd9f459fe7a3dede5e239148c4b4d63600b22ccbb36ddbedebebabfd4f00d6adbb36bd62c585975ebefaca65cb572cef1124b3c2b46dcb22101154a851ab05810afdc2c1a1fdc3834383075ff9fbdf76edd8b163ea7303343636e2baeb367cf9d65b6fbb6971f7791747ac0831989818600d8260800800181a520a862012c48665515c854a14a6f2fd8f3df6f09fb76d7bbaaf52a9e8cf0cb06cd9f2962d5b9eb8a367f1b24b49082622822408225b9a463c547e42a9c0545082344108c164183553d82e42ed1986884ac99284505ab12a4c8ff7fff887b7dcdfd7b7e3e8a7026cdc78d3d2dffdf689fb8561a749486870bc16786dfcfe60c63564cc4f35722dd02ca5412c04c0820166a5439206211a89503c1155f164836b9b56516be52985596173f1f1471f78e8a1071fdc797a3e79fa66f!
d861b7b376fdeba458568508c983b37d3633cf7444fe2d73f6d8cbef8ac55b87203478d2681532cec50520862d38ec194364cc3264346692e1260944eca5967c60a1ca7811447416645d528bc62ed555f65e58dec7efbedf1ff00685db020f2e49f5efcbd509166a752e928ce16cea955dc78707286e6b29d5ceeea6671f93a54a74be4557c049e0fb325c9562402614821a4c1920c7a3db69736d356da2107490651ee0e72e6ececa916210d82b2e6d65c73e545bb76ee782d7fec980b00c63cc05df7dc7375636b36373b796aa15b2d9d659971862541abafd3200841822d098ee55a95d64c81d6306c0b441244202249028295ef5167b599cbb24a29cf228e986c99292a1767737e508dc168f9e02777fde25bbb6fb8fe8f67f4c0beb1f1479853ebcbf9e35da68812910121084402009160b01586a23ae1906148f896e24436c362c621cd048a0aa86482df8dbf4f5c03a7c3283afc6648925a2a12cc1ab59a031911f9444b6af7b95d999bcf708028d6599e2c74466482200488058429191a421069105330576537f0c854041d8bb2a998bcb22212125eb50a95b1f41f8ce7c5341fa7b4d98847dd3bd4cb4dfdc66e0ca0432fe0ebdd8bb8c76dcd7a65af13401440751ec09cce9fe848990d426b01410299dddba9e9b9a7a46ecb626ed555287ded7a4e0f0fa0c94e70ada!
583fdb616f695a64a8c35c21a0bdb204ff8942d26a0559449d7286d36e0b03!
986823f8
58ae1d04c75096cab9b2a4e2927848868ad3f0288e99a9f86252009440651faf597608e1c068d8fa2d0bb82d2837bd0facbdb05b382d79ea38967778571af0a3b1227a3c91035db56b163a362ebe165ba965983627bbb1629139b0a6bf5517f094d739117193922084023a9b58e02281a00048048b9e49a0d51909416136be42fbf86d0d90bbb788abd4bd7726acfebe458064c2d515e7c0e9b8641e15c48811342b90a5e86a9e3f9271179f11941a601ebea1bd8b9e5365effab3b299416fc454b28fffd35ac88c0b66d0a216cadb531ef8071f88323a149315e98eb427ae81da40e0c40b5b6ebe08a35f0969cc7c34b73b0bebd49c7a7cb64b005a14145edb3960a61d54326d1c5aa3029825814863450cdb4c1ca8fc118fe8064a8402387801fdcaddca04a3293545a6b02401f35e1b1c9d1c3d90567779b91495ef4d236b277fe83c888d0f1af6fe0e9b5ab717bec11e1441d64dbb2b86ff6bb6ae55b2f5376600f6a6d3978e7af44592ee289079ed2ba5c044f8e01a934a2a18fb11bbfa78dc97162a78892ef09470b71a4ffdd3100b579000610eeec7be5d54b56ad5b973f3a4103c926ea5e9043cc7330b762151fb2a7c8a1392862b8ce2c3ad04a89e7b69218d84351d380bbfe6646ef4a12c2603466981a3204300f26c7e581a59771b35e8feca80d77a24076b2815f7d!
e19957018400c27980eabebdeff4ed1bdaf3afee6ccfca63975ccdde3737216ec6d0d09ce5aed9227ee4dec0d3b248920d6d9a3ee6c240c8540aa652a8f42c65a54230334002cc3580857859be8df766f68a6bdd5530fc76c4b4c5232307c6dfd8fe97bf02f000e8f98bc800d09a6e6abee0de4d3f7fb21d686d5d7416389164ce75217b78088d634761c7e35cb96c1d54ba9545a54455cb625d2913271a20e2093048b10e85ef7b54f55d1e8d4d88b6482369669cc817513e72aafcf0963bef181b1dfe2780e300fcf959a00128afea7a7b8787f69d7feef24bdadbda5261a281a014b94e85665bda68ca0fe888afa9367280e8e9c705bdb95de8fc119a5c740edc23efd389916139911fa3d98a43b1a42dce4eb4515246415585f143a3852d9befbe6f7474f84d00d3009c8f4fc31040e8ba4ef9adfdfd6f253299f6cef357e60c82e0aa4ba11fa0e478989249764f16e864ac09854c0ef9641bcf5871aa0e0e90373e8edad424e95a8d626dcdb0a3124ed9516fbcb6bdffc1dffcecdee3c727fbeb95973fba8171a608401c4006404bd7d9dd176ffcc677367e75f5b517472276d42939e244c9070a79a852112208a02c0b685d80c8a1fd90cc2002f4c22e9deae90a0e1eecdff7fc0bdb5e786fffe02e000500a700ccd51dff448079450034d4231d8f27ba565e78d9055f3a!
f72bcb524d1d67b52f5cbc2062462d3004b32668a57ca7549b1a3978e2647e!
647264f2
e8d0d0c1bd7bcae5d208801280627dadd69bfe8c8aff9b043e1c180900b1ba337100b610221e8dc6929615b18904825ae057dd8aa3949aab27a902a80070eb67ed02509f94e4b3fc15130013805577c6acafa21e5c7fa7860ffbc8af3ffb00828f57fc79003e2e715ae034005d0ffeb4a45fe80b9dae7f030cdbe8df8fa444040000000049454e44ae426082</data>
</image>
<image name="image1">
- <data format="PNG" length="528">89504e470d0a1a0a0000000d494844520000000f0000000e0806000000f08a46ef000001d749444154789c8592cd6a53511485bf9b5c098969a3adb645c1e24f1a9d288a139180c1d0a9e044a18238a8934ed4e2d41770208a5121fa04fa06058722c46141090d0435850493e6aff626b9e72c076dd33411ba6071e0ecb3ce62efbd90c4205bad96969f3c55a552d1706d980106d06eb7957991e5883b85319683e04802a0d3e928f332cb4c608edfb53c53735142a1d0bec7b1588c542a45381c76fa62dff7f5e65596e39ca356dee2d8d418963d6721ac0c5e6f8b5223cfdd07b74824128e238977afdf2bd63dc546b983acc0d91581248c8495c5f37da6a7c7215a63e1e16d82972f5e5577fd30ed3f86dd16f63b8295c5588b91a5d6dce4686492466f9dc0cdf91b14367ee0197f48b80dbbf3a19130b20868793dcabfea04a2d1a8b3f4688192f79dae35fb5ca5edd358db77b7b2f47a066fabbb37edc25a4199e79f383d769e4dbfc3df6e1383b0560870022eae13c2c8303931ce89b303ab02c8e5bee9e3872f6c7a75aea5cf100c06fbb566a34deeeb1a13e10bb8ee21aecf4f32929a9595cfba776749d56a752461f97c5e8bf79fe9f1e25b158b45b9c3a949a7534e28e42a12898c242a1e8f3b3327a3aa55eaccce!
ce3a2362806432e9fcef1ee0d29504eb3f6b3b533d20fcc35c5d5d55a9549224fe01033d5afa3250e5560000000049454e44ae426082</data>
- </image>
- <image name="image2">
<data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154789cad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7!
ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e05!
82c261e95f8bfc04f1a1e8bc5c4dfe0a19017a725d8c60000000049454e44a!
e426082<
/data>
</image>
</images>
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
+from descr import descr
+
from qt import *
from pyOneAnalyzeView import pyOneAnalyzeView
import os.path
@@ -14,6 +16,10 @@
self.m_session_mdl = session_mdl
self.m_one_ana_graph_ctrl.construct(self.m_session_mdl)
self.m_one_ana_petri_ctrl.construct(self.m_session_mdl)
+ # XXX temporarily disabled nonfunctioning gui element, reenable in
+ # future when it works. @kgn
+ self.m_one_ana_timeline_ctrl.hide()
+ self.m_one_ana_stats_ctrl.hide()
self.connect( self, PYSIGNAL("freezerItemDroppedInOneAnalyzeSig"),
self.m_session_mdl.m_session_mdtr,
PYSIGNAL("freezerItemDroppedInOneAnalyzeSig"))
@@ -24,6 +30,21 @@
PYSIGNAL("freezerItemDoubleClicked"),
self.freezerItemDoubleClicked)
+ def aboutToBeLowered(self):
+ """Disconnects "Print Graph..." menu item from One-Analyze Graph controller."""
+ descr()
+ self.disconnect(
+ self.m_session_mdl.m_session_mdtr,
+ PYSIGNAL("printGraphSig"),
+ self.m_one_ana_graph_ctrl.printGraphSlot)
+ def aboutToBeRaised(self):
+ """Connects "Print Graph..." menu item to One-Analyze Graph controller."""
+ descr()
+ self.connect(
+ self.m_session_mdl.m_session_mdtr,
+ PYSIGNAL("printGraphSig"),
+ self.m_one_ana_graph_ctrl.printGraphSlot)
+
def dropEvent( self, e ):
freezer_item_name = QString()
if ( QTextDrag.decode( e, freezer_item_name ) ) :
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui 2005-12-20 18:54:00 UTC (rev 425)
@@ -44,7 +44,7 @@
</property>
<widget class="pyOneAna_StatsCtrl">
<property name="name">
- <cstring>pyOneAna_StatsCtrl1</cstring>
+ <cstring>m_one_ana_stats_ctrl</cstring>
</property>
</widget>
<widget class="pyOneAna_PetriDishCtrl">
@@ -85,7 +85,7 @@
</widget>
<widget class="pyOneAna_TimelineCtrl">
<property name="name">
- <cstring>pyOneAna_TimelineCtrl1</cstring>
+ <cstring>m_one_ana_timeline_ctrl</cstring>
</property>
</widget>
</vbox>
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrganismCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
+from descr import descr
+
from qt import *
from pyOneOrganismView import pyOneOrganismView
@@ -19,6 +21,12 @@
self.connect(self.m_organism_scope_toggle, SIGNAL("clicked()"),
self.ToggleScopeSlot)
+ def aboutToBeLowered(self):
+ """does nothing yet."""
+ descr()
+ def aboutToBeRaised(self):
+ """does nothing yet."""
+ descr()
def setOneOrganismViewNameLabelTextSlot(self, name):
self.m_organism_name_label.setText(name)
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOnePop_GraphCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOnePop_GraphCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOnePop_GraphCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -61,10 +61,6 @@
self.m_combo_box.setCurrentItem(2)
self.modeActivatedSlot(self.m_combo_box.currentItem())
- self.connect(
- self.m_session_mdl.m_session_mdtr, PYSIGNAL("printGraphSig"),
- self.printGraphSlot)
-
def load(self, filename, colx, coly):
print "pyOnePop_GraphCtrl.load file name = " + filename
if (self.m_avida is None) or (self.m_avida.m_population.GetStats().GetUpdate() == 0):
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOnePopulationCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOnePopulationCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOnePopulationCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -18,6 +18,8 @@
self.m_one_pop_petri_dish_ctrl.construct(self.m_session_mdl)
self.m_one_pop_graph_ctrl.construct(self.m_session_mdl)
self.m_one_pop_stats_ctrl.construct(self.m_session_mdl)
+ # XXX temporarily disabled nonfunctioning gui element, reenable in
+ # future when it works. @kgn
self.m_one_pop_timeline_ctrl.hide()
self.connect( self, PYSIGNAL("petriDishDroppedInPopViewSig"),
self.m_session_mdl.m_session_mdtr,
@@ -30,6 +32,21 @@
self.connect(self.m_session_mdl.m_session_mdtr,
PYSIGNAL("restartPopulationSig"), self.restartPopulationSlot)
+ def aboutToBeLowered(self):
+ """Disconnects "Print Graph..." menu item from One-Pop Graph controller."""
+ descr()
+ self.disconnect(
+ self.m_session_mdl.m_session_mdtr,
+ PYSIGNAL("printGraphSig"),
+ self.m_one_pop_graph_ctrl.printGraphSlot)
+ def aboutToBeRaised(self):
+ """Connects "Print Graph..." menu item to One-Pop Graph controller."""
+ descr()
+ self.connect(
+ self.m_session_mdl.m_session_mdtr,
+ PYSIGNAL("printGraphSig"),
+ self.m_one_pop_graph_ctrl.printGraphSlot)
+
def dragEnterEvent( self, e ):
descr(e)
#e.acceptAction(True)
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureView.ui
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureView.ui 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismConfigureView.ui 2005-12-20 18:54:00 UTC (rev 425)
@@ -45,6 +45,9 @@
<property name="name">
<cstring>m_animate_head_movement_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -55,6 +58,9 @@
<property name="name">
<cstring>textLabel4</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -77,6 +83,9 @@
<property name="name">
<cstring>textLabel4_2</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -136,6 +145,9 @@
<property name="name">
<cstring>m_animate_instruction_copy_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -162,6 +174,9 @@
<property name="name">
<cstring>m_animate_organism_divide_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -189,6 +204,9 @@
<property name="name">
<cstring>textLabel3</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -227,6 +245,9 @@
<property name="name">
<cstring>m_show_task_tests_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -275,6 +296,9 @@
<property name="name">
<cstring>m_show_hardware_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -285,6 +309,9 @@
<property name="name">
<cstring>textLabel2_2_2_2_2_2</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -385,6 +412,9 @@
<property name="name">
<cstring>m_layout_spacing_sb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>1</hsizetype>
@@ -414,6 +444,9 @@
<property name="name">
<cstring>m_show_heads_as_letters_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -459,6 +492,9 @@
<property name="name">
<cstring>textLabel2_2_3</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -573,6 +609,9 @@
<property name="name">
<cstring>textLabel4_3</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -611,6 +650,9 @@
<property name="name">
<cstring>m_show_instruction_names_cb</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
<string></string>
</property>
@@ -621,6 +663,9 @@
<property name="name">
<cstring>textLabel2</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
@@ -643,6 +688,9 @@
<property name="name">
<cstring>textLabel2_3</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -184,29 +184,49 @@
def ShowTaskTestsCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowTaskTestsCBToggled(bool)
+
def ShowRegistersCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowRegistersCBToggled(bool)
+
def AnimateHeadMovementCBToggledSlot(self, bool):
descr(bool)
+
def ShowStacksCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowStacksCBToggled(bool)
+
def ShowHeadsAsLettersCBToggledSlot(self, bool):
descr(bool)
+
def ShowInstructionNamesCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowInstructionNamesCBToggled(bool)
+
def ShowInputsAndOutputsCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowInputsAndOutputsCBToggled(bool)
+
def ShowFullStacksCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowFullStacksCBToggled(bool)
+
def AnimateInstructionCopyCBToggledSlot(self, bool):
descr(bool)
+
def ShowHardwareCBToggledSlot(self, bool):
descr(bool)
+ self.anim.setShowHardwareCBToggled(bool)
+
def AnimateOrganismDivideCBToggledSlot(self, bool):
descr(bool)
def LayoutSpacingSBValueChangedSlot(self, value):
descr(value)
+
def HardwareIndicatorSBValueChangedSlot(self, value):
descr(value)
+ self.anim.setHardwareIndicatorSBValueChanged(value)
+
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -253,7 +253,6 @@
class indicator(QCanvasRectangle):
def __init__(self, anim, x, y, width, height):
QCanvasRectangle.__init__(self, x, y, width, height, anim.canvas)
- #descr()
self.anim = anim
def setBit(self, bit):
self.setBrush(bit and self.anim.on_brush or self.anim.off_brush)
@@ -261,7 +260,6 @@
class indicatorPolicy:
def __init__(self, anim):
- #descr()
self.anim = anim
def createIndicators(self):
w = self.anim.hardware_indicator_size
@@ -273,39 +271,31 @@
indicator.setBit(bit & bits)
bit = bit << 1
def width(self):
- #descr()
return 32 * anim.hardware_indicator_size
def height(self):
- #descr()
return anim.hardware_indicator_size
def setX(self, indicators, x):
- #descr()
w = self.anim.hardware_indicator_size
cx = x + w * (len(indicators))
for indicator in indicators:
cx = cx - w
indicator.setX(cx)
def setY(self, indicators, y):
- #descr()
for indicator in indicators:
indicator.setY(y)
def setZ(self, indicators, z):
- #descr()
for indicator in indicators:
indicator.setZ(z)
def show(self, indicators):
- #descr()
for indicator in indicators:
indicator.show()
def hide(self, indicators):
- #descr()
for indicator in indicators:
indicator.hide()
class bufAnimator:
def __init__(self, anim):
- #descr()
self.anim = anim
self.frames = None
self.indicator_items = []
@@ -315,42 +305,33 @@
def setReadFnc(self, read_fnc):
self.read_fnc = read_fnc
def resetIndicators(self, indicator_items):
- #descr()
a = self.anim
for item in indicator_items:
if item is not None: item.setCanvas(None)
return self.indicator_policy.createIndicators()
def width(self):
- #descr()
return self.indicator_policy.width()
def height(self):
- #descr()
return self.indicator_policy.height()
def setX(self, x):
- #descr()
return self.indicator_policy.setX(self.indicator_items, x)
def setY(self, y):
- #descr()
return self.indicator_policy.setY(self.indicator_items, y)
def setZ(self, z):
- #descr()
return self.indicator_policy.setZ(self.indicator_items, z)
def show(self):
- #descr()
return self.indicator_policy.show(self.indicator_items)
def hide(self):
- #descr()
return self.indicator_policy.hide(self.indicator_items)
def setFrames(self, frames):
- #descr(frames)
self.frames = frames
self.indicator_items = self.resetIndicators(self.indicator_items)
self.old_bits = 0
self.indicator_policy.setBits(self.indicator_items, self.old_bits)
- if frames is not None:
- for item in self.indicator_items:
- item.show()
+ #if frames is not None:
+ # for item in self.indicator_items:
+ # item.show()
def showFrame(self, frame_number):
if self.frames is not None:
new_bits = self.read_fnc(self.frames, frame_number)
@@ -358,6 +339,10 @@
self.indicator_policy.setBits(self.indicator_items, new_bits)
self.old_bits = new_bits
+def _positionSubanimator(subanimator, frames, x, y):
+ subanimator.setFrames(frames)
+ subanimator.setX(x)
+ subanimator.setY(y)
class regsAnimator:
def __init__(self, anim):
@@ -370,20 +355,6 @@
self.stack_b_label = None
self.regs_label = None
- #self.dummy_anim = bufAnimator(self.anim)
- #self.dummy_anim.setReadFnc(lambda f, fn: fn)
-
-
- #self.in0_anim = bufAnimator(self.anim)
- #self.in0_anim.setReadFnc(lambda f, fn: f.getHardwareSnapshotAt(fn).GetOrganism().GetInputAt(0))
- #self.in1_anim = bufAnimator(self.anim)
- #self.in1_anim.setReadFnc(lambda f, fn: f.getHardwareSnapshotAt(fn).GetOrganism().GetInputAt(1))
- #self.in2_anim = bufAnimator(self.anim)
- #self.in2_anim.setReadFnc(lambda f, fn: f.getHardwareSnapshotAt(fn).GetOrganism().GetInputAt(2))
-
- #self.out0_anim = bufAnimator(self.anim)
- #self.out0_anim.setReadFnc(lambda f, fn: f.getHardwareSnapshotAt(fn).GetOrganism().GetOutputAt(0))
-
self.in0_anim = bufAnimator(self.anim)
self.in0_anim.setReadFnc(lambda f, fn: f.m_ibuf_0_info[fn])
self.in1_anim = bufAnimator(self.anim)
@@ -442,11 +413,6 @@
self.stack_b_anims[8].setReadFnc(lambda f, fn: f.getThreadsSnapshotAt(fn)[0].stack.Get(8))
self.stack_b_anims[9].setReadFnc(lambda f, fn: f.getThreadsSnapshotAt(fn)[0].stack.Get(9))
- #for j in xrange(cHardwareDefs.s_STACK_SIZE):
- # stack_anim = bufAnimator(self.anim)
- # stack_anim.setReadFnc(lambda f, fn: f.getThreadsSnapshotAt(fn)[0].stack.Get(j))
- # self.stack_a_anims.append(stack_anim)
-
self.rega_anim = bufAnimator(self.anim)
self.rega_anim.setReadFnc(lambda f, fn: f.getThreadsSnapshotAt(fn)[0].GetRegister(cHardwareCPUDefs.s_REG_AX))
self.regb_anim = bufAnimator(self.anim)
@@ -460,125 +426,59 @@
return 0, 0
return self.rega_anim.width(), 4*self.rega_anim.height()
- def _positionSubanimator(self, sa, frames, x, y):
- sa.setFrames(frames)
- sa.setX(x)
- sa.setY(y)
def setFrames(self, frames):
- descr()
- setourframes = (
- #(self.dummy_anim, self.anim.hw_anim.regs_anim.y),
- (self.in0_anim, self.anim.hw_anim.regs_anim.y + 2 * self.anim.hardware_indicator_size),
- (self.in1_anim, self.anim.hw_anim.regs_anim.y + 3 * self.anim.hardware_indicator_size),
- (self.in2_anim, self.anim.hw_anim.regs_anim.y + 4 * self.anim.hardware_indicator_size),
- (self.out0_anim, self.anim.hw_anim.regs_anim.y + 7 * self.anim.hardware_indicator_size),
+ def _resetLabel(label, text, should_show):
+ if label is not None:
+ label.setCanvas(None)
+ if frames is not None:
+ new_label = QCanvasText(text, self.anim.label_font, self.anim.canvas)
+ new_label.setX(self.anim.hw_anim.regs_anim.x)
+ new_label.setY(self.anim.layout_manager.running_y)
+ if should_show:
+ new_label.show()
+ self.anim.layout_manager.running_y = self.anim.layout_manager.running_y + self.anim.label_text_height
+ return new_label
+ else:
+ return None
- (self.rega_anim, self.anim.hw_anim.regs_anim.y + 10 * self.anim.hardware_indicator_size),
- (self.regb_anim, self.anim.hw_anim.regs_anim.y + 11 * self.anim.hardware_indicator_size),
- (self.regc_anim, self.anim.hw_anim.regs_anim.y + 12 * self.anim.hardware_indicator_size),
+ def _resetSubanim(subanim, should_show):
+ _positionSubanimator(subanim, frames, self.anim.hw_anim.regs_anim.x, self.anim.layout_manager.running_y)
+ if should_show:
+ subanim.show()
+ self.anim.layout_manager.running_y = self.anim.layout_manager.running_y + self.anim.hardware_indicator_size
- (self.stack_a_anims[0], self.anim.hw_anim.regs_anim.y + 15 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[1], self.anim.hw_anim.regs_anim.y + 16 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[2], self.anim.hw_anim.regs_anim.y + 17 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[3], self.anim.hw_anim.regs_anim.y + 18 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[4], self.anim.hw_anim.regs_anim.y + 19 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[5], self.anim.hw_anim.regs_anim.y + 20 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[6], self.anim.hw_anim.regs_anim.y + 21 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[7], self.anim.hw_anim.regs_anim.y + 22 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[8], self.anim.hw_anim.regs_anim.y + 23 * self.anim.hardware_indicator_size),
- (self.stack_a_anims[9], self.anim.hw_anim.regs_anim.y + 24 * self.anim.hardware_indicator_size),
+ self.anim.layout_manager.running_y = self.anim.hw_anim.regs_anim.y
- (self.stack_b_anims[0], self.anim.hw_anim.regs_anim.y + 27 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[1], self.anim.hw_anim.regs_anim.y + 28 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[2], self.anim.hw_anim.regs_anim.y + 29 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[3], self.anim.hw_anim.regs_anim.y + 30 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[4], self.anim.hw_anim.regs_anim.y + 31 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[5], self.anim.hw_anim.regs_anim.y + 32 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[6], self.anim.hw_anim.regs_anim.y + 33 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[7], self.anim.hw_anim.regs_anim.y + 34 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[8], self.anim.hw_anim.regs_anim.y + 35 * self.anim.hardware_indicator_size),
- (self.stack_b_anims[9], self.anim.hw_anim.regs_anim.y + 36 * self.anim.hardware_indicator_size),
- )
- for setme in setourframes:
- self._positionSubanimator(setme[0], frames, self.anim.hw_anim.regs_anim.x, setme[1])
+ self.in_label = _resetLabel(self.in_label, "Input Buffer", self.anim.show_io_flag)
+ for subanim in (
+ self.in0_anim,
+ self.in1_anim,
+ self.in2_anim,
+ ) : _resetSubanim(subanim, self.anim.show_io_flag)
- if self.in_label is not None:
- self.in_label.setCanvas(None)
- del self.in_label
- self.in_label = None
- if self.out_label is not None:
- self.out_label.setCanvas(None)
- del self.out_label
- self.out_label = None
- if self.stack_a_label is not None:
- self.stack_a_label.setCanvas(None)
- del self.stack_a_label
- self.stack_a_label = None
- if self.stack_b_label is not None:
- self.stack_b_label.setCanvas(None)
- del self.stack_b_label
- self.stack_b_label = None
- if self.regs_label is not None:
- self.regs_label.setCanvas(None)
- del self.regs_label
- self.regs_label = None
+ self.out_label = _resetLabel(self.out_label, "Output Buffer", self.anim.show_io_flag)
+ for subanim in (
+ self.out0_anim,
+ ) : _resetSubanim(subanim, self.anim.show_io_flag)
- if frames is not None:
- self.in_label = QCanvasText("Input Buffer", self.anim.font, self.anim.canvas)
- self.in_label.setX(self.anim.hw_anim.regs_anim.x)
- self.in_label.setY(self.anim.hw_anim.regs_anim.y -1 + 0 * self.anim.hardware_indicator_size)
- self.in_label.show()
+ self.regs_label = _resetLabel(self.regs_label, "Registers A, B, C", self.anim.show_registers_flag)
+ for subanim in (
+ self.rega_anim,
+ self.regb_anim,
+ self.regc_anim,
+ ) : _resetSubanim(subanim, self.anim.show_registers_flag)
- self.out_label = QCanvasText("Output Buffer", self.anim.font, self.anim.canvas)
- self.out_label.setX(self.anim.hw_anim.regs_anim.x)
- self.out_label.setY(self.anim.hw_anim.regs_anim.y -1 + 5 * self.anim.hardware_indicator_size)
- self.out_label.show()
+ self.stack_a_label = _resetLabel(self.stack_a_label, "Stack A", self.anim.show_stacks_flag)
+ _resetSubanim(self.stack_a_anims[0], self.anim.show_stacks_flag)
+ for subanim in self.stack_a_anims[1:]: _resetSubanim(subanim, self.anim.show_stacks_flag and self.anim.show_full_stacks_flag)
- self.regs_label = QCanvasText("Registers A, B, C", self.anim.font, self.anim.canvas)
- self.regs_label.setX(self.anim.hw_anim.regs_anim.x)
- self.regs_label.setY(self.anim.hw_anim.regs_anim.y -1 + 8 * self.anim.hardware_indicator_size)
- self.regs_label.show()
+ self.stack_b_label = _resetLabel(self.stack_b_label, "Stack B", self.anim.show_stacks_flag)
+ _resetSubanim(self.stack_b_anims[0], self.anim.show_stacks_flag)
+ for subanim in self.stack_b_anims[1:]: _resetSubanim(subanim, self.anim.show_stacks_flag and self.anim.show_full_stacks_flag)
- self.stack_a_label = QCanvasText("Stack A", self.anim.font, self.anim.canvas)
- self.stack_a_label.setX(self.anim.hw_anim.regs_anim.x)
- self.stack_a_label.setY(self.anim.hw_anim.regs_anim.y -1 + 13 * self.anim.hardware_indicator_size)
- self.stack_a_label.show()
-
- self.stack_b_label = QCanvasText("Stack B", self.anim.font, self.anim.canvas)
- self.stack_b_label.setX(self.anim.hw_anim.regs_anim.x)
- self.stack_b_label.setY(self.anim.hw_anim.regs_anim.y -1 + 25 * self.anim.hardware_indicator_size)
- self.stack_b_label.show()
-
-
- #self.in_label.setTextFlags(Qt.AlignLeft | Qt.AlignBottom)
- #self.in_label.setFont(anim.font)
- #self.in_label.setText("Input Buffer")
-
- #self.out_label = QCanvasText(self.anim.canvas)
- #self.out_label.setTextFlags(Qt.AlignLeft | Qt.AlignBottom)
- #self.out_label.setFont(anim.font)
- #self.out_label.setText("Output Buffer")
-
- #self.stack_a_label = QCanvasText(self.anim.canvas)
- #self.stack_a_label.setTextFlags(Qt.AlignLeft | Qt.AlignBottom)
- #self.stack_a_label.setFont(anim.font)
- #self.stack_a_label.setText("Stack A")
-
- #self.stack_b_label = QCanvasText(self.anim.canvas)
- #self.stack_b_label.setTextFlags(Qt.AlignLeft | Qt.AlignBottom)
- #self.stack_b_label.setFont(anim.font)
- #self.stack_b_label.setText("Stack B")
-
- #self.regs_label = QCanvasText(self.anim.canvas)
- #self.regs_label.setTextFlags(Qt.AlignLeft | Qt.AlignBottom)
- #self.regs_label.setFont(anim.font)
- #self.regs_label.setText("Registers A, B, C")
-
def showFrame(self, frame_number):
- #descr()
showourframes = (
- #self.dummy_anim,
self.in0_anim,
self.in1_anim,
self.in2_anim,
@@ -776,6 +676,13 @@
self.font = QFont(qApp.font())
+ self.label_font = QFont(self.font)
+ self.label_font_metrics = QFontMetrics(self.label_font)
+ self.label_text_height = 12
+ self.label_font_points_per_pixel = self.label_font.pointSizeFloat()/self.label_font_metrics.height()
+ self.label_point_size_float = self.label_text_height * self.label_font_points_per_pixel
+ self.label_font.setPointSizeFloat(self.label_point_size_float)
+
self.default_color_saturation = 100
self.default_color_value = 248
@@ -957,6 +864,8 @@
descr()
if self.show_registers_flag != bool:
self.show_registers_flag = bool
+ self.hw_anim.setFrames(self.frames)
+ self.hw_anim.showFrame(self.current_frame_number)
def setShowStacksCBToggled(self, bool):
"""
Enables or disables display of tops of organism's hardware's stacks.
@@ -966,6 +875,8 @@
descr()
if self.show_stacks_flag != bool:
self.show_stacks_flag = bool
+ self.hw_anim.setFrames(self.frames)
+ self.hw_anim.showFrame(self.current_frame_number)
def setShowFullStacksCBToggled(self, bool):
"""
Enables or disables display of organism's hardware's full stacks.
@@ -975,16 +886,18 @@
descr()
if self.show_full_stacks_flag != bool:
self.show_full_stacks_flag = bool
+ self.hw_anim.setFrames(self.frames)
+ self.hw_anim.showFrame(self.current_frame_number)
def setShowInputsAndOutputsCBToggled(self, bool):
"""
Enables or disables display of organism's hardware's inputs and
outputs.
-
- This doesn't do anything yet. @kgn
"""
descr()
if self.show_io_flag != bool:
self.show_io_flag = bool
+ self.hw_anim.setFrames(self.frames)
+ self.hw_anim.showFrame(self.current_frame_number)
def setShowTaskTestsCBToggled(self, bool):
"""
Enables or disables display of status of organism's tasks.
@@ -994,6 +907,8 @@
descr()
if self.show_task_tests_flag != bool:
self.show_task_tests_flag = bool
+ self.hw_anim.setFrames(self.frames)
+ self.hw_anim.showFrame(self.current_frame_number)
def setShowInstructionNamesCBToggled(self, bool):
"""
Enables or disables display of name of next instruction.
@@ -1014,6 +929,8 @@
descr()
if self.hardware_indicator_size != value:
self.hardware_indicator_size = value
+ self.hw_anim.setFrames(self.frames)
+ self.hw_anim.showFrame(self.current_frame_number)
def setLayoutSpacingSBValueChanged(self, value):
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyTwoAnalyzeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyTwoAnalyzeCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyTwoAnalyzeCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
+from descr import descr
+
from qt import *
from pyTwoAnalyzeView import pyTwoAnalyzeView
@@ -8,3 +10,12 @@
def __init__(self,parent = None,name = None,fl = 0):
pyTwoAnalyzeView.__init__(self,parent,name,fl)
+ def construct(self, session_mdl):
+ """does nothing yet."""
+ descr()
+ def aboutToBeLowered(self):
+ """does nothing yet."""
+ descr()
+ def aboutToBeRaised(self):
+ """does nothing yet."""
+ descr()
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyTwoOrganismCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyTwoOrganismCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyTwoOrganismCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
+from descr import descr
+
from qt import *
from pyTwoOrganismView import pyTwoOrganismView
@@ -8,3 +10,12 @@
def __init__(self,parent = None,name = None,fl = 0):
pyTwoOrganismView.__init__(self,parent,name,fl)
+ def construct(self, session_mdl):
+ """does nothing yet."""
+ descr()
+ def aboutToBeLowered(self):
+ """does nothing yet."""
+ descr()
+ def aboutToBeRaised(self):
+ """does nothing yet."""
+ descr()
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyTwoPopulationCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyTwoPopulationCtrl.py 2005-12-19 20:36:45 UTC (rev 424)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyTwoPopulationCtrl.py 2005-12-20 18:54:00 UTC (rev 425)
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
+from descr import descr
+
from qt import *
from pyTwoPopulationView import pyTwoPopulationView
@@ -8,3 +10,12 @@
def __init__(self,parent = None,name = None,fl = 0):
pyTwoPopulationView.__init__(self,parent,name,fl)
+ def construct(self, session_mdl):
+ """does nothing yet."""
+ descr()
+ def aboutToBeLowered(self):
+ """does nothing yet."""
+ descr()
+ def aboutToBeRaised(self):
+ """does nothing yet."""
+ descr()
More information about the Avida-cvs
mailing list