diff --git a/sources/conductorautonumerotation.cpp b/sources/conductorautonumerotation.cpp index 3f3cf17d2..8ac4f0641 100644 --- a/sources/conductorautonumerotation.cpp +++ b/sources/conductorautonumerotation.cpp @@ -4,6 +4,7 @@ #include "qetdiagrameditor.h" #include "QGraphicsView" #include "diagramcommands.h" +#include "qetapp.h" /** * Constructor @@ -82,6 +83,24 @@ void ConductorAutoNumerotation::setNumStrategy() { } +/** + * @brief ConductorAutoNumerotation::removeNum_ofDiagram + * @param dg the diagram to remove text of Conductor + */ +void ConductorAutoNumerotation::removeNum_ofDiagram(Diagram *dg) { + // Setting of application + QSettings &qet_settings = QETApp::settings(); + // Get the default text of conductor from conf file + QString Conductor_DefaultText = qet_settings.value("defaultconductortext", "_").toString(); + // Get all conductors presents in diagram + QList Conductors = dg -> content().conductors(); + // Browse all conductors and set the default value + for (int i=0; i setText( Conductor_DefaultText ); + } +} + + /** * Constructor */ diff --git a/sources/conductorautonumerotation.h b/sources/conductorautonumerotation.h index 2c1ea2e88..15b0eb2b8 100644 --- a/sources/conductorautonumerotation.h +++ b/sources/conductorautonumerotation.h @@ -19,7 +19,8 @@ class ConductorAutoNumerotation void setConductor(Conductor *); void numerate(); void setText(QString); - + void removeNum_ofDiagram(Diagram *); + protected: //methods void setNumStrategy (); diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index d2bbf47d6..77286b850 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -1712,8 +1712,7 @@ void QETDiagramEditor::cleanCurrentProject() { * @brief launch AutoNumConductor dialog */ void QETDiagramEditor::conductorAutoNumProject() { - //TODO: Test dialog autonum CYRIL F. - DialogConductorAutoNum *dg = new DialogConductorAutoNum(); + DialogConductorAutoNum *dg = new DialogConductorAutoNum(currentDiagram()->diagram(), this); dg->setModal(true); dg->exec(); diff --git a/sources/ui/dialogconductorautonum.cpp b/sources/ui/dialogconductorautonum.cpp index 286449cf0..e5872d2ee 100644 --- a/sources/ui/dialogconductorautonum.cpp +++ b/sources/ui/dialogconductorautonum.cpp @@ -2,15 +2,49 @@ #include "ui_dialogconductorautonum.h" #include "conductorautonumerotation.h" +#include "qetmessagebox.h" -DialogConductorAutoNum::DialogConductorAutoNum(QWidget *parent) : +DialogConductorAutoNum::DialogConductorAutoNum(Diagram *dg, QWidget *parent) : QDialog(parent), ui(new Ui::DialogConductorAutoNum) { ui->setupUi(this); + dg_ = dg; } DialogConductorAutoNum::~DialogConductorAutoNum() { delete ui; } + +/** + * @brief DialogConductorAutoNum::on_pushButton_delete_clicked + */ +void DialogConductorAutoNum::on_pushButton_delete_clicked() { + // TODO check if project or diagram + // ... + // Ask if user is sure to delete the conductor numerotation + QMessageBox::StandardButton answer = QET::MessageBox::critical( + this, + tr("Suppression des annotations conducteurs", "Attention"), + QString( + tr("Voulez vraiment supprimer les annotations conducteurs de\n%1 ?") + ).arg(dg_ -> title()), + QMessageBox::Yes | QMessageBox::No, + QMessageBox::No + ); + + // if yes remove all + if( answer == QMessageBox::Yes) { + ConductorAutoNumerotation ConductorNum; + ConductorNum.removeNum_ofDiagram( dg_ ); + } +} + +/** + * @brief Close the dialog + */ +void DialogConductorAutoNum::on_pushButton_close_clicked() { + close(); +} + diff --git a/sources/ui/dialogconductorautonum.h b/sources/ui/dialogconductorautonum.h index aa9b6d5da..df77b68a8 100644 --- a/sources/ui/dialogconductorautonum.h +++ b/sources/ui/dialogconductorautonum.h @@ -3,6 +3,8 @@ #include +#include "diagram.h" + namespace Ui { class DialogConductorAutoNum; } @@ -12,11 +14,17 @@ class DialogConductorAutoNum : public QDialog Q_OBJECT public: - explicit DialogConductorAutoNum(QWidget *parent = 0); + explicit DialogConductorAutoNum(Diagram *dg, QWidget *parent = 0); ~DialogConductorAutoNum(); + private slots: + void on_pushButton_delete_clicked(); + + void on_pushButton_close_clicked(); + private: Ui::DialogConductorAutoNum *ui; + Diagram *dg_; }; #endif // DIALOGCONDUCTORAUTONUM_H diff --git a/sources/ui/dialogconductorautonum.ui b/sources/ui/dialogconductorautonum.ui index 4e8202261..1c91e6690 100644 --- a/sources/ui/dialogconductorautonum.ui +++ b/sources/ui/dialogconductorautonum.ui @@ -6,8 +6,8 @@ 0 0 - 523 - 313 + 482 + 245 @@ -29,16 +29,19 @@ - + - RadioButton + Numéroter le schéma actif + + + true - + - RadioButton + Numéroter le projet actif entier @@ -56,11 +59,18 @@ - - - CheckBox - - + + + + + + + + Format : + + + + @@ -89,6 +99,10 @@ Annotation + + + :/ico/16x16/edit-select-all.png:/ico/16x16/edit-select-all.png + @@ -96,6 +110,10 @@ Supprimer l'annotation + + + :/ico/16x16/edit-delete.png:/ico/16x16/edit-delete.png +