2007-04-05 01:13:14 +00:00
|
|
|
#ifndef NEW_ELEMENT_WIZARD_H
|
|
|
|
#define NEW_ELEMENT_WIZARD_H
|
|
|
|
#include <QtGui>
|
2007-04-04 02:13:14 +00:00
|
|
|
/**
|
|
|
|
Cette classe represente un dialogue qui permet a l'utilisateur de specifier
|
|
|
|
les premiers parametres de l'element qu'il va construire.
|
|
|
|
Ces parametres sont :
|
|
|
|
- la largeur
|
|
|
|
- la hauteur
|
|
|
|
- et euh... pleins de choses interessantes
|
|
|
|
*/
|
|
|
|
class ElementsCategoriesWidget;
|
2007-04-07 02:37:57 +00:00
|
|
|
class NamesList;
|
|
|
|
class Diagram;
|
2007-04-04 02:13:14 +00:00
|
|
|
class NewElementWizard : public QDialog {
|
|
|
|
Q_OBJECT
|
|
|
|
// Constructeur, destructeur
|
|
|
|
public:
|
|
|
|
NewElementWizard(QWidget * = 0, Qt::WindowFlags = 0);
|
|
|
|
~NewElementWizard();
|
|
|
|
|
|
|
|
// attributs
|
|
|
|
private:
|
2007-04-06 02:47:25 +00:00
|
|
|
enum WizardState { Category, Filename, Names, Dimensions, Orientations };
|
|
|
|
QString str_next, str_previous, str_finish;
|
|
|
|
QWidget *step1, *step2, *step3, *step4, *step5;
|
|
|
|
ElementsCategoriesWidget* categories_list;
|
|
|
|
QLineEdit *qle_filename;
|
2007-04-07 02:37:57 +00:00
|
|
|
QSpinBox *sb_width;
|
|
|
|
QSpinBox *sb_height;
|
|
|
|
QSpinBox *sb_hotspot_x;
|
|
|
|
QSpinBox *sb_hotspot_y;
|
|
|
|
NamesList *element_names;
|
2007-04-04 02:13:14 +00:00
|
|
|
QPushButton *button_previous;
|
|
|
|
QPushButton *button_next;
|
|
|
|
WizardState current_state;
|
2007-04-07 02:37:57 +00:00
|
|
|
QGraphicsView *diagram_view;
|
|
|
|
Diagram *diagram_scene;
|
2007-04-04 02:13:14 +00:00
|
|
|
|
|
|
|
// methodes
|
2007-04-06 02:47:25 +00:00
|
|
|
private:
|
|
|
|
void buildStep1();
|
|
|
|
void buildStep2();
|
|
|
|
void buildStep3();
|
|
|
|
void buildStep4();
|
|
|
|
void buildStep5();
|
|
|
|
bool validStep1();
|
|
|
|
bool validStep2();
|
|
|
|
bool validStep3();
|
|
|
|
bool validStep4();
|
|
|
|
bool validStep5();
|
2007-04-04 02:13:14 +00:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
void previous();
|
|
|
|
void next();
|
2007-04-07 02:37:57 +00:00
|
|
|
void updateScene();
|
|
|
|
void updateHotspotLimits();
|
2007-04-04 02:13:14 +00:00
|
|
|
};
|
2007-04-05 01:13:14 +00:00
|
|
|
#endif
|