Example #1
0
 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)
Example #3
0
    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()
Example #4
0
 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
Example #6
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        = -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)