Beispiel #1
0
class TodoPropertiesDialog(QDialog):
    """ todo properties dialog implementation """
    def __init__(self, todo=None, parent=None):

        QDialog.__init__(self, parent)
        self.setWindowTitle("Todo Properties")

        self.__createLayout()

        if todo is not None:
            self.descriptionEdit.setText(todo.description)
            self.completedCheckBox.setChecked(todo.completed)
            self.filenameEdit.setText(todo.filename)
            if todo.lineno:
                self.linenoEdit.setText(str(todo.lineno))
        return

    def __createLayout(self):
        """ Creates the dialog layout """

        self.resize(579, 297)
        self.setSizeGripEnabled(True)

        self.gridlayout = QGridLayout(self)

        self.descriptionLabel = QLabel(self)
        self.descriptionLabel.setText("Description:")
        self.gridlayout.addWidget(self.descriptionLabel, 0, 0, 1, 1)

        self.descriptionEdit = QLineEdit(self)
        self.gridlayout.addWidget(self.descriptionEdit, 0, 1, 1, 3)

        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)

        self.completedCheckBox = QCheckBox(self)
        self.completedCheckBox.setText("Completed")
        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.completedCheckBox.sizePolicy().hasHeightForWidth())
        self.completedCheckBox.setSizePolicy(sizePolicy)
        self.gridlayout.addWidget(self.completedCheckBox, 3, 3, 1, 1)

        self.filenameLabel = QLabel(self)
        self.filenameLabel.setText("File name:")
        self.gridlayout.addWidget(self.filenameLabel, 4, 0, 1, 1)

        self.filenameEdit = QLineEdit(self)
        self.filenameEdit.setFocusPolicy(Qt.NoFocus)
        self.filenameEdit.setReadOnly(True)
        self.gridlayout.addWidget(self.filenameEdit, 4, 1, 1, 3)

        self.lineLabel = QLabel(self)
        self.lineLabel.setText("Line:")
        self.gridlayout.addWidget(self.lineLabel, 5, 0, 1, 1)

        self.linenoEdit = QLineEdit(self)
        self.linenoEdit.setFocusPolicy(Qt.NoFocus)
        self.linenoEdit.setReadOnly(True)
        self.gridlayout.addWidget(self.linenoEdit, 5, 1, 1, 3)

        self.buttonBox = QDialogButtonBox(self)
        self.buttonBox.setOrientation(Qt.Horizontal)
        self.buttonBox.setStandardButtons( QDialogButtonBox.Cancel | \
                                           QDialogButtonBox.Ok )
        self.gridlayout.addWidget(self.buttonBox, 6, 0, 1, 4)

        self.descriptionLabel.setBuddy(self.descriptionEdit)

        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.rejected.connect(self.reject)
        QMetaObject.connectSlotsByName(self)
        self.setTabOrder(self.completedCheckBox, self.buttonBox)
        return

    def setReadOnly(self):
        """ Disables editing some fields """

        self.descriptionEdit.setReadOnly(True)
        self.completedCheckBox.setEnabled(False)
        return

    def getData(self):
        """ Provides the dialog data """

        return (self.descriptionEdit.text(),
                self.completedCheckBox.isChecked())
class CheckBox(QWidget):
    def __init__(self, parent):
        QWidget.__init__(self, parent)
        while not isinstance(parent, QDialog):
            parent = parent.parent()
        self.setObjectName("CheckBox" +
                           str(len(parent.findChildren(CheckBox))))

        self.hLayout = QHBoxLayout(self)
        self.hLayout.setObjectName("hLayout")
        self.hLayout.setSpacing(0)
        self.hLayout.setContentsMargins(0, 0, 0, 0)

        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizePolicy)

        self.checkBox = QCheckBox(self)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        self.checkBox.setObjectName(self.objectName() + "_checkbox")
        sizePolicy.setHeightForWidth(
            self.checkBox.sizePolicy().hasHeightForWidth())
        self.checkBox.setSizePolicy(sizePolicy)
        self.hLayout.addWidget(self.checkBox)
        self.checkBox.setChecked(True)
        self.checkBox.clicked.connect(self.clicked)

    def clicked(self):
        self.emit(SIGNAL("Event_0"), self)

    def get_Caption(self):
        return self.checkBox.text()

    def set_Caption(self, captionStr):
        self.checkBox.setText(captionStr)

    Caption = property(get_Caption, set_Caption, None, None)

    def get_Enabled(self):
        return self.isEnabled()

    def set_Enabled(self, bool):
        self.setEnabled(bool)

    Enabled = property(get_Enabled, set_Enabled, None, None)

    def get_Visible(self):
        return self.isVisible()

    def set_Visible(self, bool):
        self.setVisible(bool)

    Visible = property(get_Visible, set_Visible, None, None)

    def get_Checked(self):
        return self.checkBox.isChecked()

    def set_Checked(self, bool):
        self.checkBox.setChecked(bool)

    Checked = property(get_Checked, set_Checked, None, None)

    def set_LabelWidth(self, width):
        self.checkBox.setMinimumSize(QSize(width, 0))
        self.checkBox.setMaximumSize(QSize(width, 16777215))

    LabelWidth = property(None, set_LabelWidth, None, None)
Beispiel #3
0
class TodoPropertiesDialog( QDialog ):
    """ todo properties dialog implementation """

    def __init__( self, todo = None, parent = None ):

        QDialog.__init__( self, parent )
        self.setWindowTitle( "Todo Properties" )

        self.__createLayout()

        if todo is not None:
            self.descriptionEdit.setText( todo.description )
            self.completedCheckBox.setChecked( todo.completed )
            self.filenameEdit.setText( todo.filename )
            if todo.lineno:
                self.linenoEdit.setText( str( todo.lineno ) )
        return

    def __createLayout( self ):
        """ Creates the dialog layout """

        self.resize( 579, 297 )
        self.setSizeGripEnabled( True )

        self.gridlayout = QGridLayout( self )

        self.descriptionLabel = QLabel( self )
        self.descriptionLabel.setText( "Description:" )
        self.gridlayout.addWidget( self.descriptionLabel, 0, 0, 1, 1 )

        self.descriptionEdit = QLineEdit( self )
        self.gridlayout.addWidget( self.descriptionEdit, 0, 1, 1, 3 )

        sizePolicy = QSizePolicy( QSizePolicy.Expanding, QSizePolicy.Preferred )
        sizePolicy.setHorizontalStretch( 0 )
        sizePolicy.setVerticalStretch( 0 )

        self.completedCheckBox = QCheckBox( self )
        self.completedCheckBox.setText( "Completed" )
        sizePolicy = QSizePolicy( QSizePolicy.Expanding, QSizePolicy.Fixed )
        sizePolicy.setHorizontalStretch( 0 )
        sizePolicy.setVerticalStretch( 0 )
        sizePolicy.setHeightForWidth( self.completedCheckBox.sizePolicy().hasHeightForWidth() )
        self.completedCheckBox.setSizePolicy( sizePolicy )
        self.gridlayout.addWidget( self.completedCheckBox, 3, 3, 1, 1 )

        self.filenameLabel = QLabel( self )
        self.filenameLabel.setText( "File name:" )
        self.gridlayout.addWidget( self.filenameLabel, 4, 0, 1, 1 )

        self.filenameEdit = QLineEdit( self )
        self.filenameEdit.setFocusPolicy( Qt.NoFocus )
        self.filenameEdit.setReadOnly( True )
        self.gridlayout.addWidget( self.filenameEdit, 4, 1, 1, 3 )

        self.lineLabel = QLabel( self )
        self.lineLabel.setText( "Line:" )
        self.gridlayout.addWidget( self.lineLabel, 5, 0, 1, 1 )

        self.linenoEdit = QLineEdit( self )
        self.linenoEdit.setFocusPolicy( Qt.NoFocus )
        self.linenoEdit.setReadOnly( True )
        self.gridlayout.addWidget( self.linenoEdit, 5, 1, 1, 3 )

        self.buttonBox = QDialogButtonBox( self )
        self.buttonBox.setOrientation( Qt.Horizontal )
        self.buttonBox.setStandardButtons( QDialogButtonBox.Cancel | \
                                           QDialogButtonBox.Ok )
        self.gridlayout.addWidget( self.buttonBox, 6, 0, 1, 4 )

        self.descriptionLabel.setBuddy( self.descriptionEdit )

        self.buttonBox.accepted.connect( self.accept )
        self.buttonBox.rejected.connect( self.reject )
        QMetaObject.connectSlotsByName( self )
        self.setTabOrder( self.completedCheckBox, self.buttonBox )
        return

    def setReadOnly( self ):
        """ Disables editing some fields """

        self.descriptionEdit.setReadOnly( True )
        self.completedCheckBox.setEnabled( False )
        return

    def getData( self ):
        """ Provides the dialog data """

        return ( self.descriptionEdit.text(),
                 self.completedCheckBox.isChecked() )