[Avida-SVN] r3519 - in branches/developers/avida-edward/source/python: . default.workspace/plugins/multidish_su/ae_plugin

welsberr at myxo.css.msu.edu welsberr at myxo.css.msu.edu
Sun Nov 1 13:08:42 PST 2009


Author: welsberr
Date: 2009-11-01 16:08:42 -0500 (Sun, 01 Nov 2009)
New Revision: 3519

Modified:
   branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDDishAssembly.py
   branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormCtrl.py
   branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.py
   branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.ui
   branches/developers/avida-edward/source/python/setup_osx.py.in
Log:
Sub-dish size testing for Multi-Dish Avida-ED


Modified: branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDDishAssembly.py
===================================================================
--- branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDDishAssembly.py	2009-10-31 04:45:29 UTC (rev 3518)
+++ branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDDishAssembly.py	2009-11-01 21:08:42 UTC (rev 3519)
@@ -11,6 +11,7 @@
 import pyMDLineage
 import sys
 import string
+from descr import *
 
 class MDDishAssembly():
     """
@@ -87,6 +88,14 @@
         """
         print "makeMultiDish(%s,%s)" % (md_name,workspace_dir)
 
+        # Clear temporary dictionaries
+        settings_dict = {}
+        organisms_dict = {}
+        anc_names_dict = {}
+        anc_links_dict = {}
+        cells_dict = {}
+        md_dict = {}
+
         # Check various things
 
         # Multi-dish needs to have ".full" suffix
@@ -105,6 +114,13 @@
         if (0 and (True == os.path.exists(mdfullpath))):
             print "makeMultiDish error: file %s does exist" % (mdfullpath)
             return(-2)
+
+        # Add a check here that the sub-dish is not too large
+        # TBD
+        # Size of multi-dish
+        settings_dict['WORLD-X'] = self.sd_sizex * self.sd_x
+        settings_dict['WORLD-Y'] = self.sd_sizey * self.sd_y
+        md_cell_limit = settings_dict['WORLD-X'] * settings_dict['WORLD-Y']
         
         print "makeMultiDish : checks OK, processing"
         # Checks complete, so make the multi-dish
@@ -115,14 +131,6 @@
         # Make the full filename
         mdfname = "%s/%s.full" % (workspace_dir,md_name)
         
-        # Clear temporary dictionaries
-        settings_dict = {}
-        organisms_dict = {}
-        anc_names_dict = {}
-        anc_links_dict = {}
-        cells_dict = {}
-        md_dict = {}
-
         # Create "petri_dish" file
         pdname = mdfullpath + '/petri_dish'
 
@@ -139,10 +147,6 @@
         settings_dict['REWARD_XOR'] = "NO"
         settings_dict['REWARD_EQU'] = "NO"
 
-        # Size of multi-dish
-        settings_dict['WORLD-X'] = self.sd_sizex * self.sd_x
-        settings_dict['WORLD-Y'] = self.sd_sizey * self.sd_y
-
         settings_dict["COPY_MUT_PROB"] = 0.02
 
         settings_dict["BIRTH_METHOD"] = 4
@@ -220,12 +224,27 @@
             sdcells = {}
             sdorgs = {}
             sdset = {}
+            
             sdcells = self.sds[sdn].dictionary["CELLS"]
             sdorgs = self.sds[sdn].dictionary["ORGANISMS"]
             sdset = self.sds[sdn].dictionary["SETTINGS"]
+
+            # Check for right-sized sub-dish
+            if ((str(sdset['WORLD-X']) != str(self.sd_sizex)) or (str(sdset['WORLD-Y']) != str(self.sd_sizey))):
+                print "Sub-dish %s has wrong dimensions, skipping it: X %s != %s, Y %s != %s" % (sdn,sdset['WORLD-X'],self.sd_sizex,sdset['WORLD-Y'],self.sd_sizey)
+                # How about a messagebox for this? TBD
+                # warning("You are a bonehead and set the grid sizes wrong ")
+                warning("The sub-dish expected size is %sx%s, but sub-dish %s is %sx%s " % (self.sd_sizex,self.sd_sizey,sdn,sdset['WORLD-X'],sdset['WORLD-Y']) )
+                continue
+
             # Clear the sub-dish to multi-dish organism index dict
             sd_orgn = {}
             for orgn in sdorgs.keys():  # orgn has sub-dish organism number
+                # Sanity check: will this map to a valid place in the multi-dish?
+                # TBD
+                # Problem: Organism maps to possibly many cells, so can we trim the 
+                # organism list to only those that exist in valid cells?
+
                 # sub-dish org to multi-dish org conversion
                 sd_orgn[orgn] = md_org_n    # Associate it with the current multi-dish organism number
                 md_org_n += 1               # Increment the current multi-dish organism number
@@ -263,8 +282,15 @@
 
                 #print "md cell = %s, md x = %s, md y = %s" % (mdc, mdx, mdy)
                 sys.stdout.flush()
-                # Set it in the dict
-                cells_dict[mdc] = sd_orgn[orgn]
+
+                # Sanity check: will this map to a valid place in the multi-dish?
+                if (mdc < md_cell_limit):
+                    # Set it in the dict
+                    cells_dict[mdc] = sd_orgn[orgn]
+                else:
+                    # Probably should warn the user that there is a problem here
+                    # TBD
+                    pass
             # END: for cell in sdcells
 
             # Handle settings

Modified: branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormCtrl.py
===================================================================
--- branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormCtrl.py	2009-10-31 04:45:29 UTC (rev 3518)
+++ branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormCtrl.py	2009-11-01 21:08:42 UTC (rev 3519)
@@ -11,6 +11,8 @@
 from pyMDDishAssembly import MDDishAssembly
 from pyDiversitySandbox import *
 #from pyWutils import *
+from pyReadFreezer import *
+from descr import *
 
 def before(instr,pat):
     """
@@ -69,7 +71,22 @@
         self.session_model = session_model
         self.mdda = MDDishAssembly()
 
+    def MDSubDishGetSize(self,sd_name):
+        """
+        MDSubDishGetSize
 
+        Method to retrieve X and Y dimensions of the sub-dish.
+        """
+        # Have sub-dish, read the information
+        petridish = "%s/%s.full/petri_dish" % (self.session_model.m_current_freezer,sd_name)
+        sds = pyReadFreezer(petridish)
+
+        sdset = {}
+            
+        sdset = sds.dictionary["SETTINGS"]
+
+        return (sdset['WORLD-X'],sdset['WORLD-Y'])
+
     def MDSSetValuesButtonClick(self):
         """
         MDSSetValuesButtonClick
@@ -87,7 +104,7 @@
 
         self.mdname = self.view_form.md_name_lineEdit.text()
 
-        ostr = "MD: SDx=%s, SDy=%s, SDnx=%s, SDny=%s, size=%sx%s" % (self.sdx,
+        ostr = "SDx=%s, SDy=%s, SDnx=%s, SDny=%s, size=%sx%s" % (self.sdx,
                                                                      self.sdy,
                                                                      self.sdnx,
                                                                      self.sdny,
@@ -171,6 +188,21 @@
         """
         print "MDSSubDishAddButtonClick"
 
+        sd_name = before(str(self.view_form.sd_pick_comboBox.currentText()),".full")
+        (thisx,thisy) = self.MDSubDishGetSize(sd_name)
+
+        # warning("Your sub-dish %s is of size %sx%s" % (sd_name,thisx,thisy))
+        # Check for right-sized sub-dish                                                                                                                                                                                                
+        if ((str(thisx) != str(self.sdnx)) or (str(thisy) != str(self.sdny))):
+            print "Sub-dish %s has wrong dimensions, skipping it: X %s != %s, Y %s != %s" % (sd_name,thisx,self.sdnx,thisy,self.sdny)
+            # How about a messagebox for this? TBD
+            # As suggested in email: warning("You are a bonehead and set the grid sizes wrong ")
+            # As implemented:
+            warning("The sub-dish expected size is %sx%s, but sub-dish %s is %sx%s " % (self.sdnx,self.sdny,sd_name,thisx,thisy) )
+            return
+
+
+
         # Track the new assignment in the layout
         sdpos = self.view_form.sd_pos_in_md_spinBox.value()
         self.mdsdpos[sdpos] = "%12s %2d" % (before(str(self.view_form.sd_pick_comboBox.currentText()),".full"),sdpos)
@@ -285,7 +317,7 @@
 
         divcalc = diversity()
 
-        tstr = "Total pop. size = %s" % (self.session_model.md_diversity["POP_COUNTS"]["TOTAL"])
+        tstr = "Update: %s, Total pop. size = %s" % (self.session_model.md_runstats["UPDATE"], self.session_model.md_diversity["POP_COUNTS"]["TOTAL"])
         self.view_form.MDDiversity_textEdit.append(tstr)
 
         tstr = " "
@@ -360,7 +392,7 @@
         tstr = " "
         self.view_form.MDDiversity_textEdit.append(tstr)
 
-        tstr = "Report of Diversity Measures (Genome length = %s, Phenotype length = %s" % (len(self.session_model.md_diversity["POP_GEN"]["TOTAL"][0]),
+        tstr = "Report of Diversity Measures (Genome length = %s, Phenotype length = %s)" % (len(self.session_model.md_diversity["POP_GEN"]["TOTAL"][0]),
                                                                                             len(self.session_model.md_diversity["POP_PHEN"]["TOTAL"][0]))
         self.view_form.MDDiversity_textEdit.append(tstr)
         tstr = " "

Modified: branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.py
===================================================================
--- branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.py	2009-10-31 04:45:29 UTC (rev 3518)
+++ branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.py	2009-11-01 21:08:42 UTC (rev 3519)
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'pyMDSetupFormView.ui'
 #
-# Created: Sat Aug 1 22:57:09 2009
+# Created: Sat Aug 15 23:40:16 2009
 #      by: The PyQt User Interface Compiler (pyuic) 3.17.6
 #
 # WARNING! All changes made in this file will be lost!
@@ -25,21 +25,49 @@
 
         self.tab = QWidget(self.tabWidget2,"tab")
 
-        self.setMDParams_groupBox = QGroupBox(self.tab,"setMDParams_groupBox")
-        self.setMDParams_groupBox.setGeometry(QRect(0,0,500,170))
+        self.generateMulti_Dish_groupBox = QGroupBox(self.tab,"generateMulti_Dish_groupBox")
+        self.generateMulti_Dish_groupBox.setGeometry(QRect(508,442,250,130))
 
-        self.md_set_values_pushButton = QPushButton(self.setMDParams_groupBox,"md_set_values_pushButton")
-        self.md_set_values_pushButton.setGeometry(QRect(11,129,117,32))
+        self.md_generate_pushButton = QPushButton(self.generateMulti_Dish_groupBox,"md_generate_pushButton")
+        self.md_generate_pushButton.setGeometry(QRect(22,58,200,32))
 
-        self.md_values_textLabel = QLabel(self.setMDParams_groupBox,"md_values_textLabel")
-        self.md_values_textLabel.setGeometry(QRect(134,129,345,32))
+        self.setSubDishLayout_groupBox = QGroupBox(self.tab,"setSubDishLayout_groupBox")
+        self.setSubDishLayout_groupBox.setGeometry(QRect(0,200,500,410))
 
-        self.md_name_textLabel = QLabel(self.setMDParams_groupBox,"md_name_textLabel")
-        self.md_name_textLabel.setGeometry(QRect(12,100,107,22))
+        LayoutWidget = QWidget(self.setSubDishLayout_groupBox,"layout20")
+        LayoutWidget.setGeometry(QRect(12,28,460,50))
+        layout20 = QHBoxLayout(LayoutWidget,11,6,"layout20")
 
-        self.md_name_lineEdit = QLineEdit(self.setMDParams_groupBox,"md_name_lineEdit")
-        self.md_name_lineEdit.setGeometry(QRect(125,100,353,22))
+        self.sd_pick_textLabel = QLabel(LayoutWidget,"sd_pick_textLabel")
+        layout20.addWidget(self.sd_pick_textLabel)
 
+        self.sd_pick_comboBox = QComboBox(0,LayoutWidget,"sd_pick_comboBox")
+        layout20.addWidget(self.sd_pick_comboBox)
+
+        self.sd_list_refresh_pushButton = QPushButton(LayoutWidget,"sd_list_refresh_pushButton")
+        layout20.addWidget(self.sd_list_refresh_pushButton)
+
+        self.sd_pos_in_md_textLabel = QLabel(self.setSubDishLayout_groupBox,"sd_pos_in_md_textLabel")
+        self.sd_pos_in_md_textLabel.setGeometry(QRect(15,91,247,32))
+
+        self.sd_pos_in_md_spinBox = QSpinBox(self.setSubDishLayout_groupBox,"sd_pos_in_md_spinBox")
+        self.sd_pos_in_md_spinBox.setGeometry(QRect(268,94,59,26))
+        self.sd_pos_in_md_spinBox.setMinValue(1)
+
+        self.sd_add_pushButton = QPushButton(self.setSubDishLayout_groupBox,"sd_add_pushButton")
+        self.sd_add_pushButton.setGeometry(QRect(333,91,119,32))
+
+        self.md_layout_textEdit = QTextEdit(self.setSubDishLayout_groupBox,"md_layout_textEdit")
+        self.md_layout_textEdit.setGeometry(QRect(10,130,480,270))
+        md_layout_textEdit_font = QFont(self.md_layout_textEdit.font())
+        md_layout_textEdit_font.setFamily("Courier New")
+        md_layout_textEdit_font.setBold(1)
+        self.md_layout_textEdit.setFont(md_layout_textEdit_font)
+        self.md_layout_textEdit.setWordWrap(QTextEdit.NoWrap)
+
+        self.setMDParams_groupBox = QGroupBox(self.tab,"setMDParams_groupBox")
+        self.setMDParams_groupBox.setGeometry(QRect(0,0,500,200))
+
         self.sdy_textLabel = QLabel(self.setMDParams_groupBox,"sdy_textLabel")
         self.sdy_textLabel.setGeometry(QRect(12,66,116,26))
 
@@ -72,45 +100,21 @@
         self.sdny_spinBox.setMinValue(1)
         self.sdny_spinBox.setValue(30)
 
-        self.generateMulti_Dish_groupBox = QGroupBox(self.tab,"generateMulti_Dish_groupBox")
-        self.generateMulti_Dish_groupBox.setGeometry(QRect(508,442,250,130))
+        self.md_values_textLabel = QLabel(self.setMDParams_groupBox,"md_values_textLabel")
+        self.md_values_textLabel.setGeometry(QRect(133,160,345,32))
 
-        self.md_generate_pushButton = QPushButton(self.generateMulti_Dish_groupBox,"md_generate_pushButton")
-        self.md_generate_pushButton.setGeometry(QRect(22,58,200,32))
+        self.md_set_values_pushButton = QPushButton(self.setMDParams_groupBox,"md_set_values_pushButton")
+        self.md_set_values_pushButton.setGeometry(QRect(10,160,117,32))
 
-        self.setSubDishLayout_groupBox = QGroupBox(self.tab,"setSubDishLayout_groupBox")
-        self.setSubDishLayout_groupBox.setGeometry(QRect(0,170,500,420))
+        self.md_name_lineEdit = QLineEdit(self.setMDParams_groupBox,"md_name_lineEdit")
+        self.md_name_lineEdit.setGeometry(QRect(125,130,353,22))
 
-        LayoutWidget = QWidget(self.setSubDishLayout_groupBox,"layout20")
-        LayoutWidget.setGeometry(QRect(12,28,460,50))
-        layout20 = QHBoxLayout(LayoutWidget,11,6,"layout20")
+        self.md_name_textLabel = QLabel(self.setMDParams_groupBox,"md_name_textLabel")
+        self.md_name_textLabel.setGeometry(QRect(12,130,107,22))
 
-        self.sd_pick_textLabel = QLabel(LayoutWidget,"sd_pick_textLabel")
-        layout20.addWidget(self.sd_pick_textLabel)
-
-        self.sd_pick_comboBox = QComboBox(0,LayoutWidget,"sd_pick_comboBox")
-        layout20.addWidget(self.sd_pick_comboBox)
-
-        self.sd_list_refresh_pushButton = QPushButton(LayoutWidget,"sd_list_refresh_pushButton")
-        layout20.addWidget(self.sd_list_refresh_pushButton)
-
-        self.sd_pos_in_md_textLabel = QLabel(self.setSubDishLayout_groupBox,"sd_pos_in_md_textLabel")
-        self.sd_pos_in_md_textLabel.setGeometry(QRect(14,90,247,46))
-
-        self.sd_pos_in_md_spinBox = QSpinBox(self.setSubDishLayout_groupBox,"sd_pos_in_md_spinBox")
-        self.sd_pos_in_md_spinBox.setGeometry(QRect(277,100,73,26))
-        self.sd_pos_in_md_spinBox.setMinValue(1)
-
-        self.sd_add_pushButton = QPushButton(self.setSubDishLayout_groupBox,"sd_add_pushButton")
-        self.sd_add_pushButton.setGeometry(QRect(12,378,480,32))
-
-        self.md_layout_textEdit = QTextEdit(self.setSubDishLayout_groupBox,"md_layout_textEdit")
-        self.md_layout_textEdit.setGeometry(QRect(12,146,480,230))
-        md_layout_textEdit_font = QFont(self.md_layout_textEdit.font())
-        md_layout_textEdit_font.setFamily("Courier New")
-        md_layout_textEdit_font.setBold(1)
-        self.md_layout_textEdit.setFont(md_layout_textEdit_font)
-        self.md_layout_textEdit.setWordWrap(QTextEdit.NoWrap)
+        self.MD_mutation_on_checkBox = QCheckBox(self.setMDParams_groupBox,"MD_mutation_on_checkBox")
+        self.MD_mutation_on_checkBox.setGeometry(QRect(10,100,120,22))
+        self.MD_mutation_on_checkBox.setChecked(1)
         self.tabWidget2.insertTab(self.tab,QString.fromLatin1(""))
 
         self.tab_2 = QWidget(self.tabWidget2,"tab_2")
@@ -148,22 +152,23 @@
 
     def languageChange(self):
         self.setCaption(self.__tr("Multi-Dish"))
-        self.setMDParams_groupBox.setTitle(self.__tr("Step 1: Set Multi-Dish Parameters"))
-        self.md_set_values_pushButton.setText(self.__tr("Set Values"))
-        self.md_values_textLabel.setText(self.__tr("MD: "))
-        self.md_name_textLabel.setText(self.__tr("Multi-Dish name"))
-        self.md_name_lineEdit.setText(self.__tr("md-"))
-        self.sdy_textLabel.setText(self.__tr("SubDishes /  col"))
-        self.sdx_textLabel.setText(self.__tr("SubDishes / row"))
-        self.sdnx_textLabel.setText(self.__tr("Grid Cells / SubDish row"))
-        self.sdny_textLabel.setText(self.__tr("Grid Cells / SubDish  col"))
         self.generateMulti_Dish_groupBox.setTitle(self.__tr("Step 3. Generate Multi-Dish"))
         self.md_generate_pushButton.setText(self.__tr("Generate Multi-Dish"))
         self.setSubDishLayout_groupBox.setTitle(self.__tr("Step 2. Layout SubDishes"))
         self.sd_pick_textLabel.setText(self.__tr("Choose SubDish"))
         self.sd_list_refresh_pushButton.setText(self.__tr("Refresh"))
         self.sd_pos_in_md_textLabel.setText(self.__tr("Choose SubDish Position in Multi-Dish"))
-        self.sd_add_pushButton.setText(self.__tr("Add SubDish To Multi-Dish Layout"))
+        self.sd_add_pushButton.setText(self.__tr("Add SubDish"))
+        self.setMDParams_groupBox.setTitle(self.__tr("Step 1: Set Multi-Dish Parameters"))
+        self.sdy_textLabel.setText(self.__tr("SubDishes /  col"))
+        self.sdx_textLabel.setText(self.__tr("SubDishes / row"))
+        self.sdnx_textLabel.setText(self.__tr("Grid Cells / SubDish row"))
+        self.sdny_textLabel.setText(self.__tr("Grid Cells / SubDish  col"))
+        self.md_values_textLabel.setText(self.__tr("MD: "))
+        self.md_set_values_pushButton.setText(self.__tr("Set Values"))
+        self.md_name_lineEdit.setText(self.__tr("md-"))
+        self.md_name_textLabel.setText(self.__tr("Multi-Dish name"))
+        self.MD_mutation_on_checkBox.setText(self.__tr("Mutation on?"))
         self.tabWidget2.changeTab(self.tab,self.__tr("Multi-Dish Setup"))
         self.MDRunStatistics_groupBox.setTitle(self.__tr("Run Statistics"))
         self.MDDiversity_groupBox.setTitle(self.__tr("Multi-Dish Diversity"))

Modified: branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.ui
===================================================================
--- branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.ui	2009-10-31 04:45:29 UTC (rev 3518)
+++ branches/developers/avida-edward/source/python/default.workspace/plugins/multidish_su/ae_plugin/pyMDSetupFormView.ui	2009-11-01 21:08:42 UTC (rev 3519)
@@ -36,83 +36,176 @@
             </attribute>
             <widget class="QGroupBox">
                 <property name="name">
-                    <cstring>setMDParams_groupBox</cstring>
+                    <cstring>generateMulti_Dish_groupBox</cstring>
                 </property>
                 <property name="geometry">
                     <rect>
-                        <x>0</x>
-                        <y>0</y>
-                        <width>500</width>
-                        <height>170</height>
+                        <x>508</x>
+                        <y>442</y>
+                        <width>250</width>
+                        <height>130</height>
                     </rect>
                 </property>
                 <property name="title">
-                    <string>Step 1: Set Multi-Dish Parameters</string>
+                    <string>Step 3. Generate Multi-Dish</string>
                 </property>
                 <widget class="QPushButton">
                     <property name="name">
-                        <cstring>md_set_values_pushButton</cstring>
+                        <cstring>md_generate_pushButton</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>11</x>
-                            <y>129</y>
-                            <width>117</width>
+                            <x>22</x>
+                            <y>58</y>
+                            <width>200</width>
                             <height>32</height>
                         </rect>
                     </property>
                     <property name="text">
-                        <string>Set Values</string>
+                        <string>Generate Multi-Dish</string>
                     </property>
                 </widget>
+            </widget>
+            <widget class="QGroupBox">
+                <property name="name">
+                    <cstring>setSubDishLayout_groupBox</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>0</x>
+                        <y>200</y>
+                        <width>500</width>
+                        <height>410</height>
+                    </rect>
+                </property>
+                <property name="title">
+                    <string>Step 2. Layout SubDishes</string>
+                </property>
+                <widget class="QLayoutWidget">
+                    <property name="name">
+                        <cstring>layout20</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>12</x>
+                            <y>28</y>
+                            <width>460</width>
+                            <height>50</height>
+                        </rect>
+                    </property>
+                    <hbox>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>sd_pick_textLabel</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Choose SubDish</string>
+                            </property>
+                        </widget>
+                        <widget class="QComboBox">
+                            <property name="name">
+                                <cstring>sd_pick_comboBox</cstring>
+                            </property>
+                        </widget>
+                        <widget class="QPushButton">
+                            <property name="name">
+                                <cstring>sd_list_refresh_pushButton</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Refresh</string>
+                            </property>
+                        </widget>
+                    </hbox>
+                </widget>
                 <widget class="QLabel">
                     <property name="name">
-                        <cstring>md_values_textLabel</cstring>
+                        <cstring>sd_pos_in_md_textLabel</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>134</x>
-                            <y>129</y>
-                            <width>345</width>
+                            <x>15</x>
+                            <y>91</y>
+                            <width>247</width>
                             <height>32</height>
                         </rect>
                     </property>
                     <property name="text">
-                        <string>MD: </string>
+                        <string>Choose SubDish Position in Multi-Dish</string>
                     </property>
                 </widget>
-                <widget class="QLabel">
+                <widget class="QSpinBox">
                     <property name="name">
-                        <cstring>md_name_textLabel</cstring>
+                        <cstring>sd_pos_in_md_spinBox</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>12</x>
-                            <y>100</y>
-                            <width>107</width>
-                            <height>22</height>
+                            <x>268</x>
+                            <y>94</y>
+                            <width>59</width>
+                            <height>26</height>
                         </rect>
                     </property>
-                    <property name="text">
-                        <string>Multi-Dish name</string>
+                    <property name="minValue">
+                        <number>1</number>
                     </property>
                 </widget>
-                <widget class="QLineEdit">
+                <widget class="QPushButton">
                     <property name="name">
-                        <cstring>md_name_lineEdit</cstring>
+                        <cstring>sd_add_pushButton</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>125</x>
-                            <y>100</y>
-                            <width>353</width>
-                            <height>22</height>
+                            <x>333</x>
+                            <y>91</y>
+                            <width>119</width>
+                            <height>32</height>
                         </rect>
                     </property>
                     <property name="text">
-                        <string>md-</string>
+                        <string>Add SubDish</string>
                     </property>
                 </widget>
+                <widget class="QTextEdit">
+                    <property name="name">
+                        <cstring>md_layout_textEdit</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>10</x>
+                            <y>130</y>
+                            <width>480</width>
+                            <height>270</height>
+                        </rect>
+                    </property>
+                    <property name="font">
+                        <font>
+                            <family>Courier New</family>
+                            <bold>1</bold>
+                        </font>
+                    </property>
+                    <property name="wordWrap">
+                        <enum>NoWrap</enum>
+                    </property>
+                </widget>
+            </widget>
+            <widget class="QGroupBox">
+                <property name="name">
+                    <cstring>setMDParams_groupBox</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>0</x>
+                        <y>0</y>
+                        <width>500</width>
+                        <height>200</height>
+                    </rect>
+                </property>
+                <property name="title">
+                    <string>Step 1: Set Multi-Dish Parameters</string>
+                </property>
                 <widget class="QLabel">
                     <property name="name">
                         <cstring>sdy_textLabel</cstring>
@@ -253,161 +346,87 @@
                         <number>30</number>
                     </property>
                 </widget>
-            </widget>
-            <widget class="QGroupBox">
-                <property name="name">
-                    <cstring>generateMulti_Dish_groupBox</cstring>
-                </property>
-                <property name="geometry">
-                    <rect>
-                        <x>508</x>
-                        <y>442</y>
-                        <width>250</width>
-                        <height>130</height>
-                    </rect>
-                </property>
-                <property name="title">
-                    <string>Step 3. Generate Multi-Dish</string>
-                </property>
-                <widget class="QPushButton">
+                <widget class="QLabel">
                     <property name="name">
-                        <cstring>md_generate_pushButton</cstring>
+                        <cstring>md_values_textLabel</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>22</x>
-                            <y>58</y>
-                            <width>200</width>
+                            <x>133</x>
+                            <y>160</y>
+                            <width>345</width>
                             <height>32</height>
                         </rect>
                     </property>
                     <property name="text">
-                        <string>Generate Multi-Dish</string>
+                        <string>MD: </string>
                     </property>
                 </widget>
-            </widget>
-            <widget class="QGroupBox">
-                <property name="name">
-                    <cstring>setSubDishLayout_groupBox</cstring>
-                </property>
-                <property name="geometry">
-                    <rect>
-                        <x>0</x>
-                        <y>170</y>
-                        <width>500</width>
-                        <height>420</height>
-                    </rect>
-                </property>
-                <property name="title">
-                    <string>Step 2. Layout SubDishes</string>
-                </property>
-                <widget class="QLayoutWidget">
+                <widget class="QPushButton">
                     <property name="name">
-                        <cstring>layout20</cstring>
+                        <cstring>md_set_values_pushButton</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>12</x>
-                            <y>28</y>
-                            <width>460</width>
-                            <height>50</height>
+                            <x>10</x>
+                            <y>160</y>
+                            <width>117</width>
+                            <height>32</height>
                         </rect>
                     </property>
-                    <hbox>
-                        <property name="name">
-                            <cstring>unnamed</cstring>
-                        </property>
-                        <widget class="QLabel">
-                            <property name="name">
-                                <cstring>sd_pick_textLabel</cstring>
-                            </property>
-                            <property name="text">
-                                <string>Choose SubDish</string>
-                            </property>
-                        </widget>
-                        <widget class="QComboBox">
-                            <property name="name">
-                                <cstring>sd_pick_comboBox</cstring>
-                            </property>
-                        </widget>
-                        <widget class="QPushButton">
-                            <property name="name">
-                                <cstring>sd_list_refresh_pushButton</cstring>
-                            </property>
-                            <property name="text">
-                                <string>Refresh</string>
-                            </property>
-                        </widget>
-                    </hbox>
-                </widget>
-                <widget class="QLabel">
-                    <property name="name">
-                        <cstring>sd_pos_in_md_textLabel</cstring>
-                    </property>
-                    <property name="geometry">
-                        <rect>
-                            <x>14</x>
-                            <y>90</y>
-                            <width>247</width>
-                            <height>46</height>
-                        </rect>
-                    </property>
                     <property name="text">
-                        <string>Choose SubDish Position in Multi-Dish</string>
+                        <string>Set Values</string>
                     </property>
                 </widget>
-                <widget class="QSpinBox">
+                <widget class="QLineEdit">
                     <property name="name">
-                        <cstring>sd_pos_in_md_spinBox</cstring>
+                        <cstring>md_name_lineEdit</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>277</x>
-                            <y>100</y>
-                            <width>73</width>
-                            <height>26</height>
+                            <x>125</x>
+                            <y>130</y>
+                            <width>353</width>
+                            <height>22</height>
                         </rect>
                     </property>
-                    <property name="minValue">
-                        <number>1</number>
+                    <property name="text">
+                        <string>md-</string>
                     </property>
                 </widget>
-                <widget class="QPushButton">
+                <widget class="QLabel">
                     <property name="name">
-                        <cstring>sd_add_pushButton</cstring>
+                        <cstring>md_name_textLabel</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
                             <x>12</x>
-                            <y>378</y>
-                            <width>480</width>
-                            <height>32</height>
+                            <y>130</y>
+                            <width>107</width>
+                            <height>22</height>
                         </rect>
                     </property>
                     <property name="text">
-                        <string>Add SubDish To Multi-Dish Layout</string>
+                        <string>Multi-Dish name</string>
                     </property>
                 </widget>
-                <widget class="QTextEdit">
+                <widget class="QCheckBox">
                     <property name="name">
-                        <cstring>md_layout_textEdit</cstring>
+                        <cstring>MD_mutation_on_checkBox</cstring>
                     </property>
                     <property name="geometry">
                         <rect>
-                            <x>12</x>
-                            <y>146</y>
-                            <width>480</width>
-                            <height>230</height>
+                            <x>10</x>
+                            <y>100</y>
+                            <width>120</width>
+                            <height>22</height>
                         </rect>
                     </property>
-                    <property name="font">
-                        <font>
-                            <family>Courier New</family>
-                            <bold>1</bold>
-                        </font>
+                    <property name="text">
+                        <string>Mutation on?</string>
                     </property>
-                    <property name="wordWrap">
-                        <enum>NoWrap</enum>
+                    <property name="checked">
+                        <bool>true</bool>
                     </property>
                 </widget>
             </widget>

Modified: branches/developers/avida-edward/source/python/setup_osx.py.in
===================================================================
--- branches/developers/avida-edward/source/python/setup_osx.py.in	2009-10-31 04:45:29 UTC (rev 3518)
+++ branches/developers/avida-edward/source/python/setup_osx.py.in	2009-11-01 21:08:42 UTC (rev 3519)
@@ -39,7 +39,7 @@
     py2app = dict(
       # Python modules to copy :
       # includes = ['iqt', 'sip', 'qt', 'qwt', 'readline', 'unittest', 'IPython', 'AvidaGui2', 'AvidaCore'],
-      includes = ['sip', 'qt', 'Qwt5', 'readline', 'unittest', 'IPython', 'AvidaGui2', 'AvidaCore'],
+      includes = ['ctypes', 'sip', 'qt', 'qtnetwork', 'Qwt5', 'readline', 'unittest', 'IPython', 'AvidaGui2', 'AvidaCore', 'socket', 'SocketServer', 'sqlite3'],
       # Python packages to copy :
       # packages = ['IPython', 'AvidaGui2'],
       packages = ['AvidaGui2'],




More information about the Avida-cvs mailing list