[Avida-cvs] [Avida2-svn] r60 - trunk/source/python/AvidaGui2
baerb at myxo.css.msu.edu
baerb at myxo.css.msu.edu
Wed Mar 16 12:46:36 PST 2005
Author: baerb
Date: 2005-03-16 15:46:36 -0500 (Wed, 16 Mar 2005)
New Revision: 60
Added:
trunk/source/python/AvidaGui2/pyFreezeDialogCtrl.py
trunk/source/python/AvidaGui2/pyFreezeDialogView.ui
Modified:
trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
trunk/source/python/AvidaGui2/pyTemporaryReloads.py
Log:
More code to allow saving of items to the freezer. Interface is finished
actual writing still needs work.
Added: trunk/source/python/AvidaGui2/pyFreezeDialogCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyFreezeDialogCtrl.py 2005-03-16 20:41:16 UTC (rev 59)
+++ trunk/source/python/AvidaGui2/pyFreezeDialogCtrl.py 2005-03-16 20:46:36 UTC (rev 60)
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+
+from qt import *
+from pyFreezeDialogView import pyFreezeDialogView
+import shutil, os, os.path
+
+# class to pop up a dialog box to ask for what to freeze and to
+# return the name of a file to save information to be frozen
+
+class pyFreezeDialogCtrl (pyFreezeDialogView):
+ def __init__(self):
+ pyFreezeDialogView.__init__(self)
+
+ def showDialog(self, freezer_dir = None):
+ found_valid_name = False
+ dialog_result = 1
+ while (found_valid_name == False and dialog_result > 0):
+ while (self.exec_loop() and self.result() == 0):
+ pass
+ dialog_result = self.result()
+ tmp_name = str(self.FileNameLineEdit.text())
+ if dialog_result == 0:
+ return ''
+ elif (tmp_name == ''):
+ found_valid_name = False
+ self.MainMessageTextLabel.setText("Enter a Non-Blank Name of Item to Freeze")
+ else:
+ if self.EmptyRadioButton.isChecked():
+ if (tmp_name.endswith(".empty") == False):
+ tmp_name = tmp_name + ".empty"
+ tmp_name = freezer_dir + tmp_name
+ if os.path.exists(tmp_name):
+ found_valid_name = False
+ self.MainMessageTextLabel.setText("Petri Dish Exists, Please Enter a Different Name")
+ else:
+ found_valid_name = True
+ return tmp_name
+ else:
+ if (tmp_name.endswith(".full") == False):
+ tmp_name = tmp_name + ".full"
+ tmp_name = freezer_dir + tmp_name
+ if os.path.exists(tmp_name):
+ found_valid_name = False
+ self.MainMessageTextLabel.setText("Petri Dish Exists, Please Enter a Different Name")
+ else:
+ found_valid_name = True
+ return tmp_name
+
+ def isEmpty(self):
+ if self.EmptyRadioButton.isChecked():
+ return True
+ else:
+ return False
+
Added: trunk/source/python/AvidaGui2/pyFreezeDialogView.ui
===================================================================
--- trunk/source/python/AvidaGui2/pyFreezeDialogView.ui 2005-03-16 20:41:16 UTC (rev 59)
+++ trunk/source/python/AvidaGui2/pyFreezeDialogView.ui 2005-03-16 20:46:36 UTC (rev 60)
@@ -0,0 +1,127 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>pyFreezeDialogView</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>pyFreezeDialogView</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>392</width>
+ <height>152</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Freeze</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>MainMessageTextLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Enter Name of Item to Freeze</string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>FileNameLineEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>FullEmptyButtonGroup</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>FullRadioButton</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>170</x>
+ <y>10</y>
+ <width>117</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Full Petri Dish</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton">
+ <property name="name">
+ <cstring>EmptyRadioButton</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>10</y>
+ <width>140</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Empty Petri Dish</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>SaveToFreezerPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>Freeze</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>CancelPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>SaveToFreezerPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>pyFreezeDialogView</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>CancelPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>pyFreezeDialogView</receiver>
+ <slot>reject()</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
Modified: trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py 2005-03-16 20:41:16 UTC (rev 59)
+++ trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py 2005-03-16 20:46:36 UTC (rev 60)
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
-from AvidaCore import cConfig
from qt import *
from pyPetriConfigureView import pyPetriConfigureView
from pyWriteGenesis import pyWriteGenesis
+from pyFreezeDialogCtrl import pyFreezeDialogCtrl
class pyPetriConfigureCtrl(pyPetriConfigureView):
@@ -165,7 +165,7 @@
settings_info["MAX_UPDATES"] = -1
settings_info["WORLD-X"] = self.WorldSizeSlider.value()
settings_info["WORLD-Y"] = self.WorldSizeSlider.value()
- if self.RandomFixedRadioButton.isChecked == True:
+ if self.RandomFixedRadioButton.isChecked() == True:
settings_info["RANDOM_SEED"] = self.RandomSpinBox.value()
else:
settings_info["RANDOM_SEED"] = 0
@@ -183,7 +183,13 @@
return tmp_dict
def FreezePetriSlot(self, freeze_dir = None, population_dict = None):
- print "called FreezePetriSlot"
+ m_pop_up_freezer_file_name = pyFreezeDialogCtrl()
+ file_name = m_pop_up_freezer_file_name.showDialog("freezer/")
+ isEmpty = m_pop_up_freezer_file_name.isEmpty()
+ print str(m_pop_up_freezer_file_name.FileNameLineEdit.text())
+# print "Name = " + str(m_pop_up_freezer_file_name.FileNameLineEdit.text())
+# print "Empty? = " + str (m_pop_up_freezer_file_name.EmptyRadioButton.isChecked())
+# print "Result = " + str(m_pop_up_freezer_file_name.result())
tmp_dict = self.Form2Dictionary()
tmp_dict["POPULATION"] = population_dict
print tmp_dict
Modified: trunk/source/python/AvidaGui2/pyTemporaryReloads.py
===================================================================
--- trunk/source/python/AvidaGui2/pyTemporaryReloads.py 2005-03-16 20:41:16 UTC (rev 59)
+++ trunk/source/python/AvidaGui2/pyTemporaryReloads.py 2005-03-16 20:46:36 UTC (rev 60)
@@ -45,6 +45,8 @@
nontest_module_names = [
"AvidaGui2.pyAnalyzeControlsView",
"AvidaGui2.pyAnalyzeControlsCtrl",
+ "AvidaGui2.pyFreezeDialogView",
+ "AvidaGui2.pyFreezeDialogCtrl",
"AvidaGui2.pyFreezerView",
"AvidaGui2.pyFreezerCtrl",
"AvidaGui2.pyGradientScaleView",
More information about the Avida-cvs
mailing list