Amelioration du widget d'edition des proprietes d'un conducteur au niveau de sa gestion du focus

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@1077 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2010-07-13 23:17:55 +00:00
parent 249815315d
commit 6fed985ad9
3 changed files with 19 additions and 0 deletions

View File

@@ -45,6 +45,7 @@ ConductorPropertiesWidget::ConductorPropertiesWidget(const ConductorProperties &
/// construit l'interface du widget
void ConductorPropertiesWidget::buildInterface() {
setFocusPolicy(Qt::StrongFocus);
setMinimumSize(380, 350);
QVBoxLayout *main_layout = new QVBoxLayout(this);
@@ -291,3 +292,17 @@ void ConductorPropertiesWidget::setReadOnly(bool ro) {
color_button -> setDisabled(ro);
dashed_checkbox -> setDisabled(ro);
}
/**
Gere le focus de ce widget
*/
void ConductorPropertiesWidget::focusInEvent(QFocusEvent *event) {
if (properties_.type == ConductorProperties::Multi) {
text_field -> setFocus(Qt::ActiveWindowFocusReason);
text_field -> selectAll();
} else if (properties_.type == ConductorProperties::Single) {
phase_spinbox -> setFocus(Qt::ActiveWindowFocusReason);
phase_spinbox -> selectAll();
}
QWidget::focusInEvent(event);
}

View File

@@ -54,6 +54,9 @@ class ConductorPropertiesWidget : public QWidget {
void updateDisplay();
void chooseColor();
protected:
void focusInEvent(QFocusEvent *);
// attributs prives
private:
QButtonGroup *radio_buttons;

View File

@@ -705,6 +705,7 @@ void DiagramView::editConductor(Conductor *edited_conductor) {
dialog_layout -> addWidget(dbb);
connect(dbb, SIGNAL(accepted()), &conductor_dialog, SLOT(accept()));
connect(dbb, SIGNAL(rejected()), &conductor_dialog, SLOT(reject()));
cpw -> setFocus(Qt::ActiveWindowFocusReason);
// execute le dialogue et met a jour le conducteur
if (conductor_dialog.exec() == QDialog::Accepted) {