34 setOptions(options() & ~QWizard::NoCancelButton);
37 setWizardStyle(QWizard::AeroStyle);
38 #elif defined(Q_OS_MAC) 39 setWizardStyle(QWizard::MacStyle);
42 setPixmap(LogoPixmap, QPixmap(
":/ico/256x256/qelectrotech.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
43 setWindowTitle(
tr(
"Créer un nouvel élément : Assistant",
"window title"));
44 setButtonText(QWizard::NextButton,
tr(
"&Suivant >"));
48 setFixedSize(705, 325);
65 if (index.isValid()) {
77 QWizardPage *page =
new QWizardPage();
78 page -> setProperty(
"WizardState",
Category);
79 page -> setTitle(
tr(
"Étape 1/3 : Catégorie parente",
"wizard page title"));
80 page -> setSubTitle(
tr(
"Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément.",
"wizard page subtitle"));
81 QVBoxLayout *layout =
new QVBoxLayout();
94 page->setLayout(layout);
103 QWizardPage *page =
new QWizardPage();
104 page -> setProperty(
"WizardState",
Filename);
105 page -> setTitle(
tr(
"Étape 2/3 : Nom du fichier",
"wizard page title"));
106 page -> setSubTitle(
tr(
"Indiquez le nom du fichier dans lequel enregistrer le nouvel élément.",
"wizard page subtitle"));
107 QVBoxLayout *layout =
new QVBoxLayout();
111 QLabel *explication2 =
new QLabel(
tr(
"Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement."));
112 explication2 -> setAlignment(Qt::AlignJustify | Qt::AlignVCenter);
113 explication2 -> setWordWrap(
true);
115 layout -> addWidget(explication2);
116 layout -> addSpacing(100);
118 page -> setLayout(layout);
127 QWizardPage *page =
new QWizardPage();
128 page -> setProperty(
"WizardState",
Names);
129 page -> setTitle(
tr(
"Étape 3/3 : Noms de l'élément",
"wizard page title"));
130 page -> setSubTitle(
tr(
"Indiquez le ou les noms de l'élément.",
"wizard page subtitle"));
131 QVBoxLayout *layout =
new QVBoxLayout();
135 hash_name.
addName(QLocale::system().name().left(2),
tr(
"Nom du nouvel élément",
"default name when creating a new element"));
139 page -> setLayout(layout);
154 else if (wizard_state ==
Filename) {
157 else if (wizard_state ==
Names)
176 bool step1_ok =
false;
179 if (index.isValid()) {
182 if (eci && eci->
isDir()) {
193 tr(
"Erreur",
"message box title"),
194 tr(
"Vous devez sélectionner une catégorie.",
"message box content"));
208 if (file_name.isEmpty()) {
210 tr(
"Erreur",
"message box title"),
211 tr(
"Vous devez entrer un nom de fichier",
"message box content"));
215 if (!file_name.endsWith(
".elmt")) {
216 file_name +=
".elmt";
223 tr(
"Erreur",
"message box title"),
224 tr(
"Un élément portant le même nom existe déjà"));
242 edit_new_element -> setLocation(loc_);
243 edit_new_element -> show();
The ElementCollectionItem class This class represent a item (a directory or an element) in a element ...
QWizardPage * buildStep1()
NewElementWizard::buildStep1.
NewElementWizard(QWidget *=nullptr, Qt::WindowFlags=nullptr)
QWizardPage * buildStep2()
NewElementWizard::buildStep2.
void preselectedLocation(const ElementsLocation &location)
NewElementWizard::preselectedLocation Select item in the tree view represented by location...
void addName(const QString &, const QString &)
ElementsLocation m_chosen_location
bool validStep1()
NewElementWizard::validStep1 Valid the setp 1.
bool addToPath(const QString &)
ElementsLocation::addToPath Add a string to the actual path of this location.
void createNewElement()
NewElementWizard::createNewElement Lauch an element editor for create the new element.
NameListWidget * m_names_list
bool validStep2()
NewElementWizard::validStep2 Valid the step 2.
void hideElement()
ElementsCollectionModel::hideElement Hide element in this model, only directory is managed...
~NewElementWizard() override
bool exist() const
ElementsLocation::exist.
QFileNameEdit * m_qle_filename
bool validateCurrentPage() override
NewElementWizard::validateCurrentPage.
ElementsCollectionModel * m_model
void addCustomCollection(bool set_data=true)
ElementsCollectionModel::addCustomCollection Add the custom elements collection to this model...
virtual QString collectionPath() const =0
virtual bool isDir() const =0
QMessageBox::StandardButton critical(QWidget *, const QString &, const QString &, QMessageBox::StandardButtons=QMessageBox::Ok, QMessageBox::StandardButton=QMessageBox::NoButton)
QWizardPage * buildStep3()
NewElementWizard::buildStep3.
QModelIndex indexFromLocation(const ElementsLocation &location)
ElementsCollectionModel::indexFromLocation Return the index who represent . Index can be non valid...