diff --git a/sources/numerotationcontext.cpp b/sources/numerotationcontext.cpp
index 169360887..9b6116825 100644
--- a/sources/numerotationcontext.cpp
+++ b/sources/numerotationcontext.cpp
@@ -99,7 +99,7 @@ QStringList NumerotationContext::itemAt(const int i) const {
* @return all type use to numerotation
*/
QString NumerotationContext::validRegExpNum () const {
- return ("unit|unitfolio|ten|hundred|string|idfolio|folio|elementline|elementcolumn|elementprefix");
+ return ("unit|unitfolio|ten|hundred|string|idfolio|folio|machine|locmach|elementline|elementcolumn|elementprefix");
}
/**
diff --git a/sources/numerotationcontextcommands.cpp b/sources/numerotationcontextcommands.cpp
index 42ad962fb..36f3c1635 100644
--- a/sources/numerotationcontextcommands.cpp
+++ b/sources/numerotationcontextcommands.cpp
@@ -124,6 +124,14 @@ void NumerotationContextCommands::setNumStrategy(const QString &str) {
strategy_ = new FolioNum (diagram_);
return;
}
+ else if (str=="machine"){
+ strategy_ = new MachineNum (diagram_);
+ return;
+ }
+ else if (str=="locmach"){
+ strategy_ = new LocmachNum (diagram_);
+ return;
+ }
else if (str=="elementline"){
strategy_ = new ElementLineNum (diagram_);
return;
@@ -488,6 +496,72 @@ NumerotationContext FolioNum::previous(const NumerotationContext &nc, const int
return (nextString(nc, i));
}
+/**
+ * Constructor
+ */
+MachineNum::MachineNum (Diagram *d):
+ NumStrategy (d)
+{}
+
+/**
+ * @brief MachineNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString MachineNum::toRepresentedString(const QString str) const {
+ Q_UNUSED(str);
+ return "%M";
+}
+
+/**
+ * @brief MachineNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext MachineNum::next (const NumerotationContext &nc, const int i) const {
+ return (nextString(nc, i));
+}
+
+/**
+ * @brief MachineNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext MachineNum::previous(const NumerotationContext &nc, const int i) const {
+ return (nextString(nc, i));
+}
+
+
+/**
+ * Constructor
+ */
+LocmachNum::LocmachNum (Diagram *d):
+ NumStrategy (d)
+{}
+
+/**
+ * @brief LocmachNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString LocmachNum::toRepresentedString(const QString str) const {
+ Q_UNUSED(str);
+ return "%LM";
+}
+
+/**
+ * @brief LocmachNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext LocmachNum::next (const NumerotationContext &nc, const int i) const {
+ return (nextString(nc, i));
+}
+
+/**
+ * @brief LocmachNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext LocmachNum::previous(const NumerotationContext &nc, const int i) const {
+ return (nextString(nc, i));
+}
+
+
/**
* Constructor
*/
diff --git a/sources/numerotationcontextcommands.h b/sources/numerotationcontextcommands.h
index ce0541105..25879814b 100644
--- a/sources/numerotationcontextcommands.h
+++ b/sources/numerotationcontextcommands.h
@@ -141,6 +141,25 @@ class FolioNum: public NumStrategy
NumerotationContext previous (const NumerotationContext &, const int) const;
};
+class MachineNum: public NumStrategy
+{
+ public:
+ MachineNum (Diagram *);
+ QString toRepresentedString(const QString) const;
+ NumerotationContext next (const NumerotationContext &, const int) const;
+ NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class LocmachNum: public NumStrategy
+{
+ public:
+ LocmachNum (Diagram *);
+ QString toRepresentedString(const QString) const;
+ NumerotationContext next (const NumerotationContext &, const int) const;
+ NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+
class ElementLineNum: public NumStrategy
{
public:
diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp
index acefd70bc..c467fac29 100644
--- a/sources/qetgraphicsitem/element.cpp
+++ b/sources/qetgraphicsitem/element.cpp
@@ -754,6 +754,8 @@ QString Element::assignVariables(QString label, Element *elmt){
//Default Variables
label.replace("%f", QString::number(elmt->diagram()->folioIndex()+1));
label.replace("%F", elmt->diagram() -> border_and_titleblock.folio());
+ label.replace("%M", elmt->diagram() -> border_and_titleblock.machine());
+ label.replace("%LM", elmt->diagram() -> border_and_titleblock.locmach());
label.replace("%c", QString::number(elmt->diagram() -> convertPosition(elmt -> scenePos()).number()));
label.replace("%l", elmt->diagram() -> convertPosition(elmt -> scenePos()).letter());
label.replace("%id", QString::number(elmt->diagram()->folioIndex()+1));
diff --git a/sources/ui/elementautonumberingw.ui b/sources/ui/elementautonumberingw.ui
index e94cde21c..74fcded39 100644
--- a/sources/ui/elementautonumberingw.ui
+++ b/sources/ui/elementautonumberingw.ui
@@ -7,7 +7,7 @@
0
0
383
- 305
+ 357
@@ -88,6 +88,8 @@
-%c: Element Column
-%F: Folio Name
-%f or %id: Folio ID
+-%M: Machine (Plant)
+-%LM: Location
-%total: Total of folios
You can also assign any other titleblock variable
that you create. Text and number inputs are
diff --git a/sources/ui/numparteditorw.cpp b/sources/ui/numparteditorw.cpp
index be5c4009b..b5facb059 100644
--- a/sources/ui/numparteditorw.cpp
+++ b/sources/ui/numparteditorw.cpp
@@ -56,6 +56,8 @@ NumPartEditorW::NumPartEditorW (NumerotationContext &context, int i, QWidget *pa
else if (strl.at(0)=="string") setType(NumPartEditorW::string);
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)=="locmach") setType(NumPartEditorW::locmach);
else if (strl.at(0)=="elementline") setType(NumPartEditorW::elementline);
else if (strl.at(0)=="elementcolumn") setType(NumPartEditorW::elementcolumn);
else if (strl.at(0)=="elementprefix") setType(NumPartEditorW::elementprefix);
@@ -89,7 +91,7 @@ void NumPartEditorW::setVisibleItems() {
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("Texte") << tr("N° folio") << tr("Folio") << tr("Machine") << tr("Locmach")
<< tr("Element Line") << tr("Element Column") << tr("Element Prefix");
ui->type_cb->insertItems(0,items);
}
@@ -129,6 +131,12 @@ NumerotationContext NumPartEditorW::toNumContext() {
case folio:
type_str = "folio";
break;
+ case machine:
+ type_str = "machine";
+ break;
+ case locmach:
+ type_str = "locmach";
+ break;
case elementline:
type_str = "elementline";
break;
@@ -151,7 +159,7 @@ NumerotationContext NumPartEditorW::toNumContext() {
* @return true if value field isn't empty or if type is folio
*/
bool NumPartEditorW::isValid() {
- if (type_ == folio || type_ == idfolio || type_ == elementline ||
+ if (type_ == folio || type_ == idfolio || type_ == elementline || type_ == machine || type_ == locmach ||
type_ == elementcolumn || type_ == elementprefix) {return true;}
else if(ui -> value_field -> text().isEmpty()) {return false;}
else return true;
@@ -180,6 +188,10 @@ void NumPartEditorW::on_type_cb_activated(int) {
setType(idfolio);
else if (ui->type_cb->currentText() == tr("Folio"))
setType(folio);
+ else if (ui->type_cb->currentText() == tr("Machine"))
+ setType(machine);
+ else if (ui->type_cb->currentText() == tr("Locmach"))
+ setType(locmach);
else if (ui->type_cb->currentText() == tr("Element Line"))
setType(elementline);
else if (ui->type_cb->currentText() == tr("Element Column"))
@@ -217,7 +229,7 @@ void NumPartEditorW::setType(NumPartEditorW::type t, bool fnum) {
//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_==idfolio ||
+ (type_==string || type_==folio || type_==machine || type_==locmach ||type_==idfolio ||
type_==elementcolumn || type_==elementline || type_==elementprefix))
|| fnum) {
ui -> value_field -> clear();
@@ -227,7 +239,7 @@ void NumPartEditorW::setType(NumPartEditorW::type t, bool fnum) {
ui -> increase_spinBox -> setValue(1);
}
//@t isn't a numeric type
- else if (t == string || t == folio || t == idfolio || t == elementline ||
+ else if (t == string || t == folio || t == idfolio || t == elementline || t == machine || t == locmach ||
t == elementcolumn || t == elementprefix) {
ui -> value_field -> clear();
ui -> increase_spinBox -> setDisabled(true);
@@ -239,6 +251,14 @@ void NumPartEditorW::setType(NumPartEditorW::type t, bool fnum) {
ui -> value_field -> setDisabled(true);
ui -> increase_spinBox -> setDisabled(true);
}
+ else if (t==machine) {
+ ui -> value_field -> setDisabled(true);
+ ui -> increase_spinBox -> setDisabled(true);
+ }
+ else if (t==locmach) {
+ ui -> value_field -> setDisabled(true);
+ ui -> increase_spinBox -> setDisabled(true);
+ }
else if (t==idfolio) {
ui -> value_field -> setDisabled(true);
ui -> increase_spinBox -> setDisabled(true);
@@ -284,8 +304,12 @@ void NumPartEditorW::setCurrentIndex(NumPartEditorW::type t) {
i = ui->type_cb->findText(tr("N° folio"));
else if (t == folio)
i = ui->type_cb->findText(tr("Folio"));
+ else if (t == machine)
+ i = ui->type_cb->findText(tr("Machine"));
+ else if (t == locmach)
+ i = ui->type_cb->findText(tr("Locmach"));
else if (t == elementline)
- i = ui->type_cb->findText(tr("Element Line"));
+ i = ui->type_cb->findText(tr("Element Line"));
else if (t == elementcolumn)
i = ui->type_cb->findText(tr("Element Column"));
else if (t == elementprefix)
diff --git a/sources/ui/numparteditorw.h b/sources/ui/numparteditorw.h
index a0d1cda14..21fab50a6 100644
--- a/sources/ui/numparteditorw.h
+++ b/sources/ui/numparteditorw.h
@@ -42,7 +42,7 @@ class NumPartEditorW : public QWidget
~NumPartEditorW();
enum type {unit,unitfolio,ten,tenfolio, hundred, hundredfolio,
- string,idfolio,folio,
+ string,idfolio,folio,machine,locmach,
elementline,elementcolumn,elementprefix,
};
NumerotationContext toNumContext();
diff --git a/sources/ui/selectautonumw.cpp b/sources/ui/selectautonumw.cpp
index 2bd01f0bc..d8d4fec5f 100644
--- a/sources/ui/selectautonumw.cpp
+++ b/sources/ui/selectautonumw.cpp
@@ -244,6 +244,14 @@ void SelectAutonumW::contextToFormula() {
else if (npe->type_ == NumPartEditorW::folio) {
m_eaw->setContext("%F");
}
+ else if (npe->type_ == NumPartEditorW::machine) {
+ m_eaw->setContext("%M");
+ }
+ else if (npe->type_ == NumPartEditorW::locmach) {
+ m_eaw->setContext("%LM");
+ }
+
+
else if (npe->type_ == NumPartEditorW::elementcolumn) {
m_eaw->setContext("%c");
}