";
}
@@ -96,16 +106,17 @@ void FenetrePrincipale::traiterFormulaire(){
text += listFinaletroncons->toStr(true) + "";
}
- text += tr(" Voici la liste des coupes que vous devez effectuer : ");
- list listResultats = moteur->getResultatFinal();
- for(list::iterator it=listResultats.begin();
- it != listResultats.end();
+ text += tr(" Voici la liste des coupes que vous devez effectuer :
");
+ list * listResultats = moteur->getPointResultatFinal();
+ for(list::iterator it=listResultats->begin();
+ it != listResultats->end();
++it){
- text+=it->toStr()+" ";
+ text+=it->toStr();
}
- text += tr("Exigence : ") + QString::number(moteur->getExigence()) + " ";
+ text += tr("
Sur une barre de " + ConvertUnit::toStrSimplifie(m_barre) + " : ";
for (list::iterator it = m_liste.begin(); it != m_liste.end(); it++)
{
if (it != m_liste.begin())
text+= ", ";
text+=it->toStr();
}
- text+= "] ";
- text+= QObject::tr("Rendement de ") + QString::number(m_rendement,'g', 4) + QObject::tr("\% sur une barre de ") + ConvertUnit::toStrSimplifie(m_barre)+" ";
+ text+= " ";
+ text+= QObject::tr("Le rendement est de ") + QString::number(m_rendement,'g', 4) + "\%.
";
return text;
}
#endif
@@ -74,6 +74,7 @@ double Combinaison::calculeRendement (double perte)
}
+
// attacheBarre choisit dans la liste des barres la barre la plus proche de la somme
// des tronçons de la combinaison
// retourne -1.0 s'il n'y a pas de barre assez grande pour cette combinaison
diff --git a/gui+moteur/moteur/Combinaison.h b/gui+moteur/moteur/Combinaison.h
index d94d031..0df86c2 100644
--- a/gui+moteur/moteur/Combinaison.h
+++ b/gui+moteur/moteur/Combinaison.h
@@ -31,7 +31,7 @@ class Combinaison
void push (double , int);
double calculeRendement (double perte);
double getRendement() const;
- std::list getPaires() const;
+ std::list getPaires() const;
double getBarre () const;
double somme ();
int getPosDernier ();
diff --git a/gui+moteur/moteur/List.h b/gui+moteur/moteur/List.h
index 8b4a0fa..87f602e 100644
--- a/gui+moteur/moteur/List.h
+++ b/gui+moteur/moteur/List.h
@@ -11,7 +11,7 @@
#include
#include
#include
-#include "../saisie.h"
+#include "../saisies/saisie.h"
#include "../convertunit.h"
#if DEBUG
diff --git a/gui+moteur/moteur/MoteurCalculs.cpp b/gui+moteur/moteur/MoteurCalculs.cpp
index 04cee25..d5775e4 100644
--- a/gui+moteur/moteur/MoteurCalculs.cpp
+++ b/gui+moteur/moteur/MoteurCalculs.cpp
@@ -1,7 +1,6 @@
#include "MoteurCalculs.h"
#include
-
using namespace std;
int limite = 0;
int * lim = &limite;
@@ -12,9 +11,11 @@ int * lim = &limite;
MoteurCalculs::MoteurCalculs(List* troncons, List *barres, double perte)
{
+ if (limite > 5000) exit (1);
+ *lim=*lim + 1;
m_perteCoupe = perte;
m_troncons = troncons;
- ajoutePerte ();
+ ajoutePerte ();
m_barres = barres;
m_troncons->copie(&m_copieTroncons);
m_exigence = 80;
@@ -55,23 +56,24 @@ double MoteurCalculs::calculeRendementFinal ()
return sum / sumBarres *100;
}
+
// dirige tous les calculs en appelant les fonctions nécessaires
// se charge de l'affichage
void MoteurCalculs::pilote ()
{
- Combinaison *liste = new Combinaison ();
+ Combinaison *liste = new Combinaison ();
while ((not getTroncons()->empty()) and (not getBarres()->empty()) and (m_exigence != 0))
- {
+ {
cout << moteurCombinaisons(*liste) << endl;
- rentreCombinaisonFinale();
- }
+ rentreCombinaisonFinale();
+ }
if (m_exigence == 0)
{
cout << "On tourne en rond" << endl;
return;
}
#if DEBUG
- affiche ();
+ affiche ();
#endif
}
@@ -178,7 +180,6 @@ Combinaison& MoteurCalculs::maxi(Combinaison *lp)
}
return *lp;
}
-
/*===================access=====================*/
List* MoteurCalculs::getTroncons () const
@@ -196,9 +197,14 @@ double MoteurCalculs::getPerte () const
return m_perteCoupe;
}
-list MoteurCalculs:: getResultatFinal () const
+std::list MoteurCalculs::getResultatFinal() const
+{
+ return m_resultatFinal;
+}
+
+std::list *MoteurCalculs::getPointResultatFinal()
{
- return m_resultatFinal;
+ return & m_resultatFinal;
}
int MoteurCalculs::getExigence() const
diff --git a/gui+moteur/moteur/MoteurCalculs.h b/gui+moteur/moteur/MoteurCalculs.h
index f4ad3c0..3f4e396 100644
--- a/gui+moteur/moteur/MoteurCalculs.h
+++ b/gui+moteur/moteur/MoteurCalculs.h
@@ -11,7 +11,6 @@
extern int limite;
extern int * lim;
-
using namespace std;
// liste de listes de paires
class MoteurCalculs
@@ -30,7 +29,8 @@ class MoteurCalculs
List *getTroncons () const;
List * getBarres () const;
double getPerte () const;
- std::list getResultatFinal () const;
+ std::list getResultatFinal() const;
+ std::list * getPointResultatFinal();
int getExigence() const;
#if DEBUG
diff --git a/gui+moteur/optimiseurdecoupe_en.qm b/gui+moteur/optimiseurdecoupe_en.qm
deleted file mode 100644
index fac8f5e..0000000
Binary files a/gui+moteur/optimiseurdecoupe_en.qm and /dev/null differ
diff --git a/gui+moteur/optimiseurdecoupe_en.ts b/gui+moteur/optimiseurdecoupe_en.ts
index 92d39a4..f3db3fa 100644
--- a/gui+moteur/optimiseurdecoupe_en.ts
+++ b/gui+moteur/optimiseurdecoupe_en.ts
@@ -6,97 +6,69 @@
Optimiseur de coupe
- Cut Optimizer
+
- Veuillez remplir les informations suivantes :
- Please fill in the following information:
-
-
- Barres avant la découpe :
- Bar before cutting:
-
-
- Tronçons désirés :
- Segments requested:
-
-
- Epaisseur de lame
- Blade thickness
-
-
- Appliquer
- Apply
-
-
- Quitter
- Quit
-
-
-
+ Formulaire de saisie
- Entry form
+
-
+ Résultats
- Results
+
-
-
-
+
+ Graphique des résultats
+
+
+
+
+
+ Erreur
- Error
+
-
+ La longueur totale des barres avant la découpe est plus petite que la longueur totale des tronçons demandés.
- The total length of bars before the cutting is smaller than the total length of segments requested.
+
-
+ L'épaisseur de la lame est plus grande que la plus petite longueur des barres avant la découpe.
- The thickness of the blade is larger than the smallest length of bars before cutting.
+
-
-
- Vous n'avez pas eu assez de matière première pour couper tous les tronçons que vous désiriez.
-Liste de troncons restants:
-
- You do not have enough raw materials to cut all segments you wanted.
-List of remaining segments:
+
+ Vous n'avez pas assez de matière première pour couper tous les tronçons désirés.<br>Liste des troncons restants:<br>
+
-
- Il vous reste des barres entières que vous n'avez pas utilisées :
-Liste des barres restantes :
-
- You have entire bar that you do not have used:
-List of remaining bars:
+
+ Il vous reste une/des barre(s) entière(s) non utilisée(s) :<br>Liste de la/des barre(s) restante(s) :<br>
+
-
-
-Voici la liste des coupes que vous devez effectuer :
-
- Here is the list of cuts that you must perform:
+
+ Vous n'avez pas eu assez de matière première pour couper tous les tronçons que vous désiriez.<br>Liste de troncons restants:<br>
+
- Voici la liste des coupes que vous devez effectuer :
-
- List of cuts that you must perform:
+
+ <br>Voici la liste des coupes que vous devez effectuer :<ul>
+
-
- Exigence :
- Requirement:
+
+ </ul>Exigence :
+
-
+ Vous avez un rendement moyen de
- You have an average yield of
+
@@ -104,86 +76,86 @@ Voici la liste des coupes que vous devez effectuer :
Veuillez remplir les informations suivantes :
- Please fill in the following information:
+
-
+ Barres avant la découpe :
- Bar before cutting:
+
-
+ Tronçons désirés :
- Segments requested:
+
-
+ Epaisseur de lame
- Blade thickness
+
-
+ Appliquer
- Apply
+
-
+ Quitter
- Quit
+ GroupeSaisie
-
+ Nombre de saisies :
- Number of entry:
+
-
+ Longueur
- Length
+
-
+ Unité
- Unit
+
-
+ Quantité
- Quantity
+
-
+ Ajouter une saisie
- Add entry
+
-
+ Supprimer une saisie
- Delete an entry
-
-
- Nombre de saisie : 2
- Number of entry : 2
-
-
- Nombre de saisie :
- Number of entry :
+ QObject
- Rendement de
- Output
+ Le rendement est de
+
+
+
+ WidgetGraphique
-
- % sur une barre de
- % from a bar of
+
+ Quitter
+
+
+
+
+ Enregistrer en HTML
+
@@ -191,22 +163,17 @@ Voici la liste des coupes que vous devez effectuer :
Résultats
- Results
-
-
-
- Veuillez remplir le formulaire de saisie et cliquer sur "Appliquer".
- Please fill the entry form and click on "Apply".
+
-
+ Quitter
- Quit
+
-
+ Enregistrer en HTML
- Save in HTML
+
diff --git a/gui+moteur/readme.md b/gui+moteur/readme.md
deleted file mode 100644
index a60557e..0000000
--- a/gui+moteur/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Optimiseur de coupe
-
-## Description
-Ceci est la GUI de l'optimiseur de coupe
-
-## Installation et compilation
-1. Installer QtCreator : http://www.qt.io/download-open-source/
-2. Ouvrir avec QtCreator OptimiseurDeCoupe.pro
-3. Lancer la compilation
-
-## Capture d'écran
-
diff --git a/gui+moteur/groupesaisie.cpp b/gui+moteur/saisies/groupesaisie.cpp
similarity index 100%
rename from gui+moteur/groupesaisie.cpp
rename to gui+moteur/saisies/groupesaisie.cpp
diff --git a/gui+moteur/groupesaisie.h b/gui+moteur/saisies/groupesaisie.h
similarity index 100%
rename from gui+moteur/groupesaisie.h
rename to gui+moteur/saisies/groupesaisie.h
diff --git a/gui+moteur/saisie.cpp b/gui+moteur/saisies/saisie.cpp
similarity index 100%
rename from gui+moteur/saisie.cpp
rename to gui+moteur/saisies/saisie.cpp
diff --git a/gui+moteur/saisie.h b/gui+moteur/saisies/saisie.h
similarity index 100%
rename from gui+moteur/saisie.h
rename to gui+moteur/saisies/saisie.h
diff --git a/gui+moteur/widgetresultats.cpp b/gui+moteur/widgetresultats.cpp
index 5dbd7f7..e8b4345 100644
--- a/gui+moteur/widgetresultats.cpp
+++ b/gui+moteur/widgetresultats.cpp
@@ -1,32 +1,26 @@
#include "widgetresultats.h"
-WidgetResultats::WidgetResultats(QWidget *parent) : QWidget(parent)
+WidgetResultats::WidgetResultats(QFont & fontTitre, QWidget *parent) : QWidget(parent)
{
// Label Titre
QLabel * labelTitre = new QLabel(tr("Résultats"));
- QFont fontTitre1("Droid Sans", 12);
- fontTitre1.setBold(true);
- labelTitre->setFont(fontTitre1);
+ labelTitre->setFont(fontTitre);
// Label Résultats
- m_labelResultat = new QLabel(tr("Veuillez remplir le formulaire de saisie et cliquer sur \"Appliquer\"."));
- m_labelResultat->setTextFormat(Qt::RichText);
+ m_labelResultat = new QTextEdit(tr("Veuillez remplir le formulaire de saisie et cliquer sur \"Appliquer\"."));
+ m_labelResultat->setReadOnly(true);
+ m_labelResultat->setMinimumSize(530,310);
+ m_labelResultat->setAlignment(Qt::AlignTop | Qt::AlignLeft);
+ m_labelResultat->setFrameShape(QFrame::NoFrame);
// Bouton quitter
QPushButton * buttonQuitter = new QPushButton(tr("Quitter"));
- QPushButton * buttonSaveHTML = new QPushButton(tr("Enregistrer en HTML"));
- QHBoxLayout * layoutBouttons = new QHBoxLayout;
- QWidget * widgetBouttons = new QWidget();
- layoutBouttons->addWidget(buttonSaveHTML);
- layoutBouttons->addWidget(buttonQuitter);
- widgetBouttons->setLayout(layoutBouttons);
// Layout
QVBoxLayout * mainLayout = new QVBoxLayout;
mainLayout->addWidget(labelTitre,0, Qt::AlignTop);
- mainLayout->addWidget(m_labelResultat,0,Qt::AlignTop);
- mainLayout->addStretch();
- mainLayout->addWidget(widgetBouttons, 0, Qt::AlignBottom | Qt::AlignRight);
+ mainLayout->addWidget(m_labelResultat);
+ mainLayout->addWidget(buttonQuitter, 0, Qt::AlignBottom | Qt::AlignRight);
setLayout(mainLayout);
diff --git a/gui+moteur/widgetresultats.h b/gui+moteur/widgetresultats.h
index c41229b..95ffac4 100644
--- a/gui+moteur/widgetresultats.h
+++ b/gui+moteur/widgetresultats.h
@@ -3,18 +3,21 @@
#include
#include
+#include
#include
#include
#include
+#include
+#include
class WidgetResultats : public QWidget
{
Q_OBJECT
public:
- explicit WidgetResultats(QWidget *parent = 0);
+ explicit WidgetResultats(QFont & fontTitre, QWidget *parent = 0);
void updateResultats(QString & text);
private:
- QLabel * m_labelResultat;
+ QTextEdit * m_labelResultat;
signals:
public slots: