Topic: Modification du sommaire

Bonjour,
Est-il possible de modifier la page sommaire, en enlevant des colonnes inutiles ou en modifiant la largeur de ces colonnes comme dans Excel par exemple ?
La mise en page dans la version 0.5 me convenait très bien avec 58 index sur la même page.
Merci d'avance

Re: Modification du sommaire

@ systemes :

non, aucune configuration n'est possible pour l'instant. Tout est en dur dans le code.
Je vais essayer d'y travailler en même temps que l'implémentation de la fonction "ajouter une nomenclature" car il y a beaucoup de similarités entre ces 2 fonctions.
Et ce coup-ci, je vais essayer de faire l'implémentation en Qt/C++.
Mais je te préviens, ca risque de prendre des mois et des mois... et des mois... et des années peut-être...

Pas sûr qu'on ajoute une option pour faire un sommaire sur 2 colonnes. Faudra en discuter.

Qu'en pense Galexis ?
A-t-il envie de se mettre au C++ vu que le Python n'est qu'une étape intermédiaire inutile ? (en fait, t'as raison Galexis, autant se mettre au C++ direct).

Re: Modification du sommaire

Il faudra effectivement bien s'attaquer au sommaire à un moment donné ! Autant que ce soit en qt/C++ ! nomicons/grin
Si déjà le format existant est configurable ( contenu et nombre colonne, nombre de ligne et cartouche) et que cela est enregistré dans le projet ce sera déjà une grosse avancée. Ensuite bien sûr, j'aimerais bien avoir un système d'indication des versions par folio, mais cela reste de l'ordre du rêve !

Re: Modification du sommaire

Merci pour la réponse. Je vais supprimer la page de garde pour les anciens schémas réalisés en version 0,5 de façon à retrouver le nombre de pages du départ.
Bon courage à vous, vous avez un super produit.

5 (edited by Nuri 2017-12-08 10:39:09)

Re: Modification du sommaire

@ galexis :
je pense que c'est plus simple de faire 2 nouvelles actions "ajouter un sommaire" et "ajouter une nomenclature" qui utiliseront quasiment presque toutes les mêmes classes C++.
L'idée c'est d'utiliser 2 éléments pour générer les formulaires.
Le premier élément sert à faire l'en-tête et ne contient que des rectangles et des textes fixes (folio, label, référence, etc.).
Le deuxième élément décrit comment construire une ligne contenant les données du sommaire et/ou de la nomenclature.
Pour construire les éléments "ligne de données", on peut s'appuyer sur les derniers développements réalisés par Joshua car maintenant, on a la possibilité, depuis l'éditeur d'élément, de définir le type d'info que doit contenir un champ de texte.
Cet élément contient que des rectangles et des champs de texte.

L'avantage d'utiliser des éléments pour définir l'apparence et le contenu des formulaire, c'est que toutes les fantaisies deviennent possible. C'est très configurable et chacun pourra générer ses formulaires comme il veut, vu que y'a qu'à dessiner 2 éléments.
Je pars du principe que si c'est très configurable, ca couvre beaucoup de besoins et donc, une fois implémentées, ce sont des fonctionalités qui n'auront pas besoin d'être sans cesse adaptées à de nouvelles demandes d'utilisateur.
--> donc les devs "auront la paix" et pourront se concentrer sur d'autres choses.

J'ai trouvé de très bon documents en pdf pour acquérir les bases du C++. Ils sont en francais et synthétiques, et vont à l'essentiel (pas comme les cookbook de C++ de 900 pages ou plus en anglais).
Fais-moi signe si ca t'intéresse, je te les enverrai par mail.

galexis wrote:

Ensuite bien sûr, j'aimerais bien avoir un système d'indication des versions par folio, mais cela reste de l'ordre du rêve !

Non pas du tout. En utilisant des éléments comme base pour les formulaires, ca peut être tout à fait jouable.

Re: Modification du sommaire

Nuri wrote:

J'ai trouvé de très bon documents en pdf pour acquérir les bases du C++. Ils sont en francais et synthétiques, et vont à l'essentiel (pas comme les cookbook de C++ de 900 pages ou plus en anglais).
Fais-moi signe si ca t'intéresse, je te les enverrai par mail.

Oui je veux bien jeter un oeil ! nomicons/smile

Re: Modification du sommaire

systemes wrote:

Bonjour,
Est-il possible de modifier la page sommaire, en enlevant des colonnes inutiles ou en modifiant la largeur de ces colonnes comme dans Excel par exemple ?
La mise en page dans la version 0.5 me convenait très bien avec 58 index sur la même page.
Merci d'avance

Helas non, le changement de format des pages sommaires étant en dur dans le code et m'avait demandé pas mal de temps  quelques tubes d'aspirines et beaucoup de modifications pour ajouter les nouvelles informations du projet, sachant qu'il faut aussi revoir le code pour l'export DXF en même temps :

https://svnweb.tuxfamily.org/revision.p … p;peg=4622

https://svnweb.tuxfamily.org/log.php?re … t.cpp&


Modified: trunk/sources/bordertitleblock.cpp
===================================================================
--- trunk/sources/bordertitleblock.cpp    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/bordertitleblock.cpp    2016-08-11 18:32:08 UTC (rev 4622)
@@ -240,6 +240,9 @@
     ip.date = date();
     ip.title = title();
     ip.filename = fileName();
+    ip.machine = machine();
+    ip.loc = loc();
+    ip.indexrev = indexrev();
     ip.version = version();
     ip.folio = folio();
     ip.template_name = titleBlockTemplateName();
@@ -260,6 +263,9 @@
     setDate(ip.date);
     setTitle(ip.title);
     setFileName(ip.filename);
+    setMachine(ip.machine);
+    setLoc(ip.loc);
+    setIndicerev(ip.indexrev);
     setVersion(QET::displayedVersion);
     setFolio(ip.folio);
     setAutoPageNum(ip.auto_page_num);
@@ -695,6 +701,9 @@
     context.addValue("date",        btb_date_.toString(Qt::SystemLocaleShortDate));
     context.addValue("title",       btb_title_);
     context.addValue("filename",    btb_filename_);
+    context.addValue("machine",     btb_machine_);
+    context.addValue("loc",         btb_loc_);
+    context.addValue("indexrev",    btb_indexrev_);
     context.addValue("version",     btb_version_);
     context.addValue("folio",       btb_final_folio_);
     context.addValue("folio-id",    folio_index_);
 
Modified: trunk/sources/bordertitleblock.h
===================================================================
--- trunk/sources/bordertitleblock.h    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/bordertitleblock.h    2016-08-11 18:32:08 UTC (rev 4622)
@@ -95,6 +95,13 @@
     QString title() const { return(btb_title_); }
     /// @return the value of the title block "Folio" field
     QString folio() const { return(btb_folio_); }
+    /// @return the value of the title block "Machine" field
+    QString machine() const { return(btb_machine_); }
+    /// @return the value of the title block "Folio" field
+    QString loc() const { return(btb_loc_); }
+    /// @return the value of the revision index block "Folio" field
+    QString indexrev() const { return(btb_indexrev_); }
+   
     /// @return the value of the title block "File" field
     QString fileName() const { return(btb_filename_); }
     /// @return the value of the title block Additional Fields
@@ -146,6 +153,9 @@
     }
     void setFolioData(int, int, QString = NULL, const DiagramContext & = DiagramContext());
     /// @param author the new value of the "File" field
+    void setMachine(const QString &machine) { btb_machine_ = machine; }
+    void setLoc(const QString &loc) { btb_loc_ = loc; }
+    void setIndicerev(const QString &indexrev){ btb_indexrev_ = indexrev; }
     void setFileName(const QString &filename) { btb_filename_ = filename; }
     /// @param author the new value of the "Version" field
     void setVersion(const QString &version) { btb_version_ = version; }
@@ -225,6 +235,9 @@
         QDate   btb_date_;
         QString btb_title_;
         QString btb_folio_;
+        QString btb_machine_;
+        QString btb_loc_;
+        QString btb_indexrev_;
         QString btb_final_folio_;
         QString btb_auto_page_num_;
         int folio_index_;
 
Modified: trunk/sources/diagramfoliolist.cpp
===================================================================
--- trunk/sources/diagramfoliolist.cpp    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/diagramfoliolist.cpp    2016-08-11 18:32:08 UTC (rev 4622)
@@ -19,7 +19,7 @@
 #include <QPainter>
 #include "qetapp.h"
 
-qreal DiagramFolioList::colWidths[4] = {0.1, 0.55, 0.2, 0.15};
+qreal DiagramFolioList::colWidths[8] = {0.05, 0.05, 0.50, 0.10, 0.10, 0.05, 0.05, 0.05};
 
 /**
  * @brief DiagramFolioList::DiagramFolioList
@@ -74,44 +74,31 @@
     qreal y0 = border_and_titleblock.columnsHeaderHeight();
     QRectF row_RectBorder(x0, y0, width, height);
 
-    buildGrid(p, row_RectBorder,30,2,colWidths);
+    buildGrid(p, row_RectBorder,30,1,colWidths);
 
     x0 = list_rectangles_[0] -> topLeft().x();
     y0 = list_rectangles_[0] -> topLeft().y();
+
     qreal rowHeight = (list_rectangles_[0] -> height())/30;
     QRectF row_RectF(x0, y0, list_rectangles_[0] -> width(), rowHeight);
 
     fillHeader(p, row_RectF);
     QList<Diagram *> diagram_list = project() -> diagrams();
 
-    int startDiagram = id * 58;
-
+    int startDiagram = id * 29;
     for (int i = startDiagram; i < startDiagram+29 && i < diagram_list.size(); ++i) {
         y0 += rowHeight;
         QRectF row_rect(x0, y0, list_rectangles_[0] -> width(), rowHeight);
         fillRow(p, row_rect, diagram_list[i] -> border_and_titleblock.author(),
                 diagram_list[i] -> title(),
                 QString::number(diagram_list[i] ->folioIndex()+1),
+                diagram_list[i] -> border_and_titleblock.folio(),
+                diagram_list[i] -> border_and_titleblock.machine(),
+                diagram_list[i] -> border_and_titleblock.loc(),
+                diagram_list[i] -> border_and_titleblock.indexrev(),
                 diagram_list[i] -> border_and_titleblock.date().toString(Qt::SystemLocaleShortDate));
     }
 
-    x0 = list_rectangles_[1] -> topLeft().x();
-    y0 = list_rectangles_[1] -> topLeft().y();
-    rowHeight = (list_rectangles_[1] -> height())/30;
-    QRectF row_RectF2(x0, y0, list_rectangles_[1] -> width(), rowHeight);
-    fillHeader(p, row_RectF2);
-
-    startDiagram += 29;
-
-    for (int i = startDiagram; i < startDiagram+29 && i < diagram_list.size(); ++i) {
-        y0 += rowHeight;
-        QRectF row_rect(x0, y0, list_rectangles_[1] -> width(), rowHeight);
-        fillRow(p, row_rect, diagram_list[i] -> border_and_titleblock.author(),
-                diagram_list[i] -> title(),
-                QString::number(diagram_list[i] ->folioIndex()+1),
-                diagram_list[i] -> border_and_titleblock.date().toString(Qt::SystemLocaleShortDate));
-    }
-
     border_and_titleblock.draw(p);
     p -> restore();
 }
@@ -123,7 +110,7 @@
  * @param row_rect rectangle where we must draw the new row
  */
 void DiagramFolioList::fillRow(QPainter *qp, const QRectF &row_rect, QString author, QString title,
-                               QString folio, QString date)
+                               QString folio, QString label, QString machine, QString loc, QString indexrev, QString date)
 {
     qreal x = row_rect.topLeft().x();
     qreal y = row_rect.topLeft().y();
@@ -142,33 +129,73 @@
     qp -> drawText(QRectF(x, y, colWidths[0]*row_rect.width(), row_rect.height()), Qt::AlignCenter, folio);
     x += colWidths[0]*row_rect.width();
 
-    if (origFontMetrics.width(title) > 0.95*colWidths[1]*row_rect.width())
-        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[1]*row_rect.width() / origFontMetrics.width(title));
+    if (origFontMetrics.width(label) > 0.95*colWidths[1]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[1]*row_rect.width() / origFontMetrics.width(label));
     else
         workingFont.setPointSizeF(origFontSize);
     qp -> setFont(workingFont);
+    qp -> drawText(QRectF(x, y, colWidths[1]*row_rect.width(), row_rect.height()), Qt::AlignCenter, label);
+    x += colWidths[1]*row_rect.width();
+
+
+    if (origFontMetrics.width(title) > 0.95*colWidths[2]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[2]*row_rect.width() / origFontMetrics.width(title));
+    else
+        workingFont.setPointSizeF(origFontSize);
+    qp -> setFont(workingFont);
     QString heading = tr("Titre");
     if (title == heading)
-        qp -> drawText(QRectF(x, y, colWidths[1]*row_rect.width(),row_rect.height()), Qt::AlignCenter, title);
+        qp -> drawText(QRectF(x, y, colWidths[2]*row_rect.width(),row_rect.height()), Qt::AlignCenter, title);
     else
-        qp -> drawText(QRectF(x+0.01*row_rect.width(), y, colWidths[1]*row_rect.width()*0.99,
+        qp -> drawText(QRectF(x+0.01*row_rect.width(), y, colWidths[1]*row_rect.width()*10.2,
                        row_rect.height()), Qt::AlignLeft | Qt::AlignVCenter, title);
-    x += colWidths[1]*row_rect.width();
+    x += colWidths[2]*row_rect.width();
+   
+   
+    if (origFontMetrics.width(machine) > 0.95*colWidths[3]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[3]*row_rect.width() / origFontMetrics.width(machine));
+    else
+        workingFont.setPointSizeF(origFontSize);
+    qp -> setFont(workingFont);
+    qp -> drawText(QRectF(x, y, colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, machine);
+    x += colWidths[3]*row_rect.width();
+   
+   
+    if (origFontMetrics.width(loc) > 0.95*colWidths[4]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[4]*row_rect.width() / origFontMetrics.width(loc));
+    else
+        workingFont.setPointSizeF(origFontSize);
+    qp -> setFont(workingFont);
+    qp -> drawText(QRectF(x, y, colWidths[4]*row_rect.width(), row_rect.height()), Qt::AlignCenter, loc);
+    x += colWidths[4]*row_rect.width();
+   
+   
+    if (origFontMetrics.width(indexrev) > 0.95*colWidths[5]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[5]*row_rect.width() / origFontMetrics.width(indexrev));
+    else
+        workingFont.setPointSizeF(origFontSize);
+    qp -> setFont(workingFont);
+    qp -> drawText(QRectF(x, y, colWidths[5]*row_rect.width(), row_rect.height()), Qt::AlignCenter, indexrev);
+    x += colWidths[5]*row_rect.width();
+   
+   
+   
 
-    if (origFontMetrics.width(author) > 0.95*colWidths[2]*row_rect.width())
-        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[2]*row_rect.width() / origFontMetrics.width(author));
+    if (origFontMetrics.width(author) > 0.95*colWidths[6]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[6]*row_rect.width() / origFontMetrics.width(author));
     else
         workingFont.setPointSizeF(origFontSize);
     qp -> setFont(workingFont);
-    qp -> drawText(QRectF(x, y, colWidths[2]*row_rect.width(), row_rect.height()), Qt::AlignCenter, author);
-    x += colWidths[2]*row_rect.width();
+    qp -> drawText(QRectF(x, y, colWidths[6]*row_rect.width(), row_rect.height()), Qt::AlignCenter, author);
+    x += colWidths[6]*row_rect.width();
+   
 
-    if (origFontMetrics.width(date) > 0.95*colWidths[3]*row_rect.width())
-        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[3]*row_rect.width() / origFontMetrics.width(date));
+    if (origFontMetrics.width(date) > 0.95*colWidths[7]*row_rect.width())
+        workingFont.setPointSizeF(origFontSize * 0.95*colWidths[7]*row_rect.width() / origFontMetrics.width(date));
     else
         workingFont.setPointSizeF(origFontSize);
     qp -> setFont(workingFont);
-    qp -> drawText(QRectF(x, y, colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, date);
+    qp -> drawText(QRectF(x, y, colWidths[7]*row_rect.width(), row_rect.height()), Qt::AlignCenter, date);
 }
 
 void DiagramFolioList::buildGrid(QPainter *qp, const QRectF &rect, int rows, int tables, qreal colWidths[])
@@ -178,18 +205,18 @@
     qDeleteAll (list_rectangles_);
     list_rectangles_.clear();
 
-    qreal sum = 0;
-    for (int i = 0; i < 4; i++ )
-        sum += colWidths[i];
-    if ( sum < 0.99 || sum > 1.01 ) {
-        qDebug() << "Invalid input: Column widths do not sum to 1";
-        return;
-    }
+//    qreal sum = 0;
+//    for (int i = 0; i < 8; i++ )
+//        sum += colWidths[i];
+//    if ( sum < 0.99 || sum > 1.01 ) {
+//        qDebug() << "Invalid input: Column widths do not sum to 1";
+//        return;
+//    }
 
     qreal tablesSpacing = rect.height() * 0.02;
     qreal tableWidth = (rect.width() - tablesSpacing*(tables+1) ) / tables;
     qreal rowHeight = (rect.height() - 2*tablesSpacing) / rows;
-    int cols = 4;//colWidths.size();
+    int cols = 8;//colWidths.size();
 
     qreal x0 = tablesSpacing + rect.topLeft().x();
     qreal y0 = tablesSpacing + rect.topLeft().y();
@@ -222,11 +249,15 @@
 void DiagramFolioList::fillHeader(QPainter *qp, const QRectF &row_RectF) {
     QString authorTranslatable(QObject::tr("Auteur"));
     QString titleTranslatable(QObject::tr("Titre"));
-    QString folioTranslatable(QObject::tr("Folio"));
+    QString folioTranslatable(QObject::tr("ID"));
+    QString machineTranslatable(QObject::tr("Machine"));
+    QString locTranslatable(QObject::tr("Localisation"));
+    QString indexrevTranslatable(QObject::tr("Rev"));
+    QString labelTranslatable(QObject::tr("Folio"));
     QString dateTranslatable(QObject::tr("Date"));
 
     qp->save();
     qp->setFont(QETApp::diagramTextsFont(13));
-    fillRow(qp, row_RectF, authorTranslatable, titleTranslatable, folioTranslatable, dateTranslatable);
+    fillRow(qp, row_RectF, authorTranslatable, titleTranslatable, folioTranslatable, labelTranslatable, machineTranslatable, locTranslatable, indexrevTranslatable, dateTranslatable);
     qp->restore();
 }
 
Modified: trunk/sources/diagramfoliolist.h
===================================================================
--- trunk/sources/diagramfoliolist.h    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/diagramfoliolist.h    2016-08-11 18:32:08 UTC (rev 4622)
@@ -31,13 +31,13 @@
     void setId(int i) {id = i;}
     int getId() const {return id;}
 
-    static qreal colWidths[4];
+    static qreal colWidths[8];
 
     protected:
     void drawBackground(QPainter *, const QRectF &);
 
     private:
-    void fillRow(QPainter *, const QRectF &, QString, QString, QString, QString);
+    void fillRow(QPainter *, const QRectF &, QString, QString, QString, QString, QString, QString, QString, QString);
     void buildGrid(QPainter *, const QRectF &, int, int, qreal[]);
     void fillHeader(QPainter *, const QRectF &);
 
 
Modified: trunk/sources/qetproject.cpp
===================================================================
--- trunk/sources/qetproject.cpp    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/qetproject.cpp    2016-08-11 18:32:08 UTC (rev 4622)
@@ -1039,7 +1039,7 @@
         setFolioSheetsQuantity(0);
 
         int diagCount = diagrams().size();
-        for (int i = 0; i <= diagCount/58; i++) {
+        for (int i = 0; i <= diagCount/29; i++) {
 
             //create new diagram
             Diagram *diagram_folio_list = new DiagramFolioList(this);
 
Modified: trunk/sources/titleblock/templatecellwidget.cpp
===================================================================
--- trunk/sources/titleblock/templatecellwidget.cpp    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/titleblock/templatecellwidget.cpp    2016-08-11 18:32:08 UTC (rev 4622)
@@ -437,6 +437,9 @@
         "<li>%{date} : date du folio</li>"
         "<li>%{title} : titre du folio</li>"
         "<li>%{filename} : nom de fichier du projet</li>"
+        "<li>%{machine} : nom du groupe fonctionnel du projet</li>"
+        "<li>%{loc} : nom de la localisation dans le groupe fonctionnel du projet</li>"
+        "<li>%{indexrev} : indice de révision du folio</li>"
         "<li>%{version} : version du projet</li>"
         "<li>%{folio} : indications relatives au folio</li>"
         "<li>%{folio-id} : position du folio dans le projet</li>"
 
Modified: trunk/sources/titleblockproperties.cpp
===================================================================
--- trunk/sources/titleblockproperties.cpp    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/titleblockproperties.cpp    2016-08-11 18:32:08 UTC (rev 4622)
@@ -47,6 +47,9 @@
         ip.author == author &&\
         ip.date == date &&\
         ip.filename == filename &&\
+        ip.machine == machine &&\
+        ip.loc == loc &&\
+        ip.indexrev == indexrev &&\
         ip.version == version &&\
         ip.folio == folio &&\
         ip.auto_page_num == auto_page_num &&\
@@ -74,6 +77,9 @@
     e.setAttribute("author",   author);
     e.setAttribute("title",    title);
     e.setAttribute("filename", filename);
+    e.setAttribute("machine", machine);
+    e.setAttribute("loc", loc);
+    e.setAttribute("indexrev",indexrev);
     e.setAttribute("version", version);
     e.setAttribute("folio",    folio);
     e.setAttribute("auto_page_num", auto_page_num);
@@ -101,6 +107,9 @@
     if (e.hasAttribute("author"))      author   = e.attribute("author");
     if (e.hasAttribute("title"))       title    = e.attribute("title");
     if (e.hasAttribute("filename"))    filename = e.attribute("filename");
+    if (e.hasAttribute("machine"))    machine   = e.attribute("machine");
+    if (e.hasAttribute("loc"))        loc       = e.attribute("loc");
+    if (e.hasAttribute("indexrev"))   indexrev  = e.attribute("indexrev");
     if (e.hasAttribute("version"))    version   = e.attribute("version");
     if (e.hasAttribute("folio"))       folio    = e.attribute("folio");
     if (e.hasAttribute("auto_page_num")) auto_page_num = e.attribute("auto_page_num");
@@ -131,6 +140,9 @@
     settings.setValue(prefix + "title",    title);
     settings.setValue(prefix + "author",   author);
     settings.setValue(prefix + "filename", filename);
+    settings.setValue(prefix + "machine", machine);
+    settings.setValue(prefix + "loc", loc);
+    settings.setValue(prefix + "indexrev", indexrev);
     settings.setValue(prefix + "version", version);
     settings.setValue(prefix + "folio",    folio);
     settings.setValue(prefix + "auto_page_num",    auto_page_num);
@@ -150,7 +162,10 @@
     title    = settings.value(prefix + "title").toString();
     author   = settings.value(prefix + "author").toString();
     filename = settings.value(prefix + "filename").toString();
-    version = settings.value(prefix + "version").toString();
+    machine  = settings.value(prefix + "machine").toString();
+    loc      = settings.value(prefix + "loc").toString();
+    indexrev = settings.value(prefix + "indexrev").toString();
+    version  = settings.value(prefix + "version").toString();
     folio    = settings.value(prefix + "folio", "%id/%total").toString();
     auto_page_num = settings.value(prefix + "auto_page_num").toString();
     setDateFromString(settings.value(prefix + "date").toString());
 
Modified: trunk/sources/titleblockproperties.h
===================================================================
--- trunk/sources/titleblockproperties.h    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/titleblockproperties.h    2016-08-11 18:32:08 UTC (rev 4622)
@@ -54,6 +54,9 @@
     QString author;           ///< Author of the diagram/folio (displayed by the default template)
     QDate date;               ///< Date (displayed by the default template)
     QString filename;         ///< Filename (displayed by the default template)
+    QString machine;          ///< Machine (displayed by the default template)
+    QString loc;              ///< Location(displayed by the default template)
+    QString indexrev;         ///< Revision Index (displayed by the default template)
     QString version;          ///< Version (displayed by the default template)
     QString folio;            ///< Folio information (displayed by the default template)
     QString auto_page_num;
 
Modified: trunk/sources/ui/titleblockpropertieswidget.cpp
===================================================================
--- trunk/sources/ui/titleblockpropertieswidget.cpp    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/ui/titleblockpropertieswidget.cpp    2016-08-11 18:32:08 UTC (rev 4622)
@@ -95,6 +95,9 @@
     ui -> m_title_le  -> setText (properties.title);
     ui -> m_author_le -> setText (properties.author);
     ui -> m_file_le   -> setText (properties.filename);
+    ui -> m_mach      -> setText (properties.machine);
+    ui -> m_loc       -> setText (properties.loc);
+    ui -> m_indice    -> setText (properties.indexrev);
     ui -> m_folio_le  -> setText (properties.folio);
     ui -> m_display_at_cb -> setCurrentIndex(properties.display_at == Qt::BottomEdge ? 0 : 1);
     ui->auto_page_cb->setCurrentText(properties.auto_page_num);
@@ -150,6 +153,9 @@
     prop.title    = ui -> m_title_le  -> text();
     prop.author   = ui -> m_author_le -> text();
     prop.filename = ui -> m_file_le   -> text();
+    prop.machine  = ui -> m_mach      -> text();
+    prop.loc      = ui -> m_loc       -> text();
+    prop.indexrev = ui -> m_indice    -> text();
     prop.folio    = ui -> m_folio_le  -> text();
     prop.display_at = ui -> m_display_at_cb -> currentIndex() == 0 ? Qt::BottomEdge : Qt::RightEdge;
 
@@ -188,6 +194,9 @@
     prop.title    = ui -> m_title_le  -> text();
     prop.author   = ui -> m_author_le -> text();
     prop.filename = ui -> m_file_le   -> text();
+    prop.machine  = ui -> m_mach      -> text();
+    prop.loc      = ui -> m_loc       -> text();
+    prop.indexrev = ui -> m_indice    -> text();
     prop.folio    = "%autonum";
     prop.display_at = ui -> m_display_at_cb -> currentIndex() == 0 ? Qt::BottomEdge : Qt::RightEdge;
 
 
Modified: trunk/sources/ui/titleblockpropertieswidget.ui
===================================================================
--- trunk/sources/ui/titleblockpropertieswidget.ui    2016-08-10 16:48:18 UTC (rev 4621)
+++ trunk/sources/ui/titleblockpropertieswidget.ui    2016-08-11 18:32:08 UTC (rev 4622)
@@ -42,8 +42,8 @@
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>552</width>
-        <height>570</height>
+        <width>538</width>
+        <height>608</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_5">
@@ -123,32 +123,6 @@
              <layout class="QVBoxLayout" name="verticalLayout_2">
               <item>
                <layout class="QGridLayout" name="gridLayout_4">
-                <item row="4" column="1">
-                 <widget class="QLabel" name="label_5">
-                  <property name="text">
-                   <string>Fichier :</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="6" column="2">
-                 <widget class="QLabel" name="label_7">
-                  <property name="frameShape">
-                   <enum>QFrame::NoFrame</enum>
-                  </property>
-                  <property name="text">
-                   <string>Les variables suivantes sont utilisables dans le champ Folio :
-- %id : numéro du folio courant dans le projet 
-- %total : nombre total de folios dans le projet 
-- %autonum : Folio Auto Numeration</string>
-                  </property>
-                  <property name="scaledContents">
-                   <bool>false</bool>
-                  </property>
-                  <property name="alignment">
-                   <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-                  </property>
-                 </widget>
-                </item>
                 <item row="3" column="1">
                  <widget class="QLabel" name="label_4">
                   <property name="text">
@@ -159,66 +133,106 @@
                   </property>
                  </widget>
                 </item>
-                <item row="5" column="1">
-                 <widget class="QLabel" name="label_6">
+                <item row="10" column="3">
+                 <layout class="QGridLayout" name="gridLayout">
+                  <item row="0" column="0">
+                   <widget class="QComboBox" name="auto_page_cb">
+                    <property name="sizePolicy">
+                     <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                      <horstretch>0</horstretch>
+                      <verstretch>0</verstretch>
+                     </sizepolicy>
+                    </property>
+                   </widget>
+                  </item>
+                  <item row="0" column="1">
+                   <widget class="QPushButton" name="m_edit_autofolionum_pb">
+                    <property name="sizePolicy">
+                     <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+                      <horstretch>0</horstretch>
+                      <verstretch>0</verstretch>
+                     </sizepolicy>
+                    </property>
+                    <property name="minimumSize">
+                     <size>
+                      <width>16</width>
+                      <height>16</height>
+                     </size>
+                    </property>
+                    <property name="text">
+                     <string/>
+                    </property>
+                    <property name="icon">
+                     <iconset resource="../../qelectrotech.qrc">
+                      <normaloff>:/ico/16x16/configure.png</normaloff>:/ico/16x16/configure.png</iconset>
+                    </property>
+                   </widget>
+                  </item>
+                 </layout>
+                </item>
+                <item row="12" column="1">
+                 <widget class="QLabel" name="label">
                   <property name="text">
-                   <string>Folio :</string>
+                   <string>Afficher :</string>
                   </property>
                  </widget>
                 </item>
-                <item row="1" column="1">
-                 <widget class="QLabel" name="label_2">
+                <item row="9" column="1">
+                 <widget class="QLabel" name="label_12">
                   <property name="text">
-                   <string>Titre :</string>
+                   <string>Indice Rev</string>
                   </property>
                  </widget>
                 </item>
-                <item row="5" column="2">
-                 <widget class="QLineEdit" name="m_folio_le">
-                  <property name="toolTip">
-                   <string>Disponible en tant que %folio pour les modèles de cartouches</string>
+                <item row="2" column="1">
+                 <widget class="QLabel" name="label_3">
+                  <property name="text">
+                   <string>Auteur :</string>
                   </property>
                  </widget>
                 </item>
-                <item row="1" column="2">
+                <item row="8" column="3">
+                 <widget class="QLineEdit" name="m_loc"/>
+                </item>
+                <item row="6" column="3">
+                 <widget class="QLineEdit" name="m_mach"/>
+                </item>
+                <item row="1" column="3">
                  <widget class="QLineEdit" name="m_title_le">
                   <property name="toolTip">
                    <string>Disponible en tant que %title pour les modèles de cartouches</string>
                   </property>
                  </widget>
                 </item>
-                <item row="8" column="2">
-                 <widget class="QComboBox" name="m_display_at_cb">
+                <item row="5" column="1">
+                 <widget class="QLabel" name="label_6">
+                  <property name="text">
+                   <string>Folio :</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="4" column="1">
+                 <widget class="QLabel" name="label_5">
+                  <property name="text">
+                   <string>Fichier :</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="2" column="3">
+                 <widget class="QLineEdit" name="m_author_le">
                   <property name="toolTip">
-                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Affiche le cartouche en bas (horizontalement) ou à droite (verticalement) du folio.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                   <string>Disponible en tant que %author pour les modèles de cartouches</string>
                   </property>
-                  <item>
-                   <property name="text">
-                    <string>en bas</string>
-                   </property>
-                  </item>
-                  <item>
-                   <property name="text">
-                    <string>à droite </string>
-                   </property>
-                  </item>
                  </widget>
                 </item>
-                <item row="4" column="2">
+                <item row="4" column="3">
                  <widget class="QLineEdit" name="m_file_le">
                   <property name="toolTip">
                    <string>Disponible en tant que %filename pour les modèles de cartouches</string>
                   </property>
                  </widget>
                 </item>
-                <item row="2" column="1">
-                 <widget class="QLabel" name="label_3">
-                  <property name="text">
-                   <string>Auteur :</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="3" column="2">
+                <item row="3" column="3">
                  <layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1,0">
                   <item row="0" column="0">
                    <widget class="QRadioButton" name="m_no_date_rb">
@@ -270,58 +284,21 @@
                   </item>
                  </layout>
                 </item>
-                <item row="2" column="2">
-                 <widget class="QLineEdit" name="m_author_le">
+                <item row="5" column="3">
+                 <widget class="QLineEdit" name="m_folio_le">
                   <property name="toolTip">
-                   <string>Disponible en tant que %author pour les modèles de cartouches</string>
+                   <string>Disponible en tant que %folio pour les modèles de cartouches</string>
                   </property>
                  </widget>
                 </item>
-                <item row="8" column="1">
-                 <widget class="QLabel" name="label">
+                <item row="1" column="1">
+                 <widget class="QLabel" name="label_2">
                   <property name="text">
-                   <string>Afficher :</string>
+                   <string>Titre :</string>
                   </property>
                  </widget>
                 </item>
-                <item row="7" column="2">
-                 <layout class="QGridLayout" name="gridLayout">
-                  <item row="0" column="0">
-                   <widget class="QComboBox" name="auto_page_cb">
-                    <property name="sizePolicy">
-                     <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                      <horstretch>0</horstretch>
-                      <verstretch>0</verstretch>
-                     </sizepolicy>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="0" column="1">
-                   <widget class="QPushButton" name="m_edit_autofolionum_pb">
-                    <property name="sizePolicy">
-                     <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-                      <horstretch>0</horstretch>
-                      <verstretch>0</verstretch>
-                     </sizepolicy>
-                    </property>
-                    <property name="minimumSize">
-                     <size>
-                      <width>16</width>
-                      <height>16</height>
-                     </size>
-                    </property>
-                    <property name="text">
-                     <string/>
-                    </property>
-                    <property name="icon">
-                     <iconset resource="../../qelectrotech.qrc">
-                      <normaloff>:/ico/16x16/configure.png</normaloff>:/ico/16x16/configure.png</iconset>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </item>
-                <item row="7" column="1">
+                <item row="10" column="1">
                  <widget class="QLabel" name="label_9">
                   <property name="sizePolicy">
                    <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
@@ -334,6 +311,59 @@
                   </property>
                  </widget>
                 </item>
+                <item row="12" column="3">
+                 <widget class="QComboBox" name="m_display_at_cb">
+                  <property name="toolTip">
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Affiche le cartouche en bas (horizontalement) ou à droite (verticalement) du folio.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                  </property>
+                  <item>
+                   <property name="text">
+                    <string>en bas</string>
+                   </property>
+                  </item>
+                  <item>
+                   <property name="text">
+                    <string>à droite </string>
+                   </property>
+                  </item>
+                 </widget>
+                </item>
+                <item row="11" column="3">
+                 <widget class="QLabel" name="label_7">
+                  <property name="frameShape">
+                   <enum>QFrame::NoFrame</enum>
+                  </property>
+                  <property name="text">
+                   <string>Les variables suivantes sont utilisables dans le champ Folio :
+- %id : numéro du folio courant dans le projet 
+- %total : nombre total de folios dans le projet 
+- %autonum : Folio Auto Numeration</string>
+                  </property>
+                  <property name="scaledContents">
+                   <bool>false</bool>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+                  </property>
+                 </widget>
+                </item>
+                <item row="6" column="1">
+                 <widget class="QLabel" name="label_10">
+                  <property name="text">
+                   <string>Machine :</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="8" column="1">
+                 <widget class="QLabel" name="label_11">
+                  <property name="text">
+                   <string>Localisation</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="9" column="3">
+                 <widget class="QLineEdit" name="m_indice"/>
+                </item>
                </layout>
               </item>
              </layout>

Post's attachments

Attachment icon r4622-scorpio810.diff 32.77 kb, 379 downloads since 2017-12-08 

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Modification du sommaire

L'export DXF me parait moins important qu'un sommaire digne de ce nom ...nomicons/angel

Re: Modification du sommaire

@ scorpio810 :

d'où l'intérêt de transformer les pages sommaire en vrais folios.
Attention, j'ai pas dit que ce sera facile (-> aspirine) mais je vais essayer.
Quoique la priorité pour moi, c'est plutôt l'édition de nomenclature (j'aimerai bien à terme me séparer de ma macro LibreOffice).

Evidemment, l'édition de sommaire deviendrait aussi une opération de post-traitement (quand les schémas sont terminés). Il n'y aura alors plus d'actualisation à la volée mais ce sera en fin de compte plus flexible.

Re: Modification du sommaire

galexis wrote:

L'export DXF me parait moins important qu'un sommaire digne de ce nom ...nomicons/angel

Pourquoi, tu le trouves incomplet ?
Tu peux récupérer automatiquement dans le sommaire les % variables de chaque folio : la localisation de la machine, nom machine, index_révision du folio, etc, il te faut quoi de plus? nomicons/blink
Surtout que ces nouvelles entrées tu n'as qu'a les ajouter directement dans les champs prévus a cet effet quand tu double clique sur le cartouche du folio en cours.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Modification du sommaire

Nuri wrote:

@ scorpio810 :

d'où l'intérêt de transformer les pages sommaire en vrais folios.
Attention, j'ai pas dit que ce sera facile (-> aspirine) mais je vais essayer.
Quoique la priorité pour moi, c'est plutôt l'édition de nomenclature (j'aimerai bien à terme me séparer de ma macro LibreOffice).

Ronny avait un temps ajouté dans le convertisseur DXF sur de vieilles versions de quoi importer un fichier CSV, d'en extraire les données pour créer des éléments nomenclature, le code doit pouvoir ce trouver sur le Subversion si ça t'interrese.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Modification du sommaire

En fait si j'utilise QET c'est pas pour convertir en DXF .... donc pas primordial pour moi l'export !

Ne le prend pas mal, par digne de ce nom, j'entendais flexible dans l'affichage des colonnes et sauvegardé dans le projet , notamment le cartouche qui aujourd'hui celui "par défaut" du projet et reseté à chaque ouverture.

Re: Modification du sommaire

Pour certains l'export DXF est aussi très important, pour le cartouche des pages sommaires qui est resété a chaque ouverture ce n'est pas gênant en soit car le sommaire devrait en principe être généré a la finalisation du projet juste avant l'impression vers une imprimante physique ou sauvegardé en pdf, je dit bien en principe car je fais comme toi, mais moi je m’embête pas avec les cartouches au boulot je met toujours celui par défaut, comme quoi les cordonniers sont les plus mal chaussés, dixit le proverbe nomicons/smiley-green .

Non, t’inquiète pas je ne risque pas de me fâcher  nomicons/smile : on fait ce qu'on peu, on est peu nombreux, et il est arrive souvent qu'apres nos 8h ou plus de travail (journées, nuits, W.E souvent tres harassantes) qu'il est plus facile de se plonger dans le canapé en arrivant que de plonger dans le code, mails, bricoler les serveurs, écrire la documentation, etc.

nuri-explain_QET_project.txt :
https://download.qelectrotech.org/qet/s … roject.txt

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Modification du sommaire

scorpio810 wrote:

Ronny avait un temps ajouté dans le convertisseur DXF sur de vieilles versions de quoi importer un fichier CSV, d'en extraire les données pour créer des éléments nomenclature, le code doit pouvoir ce trouver sur le Subversion si ça t'interrese

oui j'avais déjà vu ca.
Mais, j'te le dit franchement, j'ai plus trop envie de "m'appuyer sur des béquilles". Je critique pas le boulot de Ronny, loin de moi cette idée, j'utlise son convertisseur dxf à chaque nouvelle machine CNC que je fais.

Mais...

...l'expérience montre que seuls les développements natifs (en Qt/C++) peuvent acquérir une certaine pérennité. Si on s'appuie trop sur des outils externes, il suffit que le maintainer n'ai plus envie ou disparaisse et tu te retrouves assez rapidement avec un outil obsolète ou défectueux. "Tu croyais que ca marchait ? Ben non, ca marche pas !"
Dans le monde du libre, les exemples ne manques pas :
FreeCAD et ses scripts Python, Gnome Shell et ses extensions qui mettent le basar, etc.
Dès que l'application principale change un peu, si le maintainer de l'outil externe ne s'occupe pas de son bébé, c'est la bérézina !

Alors que si on implémente dans le code natif, quelque part on oblige le maintainer de l'application principale à updater aussi les fonctions qu'il n'a pas créées lui-même. Evidemment c'est plus de boulot mais plus cohérent sur le long terme, surtout si le(s) développeur(s) principal(aux) change(nt), ce qui arrivera forcément à QET aussi un jour.

Donc si je suis un jour capable de développer un truc, faudrait que cela serve à tous les utilisateurs. Donc Qt/C++.
Ca va être dur dur... nomicons/getlost nomicons/alien

Re: Modification du sommaire

Wahou, vous êtes motivé les gars nomicons/cool 

Nuri wrote:

L'idée c'est d'utiliser 2 éléments pour générer les formulaires.
Le premier élément sert à faire l'en-tête et ne contient que des rectangles et des textes fixes (folio, label, référence, etc.).
Le deuxième élément décrit comment construire une ligne contenant les données du sommaire et/ou de la nomenclature.
Pour construire les éléments "ligne de données", on peut s'appuyer sur les derniers développements réalisés par Joshua car maintenant, on a la possibilité, depuis l'éditeur d'élément, de définir le type d'info que doit contenir un champ de texte.
Cet élément contient que des rectangles et des champs de texte.

Je comprend pas trop l'histoire des deux éléments ?
De plus tu dit : "depuis l'éditeur d'élément, de définir le type d'info que doit contenir un champ de texte." je voie pas trop en quoi les nouveaux textes pourront t'être utile, dans ce cas précis?
Après effectivement, j'aurais bien vue la création sommaire/nomenclature un peu comme ce qui existe déjà avec la création de borniers (natif dans qet bien sure).
Allez je vous laisse réfléchir à tout ça.
@Nuri
tu avais déjà tenter d'apprendre c++ et Qt, mais tu avais trouver ça pas facile. Tu attaque un truc pas simple avec le sommaire/nomenclature nomicons/devil

Développeur QElectroTech

Re: Modification du sommaire

Joshua wrote:

Je comprend pas trop l'histoire des deux éléments ?

Pour générer les formulaires de nomenclature, on peut utiliser des éléments qui seront générés sur des nouveaux folios, eux-mêmes générés dans le projet (dans l'autonum de Davi y'a déjà une classe qui fait cela et qui utilise la méthode QETProject::adddiagram, ou un truc dans le genre).

Joshua wrote:

je voie pas trop en quoi les nouveaux textes pourront t'être utile, dans ce cas précis?

Si j'ai bien compris, l'implémentation des textes dynamiques dans l'éditeur d'éléments n'est pas encore finie. Pour l'instant si j'insère un texte dynamique, dans le dock, y'a juste la QComboBox "source du texte" qui fonctionne. Les autres widgets, pas encore.
Mais quand ce sera fini, on pourra définir pour chaque texte dynamique l'information que doit contenir le texte, n'est-ce pas ?!?
Donc, dans le xml du elmt, ces champs de textes auront une balise ou un tag qui dit "ce champ de texte contient le numéro de commande", par exemple.
Avec cela, on peut définir un élément "ligne de données de nomenclature" ou les différents champs de texte dynamiques sont tagués différemment, par exemple :
pour la 1ère colonne : un champ de texte tagué "label"
pour la 2ème colonne : un champ de texte tagué "Localisation"
pour la 3ème colonne : un champ de texte tagué "Fabricant"
etc.
De cette manière la génération de nomenclature peut s'effectuer ligne par ligne en copiant autant de fois que nécessaire l'élément "ligne de données de nomenclature".

Joshua wrote:

tu avais déjà tenter d'apprendre c++ et Qt, mais tu avais trouver ça pas facile. Tu attaque un truc pas simple avec le sommaire/nomenclature

Depuis 2 semaines j'ai retenté des petits bricolages et je suis arrivé, pour la première fois dans le code de QET, à écrire du code qui compile et qu fonctionne. J'ai compris quelques trucs importants dans la syntaxe C++ utilisée par QtCreator.
Ca veut pas dire que j'arriverai à faire ce que je veux faire, mais au moins c'est déjà plus encourageant que les trucs que je faisais l'année dernière nomicons/grin

17 (edited by Nuri 2017-12-08 20:12:31)

Re: Modification du sommaire

Si je prends l'exemple de cet élément tout simple (voir l'image en bas), et quand ton implémentation sera terminée, dans la balise <dynamic_text>, il y aura bien une information qui dit : ce texte contient l'info "fabricant", ou l'info "référence", etc. ?

Post's attachments

exemple_elmt_dynamic_text.png, 60.34 kb, 1406 x 269
exemple_elmt_dynamic_text.png 60.34 kb, 372 downloads since 2017-12-08 

Re: Modification du sommaire

Bonsoir à tous,
Juste quelques remarques simples concernant le sommaire et la nomenclature pour un utilisateur.
- Le sommaire est consulté pour rechercher un n° de page concernant un titre de folio uniquement.
- La nomenclature est une liste du matériel utilisé dans le but d'apporter un renseignement technique ou pour approvisionner de pièces, dans le cadre de la maintenance ou l'achat de matériel pour la réalisation.
On trouve couramment dans une nomenclature les éléments suivants:
- repère
- désignation
- référence
- fabricant
- quantité
La nomenclature doit impérativement pouvoir être exportée en CSV pour son exploitation dans un tableur. Le reste est optionnel et relève du dossier technique.
Je pars du principe qu'il faut toujours se mettre à la place du lecteur ou de l'utilisateur qui recherche un renseignement simple en un minimum de temps.
Ceci n'est qu'une modeste contribution au travail que vous effectuez.
Bon courage à vous

19 (edited by Nuri 2017-12-09 01:26:35)

Re: Modification du sommaire

systemes wrote:

Le sommaire est consulté pour rechercher un n° de page concernant un titre de folio uniquement.

en principe, oui, et en littérature, oui.
Mais dans les documentations électrotechniques, non.

Quand plusieurs concepteurs travaillent sur un même projet, en général, on apprécie quand le nom de l'auteur du folio est dans le sommaire.

Quand la doc passe par moultes phases (conception initiale, conception finale, montage, mise en service qui marche pas, corrections de la mise en service, bricolage 1 pendant le montage, bricolage 2 pendant le montage... et enfin livraison chez le client final), on apprécie quand un numéro de version est dans le sommaire.

Quand on utilise la norme IEC 81346 et donc qu'on organise son projet en arborescence, il faut au minimum indiquer la localisation (+) et le groupe fonctionnel (=) de chaque folio.

Quand ceci et quand cela...

Enfin, tu vois le topo, les besoins divergent et je comprend tout à fait ceux qui ont besoin d'un sommaire très simple et le plus synthétique possible, mais cela cantonne QET à un petit groupe d'utilisateurs alors que son potentiel va déjà au delà de ca.

systemes wrote:

La nomenclature doit impérativement pouvoir être exportée en CSV pour son exploitation dans un tableur.

Cette fonctionalité marche super bien dans QET. Et elle est vitale, on tous d'accord là-dessus je pense.

systemes wrote:

Le reste est optionnel et relève du dossier technique.

Justement... QET était initalement uniquement un éditeur de schémas électrotechniques/électriques.
Pour entrer dans "la cour des grands" il faut être plus qu'un éditeur de schémas. Il faut devenir un éditeur de documentation électrotechnique. Il faut donc pouvoir éditer des schémas et aussi :
- générer/exporter une nomenclature dans la documention
- générer une table des matières (qui peut être réduite à un sommaire pour des documentations de quelques folios)
- générer des plans de borniers
- générer/exporter des listes de câbles
- générer/exporter des listes de fileries
- générer des apercus d'entrées/sorties d'API, carte par carte, CPU par CPU
- exporter des tables de mnémoniques en format natif pour des CPU Siemens, ABB, Schneider, Beckhoff, Allen Bradley...
- assister les mises en armoire et les plans d'implantation
- gérer une bibliothèque d'articles bien fournie (justement pour générer et exporter des nomenclatures rapidement)

Tout ce blabla pour dire qu'il faudra un jour créer un sommaire / une table des matières très configurable couvrant les besoins d'utilisateurs aussi diverses que :
- le bricolo du dimanche qui fait le plan de ses guitares sur 3 folios
- l'électricien du coin qui fait des projets de maximum 10 folios
- l'installateur pro qui fait des plans uniflilaires sur 20 folios maximum
- le concepteur pro occasionnel qui n'a pas envie de s'acheter un Eplan pour seulement faire des petites modifs de temps en temps dans des plans existants
- le concepteur pro qui fait tout le temps des petites machines qui tiennent sur 50 folios
- le concepteur pro qui fait des machines indus qui tiennent sur 500 folios
- le concepteur pro qui fait des installations indus qui tiennent sur 2000 folios

Re: Modification du sommaire

Bonjour, j'ai survolé la problématique du sommaire , vous pouvez rajouter aussi, si ce n'est pas déjà fait , la mémorisation du cartouche choisi , je m'explique :
Je change le cartouche, je rempli mes attributs, je sauvegarde.
Je recharge mon dossier, le cartouche et ses attributs ne sont pas sauvegardés.
Merci à vous.

21 (edited by Nuri 2017-12-12 13:38:41)

Re: Modification du sommaire

@ stephan :
oui, nous sommes au courant de ce problème, qui n'embête pas que toi d'ailleurs nomicons/smile
Cela vient du fait que les folios contenant le sommaire n'ont pas de réelle existence dans le fichier .qet.
Ils sont générés à chaque nouvelle ouverture et les modifs effectuées dans les variables du cartouche ne sont pas sauvegardées.
Pour contourner le problème, tu peux faire comme ceci (je fais pareil) :
dans le menu Projet --> Propriétés du projet, registre "Nouveau folio", onglet "folio". Ici se trouve la configuration par défaut qui sera aussi appliquée aux folios sommaire.
Inconvénient : à chaque fois que tu ajoutes un nouveau folio, il aura cette configuration.
A toi de voir si ca te convient. Y'a pas d'autre workaround à ma connaissance.