def _addAtomTypesGroupBox(self, inPmGroupBox): """ Creates a row of atom type buttons (i.e. sp3, sp2, sp and graphitic). @param inPmGroupBox: The parent group box to contain the atom type buttons. @type inPmGroupBox: PM_GroupBox """ self._atomTypesButtonGroup = \ PM_ToolButtonGrid( inPmGroupBox, buttonList = self.getAtomTypesButtonList(), label = "Atomic hybrids:", checkedId = 0, setAsDefault = True ) #Increase the button width for atom hybrids so that # button texts such as sp3(p), sp2(-), sp2(-.5) fit. # This change can be removed once we have icons # for the buttons with long text -- Ninad 2008-09-04 self._atomTypesButtonGroup.setButtonSize(width = 44) # Horizontal spacer to keep buttons grouped close together. _hSpacer = QSpacerItem( 1, 32, QSizePolicy.Expanding, QSizePolicy.Fixed ) self._atomTypesButtonGroup.gridLayout.addItem( _hSpacer, 0, 4, 1, 1 ) self.connect( self._atomTypesButtonGroup.buttonGroup, SIGNAL("buttonClicked(int)"), self._setAtomType ) self._updateAtomTypesButtons()
def _addElementsGroupBox(self, inPmGroupBox): """ Creates a grid of tool buttons containing all elements supported in NE1. @param inPmGroupBox: The parent group box to contain the element buttons. @type inPmGroupBox: PM_GroupBox """ self._elementsButtonGroup = \ PM_ToolButtonGrid( inPmGroupBox, title = "", buttonList = self.getElementsButtonList(), checkedId = self.element.eltnum, setAsDefault = True ) self.connect(self._elementsButtonGroup.buttonGroup, SIGNAL("buttonClicked(int)"), self.setElement)
def _addAtomTypesGroupBox(self, inPmGroupBox): """ Creates a row of atom type buttons (i.e. sp3, sp2, sp and graphitic). @param inPmGroupBox: The parent group box to contain the atom type buttons. @type inPmGroupBox: PM_GroupBox """ self._atomTypesButtonGroup = \ PM_ToolButtonGrid( inPmGroupBox, buttonList = self.getAtomTypesButtonList(), label = "Atomic hybrids:", checkedId = 0, setAsDefault = True ) # Horizontal spacer to keep buttons grouped close together. _hSpacer = QSpacerItem(1, 32, QSizePolicy.Expanding, QSizePolicy.Fixed) self._atomTypesButtonGroup.gridLayout.addItem(_hSpacer, 0, 4, 1, 1) self.connect(self._atomTypesButtonGroup.buttonGroup, SIGNAL("buttonClicked(int)"), self._setAtomType) self._updateAtomTypesButtons()
def _addGroupBoxes(self): """ Add group boxes to the Property Manager. """ self.widgetSelectorGroupBox = PM_GroupBox(self, title = "PM Widget Selector" ) self._loadWidgetSelectorGroupBox(self.widgetSelectorGroupBox) self.groupBoxes = [] pmGroupBox = PM_GroupBox(self, title = "PM_CheckBox") self._loadPM_CheckBox(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_ComboBox") self._loadPM_ComboBox(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_DoubleSpinBox") self._loadPM_DoubleSpinBox(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_ElementChooser(self, title = "PM_ElementChooser") self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_LineEdit") self._loadPM_LineEdit(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_ListWidget") self._loadPM_ListWidget(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_PushButton") self._loadPM_PushButton(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_RadioButton") self._loadPM_TextEdit(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_RadioButtonList( self, title = "PM_RadioButtonList", buttonList = OPTIONS_BUTTON_LIST, checkedId = 2 ) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_SpinBox") self._loadPM_SpinBox(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_TextEdit") self._loadPM_TextEdit(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_GroupBox(self, title = "PM_ToolButton") self._loadPM_ToolButton(pmGroupBox) self.groupBoxes.append(pmGroupBox) pmGroupBox = PM_ToolButtonGrid( self, title = "PM_ToolButtonGrid", buttonList = TOOL_BUTTON_LIST, checkedId = 6, setAsDefault = True ) self.groupBoxes.append(pmGroupBox) self.widgetSelectorComboBox.clear() titles = self._getGroupBoxTitles() self.widgetSelectorComboBox.addItems(titles) self._updateGroupBoxes(0)
def _loadGroupBox1(self, inPmGroupBox): """ Load widgets in the group box. """ memberChoices = [ "Custom", "Alpha helix", "Beta strand", "Pi helix", "3_10 helix", "Polyproline-II helix", "Fully extended" ] self.aaTypeComboBox= \ PM_ComboBox( inPmGroupBox, label = "Conformation:", choices = memberChoices, index = 1, setAsDefault = True, spanWidth = False ) self.connect(self.aaTypeComboBox, SIGNAL("currentIndexChanged(int)"), self._aaTypeChanged) self.phiAngleField = \ PM_DoubleSpinBox( inPmGroupBox, label = "Phi angle:", value = self.phi, setAsDefault = True, minimum = -180.0, maximum = 180.0, singleStep = 1.0, decimals = 1, suffix = " degrees") self.connect(self.phiAngleField, SIGNAL("valueChanged(double)"), self._aaPhiAngleChanged) self.phiAngleField.setEnabled(False) self.psiAngleField = \ PM_DoubleSpinBox( inPmGroupBox, label = "Psi angle:", value = self.psi, setAsDefault = True, minimum = -180.0, maximum = 180.0, singleStep = 1.0, decimals = 1, suffix = " degrees" ) self.connect(self.psiAngleField, SIGNAL("valueChanged(double)"), self._aaPsiAngleChanged) self.psiAngleField.setEnabled(False) self.aaTypesButtonGroup = \ PM_ToolButtonGrid( inPmGroupBox, buttonList = AA_BUTTON_LIST, label = "Amino acids", checkedId = self.current_amino_acid, # Glycine setAsDefault = True ) self.connect(self.aaTypesButtonGroup.buttonGroup, SIGNAL("buttonClicked(int)"), self._setAminoAcidType) return
def _loadGroupBox1(self, inPmGroupBox): """ Load widgets in the group box. """ memberChoices = [ "Custom", "Alpha helix", "Beta strand", "Pi helix", "3_10 helix", "Polyproline-II helix", "Fully extended" ] self.aaTypeComboBox= \ PM_ComboBox( inPmGroupBox, label = "Conformation :", choices = memberChoices, index = 1, setAsDefault = True, spanWidth = False ) self.connect(self.aaTypeComboBox, SIGNAL("currentIndexChanged(int)"), self._aaTypeChanged) self.phiAngleField = \ PM_DoubleSpinBox( inPmGroupBox, label = "Phi angle :", value = -57.0, setAsDefault = True, minimum = -180.0, maximum = 180.0, singleStep = 1.0, decimals = 1, suffix = " degrees") self.connect(self.phiAngleField, SIGNAL("valueChanged(double)"), self._aaPhiAngleChanged) self.phiAngleField.setEnabled(False) self.psiAngleField = \ PM_DoubleSpinBox( inPmGroupBox, label = "Psi angle :", value = -47.0, setAsDefault = True, minimum = -180.0, maximum = 180.0, singleStep = 1.0, decimals = 1, suffix = " degrees" ) self.connect(self.psiAngleField, SIGNAL("valueChanged(double)"), self._aaPsiAngleChanged) self.psiAngleField.setEnabled(False) self.invertChiralityPushButton = \ PM_PushButton( inPmGroupBox, text = 'Invert chirality' , spanWidth = False ) self.connect(self.invertChiralityPushButton, SIGNAL("clicked()"), self._aaChiralityChanged) self.aaTypesButtonGroup = \ PM_ToolButtonGrid( inPmGroupBox, buttonList = AA_BUTTON_LIST, label = "Amino acids :", checkedId = 0, setAsDefault = True ) self.connect(self.aaTypesButtonGroup.buttonGroup, SIGNAL("buttonClicked(int)"), self._setAminoAcidType) self.sequenceEditor = \ PM_TextEdit( inPmGroupBox, label = "Sequence", spanWidth = True ) self.sequenceEditor.insertHtml("", False, 4, 10, True) self.sequenceEditor.setReadOnly(True) self.startOverButton = \ PM_PushButton( inPmGroupBox, label = "", text = "Start Over", spanWidth = True, setAsDefault = True ) self.connect(self.startOverButton, SIGNAL("clicked()"), self._startOverClicked)