mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
104 lines
3.1 KiB
C++
104 lines
3.1 KiB
C++
#include "newelementwizard.h"
|
|
#include "elementscategorieswidget.h"
|
|
|
|
NewElementWizard::NewElementWizard(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) {
|
|
QVBoxLayout *dialog_layout = new QVBoxLayout();
|
|
setLayout(dialog_layout);
|
|
|
|
// 1ere etape : dimensions
|
|
etape1 = new QWidget(this);
|
|
sb_largeur = new QSpinBox();
|
|
sb_largeur -> setMinimum(1);
|
|
sb_hauteur = new QSpinBox();
|
|
sb_hauteur -> setMinimum(1);
|
|
|
|
QGridLayout *grid_layout = new QGridLayout();
|
|
grid_layout -> addWidget(new QLabel(tr("Largeur :")), 0, 0);
|
|
grid_layout -> addWidget(sb_largeur, 0, 1);
|
|
grid_layout -> addWidget(new QLabel(tr("\327 10 px")), 0, 2);
|
|
grid_layout -> addWidget(new QLabel(tr("Hauteur :")), 1, 0);
|
|
grid_layout -> addWidget(sb_hauteur, 1, 1);
|
|
grid_layout -> addWidget(new QLabel(tr("\327 10 px")), 1, 2);
|
|
|
|
QVBoxLayout *etape1_layout = new QVBoxLayout();
|
|
etape1_layout -> addWidget(new QLabel(tr("Saisissez la largeur et la hauteur du nouvel \351l\351ment")));
|
|
etape1_layout -> addLayout(grid_layout);
|
|
etape1 -> setLayout(etape1_layout);
|
|
|
|
// 2eme etape : enregistrement
|
|
etape2 = new QWidget(this);
|
|
QVBoxLayout *etape2_layout = new QVBoxLayout();
|
|
etape2_layout -> addWidget(new QLabel(tr("Entrez un nom et une cat\351gorie dans laquelle enregistrer le nouvel \351l\351ment.")));
|
|
qle_nom_element = new QLineEdit();
|
|
etape2_layout -> addWidget(qle_nom_element);
|
|
categories_list = new ElementsCategoriesWidget();
|
|
etape2_layout -> addWidget(categories_list);
|
|
etape2 -> setLayout(etape2_layout);
|
|
|
|
|
|
// dialogue itself
|
|
setWindowTitle(tr("Cr\351er un nouvel \351l\351ment : Assistant"));
|
|
|
|
dialog_layout -> addWidget(etape1);
|
|
dialog_layout -> addWidget(etape2);
|
|
etape2 -> hide();
|
|
|
|
// boutons
|
|
QDialogButtonBox *boutons = new QDialogButtonBox(QDialogButtonBox::Cancel);
|
|
button_previous = new QPushButton(tr("Pr\351c\351dent"), this);
|
|
button_previous -> setEnabled(false);
|
|
button_next = new QPushButton(tr("Suivant"), this);
|
|
boutons -> addButton(button_previous, QDialogButtonBox::ActionRole);
|
|
boutons -> addButton(button_next, QDialogButtonBox::ActionRole);
|
|
connect(button_previous, SIGNAL(released()), this, SLOT(previous()));
|
|
connect(button_next, SIGNAL(released()), this, SLOT(next()));
|
|
connect(boutons, SIGNAL(rejected()), this, SLOT(accept()));
|
|
dialog_layout -> addWidget(boutons);
|
|
current_state = Dimensions;
|
|
|
|
}
|
|
|
|
NewElementWizard::~NewElementWizard() {
|
|
}
|
|
|
|
void NewElementWizard::previous() {
|
|
switch(current_state) {
|
|
case Dimensions:
|
|
return;
|
|
case Enregistrement:
|
|
current_state = Dimensions;
|
|
etape1 -> show();
|
|
etape2 -> hide();
|
|
button_next -> setText(tr("Suivant"));
|
|
button_previous -> setEnabled(false);
|
|
}
|
|
}
|
|
|
|
void NewElementWizard::next() {
|
|
switch(current_state) {
|
|
case Dimensions:
|
|
current_state = Enregistrement;
|
|
etape1 -> hide();
|
|
etape2 -> show();
|
|
button_next -> setText(tr("Valider"));
|
|
button_previous -> setEnabled(true);
|
|
break;
|
|
case Enregistrement:
|
|
valid();
|
|
}
|
|
}
|
|
|
|
void NewElementWizard::valid() {
|
|
return;
|
|
switch(current_state) {
|
|
case Dimensions:
|
|
|
|
case Enregistrement:
|
|
|
|
current_state = Dimensions;
|
|
button_next -> setText(tr("Suivant"));
|
|
}
|
|
}
|
|
|
|
|