qelectrotech-source-mirror/newelementwizard.cpp

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"));
}
}