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)
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() )