[qet] qet/qet: [5622] Add new fild and titleblock "Function group"

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 5622
Author:   scorpio810
Date:     2018-12-01 00:53:13 +0100 (Sat, 01 Dec 2018)
Log Message:
-----------
Add new fild and titleblock "Function group"

Modified Paths:
--------------
    trunk/sources/SearchAndReplace/searchandreplaceworker.cpp
    trunk/sources/SearchAndReplace/ui/replacefoliowidget.cpp
    trunk/sources/SearchAndReplace/ui/replacefoliowidget.h
    trunk/sources/SearchAndReplace/ui/replacefoliowidget.ui
    trunk/sources/autoNum/assignvariables.cpp
    trunk/sources/autoNum/numerotationcontext.cpp
    trunk/sources/autoNum/numerotationcontextcommands.cpp
    trunk/sources/autoNum/numerotationcontextcommands.h
    trunk/sources/autoNum/ui/numparteditorw.cpp
    trunk/sources/autoNum/ui/numparteditorw.h
    trunk/sources/bordertitleblock.cpp
    trunk/sources/bordertitleblock.h
    trunk/sources/diagramcontext.h
    trunk/sources/diagramfoliolist.cpp
    trunk/sources/diagramfoliolist.h
    trunk/sources/editor/ui/elementpropertieseditorwidget.cpp
    trunk/sources/nomenclature.cpp
    trunk/sources/qetapp.cpp
    trunk/sources/titleblock/templatecellwidget.cpp
    trunk/sources/titleblockproperties.cpp
    trunk/sources/titleblockproperties.h
    trunk/sources/ui/potentialselectordialog.cpp
    trunk/sources/ui/reportpropertiewidget.ui
    trunk/sources/ui/titleblockpropertieswidget.cpp
    trunk/sources/ui/titleblockpropertieswidget.ui
    trunk/sources/ui/xrefpropertieswidget.ui

Modified: trunk/sources/SearchAndReplace/searchandreplaceworker.cpp
===================================================================
--- trunk/sources/SearchAndReplace/searchandreplaceworker.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/SearchAndReplace/searchandreplaceworker.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -94,6 +94,13 @@
 			} else {
 				new_properties.machine = m_titleblock_properties.machine;
 			}
+		}if (!m_titleblock_properties.funcgroup.isEmpty())
+		{
+			if (m_titleblock_properties.funcgroup == eraseText()) {
+				new_properties.funcgroup.clear();
+			} else {
+				new_properties.funcgroup = m_titleblock_properties.funcgroup;
+			}
 		}
 		if (!m_titleblock_properties.locmach.isEmpty())
 		{

Modified: trunk/sources/SearchAndReplace/ui/replacefoliowidget.cpp
===================================================================
--- trunk/sources/SearchAndReplace/ui/replacefoliowidget.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/SearchAndReplace/ui/replacefoliowidget.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -47,6 +47,7 @@
 	prop.author   = ui->m_author_le->text();
 	prop.filename = ui->m_file_le  ->text();
 	prop.machine  = ui->m_mach     ->text();
+	prop.funcgroup= ui->m_group_f  ->text();
 	prop.locmach  = ui->m_loc      ->text();
 	prop.indexrev = ui->m_indice   ->text();
 	prop.folio    = ui->m_folio_le ->text();
@@ -79,6 +80,7 @@
 	ui->m_author_le->setText (properties.author);
 	ui->m_file_le  ->setText (properties.filename);
 	ui->m_mach     ->setText (properties.machine);
+	ui->m_group_f  ->setText (properties.funcgroup);
 	ui->m_loc      ->setText (properties.locmach);
 	ui->m_indice   ->setText (properties.indexrev);
 	ui->m_folio_le ->setText (properties.folio);
@@ -167,6 +169,11 @@
 	ui->m_mach->setDisabled(ui->m_mach_cb->isChecked());
 }
 
+void ReplaceFolioWidget::on_m_group_f_cb_clicked() {
+    ui->m_group_f->setText(ui->m_group_f_cb->isChecked() ? SearchAndReplaceWorker::eraseText() : QString());
+	ui->m_group_f->setDisabled(ui->m_group_f_cb->isChecked());
+}
+
 void ReplaceFolioWidget::on_m_loc_cb_clicked() {
     ui->m_loc->setText(ui->m_loc_cb->isChecked() ? SearchAndReplaceWorker::eraseText() : QString());
 	ui->m_loc->setDisabled(ui->m_loc_cb->isChecked());
@@ -176,3 +183,5 @@
     ui->m_indice->setText(ui->m_indice_cb->isChecked() ? SearchAndReplaceWorker::eraseText() : QString());
 	ui->m_indice->setDisabled(ui->m_indice_cb->isChecked());
 }
+
+

Modified: trunk/sources/SearchAndReplace/ui/replacefoliowidget.h
===================================================================
--- trunk/sources/SearchAndReplace/ui/replacefoliowidget.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/SearchAndReplace/ui/replacefoliowidget.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -48,10 +48,15 @@
 		void on_m_file_cb_clicked();
 		void on_m_folio_cb_clicked();
 		void on_m_mach_cb_clicked();
+		void on_m_group_f_cb_clicked();
 		void on_m_loc_cb_clicked();
 		void on_m_indice_cb_clicked();
 		
-	private:
+		
+		
+		
+		
+		private:
 		Ui::ReplaceFolioWidget *ui;
 		DiagramContextWidget *m_diagram_context_widget = nullptr;
 		

Modified: trunk/sources/SearchAndReplace/ui/replacefoliowidget.ui
===================================================================
--- trunk/sources/SearchAndReplace/ui/replacefoliowidget.ui	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/SearchAndReplace/ui/replacefoliowidget.ui	2018-11-30 23:53:13 UTC (rev 5622)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>449</width>
-    <height>389</height>
+    <height>431</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -305,6 +305,23 @@
            </property>
           </widget>
          </item>
+         <item row="7" column="2" colspan="2">
+          <widget class="QLineEdit" name="m_group_f"/>
+         </item>
+         <item row="7" column="1">
+          <widget class="QLabel" name="label">
+           <property name="text">
+            <string>Groupe fonctionnel</string>
+           </property>
+          </widget>
+         </item>
+         <item row="7" column="4">
+          <widget class="QCheckBox" name="m_group_f_cb">
+           <property name="text">
+            <string/>
+           </property>
+          </widget>
+         </item>
         </layout>
        </item>
        <item>

Modified: trunk/sources/autoNum/assignvariables.cpp
===================================================================
--- trunk/sources/autoNum/assignvariables.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/autoNum/assignvariables.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -187,6 +187,7 @@
 		str.replace("%{auxiliary1}", dc.value("auxiliary1").toString());
 		str.replace("%{auxiliary2}", dc.value("auxiliary2").toString());
 		str.replace("%{machine-manufacturer-reference}", dc.value("machine-manufacturer-reference").toString());
+		str.replace("%{function-group}", dc.value("function-group").toString());
 		str.replace("%{location}", dc.value("location").toString());
 		str.replace("%{function}", dc.value("function").toString());
 		str.replace("%{void}", QString());
@@ -210,6 +211,7 @@
 			m_assigned_label.replace("%id",    QString::number(m_diagram->folioIndex()+1));
 			m_assigned_label.replace("%total", QString::number(m_diagram->border_and_titleblock.folioTotal()));
 			m_assigned_label.replace("%M",  m_diagram -> border_and_titleblock.machine());
+			m_assigned_label.replace("%FG",m_diagram ->border_and_titleblock.funcgroup());
 			m_assigned_label.replace("%LM", m_diagram -> border_and_titleblock.locmach());
 
 	QSettings settings;
@@ -426,6 +428,9 @@
 			else if (type == "machine") {
 				formula.append("%M");
 			}
+			else if (type == "funcgroup") {
+				formula.append("%FG");
+			}
 			else if (type == "locmach") {
 				formula.append("%LM");
 			}

Modified: trunk/sources/autoNum/numerotationcontext.cpp
===================================================================
--- trunk/sources/autoNum/numerotationcontext.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/autoNum/numerotationcontext.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -101,7 +101,7 @@
  * @return all type use to numerotation
  */
 QString NumerotationContext::validRegExpNum () const {
-	return ("unit|unitfolio|ten|tenfolio|hundred|hundredfolio|string|idfolio|folio|machine|locmach|elementline|elementcolumn|elementprefix");
+	return ("unit|unitfolio|ten|tenfolio|hundred|hundredfolio|string|idfolio|folio|machine|funcgroup|locmach|elementline|elementcolumn|elementprefix");
 }
 
 /**

Modified: trunk/sources/autoNum/numerotationcontextcommands.cpp
===================================================================
--- trunk/sources/autoNum/numerotationcontextcommands.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/autoNum/numerotationcontextcommands.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -128,6 +128,11 @@
 		strategy_ = new MachineNum (diagram_);
 		return;
 	}
+	
+	else if (str=="funcgroup"){
+		strategy_ = new FuncgroupNum (diagram_);
+		return;
+	}
 	else if (str=="locmach"){
 		strategy_ = new LocmachNum (diagram_);
 		return;
@@ -532,6 +537,39 @@
 /**
  * Constructor
  */
+FuncgroupNum::FuncgroupNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief FuncgroupNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString FuncgroupNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return "%FG";
+}
+
+/**
+ * @brief FuncgroupNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext FuncgroupNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief FuncgroupNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext FuncgroupNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+
+/**
+ * Constructor
+ */
 LocmachNum::LocmachNum (Diagram *d):
 	NumStrategy (d)
 {}

Modified: trunk/sources/autoNum/numerotationcontextcommands.h
===================================================================
--- trunk/sources/autoNum/numerotationcontextcommands.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/autoNum/numerotationcontextcommands.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -150,6 +150,15 @@
 	NumerotationContext previous (const NumerotationContext &, const int) const override;
 };
 
+class FuncgroupNum: public NumStrategy
+{
+	public:
+	FuncgroupNum (Diagram *);
+	QString toRepresentedString(const QString) const override;
+	NumerotationContext next     (const NumerotationContext &, const int) const override;
+	NumerotationContext previous (const NumerotationContext &, const int) const override;
+};
+
 class LocmachNum: public NumStrategy
 {
 	public:

Modified: trunk/sources/autoNum/ui/numparteditorw.cpp
===================================================================
--- trunk/sources/autoNum/ui/numparteditorw.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/autoNum/ui/numparteditorw.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -59,6 +59,7 @@
 		else if (strl.at(0)=="idfolio") setType(NumPartEditorW::idfolio);
 		else if (strl.at(0)=="folio") setType(NumPartEditorW::folio);
 		else if (strl.at(0)=="machine") setType(NumPartEditorW::machine);
+		else if (strl.at(0)=="funcgroup") setType(NumPartEditorW::funcgroup);
 		else if (strl.at(0)=="locmach") setType(NumPartEditorW::locmach);
 		else if (strl.at(0)=="elementline") setType(NumPartEditorW::elementline);
 		else if (strl.at(0)=="elementcolumn") setType(NumPartEditorW::elementcolumn);
@@ -91,12 +92,12 @@
 	{
 		items	<< tr("Chiffre 1") << tr("Chiffre 1 - Folio") << tr("Chiffre 01")
 				<< tr("Chiffre 01 - Folio") << tr("Chiffre 001") << tr("Chiffre 001 - Folio")
-				<< tr("Texte") << tr("N° folio") << tr("Folio") << tr("Machine") << tr("Locmach");
+				<< tr("Texte") << tr("N° folio") << tr("Folio") << tr("Machine") << tr("Funcgroup") << tr("Locmach");
 	}
 	else
 		items << tr("Chiffre 1") << tr("Chiffre 1 - Folio") << tr("Chiffre 01")
 			  << tr("Chiffre 01 - Folio") << tr("Chiffre 001") << tr("Chiffre 001 - Folio")
-			  << tr("Texte") << tr("N° folio") << tr("Folio") << tr("Machine") << tr("Locmach")
+			  << tr("Texte") << tr("N° folio") << tr("Folio") << tr("Machine") << tr("Funcgroup") << tr("Locmach")
 			  << tr("Element Line") << tr("Element Column") << tr("Element Prefix");
 	ui->type_cb->insertItems(0,items);
 }
@@ -139,6 +140,9 @@
 		case machine:
 			type_str = "machine";
 			break;
+		case funcgroup:
+			type_str = "funcgroup";
+			break;
 		case locmach:
 			type_str = "locmach";
 			break;
@@ -164,7 +168,7 @@
  * @return true if value field isn't empty or if type is folio
  */
 bool NumPartEditorW::isValid() {
-	if (type_ == folio || type_ == idfolio || type_ == elementline || type_ == machine || type_ == locmach ||
+	if (type_ == folio || type_ == idfolio || type_ == elementline || type_ == machine || type_ == funcgroup || type_ == locmach ||
 		type_ == elementcolumn || type_ == elementprefix) {return true;}
 	else if(ui -> value_field -> text().isEmpty()) {return false;}
 	else return true;
@@ -195,6 +199,8 @@
 		setType(folio);
 	else if (ui->type_cb->currentText() == tr("Machine"))
 		setType(machine);
+	else if (ui->type_cb->currentText() == tr("Funcgroup"))
+		setType(funcgroup);
 	else if (ui->type_cb->currentText() == tr("Locmach"))
 		setType(locmach);
 	else if (ui->type_cb->currentText() == tr("Element Line"))
@@ -234,7 +240,7 @@
 	//if @t is a numeric type and preview type @type_ isn't a numeric type
 	//or @fnum is true, we set numeric behavior
 	if ( ((t==unit || t==unitfolio || t==ten || t==tenfolio || t==hundred || t==hundredfolio) &&
-		  (type_==string || type_==folio || type_==machine || type_==locmach ||type_==idfolio ||
+		  (type_==string || type_==folio || type_==machine || type_ ==funcgroup || type_==locmach ||type_==idfolio ||
 		   type_==elementcolumn || type_==elementline || type_==elementprefix))
 		 || fnum) {
 		ui -> value_field -> clear();
@@ -244,7 +250,7 @@
 		ui -> increase_spinBox -> setValue(1);
 	}
 	//@t isn't a numeric type
-	else if (t == string || t == folio || t == idfolio || t == elementline || t == machine || t == locmach ||
+	else if (t == string || t == folio || t == idfolio || t == elementline || t == machine || t == funcgroup ||t == locmach ||
 			 t == elementcolumn || t == elementprefix) {
 		ui -> value_field -> clear();
 		ui -> increase_spinBox -> setDisabled(true);
@@ -260,6 +266,12 @@
 			ui -> value_field -> setDisabled(true);
 			ui -> increase_spinBox -> setDisabled(true);
 		}
+		
+		else if (t==funcgroup) {
+			ui -> value_field -> setDisabled(true);
+			ui -> increase_spinBox -> setDisabled(true);
+		}
+		
 		else if (t==locmach) {
 			ui -> value_field -> setDisabled(true);
 			ui -> increase_spinBox -> setDisabled(true);
@@ -311,6 +323,8 @@
 		i = ui->type_cb->findText(tr("Folio"));
 	else if (t == machine)
 		i = ui->type_cb->findText(tr("Machine"));
+	else if (t == funcgroup)
+		i = ui->type_cb->findText(tr("Funcgroup"));
 	else if (t == locmach)
 		i = ui->type_cb->findText(tr("Locmach"));
 	else if (t == elementline)

Modified: trunk/sources/autoNum/ui/numparteditorw.h
===================================================================
--- trunk/sources/autoNum/ui/numparteditorw.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/autoNum/ui/numparteditorw.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -42,7 +42,7 @@
 		~NumPartEditorW() override;
 
 		enum type {unit,unitfolio,ten,tenfolio, hundred, hundredfolio,
-				   string,idfolio,folio,machine,locmach,
+				   string,idfolio,folio,machine,funcgroup,locmach,
 				   elementline,elementcolumn,elementprefix,
 				  };
 		NumerotationContext toNumContext();

Modified: trunk/sources/bordertitleblock.cpp
===================================================================
--- trunk/sources/bordertitleblock.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/bordertitleblock.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -242,7 +242,8 @@
 	ip.title = title();
 	ip.filename = fileName();
 	ip.machine = machine();
-	ip.locmach = locmach();
+	ip.funcgroup = funcgroup();
+	ip.locmach = locmach();	
 	ip.indexrev = indexrev();
 	ip.version = version();
 	ip.folio = folio();
@@ -265,6 +266,7 @@
 	setTitle(ip.title);
 	setFileName(ip.filename);
 	setMachine(ip.machine);
+	setFuncgroup(ip.funcgroup);
 	setLocMach(ip.locmach);
 	setIndicerev(ip.indexrev);
 	setVersion(QET::displayedVersion);
@@ -716,6 +718,7 @@
 	context.addValue("title",       btb_title_);
 	context.addValue("filename",    btb_filename_);
 	context.addValue("machine",     btb_machine_);
+	context.addValue("funcgroup",   btb_funcgroup_);
 	context.addValue("locmach",     btb_locmach_);
 	context.addValue("indexrev",    btb_indexrev_);
 	context.addValue("version",     btb_version_);

Modified: trunk/sources/bordertitleblock.h
===================================================================
--- trunk/sources/bordertitleblock.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/bordertitleblock.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -101,6 +101,8 @@
 	QString machine() const { return(btb_machine_); }
 	/// @return the value of the title block "Locmach" field
 	QString locmach() const { return(btb_locmach_); }
+	/// @return the value of the title block "Funcgroup" field
+	QString funcgroup() const { return(btb_funcgroup_); }
 	/// @return the value of the revision index block "Folio" field
 	QString indexrev() const { return(btb_indexrev_); }
 	
@@ -156,6 +158,7 @@
 	void setFolioData(int, int, const QString& = nullptr, const DiagramContext & = DiagramContext());
 	/// @param author the new value of the "File" field
 	void setMachine(const QString &machine) { btb_machine_ = machine; }
+	void setFuncgroup(const QString &funcgroup) { btb_locmach_ = funcgroup; }
 	void setLocMach(const QString &locmach) { btb_locmach_ = locmach; }
 	void setIndicerev(const QString &indexrev){ btb_indexrev_ = indexrev; }
 	void setFileName(const QString &filename) { btb_filename_ = filename; }
@@ -238,6 +241,7 @@
 		QString btb_title_;
 		QString btb_folio_;
 		QString btb_machine_;
+		QString btb_funcgroup_;
 		QString btb_locmach_;
 		QString btb_indexrev_;
 		QString btb_final_folio_;

Modified: trunk/sources/diagramcontext.h
===================================================================
--- trunk/sources/diagramcontext.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/diagramcontext.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -41,6 +41,7 @@
  * auxiliary1                     -> auxiliary 1 of element
  * auxiliary2                     -> auxiliary 2 of element
  * machine-manufacturer-reference -> reference of the manufacturer machine
+ * function-group                 -> Function group
  * provider                       -> the provider of the element
  * function                       -> the function of element
  * location                       -> the location of the element

Modified: trunk/sources/diagramfoliolist.cpp
===================================================================
--- trunk/sources/diagramfoliolist.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/diagramfoliolist.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -19,7 +19,7 @@
 #include <QPainter>
 #include "qetapp.h"
 
-qreal DiagramFolioList::colWidths[7] = {0.05, 0.50, 0.10, 0.10, 0.05, 0.10, 0.10};
+qreal DiagramFolioList::colWidths[8] = {0.05, 0.40, 0.10, 0.10, 0.10, 0.05, 0.10, 0.10};
 
 /**
  * @brief DiagramFolioList::DiagramFolioList
@@ -94,6 +94,7 @@
 				diagram_list[i] -> title(),
 				diagram_list[i] -> border_and_titleblock.finalfolio(),
 				diagram_list[i] -> border_and_titleblock.machine(),
+				diagram_list[i] -> border_and_titleblock.funcgroup(),
 				diagram_list[i] -> border_and_titleblock.locmach(),
 				diagram_list[i] -> border_and_titleblock.indexrev(),
 				diagram_list[i] -> border_and_titleblock.date().toString(Qt::SystemLocaleShortDate));
@@ -102,6 +103,7 @@
 				diagram_list[i] -> title(),
 				QString::number(diagram_list[i] ->folioIndex()+1),
 				diagram_list[i] -> border_and_titleblock.machine(),
+				diagram_list[i] -> border_and_titleblock.funcgroup(),
 				diagram_list[i] -> border_and_titleblock.locmach(),
 				diagram_list[i] -> border_and_titleblock.indexrev(),
 				diagram_list[i] -> border_and_titleblock.date().toString(Qt::SystemLocaleShortDate));
@@ -120,7 +122,7 @@
  * @param row_rect rectangle where we must draw the new row
  */
 void DiagramFolioList::fillRow(QPainter *qp, const QRectF &row_rect, const QString& author, const QString& title,
-							   const QString& folio, const QString& machine, const QString& loc, const QString& indexrev, const QString& date)
+							   const QString& folio, const QString& machine, const QString& funcgroup, const QString& loc, const QString& indexrev, const QString& date)
 {
 	qreal x = row_rect.topLeft().x();
 	qreal y = row_rect.topLeft().y();
@@ -174,42 +176,50 @@
 	qp -> drawText(QRectF(x, y, colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, machine);
 	x += colWidths[2]*row_rect.width();
 	
-	
-	if (origFontMetrics.width(loc) > 0.95*colWidths[3]*row_rect.width())
-		workingFont.setPointSizeF(origFontSize * 0.95*colWidths[3]*row_rect.width() / origFontMetrics.width(loc));
+	if (origFontMetrics.width(funcgroup) > 0.95*colWidths[3]*row_rect.width())
+		workingFont.setPointSizeF(origFontSize * 0.95*colWidths[3]*row_rect.width() / origFontMetrics.width(funcgroup));
 	else
 		workingFont.setPointSizeF(origFontSize);
 	qp -> setFont(workingFont);
-	qp -> drawText(QRectF(x, y, colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, loc);
+	qp -> drawText(QRectF(x, y, colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, funcgroup);
 	x += colWidths[3]*row_rect.width();
 	
 	
-	if (origFontMetrics.width(indexrev) > 0.95*colWidths[4]*row_rect.width())
-		workingFont.setPointSizeF(origFontSize * 0.95*colWidths[4]*row_rect.width() / origFontMetrics.width(indexrev));
+	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, indexrev);
+	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[5]*row_rect.width())
-		workingFont.setPointSizeF(origFontSize * 0.95*colWidths[5]*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[6]*row_rect.width(), row_rect.height()), Qt::AlignCenter, author);
-	x += colWidths[5]*row_rect.width();
+	x += colWidths[6]*row_rect.width();
 	
 
-	if (origFontMetrics.width(date) > 0.95*colWidths[6]*row_rect.width())
-		workingFont.setPointSizeF(origFontSize * 0.95*colWidths[6]*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[6]*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[])
@@ -220,7 +230,7 @@
 	list_rectangles_.clear();
 
     qreal sum = 0;
-    for (int i = 0; i < 7; i++ )
+    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";
@@ -230,7 +240,7 @@
     qreal tablesSpacing = rect.height() * 0.02;
 	qreal tableWidth = (rect.width() - tablesSpacing*(tables+1) ) / tables;
 	qreal rowHeight = (rect.height() - 2*tablesSpacing) / rows;
-	int cols = 7;//colWidths.size();
+	int cols = 8;//colWidths.size();
 
 	qreal x0 = tablesSpacing + rect.topLeft().x();
 	qreal y0 = tablesSpacing + rect.topLeft().y();
@@ -265,6 +275,7 @@
 	QString titleTranslatable(QObject::tr("Titre"));
 	QString folioTranslatable(QObject::tr("Folio"));
 	QString machineTranslatable(QObject::tr("Installation"));
+	QString funcgroupTranslatable(QObject::tr("Groupe fonctionnel"));
 	QString locTranslatable(QObject::tr("Localisation"));
 	QString indexrevTranslatable(QObject::tr("Rev"));
 	QString dateTranslatable(QObject::tr("Date"));
@@ -271,6 +282,6 @@
 
 	qp->save();
 	qp->setFont(QETApp::diagramTextsFont(13));
-	fillRow(qp, row_RectF, authorTranslatable, titleTranslatable, folioTranslatable, machineTranslatable, locTranslatable, indexrevTranslatable, dateTranslatable);
+	fillRow(qp, row_RectF, authorTranslatable, titleTranslatable, folioTranslatable, machineTranslatable, funcgroupTranslatable, locTranslatable, indexrevTranslatable, dateTranslatable);
 	qp->restore();
 }

Modified: trunk/sources/diagramfoliolist.h
===================================================================
--- trunk/sources/diagramfoliolist.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/diagramfoliolist.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -31,13 +31,13 @@
 	void setId(int i) {id = i;}
 	int getId() const {return id;}
 
-	static qreal colWidths[7];
+	static qreal colWidths[8];
 
 	protected:
 	void drawBackground(QPainter *, const QRectF &) override;
 
 	private:
-	void fillRow(QPainter *, const QRectF &, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&);
+	void fillRow(QPainter *, const QRectF &, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&);
 	void buildGrid(QPainter *, const QRectF &, int, int, qreal[]);
 	void fillHeader(QPainter *, const QRectF &);
 

Modified: trunk/sources/editor/ui/elementpropertieseditorwidget.cpp
===================================================================
--- trunk/sources/editor/ui/elementpropertieseditorwidget.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/editor/ui/elementpropertieseditorwidget.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -152,7 +152,7 @@
  */
 void ElementPropertiesEditorWidget::populateTree()
 {
-	QStringList keys{"label", "comment", "description", "designation", "manufacturer", "manufacturer-reference", "provider", "machine-manufacturer-reference"};
+	QStringList keys{"label", "comment", "description", "designation", "manufacturer", "manufacturer-reference", "provider", "function-group", "machine-manufacturer-reference"};
 	
 	for(const QString& key : keys)
 	{

Modified: trunk/sources/nomenclature.cpp
===================================================================
--- trunk/sources/nomenclature.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/nomenclature.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -100,6 +100,7 @@
     ""+ QObject::tr("M001") +";"      //:Don't translate this text!    //ID for auxiliary field 1
     ""+ QObject::tr("M002") +";"      //:Don't translate this text!    //ID for auciliary field 2
     ""+ QObject::tr("N001")+";"       //:Don't translate this text!    //ID for internal number
+    ""+ QObject::tr("N002")+";"       //:Don't translate this text!    //ID for Function group
     ""+ QObject::tr("O001")+";"       //:Don't translate this text!    //ID for location
     ""+ QObject::tr("P001") +"\n";    //:Don't translate this text!    //ID for function
     data += QObject::tr("N° de folio") +";"
@@ -118,6 +119,7 @@
 	""+ QObject::tr("Bloc auxiliaire 1") +";"
 	""+ QObject::tr("Bloc auxiliaire 2") +";"
 	""+ QObject::tr("Machine-reference") +";"
+	""+ QObject::tr("Function-group") +";"
 	""+ QObject::tr("Localisation") +";"
 	""+ QObject::tr("Fonction") +"\n";
 
@@ -177,6 +179,7 @@
 	info += autonum::AssignVariables::formulaToLabel(elmt_info["auxiliary1"].toString(), elmt->rSequenceStruct(), elmt->diagram(), elmt) + ";";
 	info += autonum::AssignVariables::formulaToLabel(elmt_info["auxiliary2"].toString(), elmt->rSequenceStruct(), elmt->diagram(), elmt) + ";";
 	info += autonum::AssignVariables::formulaToLabel(elmt_info["machine-manufacturer-reference"].toString(), elmt->rSequenceStruct(), elmt->diagram(), elmt) + ";";
+	info += autonum::AssignVariables::formulaToLabel(elmt_info["function-group"].toString(), elmt->rSequenceStruct(), elmt->diagram(), elmt) + ";";
 	info += autonum::AssignVariables::formulaToLabel(elmt_info["location"].toString(), elmt->rSequenceStruct(), elmt->diagram(), elmt) + ";";
 	info += autonum::AssignVariables::formulaToLabel(elmt_info["function"].toString(), elmt->rSequenceStruct(), elmt->diagram(), elmt) + "\n";
 

Modified: trunk/sources/qetapp.cpp
===================================================================
--- trunk/sources/qetapp.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/qetapp.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -303,6 +303,7 @@
 			  << "auxiliary1"
 			  << "auxiliary2"
 			  << "machine-manufacturer-reference"
+			  << "function-group"
 			  << "location"
 			  << "function"
 			  << "tension-protocol";
@@ -329,6 +330,7 @@
 	else if (info == "auxiliary1") return tr("Bloc auxiliaire 1");
 	else if (info == "auxiliary2") return tr("Bloc auxiliaire 2");
 	else if (info == "machine-manufacturer-reference") return tr("Numéro interne");
+	else if (info == "function-group") return tr("Groupe fonctionnel");
 	else if (info == "location") return tr("Localisation");
 	else if (info == "function") return tr("Fonction");
 	else if (info == "tension-protocol") return tr("Tension / Protocole");
@@ -354,6 +356,7 @@
 	else if (info == "auxiliary1")                     return QString("%{auxiliary1}");
 	else if (info == "auxiliary2")                     return QString("%{auxiliary2}");
 	else if (info == "machine-manufacturer-reference") return QString("%{machine-manufacturer-reference}");
+	else if (info == "function-group"                  ) return QString("%{function-group}");
 	else if (info == "location")                       return QString("%{location}");
 	else if (info == "function")                       return QString("%{function}");
 	else if (info == "tension-protocol")               return QString("%{tension-protocol}");

Modified: trunk/sources/titleblock/templatecellwidget.cpp
===================================================================
--- trunk/sources/titleblock/templatecellwidget.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/titleblock/templatecellwidget.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -437,7 +437,8 @@
 		"<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>%{machine} : nom du projet</li>"
+		"<li>%{funcgroup} : nom du groupe fonctionnel du projet</li>"
 		"<li>%{locmach} : nom de la localisation dans le groupe fonctionnel du projet</li>"
 		"<li>%{indexrev} : indice de révision du folio</li>"
 		"<li>%{version} : version du logiciel</li>"

Modified: trunk/sources/titleblockproperties.cpp
===================================================================
--- trunk/sources/titleblockproperties.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/titleblockproperties.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -48,6 +48,7 @@
 		ip.date == date &&\
 		ip.filename == filename &&\
 		ip.machine == machine &&\
+		ip.funcgroup == funcgroup &&\
 		ip.locmach == locmach &&\
 		ip.indexrev == indexrev &&\
 		ip.version == version &&\
@@ -78,6 +79,7 @@
 	e.setAttribute("title",    title);
 	e.setAttribute("filename", filename);
 	e.setAttribute("machine", machine);
+	e.setAttribute("funcgroup", funcgroup);
 	e.setAttribute("locmach", locmach);
 	e.setAttribute("indexrev",indexrev);
 	e.setAttribute("version", version);
@@ -108,6 +110,7 @@
 	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("funcgroup"))  funcgroup = e.attribute("funcgroup");
 	if (e.hasAttribute("locmach"))     locmach  = e.attribute("locmach");
 	if (e.hasAttribute("indexrev"))   indexrev  = e.attribute("indexrev");
 	if (e.hasAttribute("version"))    version   = e.attribute("version");
@@ -141,6 +144,7 @@
 	settings.setValue(prefix + "author",   author);
 	settings.setValue(prefix + "filename", filename);
 	settings.setValue(prefix + "machine", machine);
+	settings.setValue(prefix + "funcgroup", funcgroup);
 	settings.setValue(prefix + "locmach", locmach);
 	settings.setValue(prefix + "indexrev", indexrev);
 	settings.setValue(prefix + "version", version);
@@ -163,6 +167,7 @@
 	author   = settings.value(prefix + "author").toString();
 	filename = settings.value(prefix + "filename").toString();
 	machine  = settings.value(prefix + "machine").toString();
+	funcgroup= settings.value(prefix + "funcgroup").toString();
 	locmach  = settings.value(prefix + "locmach").toString();
 	indexrev = settings.value(prefix + "indexrev").toString();
 	version  = settings.value(prefix + "version").toString();

Modified: trunk/sources/titleblockproperties.h
===================================================================
--- trunk/sources/titleblockproperties.h	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/titleblockproperties.h	2018-11-30 23:53:13 UTC (rev 5622)
@@ -55,6 +55,7 @@
 	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 funcgroup;        ///< Function group (displayed by the default template)
 	QString locmach;              ///< Location(displayed by the default template)
 	QString indexrev;         ///< Revision Index (displayed by the default template)
 	QString version;          ///< Version (displayed by the default template)

Modified: trunk/sources/ui/potentialselectordialog.cpp
===================================================================
--- trunk/sources/ui/potentialselectordialog.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/ui/potentialselectordialog.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -319,18 +319,18 @@
 			}
 			
 				//Check if formula of the new potential have incompatible variable with folio report
-			QRegularExpression rx ("%sequf_|%seqtf_|%seqhf_|%id|%F|%M|%LM");
+			QRegularExpression rx ("%sequf_|%seqtf_|%seqhf_|%id|%F|%M|%FG|%LM");
 			foreach(ConductorProperties cp, m_properties_list)
 			{
 				if (cp.m_formula.contains(rx))
 				{
 					QStringList forbidden_str;
-					forbidden_str << "%sequf_" << "%seqtf_" << "%seqhf_" << "%id" << "%F" << "%M" << "%LM";
+					forbidden_str << "%sequf_" << "%seqtf_" << "%seqhf_" << "%id" << "%F" << "%M" << "%FG" << "%LM";
 					
 					QString text(tr("La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio.\n"
 									"Veuillez saisir une formule compatible pour ce potentiel.\n"
 									"Les variables suivantes sont incompatibles :\n"
-									"%sequf_  %seqtf_  %seqhf_  %id  %F  %M  %LM"));
+									"%sequf_  %seqtf_  %seqhf_  %id  %F  %M %FG %LM"));
 					FormulaAssistantDialog fag(this);
 					fag.setForbiddenVariables(forbidden_str);
 					fag.setText(text);

Modified: trunk/sources/ui/reportpropertiewidget.ui
===================================================================
--- trunk/sources/ui/reportpropertiewidget.ui	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/ui/reportpropertiewidget.ui	2018-11-30 23:53:13 UTC (rev 5622)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>400</width>
-    <height>300</height>
+    <height>421</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -32,14 +32,7 @@
         <item>
          <widget class="QLabel" name="label_">
           <property name="text">
-           <string>Vous pouvez définir un label personnalisé pour les reports de folio.
-Créer votre propre texte en vous aidant des variables suivantes :
-%f : le numéro de folio 
-%F: le label de folio
-%M:  Machine 
-%LM: Location
-%l : le numéro de ligne
-%c : le numéro de colonne</string>
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Vous pouvez définir un label personnalisé pour les reports de folio.&lt;/p&gt;&lt;p&gt;Créer votre propre texte en vous aidant des variables suivantes :&lt;/p&gt;&lt;p&gt;%f : le numéro de folio &lt;/p&gt;&lt;p&gt;%F: le label de folio&lt;/p&gt;&lt;p&gt;%M:  Machine &lt;/p&gt;&lt;p&gt;%FG: Groupe fonctionnel&lt;/p&gt;&lt;p&gt;%LM: Location&lt;/p&gt;&lt;p&gt;%l : le numéro de ligne&lt;/p&gt;&lt;p&gt;%c : le numéro de colonne&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
           </property>
           <property name="scaledContents">
            <bool>false</bool>

Modified: trunk/sources/ui/titleblockpropertieswidget.cpp
===================================================================
--- trunk/sources/ui/titleblockpropertieswidget.cpp	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/ui/titleblockpropertieswidget.cpp	2018-11-30 23:53:13 UTC (rev 5622)
@@ -97,6 +97,7 @@
 	ui -> m_author_le -> setText (properties.author);
 	ui -> m_file_le   -> setText (properties.filename);
 	ui -> m_mach      -> setText (properties.machine);
+	ui -> m_group_f   -> setText (properties.funcgroup);
 	ui -> m_loc   -> setText (properties.locmach);
 	ui -> m_indice    -> setText (properties.indexrev);
 	ui -> m_folio_le  -> setText (properties.folio);
@@ -155,7 +156,8 @@
 	prop.author   = ui -> m_author_le -> text();
 	prop.filename = ui -> m_file_le   -> text();
 	prop.machine  = ui -> m_mach      -> text();
-	prop.locmach  = ui -> m_loc   -> text();
+	prop.funcgroup = ui -> m_group_f  -> text();
+	prop.locmach  = 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;
@@ -196,6 +198,7 @@
 	prop.author   = ui -> m_author_le -> text();
 	prop.filename = ui -> m_file_le   -> text();
 	prop.machine  = ui -> m_mach      -> text();
+	prop.funcgroup = ui -> m_group_f  -> text();
 	prop.locmach  = ui -> m_loc       -> text();
 	prop.indexrev = ui -> m_indice    -> text();
 	prop.folio    = "%autonum";

Modified: trunk/sources/ui/titleblockpropertieswidget.ui
===================================================================
--- trunk/sources/ui/titleblockpropertieswidget.ui	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/ui/titleblockpropertieswidget.ui	2018-11-30 23:53:13 UTC (rev 5622)
@@ -84,7 +84,7 @@
           </property>
           <item>
            <property name="text">
-            <string notr="true"> </string>
+            <string notr="true"/>
            </property>
            <property name="icon">
             <iconset resource="../../qelectrotech.qrc">
@@ -93,7 +93,7 @@
           </item>
           <item>
            <property name="text">
-            <string notr="true"> </string>
+            <string notr="true"/>
            </property>
            <property name="icon">
             <iconset resource="../../qelectrotech.qrc">
@@ -220,7 +220,7 @@
             <item row="9" column="1">
              <widget class="QLabel" name="label_12">
               <property name="text">
-               <string>Indice Rev</string>
+               <string>Indice Rev:</string>
               </property>
              </widget>
             </item>
@@ -373,10 +373,20 @@
             <item row="8" column="1">
              <widget class="QLabel" name="label_11">
               <property name="text">
-               <string>Localisation</string>
+               <string>Localisation:</string>
               </property>
              </widget>
             </item>
+            <item row="7" column="1">
+             <widget class="QLabel" name="label">
+              <property name="text">
+               <string>Groupe fonctionnel:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="7" column="3">
+             <widget class="QLineEdit" name="m_group_f"/>
+            </item>
            </layout>
           </item>
           <item>

Modified: trunk/sources/ui/xrefpropertieswidget.ui
===================================================================
--- trunk/sources/ui/xrefpropertieswidget.ui	2018-11-30 04:29:15 UTC (rev 5621)
+++ trunk/sources/ui/xrefpropertieswidget.ui	2018-11-30 23:53:13 UTC (rev 5622)
@@ -2,6 +2,14 @@
 <ui version="4.0">
  <class>XRefPropertiesWidget</class>
  <widget class="QWidget" name="XRefPropertiesWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>459</width>
+    <height>662</height>
+   </rect>
+  </property>
   <property name="windowTitle">
    <string>Form</string>
   </property>
@@ -187,6 +195,7 @@
 %l : le numéro de ligne
 %c : le numéro de colonne
 %M: Installation 
+%FG: Groupe fonctionnel  
 %LM: Localisation </string>
              </property>
             </widget>


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/