[Avida-cvs] [avida-svn] r796 - branches/developers/avida-edward/source/python/AvidaGui2
gerrishj@myxo.css.msu.edu
gerrishj at myxo.css.msu.edu
Tue Jul 4 11:28:06 PDT 2006
Author: gerrishj
Date: 2006-07-04 14:28:05 -0400 (Tue, 04 Jul 2006)
New Revision: 796
Modified:
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphView.ui
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/pyOneOrg_ScopeCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py
branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py
branches/developers/avida-edward/source/python/AvidaGui2/pyTimeline.py
branches/developers/avida-edward/source/python/AvidaGui2/to-do_list
Log:
Fixed resizing issues with analyze mode population box.
Bunch of small changes noted in to-do_list
Reading tasks from test cpu now, plotting them on the timeline.
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphCtrl.py 2006-07-04 18:28:05 UTC (rev 796)
@@ -96,9 +96,7 @@
self.layout.m_del_button.close(True)
del self.parent.m_combo_boxes[self.label]
self.parent.modeActivatedSlot()
- self.parent.population_box_widget.resize(
- self.parent.population_box_widget.sizeHint())
- self.parent.resize(self.parent.sizeHint())
+ self.parent.my_resize()
def change_color_slot(self):
"User selected a new color"
@@ -113,7 +111,7 @@
self.parent.modeActivatedSlot()
class pyOneAna_GraphCtrl(pyOneAna_GraphView):
-
+ "The main graph control"
def __init__(self, parent = None, name = None, fl = 0):
pyOneAna_GraphView.__init__(self,parent,name,fl)
self.m_avida_stats_interface = pyAvidaStatsInterface()
@@ -121,6 +119,7 @@
def construct_box(self, widget):
"Initialize new combo box group with stat information"
+ self.m_first_graph = True
widget.layout.m_combo_box_1_color.clear()
for color in self.m_Colors:
widget.layout.m_combo_box_1_color.insertItem(color.name)
@@ -140,33 +139,29 @@
self.connect(widget.layout.m_del_button, SIGNAL("clicked()"),
widget.del_population_slot)
- print widget.parent.population_box_widget.sizeHint().width()
- print widget.parent.population_box_widget.sizeHint().height()
-
-
-
# Show the contents
widget.layout.m_population.show()
widget.layout.m_combo_box_1_color.show()
widget.layout.m_del_button.show()
widget.parent.population_box_widget.show()
- print widget.parent.population_box_widget.sizeHint().width()
- print widget.parent.population_box_widget.sizeHint().height()
- widget.parent.population_box_widget.resize(widget.parent.population_box_widget.sizeHint())
- self.resize(self.sizeHint())
def construct(self, session_mdl):
self.m_session_mdl = session_mdl
self.m_avida = None
- self.population_box.setOrientation(Qt.Vertical)
+ self.toolButton31_2.hide()
+ # m_first_graph is true if we have graphed any population
+ self.m_first_graph = False
+
+ # Setup the population controls group box
+ self.population_box.setColumnLayout(1, Qt.Vertical)
self.population_box_widget = QWidget(self.population_box,
"population_box_widget")
self.population_box_widget.setSizePolicy(
- QSizePolicy(QSizePolicy.Preferred, QSizePolicy.MinimumExpanding))
- self.population_box_widget.setGeometry(QRect(5, 15, 310, 90))
+ QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum))
+ self.population_box_widget.setGeometry(QRect(5, 15, 310, 50))
self.population_box_widget.setMinimumWidth(310)
- self.population_box_widget.setMinimumHeight(90)
+ self.population_box_widget.setMinimumHeight(20)
self.population_box_layout = QVBoxLayout(self.population_box_widget, 2, 1,
"population_box_layout")
@@ -222,7 +217,8 @@
self.connect(self.m_session_mdl.m_session_mdtr,
PYSIGNAL("freezerItemDroppedInOneAnalyzeSig"),
self.petriDropped)
- self.m_graph_ctrl.setAxisTitle(QwtPlot.xBottom, "Time (updates)")
+ self.x_axis_title = "Time (updates)"
+ self.m_graph_ctrl.setAxisTitle(QwtPlot.xBottom, self.x_axis_title)
self.m_graph_ctrl.setAxisAutoScale(QwtPlot.xBottom)
# Start the left with second graph mode -- "Average Fitness"
@@ -231,8 +227,6 @@
# Start the right with zeroth mode -- "None"
self.m_combo_box_2.setCurrentItem(0)
- self.population_box_widget.resize(self.population_box_widget.sizeHint())
-
def check_file(self, path):
"Check for a valid population file"
if self.m_combo_box_1.currentItem():
@@ -254,7 +248,7 @@
else:
print "error: there is no data file in the directory to load from"
self.m_graph_ctrl.setTitle(
- self.m_avida_stats_interface.m_entries[0].name)
+ self.m_avida_stats_interface.m_entries[0].name + " vs. " + self.x_axis_title)
self.m_graph_ctrl.setAxisTitle(
QwtPlot.yLeft, self.m_avida_stats_interface.m_entries[0].name)
self.m_graph_ctrl.replot()
@@ -279,7 +273,7 @@
self.m_graph_ctrl.setCurveYAxis(row.m_curve_1, QwtPlot.yLeft)
if not self.m_combo_box_2.currentItem():
self.m_graph_ctrl.enableYRightAxis(False)
- self.m_graph_ctrl.setTitle(stat_1.name)
+ self.m_graph_ctrl.setTitle(stat_1.name + " vs. " + self.x_axis_title)
else:
self.m_graph_ctrl.enableYLeftAxis(False)
@@ -304,14 +298,14 @@
self.m_graph_ctrl.setCurvePen(row.m_curve_2, QPen(self.m_Colors[row.layout.m_combo_box_1_color.currentItem()].qt_color))
self.m_graph_ctrl.setCurveYAxis(row.m_curve_2, QwtPlot.yRight)
if not self.m_combo_box_1.currentItem():
- self.m_graph_ctrl.setTitle(stat_2.name)
+ self.m_graph_ctrl.setTitle(stat_2.name + " vs. " + self.x_axis_title)
self.m_graph_ctrl.setAxisAutoScale(QwtPlot.xBottom)
if self.m_combo_box_1.currentItem() and self.m_combo_box_2.currentItem():
self.m_graph_ctrl.setTitle(self.m_avida_stats_interface.m_entries[self.m_combo_box_1.currentItem()].name + ' (' + self.pen_styles[self.m_combo_box_1_style.currentItem()] \
- + ') and ' + self.m_avida_stats_interface.m_entries[self.m_combo_box_2.currentItem()].name + ' (' + self.pen_styles[self.m_combo_box_2_style.currentItem()] +')')
+ + ') and ' + self.m_avida_stats_interface.m_entries[self.m_combo_box_2.currentItem()].name + ' (' + self.pen_styles[self.m_combo_box_2_style.currentItem()] +') vs. ' + self.x_axis_title)
bounding_rect_1 = self.m_graph_ctrl.curve(row.m_curve_1).boundingRect()
bounding_rect_2 = self.m_graph_ctrl.curve(row.m_curve_2).boundingRect()
bounding_rect = bounding_rect_1.unite(bounding_rect_2)
@@ -323,7 +317,7 @@
self.m_graph_ctrl.m_zoomer.setZoomBase(bounding_rect)
else: # goes with ' if self.m_combo_box_1.currentItem() or row.layout.m_combo_box_2.currentItem():'
- self.m_graph_ctrl.setTitle(self.m_avida_stats_interface.m_entries[0].name)
+ self.m_graph_ctrl.setTitle(self.m_avida_stats_interface.m_entries[0].name + " vs. " + self.x_axis_title)
self.m_graph_ctrl.setAxisTitle(QwtPlot.yLeft, self.m_avida_stats_interface.m_entries[0].name)
def modeActivatedSlot(self, selected = None, index = None):
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphView.ui
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphView.ui 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_GraphView.ui 2006-07-04 18:28:05 UTC (rev 796)
@@ -45,7 +45,7 @@
<property name="sizeHint">
<size>
<width>1</width>
- <height>32</height>
+ <height>1</height>
</size>
</property>
</spacer>
@@ -99,6 +99,9 @@
<property name="name">
<cstring>toolButton31_2</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="font">
<font>
<pointsize>10</pointsize>
@@ -169,7 +172,7 @@
<property name="sizePolicy">
<sizepolicy>
<hsizetype>5</hsizetype>
- <vsizetype>3</vsizetype>
+ <vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -185,7 +188,7 @@
<property name="sizePolicy">
<sizepolicy>
<hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -399,6 +402,16 @@
<property type="0">-1</property>
<property type="1">pyGraphCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyGraphCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGraphCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGraphCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGraphCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGraphCtrl</property>
+ <property type="0">-1</property>
<property type="pyGraphCtrl"></property>
<property type="-1">1</property>
</customwidget>
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAna_PetriDishView.ui 2006-07-04 18:28:05 UTC (rev 796)
@@ -85,50 +85,6 @@
<string>Name of population dragged in to analyze</string>
</property>
</widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout178</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer126</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Minimum</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>1</width>
- <height>1</height>
- </size>
- </property>
- </spacer>
- <spacer>
- <property name="name">
- <cstring>spacer126_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Minimum</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>1</width>
- <height>1</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
</hbox>
</widget>
<widget class="QLayoutWidget">
@@ -144,12 +100,12 @@
<cstring>m_ana_petri_dish_ctrl</cstring>
</property>
<property name="enabled">
- <bool>true</bool>
+ <bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
- <vsizetype>3</vsizetype>
+ <vsizetype>1</vsizetype>
<horstretch>5</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -159,10 +115,13 @@
<property name="name">
<cstring>m_ana_gradient_scale_ctrl</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <vsizetype>1</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -197,7 +156,7 @@
<property name="sizeHint">
<size>
<width>10</width>
- <height>10</height>
+ <height>2</height>
</size>
</property>
</spacer>
@@ -205,6 +164,9 @@
<property name="name">
<cstring>m_ana_live_controls_ctrl</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>0</hsizetype>
@@ -216,7 +178,7 @@
<property name="minimumSize">
<size>
<width>0</width>
- <height>50</height>
+ <height>10</height>
</size>
</property>
</widget>
@@ -233,7 +195,7 @@
<property name="sizeHint">
<size>
<width>10</width>
- <height>10</height>
+ <height>2</height>
</size>
</property>
</spacer>
@@ -308,6 +270,14 @@
<property type="0">-1</property>
<property type="1">pyPetriDishCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyPetriDishCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyPetriDishCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyPetriDishCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyPetriDishCtrl</property>
+ <property type="0">-1</property>
<property type="pyPetriDishCtrl"></property>
<property type="-1">1</property>
</customwidget>
@@ -377,6 +347,14 @@
<property type="0">-1</property>
<property type="1">pyGradientScaleCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyGradientScaleCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGradientScaleCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGradientScaleCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyGradientScaleCtrl</property>
+ <property type="0">-1</property>
<property type="pyGradientScaleCtrl"></property>
<property type="-1">1</property>
</customwidget>
@@ -402,22 +380,28 @@
<property type="3">-1</property>
<property type="1">pyAnalyzeControlsCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyAnalyzeControlsCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyAnalyzeControlsCtrl</property>
+ <property type="0">-1</property>
+ <property type="1">pyAnalyzeControlsCtrl</property>
+ <property type="0">-1</property>
<property type="pyAnalyzeControlsCtrl"></property>
<property type="-1">1</property>
</customwidget>
</customwidgets>
<images>
<image name="image0">
- <data format="PNG" length="2166">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000083d49444154789ced965d6c1cd515c7ffe7de99d9d94f7bbdfe88d71b6c123b350492b4e13340534844092204a2d2d2873685f6a55511a52d502168d5022a0d1105aa3e205024d440118516a9a050a08a8302095875e4382190388eedaced6ce2d8bbeb9dd999d9b9f7f481354a281508a9ea0b7fe9e8ce9566747ee77f8fee19e00bfd9f459fe7a3dede5e239148c4b4d63600b22ccbb36ddbedebebabfd4f00d6adbb36bd62c585975ebefaca65cb572cef1124b3c2b46dcb22101154a851ab05810afdc2c1a1fdc3834383075ff9fbdf76edd8b163ea7303343636e2baeb367cf9d65b6fbb6971f7791747ac0831989818600d8260800800181a520a862012c48665515c854a14a6f2fd8f3df6f09fb76d7bbaaf52a9e8cf0cb06cd9f2962d5b9eb8a367f1b24b49082622822408225b9a463c547e42a9c0545082344108c164183553d82e42ed1986884ac99284505ab12a4c8ff7fff887b7dcdfd7b7e3e8a7026cdc78d3d2dffdf689fb8561a749486870bc16786dfcfe60c63564cc4f35722dd02ca5412c04c0820166a5439206211a89503c1155f164836b9b56516be52985596173f1f1471f78e8a1071fdc797a3e79fa66f!
d861b7b376fdeba458568508c983b37d3633cf7444fe2d73f6d8cbef8ac55b87203478d2681532cec50520862d38ec194364cc3264346692e1260944eca5967c60a1ca7811447416645d528bc62ed555f65e58dec7efbedf1ff00685db020f2e49f5efcbd509166a752e928ce16cea955dc78707286e6b29d5ceeea6671f93a54a74be4557c049e0fb325c9562402614821a4c1920c7a3db69736d356da2107490651ee0e72e6ececa916210d82b2e6d65c73e545bb76ee782d7fec980b00c63cc05df7dc7375636b36373b796aa15b2d9d659971862541abafd3200841822d098ee55a95d64c81d6306c0b441244202249028295ef5167b599cbb24a29cf228e986c99292a1767737e508dc168f9e02777fde25bbb6fb8fe8f67f4c0beb1f1479853ebcbf9e35da68812910121084402009160b01586a23ae1906148f896e24436c362c621cd048a0aa86482df8dbf4f5c03a7c3283afc6648925a2a12cc1ab59a031911f9444b6af7b95d999bcf708028d6599e2c74466482200488058429191a421069105330576537f0c854041d8bb2a998bcb22212125eb50a95b1f41f8ce7c5341fa7b4d98847dd3bd4cb4dfdc66e0ca0432fe0ebdd8bb8c76dcd7a65af13401440751ec09cce9fe848990d426b01410299dddba9e9b9a7a46ecb626ed555287ded7a4e0f0fa0c94e70ada!
583fdb616f695a64a8c35c21a0bdb204ff8942d26a0559449d7286d36e0b03!
986823f8
58ae1d04c75096cab9b2a4e2927848868ad3f0288e99a9f86252009440651faf597608e1c068d8fa2d0bb82d2837bd0facbdb05b382d79ea38967778571af0a3b1227a3c91035db56b163a362ebe165ba965983627bbb1629139b0a6bf5517f094d739117193922084023a9b58e02281a00048048b9e49a0d51909416136be42fbf86d0d90bbb788abd4bd7726acfebe458064c2d515e7c0e9b8641e15c48811342b90a5e86a9e3f9271179f11941a601ebea1bd8b9e5365effab3b299416fc454b28fffd35ac88c0b66d0a216cadb531ef8071f88323a149315e98eb427ae81da40e0c40b5b6ebe08a35f0969cc7c34b73b0bebd49c7a7cb64b005a14145edb3960a61d54326d1c5aa3029825814863450cdb4c1ca8fc118fe8064a8402387801fdcaddca04a3293545a6b02401f35e1b1c9d1c3d90567779b91495ef4d236b277fe83c888d0f1af6fe0e9b5ab717bec11e1441d64dbb2b86ff6bb6ae55b2f5376600f6a6d3978e7af44592ee289079ed2ba5c044f8e01a934a2a18fb11bbfa78dc97162a78892ef09470b71a4ffdd3100b579000610eeec7be5d54b56ad5b973f3a4103c926ea5e9043cc7330b762151fb2a7c8a1392862b8ce2c3ad04a89e7b69218d84351d380bbfe6646ef4a12c2603466981a3204300f26c7e581a59771b35e8feca80d77a24076b2815f7d!
e19957018400c27980eabebdeff4ed1bdaf3afee6ccfca63975ccdde3737216ec6d0d09ce5aed9227ee4dec0d3b248920d6d9a3ee6c240c8540aa652a8f42c65a54230334002cc3580857859be8df766f68a6bdd5530fc76c4b4c5232307c6dfd8fe97bf02f000e8f98bc800d09a6e6abee0de4d3f7fb21d686d5d7416389164ce75217b78088d634761c7e35cb96c1d54ba9545a54455cb625d2913271a20e2093048b10e85ef7b54f55d1e8d4d88b6482369669cc817513e72aafcf0963bef181b1dfe2780e300fcf959a00128afea7a7b8787f69d7feef24bdadbda5261a281a014b94e85665bda68ca0fe888afa9367280e8e9c705bdb95de8fc119a5c740edc23efd389916139911fa3d98a43b1a42dce4eb4515246415585f143a3852d9befbe6f7474f84d00d3009c8f4fc31040e8ba4ef9adfdfd6f253299f6cef357e60c82e0aa4ba11fa0e478989249764f16e864ac09854c0ef9641bcf5871aa0e0e90373e8edad424e95a8d626dcdb0a3124ed9516fbcb6bdffc1dffcecdee3c727fbeb95973fba8171a608401c4006404bd7d9dd176ffcc677367e75f5b517472276d42939e244c9070a79a852112208a02c0b685d80c8a1fd90cc2002f4c22e9deae90a0e1eecdff7fc0bdb5e786fffe02e000500a700ccd51dff448079450034d4231d8f27ba565e78d9055f3a!
f72bcb524d1d67b52f5cbc2062462d3004b32668a57ca7549b1a3978e2647e!
647264f2
e8d0d0c1bd7bcae5d208801280627dadd69bfe8c8aff9b043e1c180900b1ba337100b610221e8dc6929615b18904825ae057dd8aa3949aab27a902a80070eb67ed02509f94e4b3fc15130013805577c6acafa21e5c7fa7860ffbc8af3ffb00828f57fc79003e2e715ae034005d0ffeb4a45fe80b9dae7f030cdbe8df8fa444040000000049454e44ae426082</data>
+ <data format="PNG" length="2166">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000083d494441545885ed965d6c1cd515c7ffe7de99d9d94f7bbdfe88d71b6c123b350492b4e13340534844092204a2d2d2873685f6a55511a52d502168d5022a0d1105aa3e205024d440118516a9a050a08a8302095875e4382190388eedaced6ce2d8bbeb9dd999d9b9f7f481354a281508a9ea0b7fe9e8ce9566747ee77f8fee19e00bfd9f459fe7a3dede5e239148c4b4d63600b22ccbb36ddbedebebabfd4f00d6adbb36bd62c585975ebefaca65cb572cef1124b3c2b46dcb22101154a851ab05810afdc2c1a1fdc3834383075ff9fbdf76edd8b163ea7303343636e2baeb367cf9d65b6fbb6971f7791747ac0831989818600d8260800800181a520a862012c48665515c854a14a6f2fd8f3df6f09fb76d7bbaaf52a9e8cf0cb06cd9f2962d5b9eb8a367f1b24b49082622822408225b9a463c547e42a9c0545082344108c164183553d82e42ed1986884ac99284505ab12a4c8ff7fff887b7dcdfd7b7e3e8a7026cdc78d3d2dffdf689fb8561a749486870bc16786dfcfe60c63564cc4f35722dd02ca5412c04c0820166a5439206211a89503c1155f164836b9b56516be52985596173f1f1471f78e8a1071fdc797a3e79fa66f!
d861b7b376fdeba458568508c983b37d3633cf7444fe2d73f6d8cbef8ac55b87203478d2681532cec50520862d38ec194364cc3264346692e1260944eca5967c60a1ca7811447416645d528bc62ed555f65e58dec7efbedf1ff00685db020f2e49f5efcbd509166a752e928ce16cea955dc78707286e6b29d5ceeea6671f93a54a74be4557c049e0fb325c9562402614821a4c1920c7a3db69736d356da2107490651ee0e72e6ececa916210d82b2e6d65c73e545bb76ee782d7fec980b00c63cc05df7dc7375636b36373b796aa15b2d9d659971862541abafd3200841822d098ee55a95d64c81d6306c0b441244202249028295ef5167b599cbb24a29cf228e986c99292a1767737e508dc168f9e02777fde25bbb6fb8fe8f67f4c0beb1f1479853ebcbf9e35da68812910121084402009160b01586a23ae1906148f896e24436c362c621cd048a0aa86482df8dbf4f5c03a7c3283afc6648925a2a12cc1ab59a031911f9444b6af7b95d999bcf708028d6599e2c74466482200488058429191a421069105330576537f0c854041d8bb2a998bcb22212125eb50a95b1f41f8ce7c5341fa7b4d98847dd3bd4cb4dfdc66e0ca0432fe0ebdd8bb8c76dcd7a65af13401440751ec09cce9fe848990d426b01410299dddba9e9b9a7a46ecb626ed555287ded7a4e0f0fa0c94e70ada!
583fdb616f695a64a8c35c21a0bdb204ff8942d26a0559449d7286d36e0b03!
986823f8
58ae1d04c75096cab9b2a4e2927848868ad3f0288e99a9f86252009440651faf597608e1c068d8fa2d0bb82d2837bd0facbdb05b382d79ea38967778571af0a3b1227a3c91035db56b163a362ebe165ba965983627bbb1629139b0a6bf5517f094d739117193922084023a9b58e02281a00048048b9e49a0d51909416136be42fbf86d0d90bbb788abd4bd7726acfebe458064c2d515e7c0e9b8641e15c48811342b90a5e86a9e3f9271179f11941a601ebea1bd8b9e5365effab3b299416fc454b28fffd35ac88c0b66d0a216cadb531ef8071f88323a149315e98eb427ae81da40e0c40b5b6ebe08a35f0969cc7c34b73b0bebd49c7a7cb64b005a14145edb3960a61d54326d1c5aa3029825814863450cdb4c1ca8fc118fe8064a8402387801fdcaddca04a3293545a6b02401f35e1b1c9d1c3d90567779b91495ef4d236b277fe83c888d0f1af6fe0e9b5ab717bec11e1441d64dbb2b86ff6bb6ae55b2f5376600f6a6d3978e7af44592ee289079ed2ba5c044f8e01a934a2a18fb11bbfa78dc97162a78892ef09470b71a4ffdd3100b579000610eeec7be5d54b56ad5b973f3a4103c926ea5e9043cc7330b762151fb2a7c8a1392862b8ce2c3ad04a89e7b69218d84351d380bbfe6646ef4a12c2603466981a3204300f26c7e581a59771b35e8feca80d77a24076b2815f7d!
e19957018400c27980eabebdeff4ed1bdaf3afee6ccfca63975ccdde3737216ec6d0d09ce5aed9227ee4dec0d3b248920d6d9a3ee6c240c8540aa652a8f42c65a54230334002cc3580857859be8df766f68a6bdd5530fc76c4b4c5232307c6dfd8fe97bf02f000e8f98bc800d09a6e6abee0de4d3f7fb21d686d5d7416389164ce75217b78088d634761c7e35cb96c1d54ba9545a54455cb625d2913271a20e2093048b10e85ef7b54f55d1e8d4d88b6482369669cc817513e72aafcf0963bef181b1dfe2780e300fcf959a00128afea7a7b8787f69d7feef24bdadbda5261a281a014b94e85665bda68ca0fe888afa9367280e8e9c705bdb95de8fc119a5c740edc23efd389916139911fa3d98a43b1a42dce4eb4515246415585f143a3852d9befbe6f7474f84d00d3009c8f4fc31040e8ba4ef9adfdfd6f253299f6cef357e60c82e0aa4ba11fa0e478989249764f16e864ac09854c0ef9641bcf5871aa0e0e90373e8edad424e95a8d626dcdb0a3124ed9516fbcb6bdffc1dffcecdee3c727fbeb95973fba8171a608401c4006404bd7d9dd176ffcc677367e75f5b517472276d42939e244c9070a79a852112208a02c0b685d80c8a1fd90cc2002f4c22e9deae90a0e1eecdff7fc0bdb5e786fffe02e000500a700ccd51dff448079450034d4231d8f27ba565e78d9055f3a!
f72bcb524d1d67b52f5cbc2062462d3004b32668a57ca7549b1a3978e2647e!
647264f2
e8d0d0c1bd7bcae5d208801280627dadd69bfe8c8aff9b043e1c180900b1ba337100b610221e8dc6929615b18904825ae057dd8aa3949aab27a902a80070eb67ed02509f94e4b3fc15130013805577c6acafa21e5c7fa7860ffbc8af3ffb00828f57fc79003e2e715ae034005d0ffeb4a45fe80b9dae7f030cdbe8df8596ae200000000049454e44ae426082</data>
</image>
<image name="image1">
- <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154789cad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7!
ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e05!
82c261e95f8bfc04f1a1e8bc5c4dfe0a19017a725d8c60000000049454e44a!
e426082<
/data>
+ <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7!
ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e05!
82c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44a!
e426082<
/data>
</image>
</images>
<layoutdefaults spacing="6" margin="11"/>
<includehints>
- <includehint>pypetridishctrl.h</includehint>
- <includehint>pygradientscalectrl.h</includehint>
- <includehint>pyanalyzecontrolsctrl.h</includehint>
+ <includehint>1</includehint>
+ <includehint>1</includehint>
+ <includehint>1</includehint>
</includehints>
</UI>
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeCtrl.py 2006-07-04 18:28:05 UTC (rev 796)
@@ -81,7 +81,9 @@
freezer_item_name = str(e.encodedData("text/plain"))
if os.path.exists(freezer_item_name) == False:
print "that was not a valid path(3)"
- else:
+ else:
+ if self.m_one_ana_graph_ctrl.check_file(freezer_item_name):
+ self.m_one_ana_petri_ctrl.m_one_ana_pop_name.setText("")
self.emit(PYSIGNAL("freezerItemDroppedInOneAnalyzeSig"), (e,))
def freezerItemDoubleClicked(self, freezer_item_name):
@@ -89,6 +91,8 @@
print "that was not a valid path(3)"
else:
if self.isVisible():
+ if self.m_one_ana_graph_ctrl.check_file(freezer_item_name):
+ self.m_one_ana_petri_ctrl.m_one_ana_pop_name.setText("")
self.emit(PYSIGNAL("freezerItemDoubleClickedOnInOneAnaSig"),
(freezer_item_name,))
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneAnalyzeView.ui 2006-07-04 18:28:05 UTC (rev 796)
@@ -46,15 +46,21 @@
<property name="name">
<cstring>m_one_ana_stats_ctrl</cstring>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
</widget>
<widget class="pyOneAna_PetriDishCtrl">
<property name="name">
<cstring>m_one_ana_petri_ctrl</cstring>
</property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
- <vsizetype>3</vsizetype>
+ <vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -116,6 +122,8 @@
<property type="3">-1</property>
<property type="1">pyOneAna_GraphCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyOneAna_GraphCtrl</property>
+ <property type="0">-1</property>
<property type="pyOneAna_GraphCtrl"></property>
<property type="-1">1</property>
</customwidget>
@@ -141,6 +149,8 @@
<property type="3">-1</property>
<property type="1">pyOneAna_PetriDishCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyOneAna_PetriDishCtrl</property>
+ <property type="0">-1</property>
<property type="pyOneAna_PetriDishCtrl"></property>
<property type="-1">1</property>
</customwidget>
@@ -166,6 +176,8 @@
<property type="3">-1</property>
<property type="1">pyOneAna_StatsCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyOneAna_StatsCtrl</property>
+ <property type="0">-1</property>
<property type="pyOneAna_StatsCtrl"></property>
<property type="-1">1</property>
</customwidget>
@@ -191,20 +203,22 @@
<property type="3">-1</property>
<property type="1">pyOneAna_TimelineCtrl</property>
<property type="0">-1</property>
+ <property type="1">pyOneAna_TimelineCtrl</property>
+ <property type="0">-1</property>
<property type="pyOneAna_TimelineCtrl"></property>
<property type="-1">1</property>
</customwidget>
</customwidgets>
<images>
<image name="image0">
- <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154789cad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7!
ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e05!
82c261e95f8bfc04f1a1e8bc5c4dfe0a19017a725d8c60000000049454e44a!
e426082<
/data>
+ <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7!
ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e05!
82c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44a!
e426082<
/data>
</image>
</images>
<layoutdefaults spacing="6" margin="11"/>
<includehints>
- <includehint>pyoneana_statsctrl.h</includehint>
- <includehint>pyoneana_petridishctrl.h</includehint>
- <includehint>pyoneana_graphctrl.h</includehint>
- <includehint>pyoneana_timelinectrl.h</includehint>
+ <includehint>1</includehint>
+ <includehint>1</includehint>
+ <includehint>1</includehint>
+ <includehint>1</includehint>
</includehints>
</UI>
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrg_ScopeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrg_ScopeCtrl.py 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOneOrg_ScopeCtrl.py 2006-07-04 18:28:05 UTC (rev 796)
@@ -23,8 +23,9 @@
# TODO: example to show flags, need to hook into TestCPU to get proper
# organism events
- self.m_timeline.addFlag(Flag("timeline_arrow.png", 86, "First write into child"))
- self.m_timeline.addFlag(Flag("timeline_arrow.png", 385, "Organism divide"))
+# self.m_timeline.addFlag(Flag("timeline_arrow.png", 86, "First write into child"))
+# self.m_timeline.addFlag(Flag("timeline_arrow.png", 385, "Organism divide"))
+ self.m_organism_scope_ctrl.m_timeline = self.m_timeline
self.connect(
self.m_execution_step_slider, qt.SIGNAL("valueChanged(int)"),
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeCtrl.py 2006-07-04 18:28:05 UTC (rev 796)
@@ -3,7 +3,7 @@
from pyOrganismScopeView2 import pyOrganismScopeView2
from AvidaCore import cAnalyzeGenotype, cGenome, cInstruction, cInstUtil, cString
from pyHardwareTracer import pyHardwareTracer
-
+from pyTimeline import pyTimeline, Flag
from qt import *
import os
@@ -155,6 +155,9 @@
self.setOps(ops)
self.setFrames(hardware_tracer.m_hardware_trace)
+ self.m_timeline.reset()
+ self.flagEvents()
+
progress_callback.clear()
self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("statusBarClearSig"), ())
@@ -212,4 +215,24 @@
def HardwareIndicatorSBValueChangedSlot(self, value):
self.anim.setHardwareIndicatorSBValueChanged(value)
-
+ def flagEvents(self):
+ "Flag events on timeline"
+ if self.m_frames is not None:
+ # task_completed holds frame number for when a task was first completed
+ task_completed = []
+ task_lib = self.m_avida.m_environment.GetTaskLib()
+ num_tasks = task_lib.GetSize()
+ print "num_tasks: %d" % (num_tasks)
+ for task in xrange(num_tasks):
+ task_completed.append(False)
+ for task in xrange(num_tasks):
+ for frame in xrange(self.m_frames.getSnapshotCount()):
+ if self.m_frames.m_tasks_info[frame][task] > 0:
+ if task_completed[task] == False:
+ task_completed[task] = True
+ self.m_timeline.addFlag(
+ Flag("timeline_arrow.png", frame,
+ "Completed first %s task" % (task_lib.GetTask(task).GetDesc())))
+ # Task completed, don't need to search any more frames for this
+ # task
+ break
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py 2006-07-04 18:28:05 UTC (rev 796)
@@ -420,6 +420,7 @@
if self.m_frames is not None and frame_number < self.m_frames.m_gestation_time:
#self.debug_displayHardwareCPUSnapshot(frame_number)
+
self.m_current_frame_number = frame_number
self.m_current_genome = self.m_frames.m_genome_info[self.m_current_frame_number]
displayed_genome_size = max(self.last_copied_instruction_cache[self.m_current_frame_number] + 1, self.m_parent_size)
Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyTimeline.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyTimeline.py 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyTimeline.py 2006-07-04 18:28:05 UTC (rev 796)
@@ -47,6 +47,8 @@
self.move_flag(flag)
if self.maxValue() == 0.0:
flag.widget.hide()
+ else:
+ flag.widget.show()
def move_flag(self, flag):
"Draw the flag in the proper location"
@@ -61,12 +63,13 @@
# TODO: figure out proper geometry code
a = self.width() - 418
mult = a / (self.maxValue() - self.minValue())
-# print self.height()
-# print "frameGeometry: %d" % (self.frameSize().width())
-# print "size: %d" % (self.width())
-# print flag.pos * mult
-# print adj
-# print borders
+# print "frameGeometry: %d" % (self.frameSize().width())
+# print "size: %d" % (self.width())
+# print flag.pos * mult
+# print adj
+# print borders
+# print "maxValue(): %d" % (self.maxValue())
+# print "final value: %f" % ((flag.pos * mult) + adj + borders)
flag.widget.move((flag.pos * mult) + adj + borders, 2)
def removeFlag(self, pos):
@@ -104,4 +107,5 @@
def reset(self):
"Reset the timeline, hiding all flags"
for flag in self.flags:
- flag.widget.hide()
+ flag.widget.close(True)
+ self.flags = []
Modified: branches/developers/avida-edward/source/python/AvidaGui2/to-do_list
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/to-do_list 2006-07-03 20:22:12 UTC (rev 795)
+++ branches/developers/avida-edward/source/python/AvidaGui2/to-do_list 2006-07-04 18:28:05 UTC (rev 796)
@@ -114,11 +114,7 @@
08-Jun-06 Add printing/saving images to organism and population stats view.
-03-Jul-06 Fix analysis mode pop box resizing issues
03-Jul-06 Delete extra whitespace at top of analysis-mode
-03-Jul-06 Change title to y-axis vs. x-axis
-03-Jul-06 Remove "Drag a Full Petri Dish..." after first dish is dragged
-03-Jul-06 Remove flip arrow on analyze mode
************Other*****************
a. Under the sliders with ranges put a few values in grey that tell you the range min and max (non)
@@ -196,6 +192,10 @@
30-May-06 Printing of petri dish and of color scale -- Finished 06-Jun-06
30-May-06 Fill out save image dialog with default filename that includes update and other info -- Finished 19-Jun-06
12-Jun-06 Add ability to analyze more than one population. -- Finished 22-Jun-06
+03-Jul-06 Fix analysis mode pop box resizing issues -- Finished 04-Jul-06
+03-Jul-06 Remove flip arrow on analyze mode -- Finished 04-Jul-06
+03-Jul-06 Change title to y-axis vs. x-axis -- Finished 04-Jul-06
+03-Jul-06 Remove "Drag a Full Petri Dish..." after first dish is graphed -- Finished 04-Jul-06
*************Jeff********************
More information about the Avida-cvs
mailing list