mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 08:40:53 +01:00
Element info widget : set focus to the first line edit
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3807 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -87,3 +87,11 @@ void ElementInfoPartWidget::setShow(const bool &s) {
|
|||||||
void ElementInfoPartWidget::setHideShow(const bool &hide) {
|
void ElementInfoPartWidget::setHideShow(const bool &hide) {
|
||||||
ui -> checkBox -> setHidden(hide);
|
ui -> checkBox -> setHidden(hide);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementInfoPartWidget::setFocusTolineEdit
|
||||||
|
* Set the focus to the line edit
|
||||||
|
*/
|
||||||
|
void ElementInfoPartWidget::setFocusTolineEdit() {
|
||||||
|
ui->line_edit->setFocus();
|
||||||
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class ElementInfoPartWidget : public QWidget {
|
|||||||
bool mustShow () const;
|
bool mustShow () const;
|
||||||
void setShow (const bool &);
|
void setShow (const bool &);
|
||||||
void setHideShow (const bool &);
|
void setHideShow (const bool &);
|
||||||
|
void setFocusTolineEdit();
|
||||||
|
|
||||||
//ATTRIBUTES
|
//ATTRIBUTES
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ ElementInfoWidget::ElementInfoWidget(Element *elmt, QWidget *parent) :
|
|||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
ui(new Ui::ElementInfoWidget),
|
ui(new Ui::ElementInfoWidget),
|
||||||
element_(elmt),
|
element_(elmt),
|
||||||
elmt_info(elmt->elementInformations())
|
elmt_info(elmt->elementInformations()),
|
||||||
|
m_first_activation (true)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
buildInterface();
|
buildInterface();
|
||||||
@@ -89,6 +90,27 @@ QUndoCommand* ElementInfoWidget::associatedUndo() const {
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementInfoWidget::event
|
||||||
|
* Reimplemented from QWidget::event
|
||||||
|
* Only give focus to the first line edit at first activation.
|
||||||
|
* After send the event to QWidget.
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool ElementInfoWidget::event(QEvent *event)
|
||||||
|
{
|
||||||
|
if (m_first_activation)
|
||||||
|
{
|
||||||
|
if (event -> type() == QEvent::WindowActivate || event -> type() == QEvent::Show)
|
||||||
|
{
|
||||||
|
QTimer::singleShot(250, this, SLOT(firstActivated()));
|
||||||
|
m_first_activation = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return(QWidget::event(event));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief ElementInfoWidget::buildInterface
|
* @brief ElementInfoWidget::buildInterface
|
||||||
* Build the widget
|
* Build the widget
|
||||||
@@ -122,3 +144,12 @@ void ElementInfoWidget::fillInfo() {
|
|||||||
eipw->setHideShow(true);
|
eipw->setHideShow(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementInfoWidget::firstActivated
|
||||||
|
* Slot activated when this widget is show.
|
||||||
|
* Set the focus to the first line edit provided by this widget
|
||||||
|
*/
|
||||||
|
void ElementInfoWidget::firstActivated() {
|
||||||
|
eipw_list.first() -> setFocusTolineEdit();
|
||||||
|
}
|
||||||
|
|||||||
@@ -45,16 +45,23 @@ class ElementInfoWidget : public QWidget {
|
|||||||
bool apply();
|
bool apply();
|
||||||
QUndoCommand* associatedUndo () const;
|
QUndoCommand* associatedUndo () const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool event(QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void buildInterface();
|
void buildInterface();
|
||||||
void fillInfo();
|
void fillInfo();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void firstActivated();
|
||||||
|
|
||||||
//ATTRIBUTES
|
//ATTRIBUTES
|
||||||
private:
|
private:
|
||||||
Ui::ElementInfoWidget *ui;
|
Ui::ElementInfoWidget *ui;
|
||||||
Element *element_;
|
Element *element_;
|
||||||
DiagramContext elmt_info;
|
DiagramContext elmt_info;
|
||||||
QList <ElementInfoPartWidget *> eipw_list;
|
QList <ElementInfoPartWidget *> eipw_list;
|
||||||
|
bool m_first_activation;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ELEMENTINFOWIDGET_H
|
#endif // ELEMENTINFOWIDGET_H
|
||||||
|
|||||||
Reference in New Issue
Block a user