diff options
author | Mark Sims <mark@nanorex.com> | 2008-06-04 23:42:29 +0000 |
---|---|---|
committer | Mark Sims <mark@nanorex.com> | 2008-06-04 23:42:29 +0000 |
commit | 7e73b939c5df3e3b81441986291ccea307034701 (patch) | |
tree | 8c204364c016964563786f659024b816806fa794 | |
parent | 7dbd4c40f56cdf2d88974491a0076dc1686e305d (diff) | |
download | nanoengineer-7e73b939c5df3e3b81441986291ccea307034701.tar.gz nanoengineer-7e73b939c5df3e3b81441986291ccea307034701.zip |
Re-organized layout/widgets in the Minimize Energy dialog.
4 files changed, 990 insertions, 1335 deletions
diff --git a/cad/src/commands/MinimizeEnergy/MinimizeEnergyProp.py b/cad/src/commands/MinimizeEnergy/MinimizeEnergyProp.py index 5ff8bb0cf..d71c4dfa1 100755 --- a/cad/src/commands/MinimizeEnergy/MinimizeEnergyProp.py +++ b/cad/src/commands/MinimizeEnergy/MinimizeEnergyProp.py @@ -10,6 +10,9 @@ methods needed by the Minimize Energy dialog. History: mark 060705 - Created for Alpha 8 NFR: "Simulator > Minimize Energy". + +To do: +- implement/enforce constrains between all convergence values. """ from PyQt4.Qt import QDialog @@ -17,7 +20,7 @@ from PyQt4.Qt import QButtonGroup from PyQt4.Qt import QAbstractButton from PyQt4.Qt import SIGNAL from PyQt4.Qt import QWhatsThis -from PyQt4.Qt import QDoubleValidator +from PyQt4.Qt import QSize from utilities.Log import greenmsg, redmsg, orangemsg, _graymsg, quote_html from commands.MinimizeEnergy.MinimizeEnergyPropDialog import Ui_MinimizeEnergyPropDialog @@ -53,23 +56,27 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz def __init__(self, win): QDialog.__init__(self, win) # win is parent. self.setupUi(self) - self.update_btngrp_group = QButtonGroup() - self.update_btngrp_group.setExclusive(True) - for obj in self.update_btngrp.children(): + self.watch_minimize_buttongroup = QButtonGroup() + self.watch_minimize_buttongroup.setExclusive(True) + for obj in self.watch_minimize_groupbox.children(): if isinstance(obj, QAbstractButton): - self.update_btngrp_group.addButton(obj) + self.watch_minimize_buttongroup.addButton(obj) #fix some icon problems self.setWindowIcon( geticon('ui/border/MinimizeEnergy.png')) self.done_btn.setIcon( geticon('ui/actions/Properties Manager/Done.png')) + self.abort_btn.setIconSize(QSize(22, 22)) self.abort_btn.setIcon( geticon('ui/actions/Properties Manager/Abort.png')) + self.restore_btn.setIconSize(QSize(22, 22)) self.restore_btn.setIcon( geticon('ui/actions/Properties Manager/Restore.png')) + self.done_btn.setIconSize(QSize(22, 22)) self.whatsthis_btn.setIcon( geticon('ui/actions/Properties Manager/WhatsThis.png')) + self.whatsthis_btn.setIconSize(QSize(22, 22)) self.connect(self.cancel_btn, SIGNAL("clicked()"), @@ -92,18 +99,6 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz self.connect(self.abort_btn, SIGNAL("clicked()"), self.cancel_btn_clicked) - self.connect(self.grpbtn_1, - SIGNAL("clicked()"), - self.toggle_grpbtn_1) - self.connect(self.grpbtn_2, - SIGNAL("clicked()"), - self.toggle_grpbtn_2) - self.connect(self.grpbtn_3, - SIGNAL("clicked()"), - self.toggle_grpbtn_3) - self.connect(self.grpbtn_4, - SIGNAL("clicked()"), - self.toggle_grpbtn_4) connect_checkbox_with_boolean_pref( self.electrostaticsForDnaDuringMinimize_checkBox, @@ -112,65 +107,31 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz connect_checkbox_with_boolean_pref( self.enableNeighborSearching_check_box, neighborSearchingInGromacs_prefs_key) + + self.connect(self.minimize_engine_combobox, SIGNAL("activated(int)"), self.update_minimize_engine) self.minimize_engine_combobox.setCurrentIndex( env.prefs[Minimize_minimizationEngine_prefs_key]) + + self.connect(self.endRmsDoubleSpinBox, SIGNAL("valueChanged(double)"), self.changeEndRms) + self.connect(self.endMaxDoubleSpinBox, SIGNAL("valueChanged(double)"), self.changeEndMax) + self.connect(self.cutoverRmsDoubleSpinBox, SIGNAL("valueChanged(double)"), self.changeCutoverRms) + self.connect(self.cutoverMaxDoubleSpinBox, SIGNAL("valueChanged(double)"), self.changeCutoverMax) + + self.endRmsDoubleSpinBox.setSpecialValueText("Automatic") + self.endMaxDoubleSpinBox.setSpecialValueText("Automatic") + self.cutoverRmsDoubleSpinBox.setSpecialValueText("Automatic") + self.cutoverMaxDoubleSpinBox.setSpecialValueText("Automatic") self.win = win self.previousParams = None self.setup_ruc() - self.setup_validators() self.seltype = 'All' self.minimize_selection_enabled = True #bruce 080513 - self.sponsor_btn.setWhatsThis("""<b>NanoEngineer-1 Sponsor</b> - <p>Click on the logo to learn more - about this NanoEngineer-1 sponsor.</p>""") - self.minimize_all_rbtn.setWhatsThis("""<b>Minimize All</b><p>Perform energy minimization on all the - atoms in the workspace.</p>""") - self.minimize_sel_rbtn.setWhatsThis("""<b>Minimize Selection</b><p>Perform energy minimization on the - atoms that are currently selected.</p>""") - self.watch_minimization_checkbox.setWhatsThis("""<p><b>Watch Motion In Real Time</b></p>Enables real time graphical - updates during minimization runs.""") - self.update_asap_rbtn.setWhatsThis("""<b>Update as fast as possible</b> - <p> - Update every 2 seconds, - or faster (up to 20x/sec) if it doesn't slow minimization by more than 20%</p>""") - self.update_every_rbtn.setWhatsThis("""<b>Update every <i>n units.</u></b> - <p>Specify how often to update - the model during the minimization. This allows the user to monitor minimization results while the minimization is running.</p>""") - self.update_number_spinbox.setWhatsThis("""<b>Update every <i>n units.</u></b> - <p>Specify how often to update - the model during the minimization. This allows the user to monitor minimization results while the minimization is running.</p>""") - self.update_units_combobox.setWhatsThis("""<b>Update every <i>n units.</u></b> - <p>Specify how often to update - the model during the minimization. This allows the user to monitor minimization results while the minimization is running.</p>""") - self.endrms_linedit.setWhatsThis("""<b>EndRMS</b> - <p>Continue until this RMS force is reached.</p>""") - self.endmax_linedit.setWhatsThis("""<b>EndMax</b> - <p>Continue until the total force on each atom - is less than this value.</p>""") - self.cutoverrms_linedit.setWhatsThis("""<b>CutoverRMS</b> - <p>Use steepest descent until this RMS force - is reached.</p>""") - self.cutovermax_linedit.setWhatsThis("""<b>CutoverMax</b> - <p>Use steepest descent until the total force - on each atom is less than this value.</p>""") - self.cancel_btn.setWhatsThis("""<b>Cancel</b><p>Dismiss this dialog without taking any action.</p>""") - self.ok_btn.setWhatsThis("""<b>Minimize Energy</b><p>Using the parameters specified above, - perform energy minimization on some or all of the atoms.</p>""") - self.setWhatsThis("""<u><b>Minimize Energy</b></u> - <p>The potential energy of a chemical - structure is a function of the relative positions of its atoms. To obtain this energy with complete accuracy involves a lot - of computer time spent on quantum mechanical calculations, which cannot be practically done on a desktop computer. To get - an approximate potential energy without all that, we represent the energy as a series of terms involving geometric properties - of the structure: lengths of chemical bonds, angles between pairs and triples of chemical bonds, etc. - </p><p>As is generally - the case with physical systems, the gradient of the potential energy represents the forces acting on various particles. The - atoms want to move in the direction that most reduces the potential energy. Energy minimization is a process of adjusting - the atom positions to try to find a global minimum of the potential energy. Each atom contributes three variables (its x, - y, and z coordinates) so the search space is multi-dimensional. The global minimum is the configuration that the atoms will - settle into if lowered to zero Kelvin. - </p>""") + + # Assign "What's This" text for all widgets. + from commands.MinimizeEnergy.WhatsThisText_for_MinimizeEnergyDialog import whatsThis_MinimizeEnergyDialog + whatsThis_MinimizeEnergyDialog(self) self.update_widgets() # to make sure self attrs are set @@ -182,8 +143,8 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz from widgets.widget_controllers import realtime_update_controller self.ruc = realtime_update_controller( #( self.update_btngrp, self.update_number_spinbox, self.update_units_combobox ), - ( self.update_btngrp_group, self.update_number_spinbox, self.update_units_combobox ), - self.watch_minimization_checkbox, + ( self.watch_minimize_buttongroup, self.update_number_spinbox, self.update_units_combobox ), + self.watch_minimize_groupbox, Minimize_watchRealtimeMinimization_prefs_key ) ## can't do this yet: self.ruc.set_widgets_from_update_data( self.previous_movie._update_data ) # includes checkbox @@ -217,10 +178,6 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz Returns a tuple with the current parameter values from the widgets. Also sets those in env.prefs. Doesn't do anything about self.seltype, since that is a choice of command, not a parameter for a command. """ - self.change_endrms('notused') - self.change_endmax('notused') - self.change_cutoverrms('notused') - self.change_cutovermax('notused') return tuple([env.prefs[key] for key in (endRMS_prefs_key, endMax_prefs_key, cutoverRMS_prefs_key, cutoverMax_prefs_key)]) def update_widgets(self, update_seltype = True): @@ -236,19 +193,22 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz self.minimize_sel_rbtn.setChecked(1) self.minimize_sel_rbtn.setEnabled( self.minimize_selection_enabled) pass - - # WARNING: some of the following code is mostly duplicated by UserPrefs code - self.endrms = get_pref_or_optval(endRMS_prefs_key, -1.0, '') - self.endrms_linedit.setText(str(self.endrms)) - self.endmax = get_pref_or_optval(endMax_prefs_key, -1.0, '') - self.endmax_linedit.setText(str(self.endmax)) - - self.cutoverrms = get_pref_or_optval(cutoverRMS_prefs_key, -1.0, '') - self.cutoverrms_linedit.setText(str(self.cutoverrms)) + # Convergence Criteria groupbox + # WARNING: some of the following code is mostly duplicated by Preferences code + self.endrms = get_pref_or_optval(endRMS_prefs_key, -1.0, 0.0) + self.endRmsDoubleSpinBox.setValue(self.endrms) + + self.endmax = get_pref_or_optval(endMax_prefs_key, -1.0, 0.0) + self.endMaxDoubleSpinBox.setValue(self.endmax) + + self.cutoverrms = get_pref_or_optval(cutoverRMS_prefs_key, -1.0, 0.0) + self.cutoverRmsDoubleSpinBox.setValue(self.cutoverrms) + + self.cutovermax = get_pref_or_optval(cutoverMax_prefs_key, -1.0, 0.0) + self.cutoverMaxDoubleSpinBox.setValue(self.cutovermax) - self.cutovermax = get_pref_or_optval(cutoverMax_prefs_key, -1.0, '') - self.cutovermax_linedit.setText(str(self.cutovermax)) + self.update_minimize_engine() ###e also watch in realtime prefs for this -- no, thats in another method for now return @@ -309,6 +269,7 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz Slot for Restore Defaults button """ # restore factory defaults # for A8, only for conv crit, not for watch motion settings + self.minimize_engine_combobox.setCurrentIndex(0) # ND1 env.prefs.restore_defaults([endRMS_prefs_key, endMax_prefs_key, cutoverRMS_prefs_key, cutoverMax_prefs_key]) self.update_widgets(update_seltype = False) @@ -318,109 +279,79 @@ class MinimizeEnergyProp(QDialog, SponsorableMixin, GroupButtonMixin, Ui_Minimiz """ QWhatsThis.enterWhatsThisMode() - # Property Manager groupbox button slots - - def toggle_grpbtn_1(self): - """ - Slot for first groupbox toggle button - """ - self.toggle_groupbox_in_dialogs(self.grpbtn_1, self.line1, - self.minimize_all_rbtn, self.minimize_sel_rbtn) - - def toggle_grpbtn_2(self): - """ - Slot for second groupbox toggle button + # Dialog slots + + def update_minimize_engine(self, ignoredIndex = 0): """ - self.toggle_groupbox_in_dialogs(self.grpbtn_2, self.line2, - self.watch_minimization_checkbox, self.update_btngrp) + Slot for the Minimize Engine comobox. + """ - def toggle_grpbtn_3(self): - """ - Slot for third groupbox toggle button - """ - self.toggle_groupbox_in_dialogs(self.grpbtn_3, self.line3, - self.endrms_lbl, self.endrms_linedit, - self.endmax_lbl, self.endmax_linedit, - self.cutoverrms_lbl, self.cutoverrms_linedit, - self.cutovermax_lbl, self.cutovermax_linedit, - ##self.spacer_3 - had to be set to 1 pixel in ui file, since it's a local var, not a self attr - ) - - def toggle_grpbtn_4(self): - """ - Slot for fourth groupbox toggle button - """ - self.toggle_groupbox_in_dialogs(self.grpbtn_4, self.line4, - self.minimize_engine_combobox) - - # WARNING: some of the following code is mostly duplicated by UserPrefs code; - # the docstrings are wrong in this context, since these methods have no signal connections - - def setup_validators(self): - # Validator for the linedit widgets. - self.endrms_validator = QDoubleValidator(self) - self.endrms_validator.setRange(0.0, 100.0, 2) # Range for linedits: 0.0 to 100, 2 decimal places - self.endrms_linedit.setValidator(self.endrms_validator) - - self.endmax_validator = QDoubleValidator(self) - self.endmax_validator.setRange(0.0, 100.0, 2) # Range for linedits: 0 to 100, 2 decimal places - self.endmax_linedit.setValidator(self.endmax_validator) + engineIndex = self.minimize_engine_combobox.currentIndex() - self.cutoverrms_validator = QDoubleValidator(self) - self.cutoverrms_validator.setRange(0.0, 100.0, 2) # Range for linedits: 0 to 100, 2 decimal places - self.cutoverrms_linedit.setValidator(self.cutoverrms_validator) + if engineIndex == 0: # NanoDynamics-1 + + # Minimize options widgets. + self.electrostaticsForDnaDuringMinimize_checkBox.setEnabled(False) + self.enableNeighborSearching_check_box.setEnabled(False) + + # Watch minimize in real time widgets. + self.watch_minimize_groupbox.setEnabled(True) + + # Converence criteria widgets + self.endMaxDoubleSpinBox.setEnabled(True) + self.cutoverRmsDoubleSpinBox.setEnabled(True) + self.cutoverMaxDoubleSpinBox.setEnabled(True) + else: # GROMACS + + # Minimize options widgets. + self.electrostaticsForDnaDuringMinimize_checkBox.setEnabled(True) + self.enableNeighborSearching_check_box.setEnabled(True) + + # Watch minimize in real time widgets. + self.watch_minimize_groupbox.setEnabled(False) + + # Converence criteria widgets + self.endMaxDoubleSpinBox.setEnabled(False) + self.cutoverRmsDoubleSpinBox.setEnabled(False) + self.cutoverMaxDoubleSpinBox.setEnabled(False) + return - self.cutovermax_validator = QDoubleValidator(self) - self.cutovermax_validator.setRange(0.0, 100.0, 2) # Range for linedits: 0 to 100, 2 decimal places - self.cutovermax_linedit.setValidator(self.cutovermax_validator) - - def change_endrms(self, text): - try: - endrms_str = double_fixup(self.endrms_validator, self.endrms_linedit.text(), self.endrms) - self.endrms_linedit.setText(endrms_str) - if endrms_str: - env.prefs[endRMS_prefs_key] = float(str(endrms_str)) - else: - env.prefs[endRMS_prefs_key] = -1.0 - self.endrms = endrms_str - except: - print_compact_traceback("bug in change_endrms ignored: ") + def changeEndRms(self, endRms): + """ + Slot for EndRMS. + """ + if endRms: + env.prefs[endRMS_prefs_key] = endRms + else: + env.prefs[endRMS_prefs_key] = -1.0 - def change_endmax(self, text): - try: - endmax_str = double_fixup(self.endmax_validator, self.endmax_linedit.text(), self.endmax) - self.endmax_linedit.setText(endmax_str) - if endmax_str: - env.prefs[endMax_prefs_key] = float(str(endmax_str)) - else: - env.prefs[endMax_prefs_key] = -1.0 - self.endmax = endmax_str - except: - print_compact_traceback("bug in change_endmax ignored: ") - - def change_cutoverrms(self, text): - try: - cutoverrms_str = double_fixup(self.cutoverrms_validator, self.cutoverrms_linedit.text(), self.cutoverrms) - self.cutoverrms_linedit.setText(cutoverrms_str) - if cutoverrms_str: - env.prefs[cutoverRMS_prefs_key] = float(str(cutoverrms_str)) - else: - env.prefs[cutoverRMS_prefs_key] = -1.0 - self.cutoverrms = cutoverrms_str - except: - print_compact_traceback("bug in change_cutoverrms ignored: ") + def changeEndMax(self, endMax): + """ + Slot for EndMax. + """ + if endMax: + env.prefs[endMax_prefs_key] = endMax + else: + env.prefs[endMax_prefs_key] = -1.0 + return + + def changeCutoverRms(self, cutoverRms): + """ + Slot for CutoverRMS. + """ + if cutoverRms: + env.prefs[cutoverRMS_prefs_key] = cutoverRms + else: + env.prefs[cutoverRMS_prefs_key] = -1.0 - def change_cutovermax(self, text): - try: - cutovermax_str = double_fixup(self.cutovermax_validator, self.cutovermax_linedit.text(), self.cutovermax) - self.cutovermax_linedit.setText(cutovermax_str) - if cutovermax_str: - env.prefs[cutoverMax_prefs_key] = float(str(cutovermax_str)) - else: - env.prefs[cutoverMax_prefs_key] = -1.0 - self.cutovermax = cutovermax_str - except: - print_compact_traceback("bug in change_cutovermax ignored: ") + def changeCutoverMax(self, cutoverMax): + """ + Slot for CutoverMax. + """ + if cutoverMax: + env.prefs[cutoverMax_prefs_key] = cutoverMax + else: + env.prefs[cutoverMax_prefs_key] = -1.0 pass # end of class MinimizeEnergyProp diff --git a/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.py b/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.py index a8a6cba97..5736f96d3 100755 --- a/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.py +++ b/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'MinimizeEnergyPropDialog.ui' # -# Created: Mon May 19 16:50:51 2008 +# Created: Wed Jun 04 18:56:48 2008 # by: PyQt4 UI code generator 4.2 # # WARNING! All changes made in this file will be lost! @@ -12,141 +12,187 @@ from PyQt4 import QtCore, QtGui class Ui_MinimizeEnergyPropDialog(object): def setupUi(self, MinimizeEnergyPropDialog): MinimizeEnergyPropDialog.setObjectName("MinimizeEnergyPropDialog") - MinimizeEnergyPropDialog.resize(QtCore.QSize(QtCore.QRect(0,0,270,609).size()).expandedTo(MinimizeEnergyPropDialog.minimumSizeHint())) + MinimizeEnergyPropDialog.resize(QtCore.QSize(QtCore.QRect(0,0,300,500).size()).expandedTo(MinimizeEnergyPropDialog.minimumSizeHint())) - self.vboxlayout = QtGui.QVBoxLayout(MinimizeEnergyPropDialog) - self.vboxlayout.setMargin(0) - self.vboxlayout.setSpacing(2) - self.vboxlayout.setObjectName("vboxlayout") - - self.heading_frame = QtGui.QFrame(MinimizeEnergyPropDialog) - self.heading_frame.setFrameShape(QtGui.QFrame.NoFrame) - self.heading_frame.setFrameShadow(QtGui.QFrame.Plain) - self.heading_frame.setObjectName("heading_frame") - - self.hboxlayout = QtGui.QHBoxLayout(self.heading_frame) - self.hboxlayout.setMargin(0) - self.hboxlayout.setSpacing(3) - self.hboxlayout.setObjectName("hboxlayout") - - self.heading_pixmap = QtGui.QLabel(self.heading_frame) - - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(0),QtGui.QSizePolicy.Policy(0)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(3),QtGui.QSizePolicy.Policy(3)) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.heading_pixmap.sizePolicy().hasHeightForWidth()) - self.heading_pixmap.setSizePolicy(sizePolicy) - self.heading_pixmap.setScaledContents(True) - self.heading_pixmap.setAlignment(QtCore.Qt.AlignVCenter) - self.heading_pixmap.setObjectName("heading_pixmap") - self.hboxlayout.addWidget(self.heading_pixmap) + sizePolicy.setHeightForWidth(MinimizeEnergyPropDialog.sizePolicy().hasHeightForWidth()) + MinimizeEnergyPropDialog.setSizePolicy(sizePolicy) + MinimizeEnergyPropDialog.setMinimumSize(QtCore.QSize(300,500)) - self.heading_label = QtGui.QLabel(self.heading_frame) + self.gridlayout = QtGui.QGridLayout(MinimizeEnergyPropDialog) + self.gridlayout.setMargin(2) + self.gridlayout.setSpacing(4) + self.gridlayout.setObjectName("gridlayout") - font = QtGui.QFont() - font.setFamily("Sans Serif") - font.setPointSize(12) - font.setWeight(75) - font.setItalic(False) - font.setUnderline(False) - font.setStrikeOut(False) - font.setBold(True) - self.heading_label.setFont(font) - self.heading_label.setObjectName("heading_label") - self.hboxlayout.addWidget(self.heading_label) - self.vboxlayout.addWidget(self.heading_frame) + spacerItem = QtGui.QSpacerItem(270,5,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding) + self.gridlayout.addItem(spacerItem,2,0,1,1) self.body_frame = QtGui.QFrame(MinimizeEnergyPropDialog) + + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(3),QtGui.QSizePolicy.Policy(3)) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.body_frame.sizePolicy().hasHeightForWidth()) + self.body_frame.setSizePolicy(sizePolicy) self.body_frame.setFrameShape(QtGui.QFrame.StyledPanel) self.body_frame.setFrameShadow(QtGui.QFrame.Raised) self.body_frame.setObjectName("body_frame") - self.vboxlayout1 = QtGui.QVBoxLayout(self.body_frame) - self.vboxlayout1.setMargin(9) - self.vboxlayout1.setSpacing(6) - self.vboxlayout1.setObjectName("vboxlayout1") + self.gridlayout1 = QtGui.QGridLayout(self.body_frame) + self.gridlayout1.setMargin(4) + self.gridlayout1.setSpacing(4) + self.gridlayout1.setObjectName("gridlayout1") - self.sponsor_btn = QtGui.QPushButton(self.body_frame) - self.sponsor_btn.setAutoDefault(False) - self.sponsor_btn.setFlat(True) - self.sponsor_btn.setObjectName("sponsor_btn") - self.vboxlayout1.addWidget(self.sponsor_btn) + self.watch_minimize_groupbox = QtGui.QGroupBox(self.body_frame) + self.watch_minimize_groupbox.setCheckable(True) + self.watch_minimize_groupbox.setObjectName("watch_minimize_groupbox") + + self.gridlayout2 = QtGui.QGridLayout(self.watch_minimize_groupbox) + self.gridlayout2.setMargin(4) + self.gridlayout2.setSpacing(2) + self.gridlayout2.setObjectName("gridlayout2") + + self.update_asap_rbtn = QtGui.QRadioButton(self.watch_minimize_groupbox) + self.update_asap_rbtn.setChecked(True) + self.update_asap_rbtn.setObjectName("update_asap_rbtn") + self.gridlayout2.addWidget(self.update_asap_rbtn,0,0,1,1) + + self.hboxlayout = QtGui.QHBoxLayout() + self.hboxlayout.setMargin(0) + self.hboxlayout.setSpacing(2) + self.hboxlayout.setObjectName("hboxlayout") + + self.update_every_rbtn = QtGui.QRadioButton(self.watch_minimize_groupbox) + self.update_every_rbtn.setObjectName("update_every_rbtn") + self.hboxlayout.addWidget(self.update_every_rbtn) + + self.update_number_spinbox = QtGui.QSpinBox(self.watch_minimize_groupbox) + self.update_number_spinbox.setMaximum(9999) + self.update_number_spinbox.setMinimum(1) + self.update_number_spinbox.setProperty("value",QtCore.QVariant(1)) + self.update_number_spinbox.setObjectName("update_number_spinbox") + self.hboxlayout.addWidget(self.update_number_spinbox) + + self.update_units_combobox = QtGui.QComboBox(self.watch_minimize_groupbox) + self.update_units_combobox.setObjectName("update_units_combobox") + self.hboxlayout.addWidget(self.update_units_combobox) - self.hboxlayout1 = QtGui.QHBoxLayout() - self.hboxlayout1.setMargin(0) - self.hboxlayout1.setSpacing(6) + spacerItem1 = QtGui.QSpacerItem(40,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) + self.hboxlayout.addItem(spacerItem1) + self.gridlayout2.addLayout(self.hboxlayout,1,0,1,1) + self.gridlayout1.addWidget(self.watch_minimize_groupbox,4,0,1,1) + + self.groupBox20 = QtGui.QGroupBox(self.body_frame) + + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(5),QtGui.QSizePolicy.Policy(5)) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox20.sizePolicy().hasHeightForWidth()) + self.groupBox20.setSizePolicy(sizePolicy) + self.groupBox20.setObjectName("groupBox20") + + self.hboxlayout1 = QtGui.QHBoxLayout(self.groupBox20) + self.hboxlayout1.setMargin(4) + self.hboxlayout1.setSpacing(4) self.hboxlayout1.setObjectName("hboxlayout1") - spacerItem = QtGui.QSpacerItem(35,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout1.addItem(spacerItem) + self.vboxlayout = QtGui.QVBoxLayout() + self.vboxlayout.setMargin(0) + self.vboxlayout.setSpacing(2) + self.vboxlayout.setObjectName("vboxlayout") - self.done_btn = QtGui.QToolButton(self.body_frame) - self.done_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image2")) - self.done_btn.setObjectName("done_btn") - self.hboxlayout1.addWidget(self.done_btn) + self.endrms_lbl = QtGui.QLabel(self.groupBox20) + self.endrms_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.endrms_lbl.setObjectName("endrms_lbl") + self.vboxlayout.addWidget(self.endrms_lbl) - self.abort_btn = QtGui.QToolButton(self.body_frame) - self.abort_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image3")) - self.abort_btn.setObjectName("abort_btn") - self.hboxlayout1.addWidget(self.abort_btn) + self.endmax_lbl = QtGui.QLabel(self.groupBox20) + self.endmax_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.endmax_lbl.setObjectName("endmax_lbl") + self.vboxlayout.addWidget(self.endmax_lbl) - self.restore_btn = QtGui.QToolButton(self.body_frame) - self.restore_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image4")) - self.restore_btn.setObjectName("restore_btn") - self.hboxlayout1.addWidget(self.restore_btn) + self.cutoverrms_lbl = QtGui.QLabel(self.groupBox20) + self.cutoverrms_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.cutoverrms_lbl.setObjectName("cutoverrms_lbl") + self.vboxlayout.addWidget(self.cutoverrms_lbl) - self.whatsthis_btn = QtGui.QToolButton(self.body_frame) - self.whatsthis_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image5")) - self.whatsthis_btn.setObjectName("whatsthis_btn") - self.hboxlayout1.addWidget(self.whatsthis_btn) + self.cutovermax_lbl = QtGui.QLabel(self.groupBox20) + self.cutovermax_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.cutovermax_lbl.setObjectName("cutovermax_lbl") + self.vboxlayout.addWidget(self.cutovermax_lbl) + self.hboxlayout1.addLayout(self.vboxlayout) - spacerItem1 = QtGui.QSpacerItem(35,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout1.addItem(spacerItem1) - self.vboxlayout1.addLayout(self.hboxlayout1) + self.vboxlayout1 = QtGui.QVBoxLayout() + self.vboxlayout1.setMargin(0) + self.vboxlayout1.setSpacing(2) + self.vboxlayout1.setObjectName("vboxlayout1") - self.buttonGroup8 = QtGui.QGroupBox(self.body_frame) - self.buttonGroup8.setObjectName("buttonGroup8") + self.endRmsDoubleSpinBox = QtGui.QDoubleSpinBox(self.groupBox20) - self.vboxlayout2 = QtGui.QVBoxLayout(self.buttonGroup8) - self.vboxlayout2.setMargin(9) - self.vboxlayout2.setSpacing(6) - self.vboxlayout2.setObjectName("vboxlayout2") + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(3),QtGui.QSizePolicy.Policy(0)) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.endRmsDoubleSpinBox.sizePolicy().hasHeightForWidth()) + self.endRmsDoubleSpinBox.setSizePolicy(sizePolicy) + self.endRmsDoubleSpinBox.setDecimals(3) + self.endRmsDoubleSpinBox.setMaximum(501.0) + self.endRmsDoubleSpinBox.setProperty("value",QtCore.QVariant(1.0)) + self.endRmsDoubleSpinBox.setObjectName("endRmsDoubleSpinBox") + self.vboxlayout1.addWidget(self.endRmsDoubleSpinBox) - self.hboxlayout2 = QtGui.QHBoxLayout() - self.hboxlayout2.setMargin(0) - self.hboxlayout2.setSpacing(6) - self.hboxlayout2.setObjectName("hboxlayout2") + self.endMaxDoubleSpinBox = QtGui.QDoubleSpinBox(self.groupBox20) - self.min_options_label = QtGui.QLabel(self.buttonGroup8) - self.min_options_label.setObjectName("min_options_label") - self.hboxlayout2.addWidget(self.min_options_label) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(3),QtGui.QSizePolicy.Policy(0)) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.endMaxDoubleSpinBox.sizePolicy().hasHeightForWidth()) + self.endMaxDoubleSpinBox.setSizePolicy(sizePolicy) + self.endMaxDoubleSpinBox.setDecimals(2) + self.endMaxDoubleSpinBox.setMaximum(2501.0) + self.endMaxDoubleSpinBox.setProperty("value",QtCore.QVariant(0.0)) + self.endMaxDoubleSpinBox.setObjectName("endMaxDoubleSpinBox") + self.vboxlayout1.addWidget(self.endMaxDoubleSpinBox) - spacerItem2 = QtGui.QSpacerItem(21,16,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout2.addItem(spacerItem2) + self.cutoverRmsDoubleSpinBox = QtGui.QDoubleSpinBox(self.groupBox20) - self.grpbtn_1 = QtGui.QPushButton(self.buttonGroup8) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(3),QtGui.QSizePolicy.Policy(0)) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.cutoverRmsDoubleSpinBox.sizePolicy().hasHeightForWidth()) + self.cutoverRmsDoubleSpinBox.setSizePolicy(sizePolicy) + self.cutoverRmsDoubleSpinBox.setDecimals(2) + self.cutoverRmsDoubleSpinBox.setMaximum(12500.0) + self.cutoverRmsDoubleSpinBox.setProperty("value",QtCore.QVariant(0.0)) + self.cutoverRmsDoubleSpinBox.setObjectName("cutoverRmsDoubleSpinBox") + self.vboxlayout1.addWidget(self.cutoverRmsDoubleSpinBox) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(0),QtGui.QSizePolicy.Policy(0)) + self.cutoverMaxDoubleSpinBox = QtGui.QDoubleSpinBox(self.groupBox20) + + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(3),QtGui.QSizePolicy.Policy(0)) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.grpbtn_1.sizePolicy().hasHeightForWidth()) - self.grpbtn_1.setSizePolicy(sizePolicy) - self.grpbtn_1.setMaximumSize(QtCore.QSize(16,16)) - self.grpbtn_1.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image6")) - self.grpbtn_1.setAutoDefault(False) - self.grpbtn_1.setFlat(True) - self.grpbtn_1.setObjectName("grpbtn_1") - self.hboxlayout2.addWidget(self.grpbtn_1) - self.vboxlayout2.addLayout(self.hboxlayout2) - - self.line1 = QtGui.QFrame(self.buttonGroup8) - self.line1.setFrameShape(QtGui.QFrame.HLine) - self.line1.setFrameShadow(QtGui.QFrame.Sunken) - self.line1.setMidLineWidth(0) - self.line1.setFrameShape(QtGui.QFrame.HLine) - self.line1.setFrameShadow(QtGui.QFrame.Sunken) - self.line1.setObjectName("line1") - self.vboxlayout2.addWidget(self.line1) + sizePolicy.setHeightForWidth(self.cutoverMaxDoubleSpinBox.sizePolicy().hasHeightForWidth()) + self.cutoverMaxDoubleSpinBox.setSizePolicy(sizePolicy) + self.cutoverMaxDoubleSpinBox.setDecimals(2) + self.cutoverMaxDoubleSpinBox.setMaximum(60001.0) + self.cutoverMaxDoubleSpinBox.setProperty("value",QtCore.QVariant(0.0)) + self.cutoverMaxDoubleSpinBox.setObjectName("cutoverMaxDoubleSpinBox") + self.vboxlayout1.addWidget(self.cutoverMaxDoubleSpinBox) + self.hboxlayout1.addLayout(self.vboxlayout1) + + spacerItem2 = QtGui.QSpacerItem(80,20,QtGui.QSizePolicy.MinimumExpanding,QtGui.QSizePolicy.Minimum) + self.hboxlayout1.addItem(spacerItem2) + self.gridlayout1.addWidget(self.groupBox20,5,0,1,1) + + self.buttonGroup8 = QtGui.QGroupBox(self.body_frame) + self.buttonGroup8.setObjectName("buttonGroup8") + + self.vboxlayout2 = QtGui.QVBoxLayout(self.buttonGroup8) + self.vboxlayout2.setMargin(4) + self.vboxlayout2.setSpacing(2) + self.vboxlayout2.setObjectName("vboxlayout2") self.minimize_all_rbtn = QtGui.QRadioButton(self.buttonGroup8) self.minimize_all_rbtn.setChecked(True) @@ -166,331 +212,158 @@ class Ui_MinimizeEnergyPropDialog(object): self.enableNeighborSearching_check_box.setChecked(True) self.enableNeighborSearching_check_box.setObjectName("enableNeighborSearching_check_box") self.vboxlayout2.addWidget(self.enableNeighborSearching_check_box) - self.vboxlayout1.addWidget(self.buttonGroup8) + self.gridlayout1.addWidget(self.buttonGroup8,3,0,1,1) - self.groupBox2 = QtGui.QGroupBox(self.body_frame) - self.groupBox2.setObjectName("groupBox2") + self.buttonGroup8_2 = QtGui.QGroupBox(self.body_frame) + self.buttonGroup8_2.setObjectName("buttonGroup8_2") - self.vboxlayout3 = QtGui.QVBoxLayout(self.groupBox2) + self.vboxlayout3 = QtGui.QVBoxLayout(self.buttonGroup8_2) self.vboxlayout3.setMargin(4) - self.vboxlayout3.setSpacing(1) + self.vboxlayout3.setSpacing(4) self.vboxlayout3.setObjectName("vboxlayout3") - self.hboxlayout3 = QtGui.QHBoxLayout() - self.hboxlayout3.setMargin(0) - self.hboxlayout3.setSpacing(6) - self.hboxlayout3.setObjectName("hboxlayout3") - - self.watch_min_options_label = QtGui.QLabel(self.groupBox2) - self.watch_min_options_label.setObjectName("watch_min_options_label") - self.hboxlayout3.addWidget(self.watch_min_options_label) - - spacerItem3 = QtGui.QSpacerItem(20,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout3.addItem(spacerItem3) - - self.grpbtn_2 = QtGui.QPushButton(self.groupBox2) - - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(0),QtGui.QSizePolicy.Policy(0)) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.grpbtn_2.sizePolicy().hasHeightForWidth()) - self.grpbtn_2.setSizePolicy(sizePolicy) - self.grpbtn_2.setMaximumSize(QtCore.QSize(16,16)) - self.grpbtn_2.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image6")) - self.grpbtn_2.setAutoDefault(False) - self.grpbtn_2.setFlat(True) - self.grpbtn_2.setObjectName("grpbtn_2") - self.hboxlayout3.addWidget(self.grpbtn_2) - self.vboxlayout3.addLayout(self.hboxlayout3) - - self.line2 = QtGui.QFrame(self.groupBox2) - self.line2.setFrameShape(QtGui.QFrame.HLine) - self.line2.setFrameShadow(QtGui.QFrame.Sunken) - self.line2.setMidLineWidth(0) - self.line2.setFrameShape(QtGui.QFrame.HLine) - self.line2.setFrameShadow(QtGui.QFrame.Sunken) - self.line2.setObjectName("line2") - self.vboxlayout3.addWidget(self.line2) - - self.watch_minimization_checkbox = QtGui.QCheckBox(self.groupBox2) - self.watch_minimization_checkbox.setChecked(True) - self.watch_minimization_checkbox.setObjectName("watch_minimization_checkbox") - self.vboxlayout3.addWidget(self.watch_minimization_checkbox) - - self.update_btngrp = QtGui.QGroupBox(self.groupBox2) - self.update_btngrp.setObjectName("update_btngrp") - - self.vboxlayout4 = QtGui.QVBoxLayout(self.update_btngrp) - self.vboxlayout4.setMargin(3) - self.vboxlayout4.setSpacing(1) - self.vboxlayout4.setObjectName("vboxlayout4") - - self.watch_min_options_label_2 = QtGui.QLabel(self.update_btngrp) - self.watch_min_options_label_2.setObjectName("watch_min_options_label_2") - self.vboxlayout4.addWidget(self.watch_min_options_label_2) - - self.line2_1 = QtGui.QFrame(self.update_btngrp) - self.line2_1.setFrameShape(QtGui.QFrame.HLine) - self.line2_1.setFrameShadow(QtGui.QFrame.Sunken) - self.line2_1.setMidLineWidth(0) - self.line2_1.setFrameShape(QtGui.QFrame.HLine) - self.line2_1.setFrameShadow(QtGui.QFrame.Sunken) - self.line2_1.setObjectName("line2_1") - self.vboxlayout4.addWidget(self.line2_1) - - self.update_asap_rbtn = QtGui.QRadioButton(self.update_btngrp) - self.update_asap_rbtn.setChecked(True) - self.update_asap_rbtn.setObjectName("update_asap_rbtn") - self.vboxlayout4.addWidget(self.update_asap_rbtn) - - self.hboxlayout4 = QtGui.QHBoxLayout() - self.hboxlayout4.setMargin(0) - self.hboxlayout4.setSpacing(0) - self.hboxlayout4.setObjectName("hboxlayout4") - - self.update_every_rbtn = QtGui.QRadioButton(self.update_btngrp) - self.update_every_rbtn.setObjectName("update_every_rbtn") - self.hboxlayout4.addWidget(self.update_every_rbtn) - - self.update_number_spinbox = QtGui.QSpinBox(self.update_btngrp) - self.update_number_spinbox.setMaximum(9999) - self.update_number_spinbox.setMinimum(1) - self.update_number_spinbox.setProperty("value",QtCore.QVariant(1)) - self.update_number_spinbox.setObjectName("update_number_spinbox") - self.hboxlayout4.addWidget(self.update_number_spinbox) - - self.update_units_combobox = QtGui.QComboBox(self.update_btngrp) - self.update_units_combobox.setObjectName("update_units_combobox") - self.hboxlayout4.addWidget(self.update_units_combobox) - - spacerItem4 = QtGui.QSpacerItem(16,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout4.addItem(spacerItem4) - self.vboxlayout4.addLayout(self.hboxlayout4) - self.vboxlayout3.addWidget(self.update_btngrp) - self.vboxlayout1.addWidget(self.groupBox2) - - self.parms_grpbox = QtGui.QGroupBox(self.body_frame) - self.parms_grpbox.setObjectName("parms_grpbox") - - self.vboxlayout5 = QtGui.QVBoxLayout(self.parms_grpbox) - self.vboxlayout5.setMargin(4) - self.vboxlayout5.setSpacing(1) - self.vboxlayout5.setObjectName("vboxlayout5") - - self.hboxlayout5 = QtGui.QHBoxLayout() - self.hboxlayout5.setMargin(0) - self.hboxlayout5.setSpacing(6) - self.hboxlayout5.setObjectName("hboxlayout5") - - self.parameters_label = QtGui.QLabel(self.parms_grpbox) - self.parameters_label.setObjectName("parameters_label") - self.hboxlayout5.addWidget(self.parameters_label) - - spacerItem5 = QtGui.QSpacerItem(21,16,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout5.addItem(spacerItem5) - - self.grpbtn_3 = QtGui.QPushButton(self.parms_grpbox) - - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(0),QtGui.QSizePolicy.Policy(0)) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.grpbtn_3.sizePolicy().hasHeightForWidth()) - self.grpbtn_3.setSizePolicy(sizePolicy) - self.grpbtn_3.setMaximumSize(QtCore.QSize(16,16)) - self.grpbtn_3.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image6")) - self.grpbtn_3.setAutoDefault(False) - self.grpbtn_3.setFlat(True) - self.grpbtn_3.setObjectName("grpbtn_3") - self.hboxlayout5.addWidget(self.grpbtn_3) - self.vboxlayout5.addLayout(self.hboxlayout5) - - self.line3 = QtGui.QFrame(self.parms_grpbox) - self.line3.setFrameShape(QtGui.QFrame.HLine) - self.line3.setFrameShadow(QtGui.QFrame.Sunken) - self.line3.setMidLineWidth(0) - self.line3.setFrameShape(QtGui.QFrame.HLine) - self.line3.setFrameShadow(QtGui.QFrame.Sunken) - self.line3.setObjectName("line3") - self.vboxlayout5.addWidget(self.line3) - - self.hboxlayout6 = QtGui.QHBoxLayout() - self.hboxlayout6.setMargin(0) - self.hboxlayout6.setSpacing(6) - self.hboxlayout6.setObjectName("hboxlayout6") - - self.vboxlayout6 = QtGui.QVBoxLayout() - self.vboxlayout6.setMargin(0) - self.vboxlayout6.setSpacing(6) - self.vboxlayout6.setObjectName("vboxlayout6") - - self.endrms_lbl = QtGui.QLabel(self.parms_grpbox) - self.endrms_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.endrms_lbl.setObjectName("endrms_lbl") - self.vboxlayout6.addWidget(self.endrms_lbl) - - self.endmax_lbl = QtGui.QLabel(self.parms_grpbox) - self.endmax_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.endmax_lbl.setObjectName("endmax_lbl") - self.vboxlayout6.addWidget(self.endmax_lbl) - - self.cutoverrms_lbl = QtGui.QLabel(self.parms_grpbox) - self.cutoverrms_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.cutoverrms_lbl.setObjectName("cutoverrms_lbl") - self.vboxlayout6.addWidget(self.cutoverrms_lbl) - - self.cutovermax_lbl = QtGui.QLabel(self.parms_grpbox) - self.cutovermax_lbl.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.cutovermax_lbl.setObjectName("cutovermax_lbl") - self.vboxlayout6.addWidget(self.cutovermax_lbl) - self.hboxlayout6.addLayout(self.vboxlayout6) - - self.vboxlayout7 = QtGui.QVBoxLayout() - self.vboxlayout7.setMargin(0) - self.vboxlayout7.setSpacing(6) - self.vboxlayout7.setObjectName("vboxlayout7") - - self.endrms_linedit = QtGui.QLineEdit(self.parms_grpbox) - self.endrms_linedit.setObjectName("endrms_linedit") - self.vboxlayout7.addWidget(self.endrms_linedit) + self.minimize_engine_combobox = QtGui.QComboBox(self.buttonGroup8_2) + self.minimize_engine_combobox.setObjectName("minimize_engine_combobox") + self.vboxlayout3.addWidget(self.minimize_engine_combobox) + self.gridlayout1.addWidget(self.buttonGroup8_2,2,0,1,1) - self.endmax_linedit = QtGui.QLineEdit(self.parms_grpbox) - self.endmax_linedit.setObjectName("endmax_linedit") - self.vboxlayout7.addWidget(self.endmax_linedit) + self.hboxlayout2 = QtGui.QHBoxLayout() + self.hboxlayout2.setMargin(0) + self.hboxlayout2.setSpacing(6) + self.hboxlayout2.setObjectName("hboxlayout2") - self.cutoverrms_linedit = QtGui.QLineEdit(self.parms_grpbox) - self.cutoverrms_linedit.setObjectName("cutoverrms_linedit") - self.vboxlayout7.addWidget(self.cutoverrms_linedit) + spacerItem3 = QtGui.QSpacerItem(35,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) + self.hboxlayout2.addItem(spacerItem3) - self.cutovermax_linedit = QtGui.QLineEdit(self.parms_grpbox) - self.cutovermax_linedit.setObjectName("cutovermax_linedit") - self.vboxlayout7.addWidget(self.cutovermax_linedit) - self.hboxlayout6.addLayout(self.vboxlayout7) + self.done_btn = QtGui.QToolButton(self.body_frame) + self.done_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image2")) + self.done_btn.setObjectName("done_btn") + self.hboxlayout2.addWidget(self.done_btn) - spacerItem6 = QtGui.QSpacerItem(40,1,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout6.addItem(spacerItem6) - self.vboxlayout5.addLayout(self.hboxlayout6) - self.vboxlayout1.addWidget(self.parms_grpbox) + self.abort_btn = QtGui.QToolButton(self.body_frame) + self.abort_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image3")) + self.abort_btn.setObjectName("abort_btn") + self.hboxlayout2.addWidget(self.abort_btn) - self.buttonGroup8_2 = QtGui.QGroupBox(self.body_frame) - self.buttonGroup8_2.setObjectName("buttonGroup8_2") + self.restore_btn = QtGui.QToolButton(self.body_frame) + self.restore_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image4")) + self.restore_btn.setObjectName("restore_btn") + self.hboxlayout2.addWidget(self.restore_btn) - self.vboxlayout8 = QtGui.QVBoxLayout(self.buttonGroup8_2) - self.vboxlayout8.setMargin(4) - self.vboxlayout8.setSpacing(1) - self.vboxlayout8.setObjectName("vboxlayout8") + self.whatsthis_btn = QtGui.QToolButton(self.body_frame) + self.whatsthis_btn.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image5")) + self.whatsthis_btn.setObjectName("whatsthis_btn") + self.hboxlayout2.addWidget(self.whatsthis_btn) - self.hboxlayout7 = QtGui.QHBoxLayout() - self.hboxlayout7.setMargin(0) - self.hboxlayout7.setSpacing(6) - self.hboxlayout7.setObjectName("hboxlayout7") + spacerItem4 = QtGui.QSpacerItem(35,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) + self.hboxlayout2.addItem(spacerItem4) + self.gridlayout1.addLayout(self.hboxlayout2,1,0,1,1) - self.min_options_label_4 = QtGui.QLabel(self.buttonGroup8_2) - self.min_options_label_4.setObjectName("min_options_label_4") - self.hboxlayout7.addWidget(self.min_options_label_4) + self.sponsor_btn = QtGui.QPushButton(self.body_frame) + self.sponsor_btn.setAutoDefault(False) + self.sponsor_btn.setFlat(True) + self.sponsor_btn.setObjectName("sponsor_btn") + self.gridlayout1.addWidget(self.sponsor_btn,0,0,1,1) + self.gridlayout.addWidget(self.body_frame,1,0,1,1) - spacerItem7 = QtGui.QSpacerItem(21,16,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout7.addItem(spacerItem7) + self.heading_frame = QtGui.QFrame(MinimizeEnergyPropDialog) + self.heading_frame.setFrameShape(QtGui.QFrame.NoFrame) + self.heading_frame.setFrameShadow(QtGui.QFrame.Plain) + self.heading_frame.setObjectName("heading_frame") - self.grpbtn_4 = QtGui.QPushButton(self.buttonGroup8_2) + self.heading_pixmap = QtGui.QLabel(self.heading_frame) + self.heading_pixmap.setGeometry(QtCore.QRect(0,8,16,16)) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(0),QtGui.QSizePolicy.Policy(0)) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.grpbtn_4.sizePolicy().hasHeightForWidth()) - self.grpbtn_4.setSizePolicy(sizePolicy) - self.grpbtn_4.setMaximumSize(QtCore.QSize(16,16)) - self.grpbtn_4.setIcon(QtGui.QIcon("../../../../:icons/MinimizeEnergyPropDialog_image6")) - self.grpbtn_4.setAutoDefault(False) - self.grpbtn_4.setDefault(False) - self.grpbtn_4.setFlat(True) - self.grpbtn_4.setObjectName("grpbtn_4") - self.hboxlayout7.addWidget(self.grpbtn_4) - self.vboxlayout8.addLayout(self.hboxlayout7) - - self.line4 = QtGui.QFrame(self.buttonGroup8_2) - self.line4.setFrameShape(QtGui.QFrame.HLine) - self.line4.setFrameShadow(QtGui.QFrame.Sunken) - self.line4.setMidLineWidth(0) - self.line4.setFrameShape(QtGui.QFrame.HLine) - self.line4.setFrameShadow(QtGui.QFrame.Sunken) - self.line4.setObjectName("line4") - self.vboxlayout8.addWidget(self.line4) + sizePolicy.setHeightForWidth(self.heading_pixmap.sizePolicy().hasHeightForWidth()) + self.heading_pixmap.setSizePolicy(sizePolicy) + self.heading_pixmap.setScaledContents(True) + self.heading_pixmap.setAlignment(QtCore.Qt.AlignVCenter) + self.heading_pixmap.setObjectName("heading_pixmap") - self.minimize_engine_combobox = QtGui.QComboBox(self.buttonGroup8_2) - self.minimize_engine_combobox.setObjectName("minimize_engine_combobox") - self.vboxlayout8.addWidget(self.minimize_engine_combobox) - self.vboxlayout1.addWidget(self.buttonGroup8_2) - self.vboxlayout.addWidget(self.body_frame) + self.heading_label = QtGui.QLabel(self.heading_frame) + self.heading_label.setGeometry(QtCore.QRect(3,0,267,21)) - spacerItem8 = QtGui.QSpacerItem(245,16,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding) - self.vboxlayout.addItem(spacerItem8) + font = QtGui.QFont() + font.setFamily("Sans Serif") + font.setPointSize(12) + font.setWeight(75) + font.setItalic(False) + font.setUnderline(False) + font.setStrikeOut(False) + font.setBold(True) + self.heading_label.setFont(font) + self.heading_label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) + self.heading_label.setObjectName("heading_label") + self.gridlayout.addWidget(self.heading_frame,0,0,1,1) - self.hboxlayout8 = QtGui.QHBoxLayout() - self.hboxlayout8.setMargin(4) - self.hboxlayout8.setSpacing(6) - self.hboxlayout8.setObjectName("hboxlayout8") + self.hboxlayout3 = QtGui.QHBoxLayout() + self.hboxlayout3.setMargin(4) + self.hboxlayout3.setSpacing(6) + self.hboxlayout3.setObjectName("hboxlayout3") - spacerItem9 = QtGui.QSpacerItem(59,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) - self.hboxlayout8.addItem(spacerItem9) + spacerItem5 = QtGui.QSpacerItem(59,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) + self.hboxlayout3.addItem(spacerItem5) self.cancel_btn = QtGui.QPushButton(MinimizeEnergyPropDialog) self.cancel_btn.setAutoDefault(False) self.cancel_btn.setObjectName("cancel_btn") - self.hboxlayout8.addWidget(self.cancel_btn) + self.hboxlayout3.addWidget(self.cancel_btn) self.ok_btn = QtGui.QPushButton(MinimizeEnergyPropDialog) self.ok_btn.setAutoDefault(False) self.ok_btn.setObjectName("ok_btn") - self.hboxlayout8.addWidget(self.ok_btn) - self.vboxlayout.addLayout(self.hboxlayout8) + self.hboxlayout3.addWidget(self.ok_btn) + self.gridlayout.addLayout(self.hboxlayout3,3,0,1,1) self.retranslateUi(MinimizeEnergyPropDialog) - QtCore.QObject.connect(self.watch_minimization_checkbox,QtCore.SIGNAL("toggled(bool)"),self.update_btngrp.setEnabled) QtCore.QMetaObject.connectSlotsByName(MinimizeEnergyPropDialog) def retranslateUi(self, MinimizeEnergyPropDialog): MinimizeEnergyPropDialog.setWindowTitle(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Energy", None, QtGui.QApplication.UnicodeUTF8)) - self.heading_label.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Energy", None, QtGui.QApplication.UnicodeUTF8)) - self.done_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "OK", None, QtGui.QApplication.UnicodeUTF8)) - self.abort_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) - self.restore_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Restore Defaults", None, QtGui.QApplication.UnicodeUTF8)) - self.whatsthis_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "What\'s This Help", None, QtGui.QApplication.UnicodeUTF8)) - self.min_options_label.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Options", None, QtGui.QApplication.UnicodeUTF8)) - self.minimize_all_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Perform energy minimization on all the atoms in the workspace", None, QtGui.QApplication.UnicodeUTF8)) - self.minimize_all_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize All", None, QtGui.QApplication.UnicodeUTF8)) - self.minimize_sel_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Perform energy minimization on only the atoms that have been selected", None, QtGui.QApplication.UnicodeUTF8)) - self.minimize_sel_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Selection", None, QtGui.QApplication.UnicodeUTF8)) - self.electrostaticsForDnaDuringMinimize_checkBox.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Electrostatics for DNA Reduced Model", None, QtGui.QApplication.UnicodeUTF8)) - self.enableNeighborSearching_check_box.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Enable Neighbor Searching (slow but accurate)", None, QtGui.QApplication.UnicodeUTF8)) - self.watch_min_options_label.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Watch Minimization Options", None, QtGui.QApplication.UnicodeUTF8)) - self.watch_minimization_checkbox.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Enables real time graphical updates during minimization runs", None, QtGui.QApplication.UnicodeUTF8)) - self.watch_minimization_checkbox.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Watch minimization in real time", None, QtGui.QApplication.UnicodeUTF8)) - self.watch_min_options_label_2.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Update Options", None, QtGui.QApplication.UnicodeUTF8)) - self.update_asap_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Update every 2 seconds, or faster if it doesn\'t slow minimization by more than 20%", None, QtGui.QApplication.UnicodeUTF8)) - self.update_asap_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "As fast as possible", None, QtGui.QApplication.UnicodeUTF8)) - self.update_every_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Specify how often to update the screen during the minimization.", None, QtGui.QApplication.UnicodeUTF8)) - self.update_every_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Every", None, QtGui.QApplication.UnicodeUTF8)) - self.update_number_spinbox.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Specify how often to update the screen during the minimization.", None, QtGui.QApplication.UnicodeUTF8)) - self.update_units_combobox.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Specify how often to update the screen during the minimization.", None, QtGui.QApplication.UnicodeUTF8)) + self.watch_minimize_groupbox.setTitle(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Watch minimize in real time", None, QtGui.QApplication.UnicodeUTF8)) + self.update_asap_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Update every 2 seconds, or faster if it doesn\'t slow adjustments by more than 20%", None, QtGui.QApplication.UnicodeUTF8)) + self.update_asap_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Update as fast as possible", None, QtGui.QApplication.UnicodeUTF8)) + self.update_every_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Specify how often to update the screen during adjustments", None, QtGui.QApplication.UnicodeUTF8)) + self.update_every_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Update every", None, QtGui.QApplication.UnicodeUTF8)) + self.update_number_spinbox.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Specify how often to update the screen during adjustments", None, QtGui.QApplication.UnicodeUTF8)) + self.update_units_combobox.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Specify how often to update the screen during adjustments", None, QtGui.QApplication.UnicodeUTF8)) self.update_units_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "frames", None, QtGui.QApplication.UnicodeUTF8)) self.update_units_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "seconds", None, QtGui.QApplication.UnicodeUTF8)) self.update_units_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "minutes", None, QtGui.QApplication.UnicodeUTF8)) self.update_units_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "hours", None, QtGui.QApplication.UnicodeUTF8)) - self.parameters_label.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Convergence Criteria", None, QtGui.QApplication.UnicodeUTF8)) - self.endrms_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "EndRMS (pN) :", None, QtGui.QApplication.UnicodeUTF8)) - self.endmax_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "EndMax (pN) :", None, QtGui.QApplication.UnicodeUTF8)) - self.cutoverrms_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "CutoverRMS (pN) :", None, QtGui.QApplication.UnicodeUTF8)) - self.cutovermax_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "CutoverMax (pN) :", None, QtGui.QApplication.UnicodeUTF8)) - self.endrms_linedit.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Target RMS force (pN)", None, QtGui.QApplication.UnicodeUTF8)) - self.endrms_linedit.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "1.0", None, QtGui.QApplication.UnicodeUTF8)) - self.endmax_linedit.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Target max force (pN)", None, QtGui.QApplication.UnicodeUTF8)) - self.cutoverrms_linedit.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cutover RMS foce (pN)", None, QtGui.QApplication.UnicodeUTF8)) - self.cutovermax_linedit.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cutover max force (pN)", None, QtGui.QApplication.UnicodeUTF8)) - self.min_options_label_4.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Engine", None, QtGui.QApplication.UnicodeUTF8)) + self.groupBox20.setTitle(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Convergence criteria", None, QtGui.QApplication.UnicodeUTF8)) + self.endrms_lbl.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Target RMS force (pN)", None, QtGui.QApplication.UnicodeUTF8)) + self.endrms_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "EndRMS:", None, QtGui.QApplication.UnicodeUTF8)) + self.endmax_lbl.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Target max force (pN)", None, QtGui.QApplication.UnicodeUTF8)) + self.endmax_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "EndMax:", None, QtGui.QApplication.UnicodeUTF8)) + self.cutoverrms_lbl.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cutover RMS force (pN)", None, QtGui.QApplication.UnicodeUTF8)) + self.cutoverrms_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "CutoverRMS:", None, QtGui.QApplication.UnicodeUTF8)) + self.cutovermax_lbl.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cutover max force (pN)", None, QtGui.QApplication.UnicodeUTF8)) + self.cutovermax_lbl.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "CutoverMax:", None, QtGui.QApplication.UnicodeUTF8)) + self.endRmsDoubleSpinBox.setSuffix(QtGui.QApplication.translate("MinimizeEnergyPropDialog", " pN", None, QtGui.QApplication.UnicodeUTF8)) + self.endMaxDoubleSpinBox.setSuffix(QtGui.QApplication.translate("MinimizeEnergyPropDialog", " pN", None, QtGui.QApplication.UnicodeUTF8)) + self.cutoverRmsDoubleSpinBox.setSuffix(QtGui.QApplication.translate("MinimizeEnergyPropDialog", " pN", None, QtGui.QApplication.UnicodeUTF8)) + self.cutoverMaxDoubleSpinBox.setSuffix(QtGui.QApplication.translate("MinimizeEnergyPropDialog", " pN", None, QtGui.QApplication.UnicodeUTF8)) + self.buttonGroup8.setTitle(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Options", None, QtGui.QApplication.UnicodeUTF8)) + self.minimize_all_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Perform energy minimization on all the atoms in the workspace", None, QtGui.QApplication.UnicodeUTF8)) + self.minimize_all_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize all", None, QtGui.QApplication.UnicodeUTF8)) + self.minimize_sel_rbtn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Perform energy minimization on only the atoms that have been selected", None, QtGui.QApplication.UnicodeUTF8)) + self.minimize_sel_rbtn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize selection", None, QtGui.QApplication.UnicodeUTF8)) + self.electrostaticsForDnaDuringMinimize_checkBox.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Electrostatics for DNA reduced model", None, QtGui.QApplication.UnicodeUTF8)) + self.enableNeighborSearching_check_box.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Enable neighbor searching (slow but accurate)", None, QtGui.QApplication.UnicodeUTF8)) + self.buttonGroup8_2.setTitle(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize physics engine", None, QtGui.QApplication.UnicodeUTF8)) self.minimize_engine_combobox.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Choose the simulation engine with which to minimize energy.", None, QtGui.QApplication.UnicodeUTF8)) self.minimize_engine_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "NanoDynamics-1 (Default)", None, QtGui.QApplication.UnicodeUTF8)) self.minimize_engine_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "GROMACS with ND1 Force Field", None, QtGui.QApplication.UnicodeUTF8)) self.minimize_engine_combobox.addItem(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Background GROMACS with ND1 Force Field", None, QtGui.QApplication.UnicodeUTF8)) + self.done_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "OK", None, QtGui.QApplication.UnicodeUTF8)) + self.abort_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) + self.restore_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Restore Defaults", None, QtGui.QApplication.UnicodeUTF8)) + self.whatsthis_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "What\'s This Help", None, QtGui.QApplication.UnicodeUTF8)) + self.heading_label.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Minimize Energy", None, QtGui.QApplication.UnicodeUTF8)) self.cancel_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) self.cancel_btn.setText(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) self.ok_btn.setToolTip(QtGui.QApplication.translate("MinimizeEnergyPropDialog", "OK", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.ui b/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.ui index 0c49ac99d..ffbccb7d4 100755 --- a/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.ui +++ b/cad/src/commands/MinimizeEnergy/MinimizeEnergyPropDialog.ui @@ -5,897 +5,461 @@ <rect> <x>0</x> <y>0</y> - <width>270</width> - <height>609</height> + <width>300</width> + <height>500</height> </rect> </property> + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>3</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize" > + <size> + <width>300</width> + <height>500</height> + </size> + </property> <property name="windowTitle" > <string>Minimize Energy</string> </property> <property name="windowIcon" > <iconset/> </property> - <layout class="QVBoxLayout" > + <layout class="QGridLayout" > <property name="margin" > - <number>0</number> + <number>2</number> </property> <property name="spacing" > - <number>2</number> + <number>4</number> </property> - <item> - <widget class="QFrame" name="heading_frame" > - <property name="frameShape" > - <enum>QFrame::NoFrame</enum> + <item row="2" column="0" > + <spacer> + <property name="orientation" > + <enum>Qt::Vertical</enum> </property> - <property name="frameShadow" > - <enum>QFrame::Plain</enum> + <property name="sizeType" > + <enum>QSizePolicy::Expanding</enum> </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>3</number> - </property> - <item> - <widget class="QLabel" name="heading_pixmap" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string/> - </property> - <property name="pixmap" > - <pixmap/> - </property> - <property name="scaledContents" > - <bool>true</bool> - </property> - <property name="alignment" > - <set>Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="heading_label" > - <property name="font" > - <font> - <family>Sans Serif</family> - <pointsize>12</pointsize> - <weight>75</weight> - <italic>false</italic> - <bold>true</bold> - <underline>false</underline> - <strikeout>false</strikeout> - </font> - </property> - <property name="text" > - <string>Minimize Energy</string> - </property> - </widget> - </item> - </layout> - </widget> + <property name="sizeHint" > + <size> + <width>270</width> + <height>5</height> + </size> + </property> + </spacer> </item> - <item> + <item row="1" column="0" > <widget class="QFrame" name="body_frame" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>3</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="frameShape" > <enum>QFrame::StyledPanel</enum> </property> <property name="frameShadow" > <enum>QFrame::Raised</enum> </property> - <layout class="QVBoxLayout" > + <layout class="QGridLayout" > <property name="margin" > - <number>9</number> + <number>4</number> </property> <property name="spacing" > - <number>6</number> + <number>4</number> </property> - <item> - <widget class="QPushButton" name="sponsor_btn" > - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset/> - </property> - <property name="autoDefault" > - <bool>false</bool> + <item row="4" column="0" > + <widget class="QGroupBox" name="watch_minimize_groupbox" > + <property name="title" > + <string>Watch minimize in real time</string> </property> - <property name="flat" > + <property name="checkable" > <bool>true</bool> </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" > - <size> - <width>35</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QToolButton" name="done_btn" > - <property name="toolTip" > - <string>OK</string> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image2</iconset> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="abort_btn" > - <property name="toolTip" > - <string>Cancel</string> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image3</iconset> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="restore_btn" > - <property name="toolTip" > - <string>Restore Defaults</string> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image4</iconset> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="whatsthis_btn" > - <property name="toolTip" > - <string>What's This Help</string> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image5</iconset> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" > - <size> - <width>35</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QGroupBox" name="buttonGroup8" > - <property name="title" > - <string/> - </property> - <layout class="QVBoxLayout" > + <layout class="QGridLayout" > <property name="margin" > - <number>9</number> + <number>4</number> </property> <property name="spacing" > - <number>6</number> + <number>2</number> </property> - <item> + <item row="0" column="0" > + <widget class="QRadioButton" name="update_asap_rbtn" > + <property name="toolTip" > + <string>Update every 2 seconds, or faster if it doesn't slow adjustments by more than 20%</string> + </property> + <property name="text" > + <string>Update as fast as possible</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0" > <layout class="QHBoxLayout" > <property name="margin" > <number>0</number> </property> <property name="spacing" > - <number>6</number> + <number>2</number> </property> <item> - <widget class="QLabel" name="min_options_label" > + <widget class="QRadioButton" name="update_every_rbtn" > + <property name="toolTip" > + <string>Specify how often to update the screen during adjustments</string> + </property> <property name="text" > - <string>Minimize Options</string> + <string>Update every</string> </property> </widget> </item> <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <widget class="QSpinBox" name="update_number_spinbox" > + <property name="toolTip" > + <string>Specify how often to update the screen during adjustments</string> </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> + <property name="maximum" > + <number>9999</number> </property> - <property name="sizeHint" > - <size> - <width>21</width> - <height>16</height> - </size> + <property name="minimum" > + <number>1</number> </property> - </spacer> + <property name="value" > + <number>1</number> + </property> + </widget> </item> <item> - <widget class="QPushButton" name="grpbtn_1" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <widget class="QComboBox" name="update_units_combobox" > + <property name="toolTip" > + <string>Specify how often to update the screen during adjustments</string> + </property> + <item> + <property name="text" > + <string>frames</string> + </property> + </item> + <item> + <property name="text" > + <string>seconds</string> + </property> + </item> + <item> + <property name="text" > + <string>minutes</string> + </property> + </item> + <item> + <property name="text" > + <string>hours</string> + </property> + </item> + </widget> + </item> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> </property> - <property name="maximumSize" > + <property name="sizeHint" > <size> - <width>16</width> - <height>16</height> + <width>40</width> + <height>20</height> </size> </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image6</iconset> - </property> - <property name="autoDefault" > - <bool>false</bool> - </property> - <property name="flat" > - <bool>true</bool> - </property> - </widget> + </spacer> </item> </layout> </item> - <item> - <widget class="Line" name="line1" > - <property name="frameShape" > - <enum>QFrame::HLine</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="midLineWidth" > - <number>0</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="minimize_all_rbtn" > - <property name="toolTip" > - <string>Perform energy minimization on all the atoms in the workspace</string> - </property> - <property name="text" > - <string>Minimize All</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="minimize_sel_rbtn" > - <property name="toolTip" > - <string>Perform energy minimization on only the atoms that have been selected</string> - </property> - <property name="text" > - <string>Minimize Selection</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="electrostaticsForDnaDuringMinimize_checkBox" > - <property name="text" > - <string>Electrostatics for DNA Reduced Model</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="enableNeighborSearching_check_box" > - <property name="text" > - <string>Enable Neighbor Searching (slow but accurate)</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> </layout> </widget> </item> - <item> - <widget class="QGroupBox" name="groupBox2" > + <item row="5" column="0" > + <widget class="QGroupBox" name="groupBox20" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="title" > - <string/> + <string>Convergence criteria</string> </property> - <layout class="QVBoxLayout" > + <layout class="QHBoxLayout" > <property name="margin" > <number>4</number> </property> <property name="spacing" > - <number>1</number> + <number>4</number> </property> <item> - <layout class="QHBoxLayout" > + <layout class="QVBoxLayout" > <property name="margin" > <number>0</number> </property> <property name="spacing" > - <number>6</number> + <number>2</number> </property> <item> - <widget class="QLabel" name="watch_min_options_label" > + <widget class="QLabel" name="endrms_lbl" > + <property name="toolTip" > + <string>Target RMS force (pN)</string> + </property> <property name="text" > - <string>Watch Minimization Options</string> + <string>EndRMS:</string> + </property> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <widget class="QLabel" name="endmax_lbl" > + <property name="toolTip" > + <string>Target max force (pN)</string> </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> + <property name="text" > + <string>EndMax:</string> </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>20</height> - </size> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - </spacer> + </widget> </item> <item> - <widget class="QPushButton" name="grpbtn_2" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize" > - <size> - <width>16</width> - <height>16</height> - </size> + <widget class="QLabel" name="cutoverrms_lbl" > + <property name="toolTip" > + <string>Cutover RMS force (pN)</string> </property> <property name="text" > - <string/> + <string>CutoverRMS:</string> </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image6</iconset> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="autoDefault" > - <bool>false</bool> + </widget> + </item> + <item> + <widget class="QLabel" name="cutovermax_lbl" > + <property name="toolTip" > + <string>Cutover max force (pN)</string> + </property> + <property name="text" > + <string>CutoverMax:</string> </property> - <property name="flat" > - <bool>true</bool> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> </layout> </item> <item> - <widget class="Line" name="line2" > - <property name="frameShape" > - <enum>QFrame::HLine</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="midLineWidth" > - <number>0</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="watch_minimization_checkbox" > - <property name="toolTip" > - <string>Enables real time graphical updates during minimization runs</string> - </property> - <property name="text" > - <string>Watch minimization in real time</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QGroupBox" name="update_btngrp" > - <property name="title" > - <string/> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>3</number> - </property> - <property name="spacing" > - <number>1</number> - </property> - <item> - <widget class="QLabel" name="watch_min_options_label_2" > - <property name="text" > - <string>Update Options</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line2_1" > - <property name="frameShape" > - <enum>QFrame::HLine</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="midLineWidth" > - <number>0</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="update_asap_rbtn" > - <property name="toolTip" > - <string>Update every 2 seconds, or faster if it doesn't slow minimization by more than 20%</string> - </property> - <property name="text" > - <string>As fast as possible</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>0</number> - </property> - <item> - <widget class="QRadioButton" name="update_every_rbtn" > - <property name="toolTip" > - <string>Specify how often to update the screen during the minimization.</string> - </property> - <property name="text" > - <string>Every</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="update_number_spinbox" > - <property name="toolTip" > - <string>Specify how often to update the screen during the minimization.</string> - </property> - <property name="maximum" > - <number>9999</number> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>1</number> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="update_units_combobox" > - <property name="toolTip" > - <string>Specify how often to update the screen during the minimization.</string> - </property> - <item> - <property name="text" > - <string>frames</string> - </property> - </item> - <item> - <property name="text" > - <string>seconds</string> - </property> - </item> - <item> - <property name="text" > - <string>minutes</string> - </property> - </item> - <item> - <property name="text" > - <string>hours</string> - </property> - </item> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" > - <size> - <width>16</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="parms_grpbox" > - <property name="title" > - <string/> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>4</number> - </property> - <property name="spacing" > - <number>1</number> - </property> - <item> - <layout class="QHBoxLayout" > + <layout class="QVBoxLayout" > <property name="margin" > <number>0</number> </property> <property name="spacing" > - <number>6</number> + <number>2</number> </property> <item> - <widget class="QLabel" name="parameters_label" > - <property name="text" > - <string>Convergence Criteria</string> + <widget class="QDoubleSpinBox" name="endRmsDoubleSpinBox" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <property name="suffix" > + <string> pN</string> </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> + <property name="decimals" > + <number>3</number> </property> - <property name="sizeHint" > - <size> - <width>21</width> - <height>16</height> - </size> + <property name="maximum" > + <double>501.000000000000000</double> </property> - </spacer> + <property name="value" > + <double>1.000000000000000</double> + </property> + </widget> </item> <item> - <widget class="QPushButton" name="grpbtn_3" > + <widget class="QDoubleSpinBox" name="endMaxDoubleSpinBox" > <property name="sizePolicy" > <sizepolicy> - <hsizetype>0</hsizetype> + <hsizetype>3</hsizetype> <vsizetype>0</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="maximumSize" > - <size> - <width>16</width> - <height>16</height> - </size> - </property> - <property name="text" > - <string/> + <property name="suffix" > + <string> pN</string> </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image6</iconset> + <property name="decimals" > + <number>2</number> </property> - <property name="autoDefault" > - <bool>false</bool> + <property name="maximum" > + <double>2501.000000000000000</double> </property> - <property name="flat" > - <bool>true</bool> + <property name="value" > + <double>0.000000000000000</double> </property> </widget> </item> - </layout> - </item> - <item> - <widget class="Line" name="line3" > - <property name="frameShape" > - <enum>QFrame::HLine</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> - </property> - <property name="midLineWidth" > - <number>0</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> <item> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>0</number> + <widget class="QDoubleSpinBox" name="cutoverRmsDoubleSpinBox" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="spacing" > - <number>6</number> + <property name="suffix" > + <string> pN</string> </property> - <item> - <widget class="QLabel" name="endrms_lbl" > - <property name="text" > - <string>EndRMS (pN) :</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="endmax_lbl" > - <property name="text" > - <string>EndMax (pN) :</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="cutoverrms_lbl" > - <property name="text" > - <string>CutoverRMS (pN) :</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="cutovermax_lbl" > - <property name="text" > - <string>CutoverMax (pN) :</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>0</number> + <property name="decimals" > + <number>2</number> </property> - <property name="spacing" > - <number>6</number> + <property name="maximum" > + <double>12500.000000000000000</double> </property> - <item> - <widget class="QLineEdit" name="endrms_linedit" > - <property name="toolTip" > - <string>Target RMS force (pN)</string> - </property> - <property name="text" > - <string>1.0</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="endmax_linedit" > - <property name="toolTip" > - <string>Target max force (pN)</string> - </property> - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="cutoverrms_linedit" > - <property name="toolTip" > - <string>Cutover RMS foce (pN)</string> - </property> - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="cutovermax_linedit" > - <property name="toolTip" > - <string>Cutover max force (pN)</string> - </property> - <property name="text" > - <string/> - </property> - </widget> - </item> - </layout> + <property name="value" > + <double>0.000000000000000</double> + </property> + </widget> </item> <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <widget class="QDoubleSpinBox" name="cutoverMaxDoubleSpinBox" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> + <property name="suffix" > + <string> pN</string> </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>1</height> - </size> + <property name="decimals" > + <number>2</number> </property> - </spacer> + <property name="maximum" > + <double>60001.000000000000000</double> + </property> + <property name="value" > + <double>0.000000000000000</double> + </property> + </widget> </item> </layout> </item> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType" > + <enum>QSizePolicy::MinimumExpanding</enum> + </property> + <property name="sizeHint" > + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + </item> </layout> </widget> </item> - <item> - <widget class="QGroupBox" name="buttonGroup8_2" > + <item row="3" column="0" > + <widget class="QGroupBox" name="buttonGroup8" > <property name="title" > - <string/> + <string>Minimize Options</string> </property> <layout class="QVBoxLayout" > <property name="margin" > <number>4</number> </property> <property name="spacing" > - <number>1</number> + <number>2</number> </property> <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> + <widget class="QRadioButton" name="minimize_all_rbtn" > + <property name="toolTip" > + <string>Perform energy minimization on all the atoms in the workspace</string> </property> - <property name="spacing" > - <number>6</number> + <property name="text" > + <string>Minimize all</string> </property> - <item> - <widget class="QLabel" name="min_options_label_4" > - <property name="text" > - <string>Minimize Engine</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" > - <size> - <width>21</width> - <height>16</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="grpbtn_4" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize" > - <size> - <width>16</width> - <height>16</height> - </size> - </property> - <property name="text" > - <string/> - </property> - <property name="icon" > - <iconset>../../../../:icons/MinimizeEnergyPropDialog_image6</iconset> - </property> - <property name="autoDefault" > - <bool>false</bool> - </property> - <property name="default" > - <bool>false</bool> - </property> - <property name="flat" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> + <property name="checked" > + <bool>true</bool> + </property> + </widget> </item> <item> - <widget class="Line" name="line4" > - <property name="frameShape" > - <enum>QFrame::HLine</enum> + <widget class="QRadioButton" name="minimize_sel_rbtn" > + <property name="toolTip" > + <string>Perform energy minimization on only the atoms that have been selected</string> </property> - <property name="frameShadow" > - <enum>QFrame::Sunken</enum> + <property name="text" > + <string>Minimize selection</string> </property> - <property name="midLineWidth" > - <number>0</number> + </widget> + </item> + <item> + <widget class="QCheckBox" name="electrostaticsForDnaDuringMinimize_checkBox" > + <property name="text" > + <string>Electrostatics for DNA reduced model</string> </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <property name="checked" > + <bool>true</bool> </property> </widget> </item> <item> + <widget class="QCheckBox" name="enableNeighborSearching_check_box" > + <property name="text" > + <string>Enable neighbor searching (slow but accurate)</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="2" column="0" > + <widget class="QGroupBox" name="buttonGroup8_2" > + <property name="title" > + <string>Minimize physics engine</string> + </property> + <layout class="QVBoxLayout" > + <property name="margin" > + <number>4</number> + </property> + <property name="spacing" > + <number>4</number> + </property> + <item> <widget class="QComboBox" name="minimize_engine_combobox" > <property name="toolTip" > <string>Choose the simulation engine with which to minimize energy.</string> @@ -920,26 +484,187 @@ </layout> </widget> </item> + <item row="1" column="0" > + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType" > + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" > + <size> + <width>35</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="done_btn" > + <property name="toolTip" > + <string>OK</string> + </property> + <property name="text" > + <string/> + </property> + <property name="icon" > + <iconset>../../../../:icons/MinimizeEnergyPropDialog_image2</iconset> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="abort_btn" > + <property name="toolTip" > + <string>Cancel</string> + </property> + <property name="text" > + <string/> + </property> + <property name="icon" > + <iconset>../../../../:icons/MinimizeEnergyPropDialog_image3</iconset> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="restore_btn" > + <property name="toolTip" > + <string>Restore Defaults</string> + </property> + <property name="text" > + <string/> + </property> + <property name="icon" > + <iconset>../../../../:icons/MinimizeEnergyPropDialog_image4</iconset> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="whatsthis_btn" > + <property name="toolTip" > + <string>What's This Help</string> + </property> + <property name="text" > + <string/> + </property> + <property name="icon" > + <iconset>../../../../:icons/MinimizeEnergyPropDialog_image5</iconset> + </property> + </widget> + </item> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType" > + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" > + <size> + <width>35</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item row="0" column="0" > + <widget class="QPushButton" name="sponsor_btn" > + <property name="text" > + <string/> + </property> + <property name="icon" > + <iconset/> + </property> + <property name="autoDefault" > + <bool>false</bool> + </property> + <property name="flat" > + <bool>true</bool> + </property> + </widget> + </item> </layout> </widget> </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> + <item row="0" column="0" > + <widget class="QFrame" name="heading_frame" > + <property name="frameShape" > + <enum>QFrame::NoFrame</enum> </property> - <property name="sizeHint" > - <size> - <width>245</width> - <height>16</height> - </size> + <property name="frameShadow" > + <enum>QFrame::Plain</enum> </property> - </spacer> + <widget class="QLabel" name="heading_pixmap" > + <property name="geometry" > + <rect> + <x>0</x> + <y>8</y> + <width>16</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text" > + <string/> + </property> + <property name="pixmap" > + <pixmap/> + </property> + <property name="scaledContents" > + <bool>true</bool> + </property> + <property name="alignment" > + <set>Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="heading_label" > + <property name="geometry" > + <rect> + <x>3</x> + <y>0</y> + <width>267</width> + <height>21</height> + </rect> + </property> + <property name="font" > + <font> + <family>Sans Serif</family> + <pointsize>12</pointsize> + <weight>75</weight> + <italic>false</italic> + <bold>true</bold> + <underline>false</underline> + <strikeout>false</strikeout> + </font> + </property> + <property name="text" > + <string>Minimize Energy</string> + </property> + <property name="alignment" > + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + </widget> + </widget> </item> - <item> + <item row="3" column="0" > <layout class="QHBoxLayout" > <property name="margin" > <number>4</number> @@ -995,22 +720,5 @@ </widget> <layoutdefault spacing="6" margin="11" /> <resources/> - <connections> - <connection> - <sender>watch_minimization_checkbox</sender> - <signal>toggled(bool)</signal> - <receiver>update_btngrp</receiver> - <slot>setEnabled(bool)</slot> - <hints> - <hint type="sourcelabel" > - <x>20</x> - <y>20</y> - </hint> - <hint type="destinationlabel" > - <x>20</x> - <y>20</y> - </hint> - </hints> - </connection> - </connections> + <connections/> </ui> diff --git a/cad/src/commands/MinimizeEnergy/WhatsThisText_for_MinimizeEnergyDialog.py b/cad/src/commands/MinimizeEnergy/WhatsThisText_for_MinimizeEnergyDialog.py new file mode 100644 index 000000000..7a8c4dcbf --- /dev/null +++ b/cad/src/commands/MinimizeEnergy/WhatsThisText_for_MinimizeEnergyDialog.py @@ -0,0 +1,143 @@ +# Copyright 2007 Nanorex, Inc. See LICENSE file for details. +""" +whatsThis_for_MinimizeEnergyDialog.py + +This file provides functions for setting the "What's This" and tooltip text +for widgets in the NE1 Minimize Energy dialog only. + +Edit WhatsThisText_for_MainWindow.py to set "What's This" and tooltip text +for widgets in the Main Window. + +@version: $Id$ +@copyright: 2008 Nanorex, Inc. See LICENSE file for details. + +""" + +def whatsThis_MinimizeEnergyDialog(minimizeEnergyDialog): + """ + Assigning the I{What's This} text for the Minimize Energy dialog. + """ + + _med = minimizeEnergyDialog + + _med.update_every_rbtn.setWhatsThis( + """<b>Update every <i>n units.</u></b> + <p> + Specify how often to update the model during the adjustment. + This allows the user to monitor results during adjustments. + </p>""") + _med.update_asap_rbtn.setWhatsThis( + """<b>Update as fast as possible</b> + <p> + Update every 2 seconds, or faster (up to 20x/sec) if it doesn't + slow adjustments by more than 20% + </p>""") + _text = \ + """<b>EndRMS</b> + <p> + Continue until this RMS force is reached. + </p>""" + _med.endrms_lbl.setWhatsThis(_text) + _med.endRmsDoubleSpinBox.setWhatsThis(_text) + _text = \ + """<b>EndMax</b> + <p> + Continue until no interaction exceeds this force. + </p>""" + _med.endmax_lbl.setWhatsThis(_text) + _med.endMaxDoubleSpinBox.setWhatsThis(_text) + + _text = \ + """<b>CutoverMax</b> + <p>Use steepest descent until no interaction exceeds this force. + </p>""" + _med.cutovermax_lbl.setWhatsThis(_text) + _med.cutoverMaxDoubleSpinBox.setWhatsThis(_text) + + _text = \ + """<b>CutoverRMS</b> + <p> + Use steepest descent until this RMS force is reached. + </p>""" + _med.cutoverRmsDoubleSpinBox.setWhatsThis(_text) + _med.cutoverrms_lbl.setWhatsThis(_text) + + _med.sponsor_btn.setWhatsThis( + """<b>NanoEngineer-1 Sponsor</b> + <p> + Click on the logo to learn more + about this NanoEngineer-1 sponsor. + </p>""") + _med.minimize_all_rbtn.setWhatsThis( + """<b>Minimize All</b> + <p>Perform energy minimization on all the atoms in the workspace. + </p>""") + _med.minimize_sel_rbtn.setWhatsThis( + """<b>Minimize Selection</b> + <p> + Perform energy minimization on the atoms that are currently selected. + </p>""") + _med.watch_minimize_groupbox.setWhatsThis( + """<b>Watch Motion In Real Time</b> + <p> + Enables real time graphical updates during minimization runs. + """) + _med.update_asap_rbtn.setWhatsThis( + """<b>Update as fast as possible</b> + <p> + Update every 2 seconds, or faster (up to 20x/sec) if it doesn't slow + minimization by more than 20%. + </p>""") + _med.update_every_rbtn.setWhatsThis( + """<b>Update every <i>n units.</u></b> + <p> + Specify how often to update the model during the minimization. + This allows the user to monitor minimization results while the + minimization is running. + </p>""") + _med.update_number_spinbox.setWhatsThis( + """<b>Update every <i>n units.</u></b> + <p> + Specify how often to update the model during the minimization. + This allows the user to monitor minimization results while the + minimization is running. + </p>""") + _med.update_units_combobox.setWhatsThis( + """<b>Update every <i>n units.</u></b> + <p> + Specify how often to update the model during the minimization. + This allows the user to monitor minimization results while the + minimization is running.</p>""") + _med.cancel_btn.setWhatsThis( + """<b>Cancel</b> + <p> + Dismiss this dialog without taking any action. + </p>""") + _med.ok_btn.setWhatsThis( + """<b>Minimize Energy</b> + <p> + Using the parameters specified above perform energy minimization on + some or all of the atoms. + </p>""") + _med.setWhatsThis("""<u><b>Minimize Energy</b></u> + <p> + The potential energy of a chemical structure is a function of the + relative positions of its atoms. To obtain this energy with complete + accuracy involves a lot of computer time spent on quantum mechanical + calculations, which cannot be practically done on a desktop computer. + To get an approximate potential energy without all that, we represent + the energy as a series of terms involving geometric properties + of the structure: lengths of chemical bonds, angles between pairs and + triples of chemical bonds, etc. </p> + <p> + As is generally the case with physical systems, the gradient of the + potential energy represents the forces acting on various particles. The + atoms want to move in the direction that most reduces the potential + energy. Energy minimization is a process of adjusting the atom + positions to try to find a global minimum of the potential energy. + Each atom contributes three variables (its x, y, and z coordinates) + so the search space is multi-dimensional. The global minimum is the + configuration that the atoms will settle into if lowered to zero Kelvin. + </p>""") + + return |