[qet] qet/qet: [4771] Move files related to autonum in autoNum directory

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


Revision: 4771
Author:   blacksun
Date:     2016-11-07 16:11:12 +0100 (Mon, 07 Nov 2016)
Log Message:
-----------
Move files related to autonum in autoNum directory

Added Paths:
-----------
    trunk/sources/autoNum/numerotationcontext.cpp
    trunk/sources/autoNum/numerotationcontext.h
    trunk/sources/autoNum/numerotationcontextcommands.cpp
    trunk/sources/autoNum/numerotationcontextcommands.h
    trunk/sources/autoNum/ui/autonumberingdockwidget.cpp
    trunk/sources/autoNum/ui/autonumberingdockwidget.h
    trunk/sources/autoNum/ui/autonumberingdockwidget.ui
    trunk/sources/autoNum/ui/autonumberingmanagementw.cpp
    trunk/sources/autoNum/ui/autonumberingmanagementw.h
    trunk/sources/autoNum/ui/autonumberingmanagementw.ui
    trunk/sources/autoNum/ui/autonumselectorwidget.cpp
    trunk/sources/autoNum/ui/autonumselectorwidget.h
    trunk/sources/autoNum/ui/autonumselectorwidget.ui
    trunk/sources/autoNum/ui/dialogautonum.cpp
    trunk/sources/autoNum/ui/dialogautonum.h
    trunk/sources/autoNum/ui/dialogautonum.ui
    trunk/sources/autoNum/ui/folioautonumbering.cpp
    trunk/sources/autoNum/ui/folioautonumbering.h
    trunk/sources/autoNum/ui/folioautonumbering.ui
    trunk/sources/autoNum/ui/formulaautonumberingw.cpp
    trunk/sources/autoNum/ui/formulaautonumberingw.h
    trunk/sources/autoNum/ui/formulaautonumberingw.ui
    trunk/sources/autoNum/ui/numparteditorw.cpp
    trunk/sources/autoNum/ui/numparteditorw.h
    trunk/sources/autoNum/ui/numparteditorw.ui
    trunk/sources/autoNum/ui/selectautonumw.cpp
    trunk/sources/autoNum/ui/selectautonumw.h
    trunk/sources/autoNum/ui/selectautonumw.ui

Removed Paths:
-------------
    trunk/sources/numerotationcontext.cpp
    trunk/sources/numerotationcontext.h
    trunk/sources/numerotationcontextcommands.cpp
    trunk/sources/numerotationcontextcommands.h
    trunk/sources/ui/autonumberingdockwidget.cpp
    trunk/sources/ui/autonumberingdockwidget.h
    trunk/sources/ui/autonumberingdockwidget.ui
    trunk/sources/ui/autonumberingmanagementw.cpp
    trunk/sources/ui/autonumberingmanagementw.h
    trunk/sources/ui/autonumberingmanagementw.ui
    trunk/sources/ui/autonumselectorwidget.cpp
    trunk/sources/ui/autonumselectorwidget.h
    trunk/sources/ui/autonumselectorwidget.ui
    trunk/sources/ui/dialogautonum.cpp
    trunk/sources/ui/dialogautonum.h
    trunk/sources/ui/dialogautonum.ui
    trunk/sources/ui/folioautonumbering.cpp
    trunk/sources/ui/folioautonumbering.h
    trunk/sources/ui/folioautonumbering.ui
    trunk/sources/ui/formulaautonumberingw.cpp
    trunk/sources/ui/formulaautonumberingw.h
    trunk/sources/ui/formulaautonumberingw.ui
    trunk/sources/ui/numparteditorw.cpp
    trunk/sources/ui/numparteditorw.h
    trunk/sources/ui/numparteditorw.ui
    trunk/sources/ui/selectautonumw.cpp
    trunk/sources/ui/selectautonumw.h
    trunk/sources/ui/selectautonumw.ui

Copied: trunk/sources/autoNum/numerotationcontext.cpp (from rev 4770, trunk/sources/numerotationcontext.cpp)
===================================================================
--- trunk/sources/autoNum/numerotationcontext.cpp	                        (rev 0)
+++ trunk/sources/autoNum/numerotationcontext.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,173 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "numerotationcontext.h"
+#include "qet.h"
+
+/**
+ * Constructor
+ */
+NumerotationContext::NumerotationContext(){
+}
+
+/**
+ * Constructor from xml
+ */
+NumerotationContext::NumerotationContext(QDomElement &e) {
+	fromXml(e);
+}
+
+/**
+ * @brief NumerotationContext::clear, clear the content
+ */
+void NumerotationContext::clear () {
+	content_.clear();
+}
+
+/**
+ * @brief NumerotationContext::addValue, add a new value on the contexte
+ * @param type the type of value
+ * @param value the value itself
+ * @param increase the increase number of value
+ * @return true if value is append
+ */
+bool NumerotationContext::addValue(const QString &type, const QVariant &value, const int increase, const int initialvalue) {
+	if (!keyIsAcceptable(type) && !value.canConvert(QVariant::String)) return false;
+	if (keyIsNumber(type) && !value.canConvert(QVariant::Int)) return false;
+
+	QString valuestr = value.toString();
+	valuestr.remove("|");
+	content_ << type + "|" + valuestr + "|" + QString::number(increase) + "|" + QString::number(initialvalue);
+	return true;
+}
+
+/**
+ * @brief NumerotationContext::operator []
+ * @return the string at position @i
+ */
+QString NumerotationContext::operator [] (const int &i) const {
+	return (content_.at(i));
+}
+
+/**
+ * @brief NumerotationContext::operator << , append other
+ */
+void NumerotationContext::operator << (const NumerotationContext &other) {
+	for (int i=0; i<other.size(); ++i) content_.append(other[i]);
+}
+
+/**
+ * @brief NumerotationContext::size
+ * @return size of context
+ */
+int NumerotationContext::size() const {
+	return (content_.size());
+}
+
+/**
+ * @brief NumerotationContext::isEmpty
+ * @return true if numerotation contet is empty
+ */
+bool NumerotationContext::isEmpty() const {
+	if (content_.size() > 0) return false;
+	return true;
+}
+/**
+ * @brief NumerotationContext::itemAt
+ * @return the content at position @i 1:type 2:value 3:increase
+ */
+QStringList NumerotationContext::itemAt(const int i) const {
+	return (content_.at(i).split("|"));
+}
+
+/**
+ * @brief validRegExpNum
+ * @return all type use to numerotation
+ */
+QString NumerotationContext::validRegExpNum () const {
+	return ("unit|unitfolio|ten|hundred|string|idfolio|folio|machine|locmach|elementline|elementcolumn|elementprefix");
+}
+
+/**
+ * @brief NumerotationContext::validRegExpNumber
+ * @return all type represents a number
+ */
+QString NumerotationContext::validRegExpNumber() const {
+	return ("unit|unitfolio|ten|hundred");
+}
+
+/**
+ * @brief NumerotationContext::keyIsAcceptable
+ * @return true if @type is acceptable
+ */
+bool NumerotationContext::keyIsAcceptable(const QString &type) const {
+	return (type.contains(QRegExp(validRegExpNum())));
+}
+
+/**
+ * @brief NumerotationContext::keyIsNumber
+ * @return true if @type represent a number
+ */
+bool NumerotationContext::keyIsNumber(const QString &type) const {
+	return (type.contains(QRegExp(validRegExpNumber())));
+}
+
+/**
+ * @brief NumerotationContext::toXml
+ * Save the numerotation context in a QDomElement under the element name @str
+ */
+QDomElement NumerotationContext::toXml(QDomDocument &d, QString str) {
+	QDomElement num_auto = d.createElement(str);
+	for (int i=0; i<content_.size(); ++i) {
+		QStringList strl = itemAt(i);
+		QDomElement part = d.createElement("part");
+		part.setAttribute("type", strl.at(0));
+		part.setAttribute("value", strl.at(1));
+		part.setAttribute("increase", strl.at(2));
+		if (strl.at(0) == ("unitfolio") ||
+			strl.at(0) == ("tenfolio")  ||
+			strl.at(0) == ("hundredfolio")) {
+			part.setAttribute("initialvalue", strl.at(3));
+		}
+		num_auto.appendChild(part);
+	}
+	return num_auto;
+}
+
+/**
+ * @brief NumerotationContext::fromXml
+ * load numerotation context from @e
+ */
+void NumerotationContext::fromXml(QDomElement &e) {
+	clear();
+	foreach(QDomElement qde, QET::findInDomElement(e, "part")) addValue(qde.attribute("type"), qde.attribute("value"), qde.attribute("increase").toInt(), qde.attribute("initialvalue").toInt());
+}
+
+/**
+ * @brief NumerotationContext::replaceValue
+ * This class replaces the current NC field value with content
+ * @param index of NC Item
+ * @param QString content to replace current value
+ */
+void NumerotationContext::replaceValue(int index, QString content) {
+	QString sep = "|";
+	QString type = content_[index].split("|").at(0);
+	QString value = content;
+	QString increase = content_[index].split("|").at(2);
+	QString initvalue = content_[index].split("|").at(3);
+	content_[index].replace(content_[index], type + "|" + value + "|" + increase + "|" + initvalue);
+}

Copied: trunk/sources/autoNum/numerotationcontext.h (from rev 4770, trunk/sources/numerotationcontext.h)
===================================================================
--- trunk/sources/autoNum/numerotationcontext.h	                        (rev 0)
+++ trunk/sources/autoNum/numerotationcontext.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,54 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef NUMEROTATIONCONTEXT_H
+#define NUMEROTATIONCONTEXT_H
+
+#include <QStringList>
+#include <QVariant>
+#include <QDomElement>
+
+/**
+	This class represents a numerotation context, i.e. the data (type, value, increase)
+	of a numerotation at a given time. It is notably used by conductor
+	to store the informations they need to do their autonumerotation.
+ */
+class NumerotationContext
+{
+	public:
+	NumerotationContext ();
+	NumerotationContext (QDomElement &);
+	void clear();
+	bool addValue(const QString &, const QVariant & = QVariant(1), const int = 1, const int = 0);
+	QString operator[] (const int &) const;
+	void operator << (const NumerotationContext &);
+	int size() const;
+	bool isEmpty() const;
+	QStringList itemAt(const int) const;
+	QString validRegExpNum () const;
+	QString validRegExpNumber() const;
+	bool keyIsAcceptable (const QString &) const;
+	bool keyIsNumber(const QString &) const;
+	QDomElement toXml(QDomDocument &, QString);
+	void fromXml(QDomElement &);
+	void replaceValue(int, QString);
+
+	private:
+	QStringList content_;
+};
+
+#endif // NUMEROTATIONCONTEXT_H

Copied: trunk/sources/autoNum/numerotationcontextcommands.cpp (from rev 4770, trunk/sources/numerotationcontextcommands.cpp)
===================================================================
--- trunk/sources/autoNum/numerotationcontextcommands.cpp	                        (rev 0)
+++ trunk/sources/autoNum/numerotationcontextcommands.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,660 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "numerotationcontextcommands.h"
+#include "diagram.h"
+
+/**
+ * @brief Constructor
+ */
+NumerotationContextCommands::NumerotationContextCommands(const NumerotationContext &nc, Diagram *d):
+	diagram_ (d),
+	context_ (nc),
+	strategy_ (NULL)
+{}
+
+/**
+ * @brief Destructor
+ */
+NumerotationContextCommands::~NumerotationContextCommands() {
+	if (strategy_) delete strategy_;
+}
+
+/**
+ * @brief NumerotationContextCommands::next
+ * @return the next numerotation context
+ */
+NumerotationContext NumerotationContextCommands::next() {
+	NumerotationContext contextnum;
+
+	for (int i=0; i<context_.size(); ++i) {
+		QStringList str = context_.itemAt(i);
+		setNumStrategy(str.at(0));
+		contextnum << strategy_ -> next(context_, i);
+	}
+	return contextnum;
+}
+
+/**
+ * @brief NumerotationContextCommands::previous
+ * @return the previous numerotation context
+ */
+NumerotationContext NumerotationContextCommands::previous() {
+	NumerotationContext contextnum;
+
+	for (int i=0; i<context_.size(); ++i) {
+		QStringList str = context_.itemAt(i);
+		setNumStrategy(str.at(0));
+		contextnum << strategy_ -> previous(context_, i);
+	}
+	return contextnum;
+}
+
+/**
+ * @brief NumerotationContextCommands::toFinalString
+ * @return the string represented by the numerotation context
+ */
+QString NumerotationContextCommands::toRepresentedString() {
+	QString num;
+	if (context_.size()) {
+		for (int i=0; i<context_.size(); i++) {
+			QStringList  str = context_.itemAt(i);
+			setNumStrategy(str.at(0));
+			num += strategy_ -> toRepresentedString(str.at(1));
+		}
+		return num;
+	}
+	if (diagram_) return (diagram_ -> defaultConductorProperties.text);
+	return QString();
+}
+
+/**
+ * @brief NumerotationContextCommands::setNumStrategy
+ * apply the good strategy relative to @str
+ */
+void NumerotationContextCommands::setNumStrategy(const QString &str) {
+	if (strategy_) delete strategy_;
+	if (str == "unit") {
+		strategy_ = new UnitNum(diagram_);
+		return;
+	}
+	else if (str == "unitfolio") {
+		strategy_ = new UnitFNum (diagram_);
+		return;
+	}
+	else if (str == "ten") {
+		strategy_ = new TenNum (diagram_);
+		return;
+	}
+	else if (str == "tenfolio") {
+		strategy_ = new TenFNum (diagram_);
+		return;
+	}
+	else if (str == "hundred") {
+		strategy_ = new HundredNum (diagram_);
+		return;
+	}
+	else if (str == "hundredfolio") {
+		strategy_ = new HundredFNum (diagram_);
+		return;
+	}
+	else if (str == "string") {
+		strategy_ = new StringNum (diagram_);
+		return;
+	}
+	else if (str == "idfolio") {
+		strategy_ = new IdFolioNum (diagram_);
+		return;
+	}
+	else if (str=="folio"){
+		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;
+	}
+	else if (str=="elementcolumn"){
+		strategy_ = new ElementColumnNum (diagram_);
+		return;
+	}
+	else if (str=="elementprefix"){
+		strategy_ = new ElementPrefixNum (diagram_);
+		return;
+	}
+}
+
+
+
+/**
+ * Constructor
+ */
+NumStrategy::NumStrategy (Diagram *d):
+	diagram_ (d)
+{}
+
+NumStrategy::~NumStrategy() {}
+
+/**
+ * @brief NumStrategy::nextString
+ * @return the next value of @nc at position @i
+ */
+NumerotationContext NumStrategy::nextString (const NumerotationContext &nc, const int i) const {
+	QStringList strl = nc.itemAt(i);
+	NumerotationContext newnc;
+	newnc.addValue(strl.at(0), strl.at(1), strl.at(2).toInt());
+	return (newnc);
+}
+
+/**
+ * @brief NumStrategy::nextNumber
+ * @return the next value of @nc at position @i
+ */
+NumerotationContext NumStrategy::nextNumber (const NumerotationContext &nc, const int i) const {
+	QStringList strl = nc.itemAt(i);
+	NumerotationContext newnc;
+	QString value = QString::number( (strl.at(1).toInt()) + (strl.at(2).toInt()) );
+	newnc.addValue(strl.at(0), value, strl.at(2).toInt(), strl.at(3).toInt());
+	return (newnc);
+}
+
+/**
+ * @brief NumStrategy::previousNumber
+ * @return  the previous value of @nc at position @i
+ */
+NumerotationContext NumStrategy::previousNumber(const NumerotationContext &nc, const int i) const {
+	QStringList strl = nc.itemAt(i);
+	NumerotationContext newnc;
+	QString value = QString::number( (strl.at(1).toInt()) - (strl.at(2).toInt()) );
+	newnc.addValue(strl.at(0), value, strl.at(2).toInt(), strl.at(3).toInt());
+	return (newnc);
+}
+
+/**
+ * Constructor
+ */
+UnitNum::UnitNum(Diagram *d):
+	NumStrategy(d)
+{}
+
+/**
+ * @brief UnitNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString UnitNum::toRepresentedString(const QString num) const {
+	return (num);
+}
+
+/**
+ * @brief UnitNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext UnitNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextNumber(nc, i));
+}
+
+/**
+ * @brief UnitNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext UnitNum::previous(const NumerotationContext &nc, const int i) const {
+	return (previousNumber(nc, i));
+}
+
+/**
+ * Constructor
+ */
+UnitFNum::UnitFNum(Diagram *d):
+	NumStrategy(d)
+{}
+
+/**
+ * @brief UnitFNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString UnitFNum::toRepresentedString(const QString num) const {
+	return (num);
+}
+
+/**
+ * @brief UnitFNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext UnitFNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextNumber(nc, i));
+}
+
+/**
+ * @brief UnitFNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext UnitFNum::previous(const NumerotationContext &nc, const int i) const {
+	return (previousNumber(nc, i));
+}
+
+/**
+ * Constructor
+ */
+TenNum::TenNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief TenNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString TenNum::toRepresentedString(const QString num) const {
+	int numint = num.toInt();
+	QString numstr = num;
+	if (numint<10) numstr.prepend("0");
+	return (numstr);
+}
+
+/**
+ * @brief TenNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext TenNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextNumber(nc, i));
+}
+
+/**
+ * @brief TenNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext TenNum::previous(const NumerotationContext &nc, const int i) const {
+	return (previousNumber(nc, i));
+}
+
+/**
+ * Constructor
+ */
+TenFNum::TenFNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief TenFNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString TenFNum::toRepresentedString(const QString num) const {
+	int numint = num.toInt();
+	QString numstr = num;
+	if (numint<10) numstr.prepend("0");
+	return (numstr);
+}
+
+/**
+ * @brief TenFNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext TenFNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextNumber(nc, i));
+}
+
+/**
+ * @brief TenFNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext TenFNum::previous(const NumerotationContext &nc, const int i) const {
+	return (previousNumber(nc, i));
+}
+
+
+/**
+ * Constructor
+ */
+HundredNum::HundredNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief HundredNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString HundredNum::toRepresentedString(const QString num) const {
+	int numint = num.toInt();
+	QString numstr = num;
+	if (numint<100) {
+		if (numint<10) {
+			numstr.prepend("00");
+		}
+		else numstr.prepend("0");
+	}
+	return (numstr);
+}
+
+/**
+ * @brief HundredNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext HundredNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextNumber(nc, i));
+}
+
+/**
+ * @brief HundredNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext HundredNum::previous(const NumerotationContext &nc, const int i) const {
+	return (previousNumber(nc, i));
+}
+
+/**
+ * Constructor
+ */
+HundredFNum::HundredFNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief HundredFNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString HundredFNum::toRepresentedString(const QString num) const {
+	int numint = num.toInt();
+	QString numstr = num;
+	if (numint<100) {
+		if (numint<10) {
+			numstr.prepend("00");
+		}
+		else numstr.prepend("0");
+	}
+	return (numstr);
+}
+
+/**
+ * @brief HundredFNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext HundredFNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextNumber(nc, i));
+}
+
+/**
+ * @brief HundredFNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext HundredFNum::previous(const NumerotationContext &nc, const int i) const {
+	return (previousNumber(nc, i));
+}
+
+/**
+ * Constructor
+ */
+StringNum::StringNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief StringNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString StringNum::toRepresentedString(const QString str) const {
+	return (str);
+}
+
+/**
+ * @brief StringNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext StringNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief StringNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext StringNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * Constructor
+ */
+IdFolioNum::IdFolioNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief IdFolioNum::toRepresentedString
+ * @return the represented string of num
+ */
+QString IdFolioNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return ("%id");
+}
+
+/**
+ * @brief IdFolioNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext IdFolioNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief IdFolioNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext IdFolioNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * Constructor
+ */
+FolioNum::FolioNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief FolioNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString FolioNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return ("%F");
+}
+
+/**
+ * @brief FolioNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext FolioNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief FolioNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext FolioNum::previous(const NumerotationContext &nc, const int i) const {
+	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
+ */
+ElementLineNum::ElementLineNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief ElementLineNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString ElementLineNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return "%l";
+}
+
+/**
+ * @brief ElementLineNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext ElementLineNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief ElementLineNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext ElementLineNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * Constructor
+ */
+ElementColumnNum::ElementColumnNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief ElementColumnNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString ElementColumnNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return "%c";
+}
+
+/**
+ * @brief ElementColumnNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext ElementColumnNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief ElementColumnNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext ElementColumnNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * Constructor
+ */
+ElementPrefixNum::ElementPrefixNum (Diagram *d):
+	NumStrategy (d)
+{}
+
+/**
+ * @brief ElementPrefixNum::toRepresentedString
+ * @return the represented string of folio
+ */
+QString ElementPrefixNum::toRepresentedString(const QString str) const {
+	Q_UNUSED(str);
+	return "%prefix";
+}
+
+/**
+ * @brief ElementPrefixNum::next
+ * @return the next NumerotationContext nc at position i
+ */
+NumerotationContext ElementPrefixNum::next (const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+
+/**
+ * @brief ElementPrefixNum::previous
+ * @return the previous NumerotationContext nc at posiiton i
+ */
+NumerotationContext ElementPrefixNum::previous(const NumerotationContext &nc, const int i) const {
+	return (nextString(nc, i));
+}
+

Copied: trunk/sources/autoNum/numerotationcontextcommands.h (from rev 4770, trunk/sources/numerotationcontextcommands.h)
===================================================================
--- trunk/sources/autoNum/numerotationcontextcommands.h	                        (rev 0)
+++ trunk/sources/autoNum/numerotationcontextcommands.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,191 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef NUMEROTATIONCONTEXTCOMMANDS_H
+#define NUMEROTATIONCONTEXTCOMMANDS_H
+
+#include "numerotationcontext.h"
+
+class NumStrategy;
+class Diagram;
+
+/**
+ * this class provide methods to handle content of NumerotationContext.
+ */
+class NumerotationContextCommands
+{
+	public:
+	NumerotationContextCommands (const NumerotationContext &, Diagram * = nullptr);
+	~NumerotationContextCommands ();
+	NumerotationContext next ();
+	NumerotationContext previous ();
+	QString toRepresentedString ();
+
+	private:
+	void setNumStrategy (const QString &);
+
+	Diagram *diagram_;
+	NumerotationContext context_;
+	NumStrategy *strategy_;
+};
+
+class NumStrategy
+{
+	public:
+	NumStrategy (Diagram * = nullptr);
+	virtual ~NumStrategy ();
+	virtual QString toRepresentedString (const QString) const = 0;
+	virtual NumerotationContext next     (const NumerotationContext &, const int) const = 0;
+	virtual NumerotationContext previous (const NumerotationContext &, const int) const = 0;
+
+	protected:
+	NumerotationContext nextString (const NumerotationContext &, const int) const;
+	NumerotationContext nextNumber (const NumerotationContext &, const int) const;
+	NumerotationContext previousNumber (const NumerotationContext &, const int) const;
+
+	Diagram *diagram_;
+};
+
+class UnitNum: public NumStrategy
+{
+	public:
+	UnitNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class UnitFNum: public NumStrategy
+{
+	public:
+	UnitFNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class TenNum: public NumStrategy
+{
+	public:
+	TenNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class TenFNum: public NumStrategy
+{
+	public:
+	TenFNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class HundredNum: public NumStrategy
+{
+	public:
+	HundredNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class HundredFNum: public NumStrategy
+{
+	public:
+	HundredFNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class StringNum: public NumStrategy
+{
+	public:
+	StringNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class IdFolioNum: public NumStrategy
+{
+	public:
+	IdFolioNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class FolioNum: public NumStrategy
+{
+	public:
+	FolioNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	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:
+	ElementLineNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class ElementColumnNum: public NumStrategy
+{
+	public:
+	ElementColumnNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+class ElementPrefixNum: public NumStrategy
+{
+	public:
+	ElementPrefixNum (Diagram *);
+	QString toRepresentedString(const QString) const;
+	NumerotationContext next     (const NumerotationContext &, const int) const;
+	NumerotationContext previous (const NumerotationContext &, const int) const;
+};
+
+
+#endif // NUMEROTATIONCONTEXTCOMMANDS_H

Copied: trunk/sources/autoNum/ui/autonumberingdockwidget.cpp (from rev 4770, trunk/sources/ui/autonumberingdockwidget.cpp)
===================================================================
--- trunk/sources/autoNum/ui/autonumberingdockwidget.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumberingdockwidget.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,272 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "autonumberingdockwidget.h"
+#include "qetapp.h"
+#include "ui_autonumberingdockwidget.h"
+#include "diagramview.h"
+#include "diagram.h"
+#include "titleblockproperties.h"
+#include "numerotationcontext.h"
+
+/**
+ * @brief AutoNumberingDockWidget::AutoNumberingDockWidget
+ * Constructor
+ * @param parent : parent widget
+ */
+AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent, QETProject *project) :
+	QDockWidget(parent),
+	ui(new Ui::AutoNumberingDockWidget),
+	project_(project)
+{
+	ui->setupUi(this);
+}
+
+/**
+ * @brief AutoNumberingDockWidget::~AutoNumberingDockWidget
+ * Destructor
+ */
+AutoNumberingDockWidget::~AutoNumberingDockWidget()
+{
+	this->disconnect();
+	delete ui;
+}
+
+/**
+ * @brief AutoNumberingDockWidget::clear
+ * Remove all combo box values
+ */
+void AutoNumberingDockWidget::clear()
+{
+	ui->m_conductor_cb->clear();
+	ui->m_element_cb->clear();
+	ui->m_folio_cb->clear();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::setProject
+ * @param project: project to be setted
+ * @param projectview: projectview to be setted
+ * assign Project and ProjectView, connect all signals and setContext
+ */
+void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *projectview) {
+
+	project_ = project;
+	projectview_ = projectview;
+
+	//Conductor Signals
+	connect(project_, SIGNAL(conductorAutoNumChanged()),this,SLOT(conductorAutoNumChanged()));
+	connect (project_,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged()));
+	connect (project_,SIGNAL(conductorAutoNumAdded()),   this,SLOT(conductorAutoNumChanged()));
+	connect(projectview_,SIGNAL(diagramActivated(DiagramView*)),this,SLOT(setConductorActive(DiagramView*)));
+
+	//Element Signals
+	connect (project_,SIGNAL(elementAutoNumRemoved()),   this,SLOT(elementAutoNumChanged()));
+	connect (project_,SIGNAL(elementAutoNumAdded()),     this,SLOT(elementAutoNumChanged()));
+
+	//Folio Signals
+	connect (project_,SIGNAL(folioAutoNumRemoved()),     this,SLOT(folioAutoNumChanged()));
+	connect (project_,SIGNAL(folioAutoNumAdded()),       this,SLOT(folioAutoNumChanged()));
+	connect (this,
+			 SIGNAL(folioAutoNumChanged(QString)),
+			 &projectview_->currentDiagram()->diagram()->border_and_titleblock,
+			 SLOT (slot_setAutoPageNum(QString)));
+	connect(project_, SIGNAL(defaultTitleBlockPropertiesChanged()),this,SLOT(setActive()));
+
+	//Conductor, Element and Folio Signals
+	connect(projectview_,SIGNAL(projectClosed(ProjectView*)),this,SLOT(clear()));
+
+	//Set Combobox Context
+	setContext();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::setContext
+ * Add all itens to comboboxes
+ */
+void AutoNumberingDockWidget::setContext() {
+
+	this->clear();
+
+	//Conductor Combobox
+	ui->m_conductor_cb->addItem("");
+	QList <QString> keys_conductor = project_->conductorAutoNum().keys();
+	if (!keys_conductor.isEmpty()) {
+		foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
+	}
+
+	//Element Combobox
+	ui->m_element_cb->addItem("");
+	QList <QString> keys_element = project_->elementAutoNum().keys();
+	if (!keys_element.isEmpty()) {
+		foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
+	}
+
+	//Folio Combobox
+	ui->m_folio_cb->addItem("");
+	QList <QString> keys_folio = project_->folioAutoNum().keys();
+	if (!keys_folio.isEmpty()) {
+		foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
+	}
+
+	this->setActive();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::setConductorActive
+ * @param dv: activated diagramview
+ */
+void AutoNumberingDockWidget::setConductorActive(DiagramView* dv) {
+	if (dv!=NULL) {
+		QString conductor_autonum = dv->diagram()->conductorsAutonumName();
+		int conductor_index = ui->m_conductor_cb->findText(conductor_autonum);
+		ui->m_conductor_cb->setCurrentIndex(conductor_index);
+	}
+}
+
+/**
+ * @brief AutoNumberingDockWidget::setActive
+ * Set current used autonumberings
+ */
+void AutoNumberingDockWidget::setActive() {
+
+	if (projectview_!=NULL) {
+			//Conductor
+		if (projectview_->currentDiagram()) {
+			QString conductor_autonum = projectview_->currentDiagram()->diagram()->conductorsAutonumName();
+			int conductor_index = ui->m_conductor_cb->findText(conductor_autonum);
+			ui->m_conductor_cb->setCurrentIndex(conductor_index);
+		}
+
+			//Element
+		QString element_formula = project_->elementAutoNumCurrentFormula();
+		QString active_element_autonum = project_->elementCurrentAutoNum();
+		int el_index = ui->m_element_cb->findText(active_element_autonum);
+		ui->m_element_cb->setCurrentIndex(el_index);
+
+			//Folio
+		if (project_->defaultTitleBlockProperties().folio == "%autonum") {
+			QString page_autonum = project_->defaultTitleBlockProperties().auto_page_num;
+			int folio_index = ui->m_folio_cb->findText(page_autonum);
+			ui->m_folio_cb->setCurrentIndex(folio_index);
+		}
+	}
+}
+
+/**
+ * @brief AutoNumberingDockWidget::conductorAutoNumChanged
+ * Add new or remove conductor auto num from combobox
+ */
+void AutoNumberingDockWidget::conductorAutoNumChanged() {
+
+	ui->m_conductor_cb->clear();
+
+	//Conductor Combobox
+	ui->m_conductor_cb->addItem("");
+	QList <QString> keys_conductor = project_->conductorAutoNum().keys();
+	if (!keys_conductor.isEmpty()) {
+		foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
+	}
+	setActive();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::on_m_conductor_cb_activated
+ * @param unused
+ * Set new conductor AutoNum
+ */
+void AutoNumberingDockWidget::on_m_conductor_cb_activated(int) {
+	QString current_autonum = ui->m_conductor_cb->currentText();
+	QString current_formula = project_->conductorAutoNumFormula(current_autonum);
+	if (current_autonum != "") {
+		project_->setConductorAutoNumCurrentFormula(current_formula, current_autonum);
+	}
+	else
+		project_->setConductorAutoNumCurrentFormula("","");
+	projectview_->currentDiagram()->diagram()->setConductorsAutonumName(current_autonum);
+	projectview_->currentDiagram()->diagram()->loadCndFolioSeq();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::elementAutoNumChanged
+ * Add new or remove element auto num from combobox
+ */
+void AutoNumberingDockWidget::elementAutoNumChanged() {
+
+	ui->m_element_cb->clear();
+
+	//Element Combobox
+	ui->m_element_cb->addItem("");
+	QList <QString> keys_element = project_->elementAutoNum().keys();
+	if (!keys_element.isEmpty()) {
+		foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
+	}
+	setActive();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::on_m_element_cb_activated
+ * @param unused
+ * Set new element AutoNum
+ */
+void AutoNumberingDockWidget::on_m_element_cb_activated(int) {
+	QString current_autonum = ui->m_element_cb->currentText();
+	QString current_formula = project_->elementAutoNumFormula(current_autonum);
+	if (current_autonum != "") {
+		project_->setElementAutoNumCurrentFormula(current_formula, current_autonum);
+	}
+	else
+		project_->setElementAutoNumCurrentFormula("","");
+	projectview_->currentDiagram()->diagram()->loadElmtFolioSeq();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::folioAutoNumChanged
+ * Add new or remove folio auto num from combobox
+ */
+void AutoNumberingDockWidget::folioAutoNumChanged() {
+
+	ui->m_folio_cb->clear();
+
+	//Folio Combobox
+	ui->m_folio_cb->addItem("");
+	QList <QString> keys_folio = project_->folioAutoNum().keys();
+	if (!keys_folio.isEmpty()) {
+		foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
+	}
+	setActive();
+}
+
+/**
+ * @brief AutoNumberingDockWidget::on_m_folio_cb_activated
+ * @param unused
+ * Set new folio AutoNum
+ */
+void AutoNumberingDockWidget::on_m_folio_cb_activated(int) {
+	QString current_autonum = ui->m_folio_cb->currentText();
+	TitleBlockProperties ip = project_ -> defaultTitleBlockProperties();
+	if (current_autonum != "") {
+		ip.setAutoPageNum(current_autonum);
+		ip.folio = "%autonum";
+		project_->setDefaultTitleBlockProperties(ip);
+	}
+	else {
+		ip.folio = "%id/%total";
+		project_->setDefaultTitleBlockProperties(ip);
+	}
+		emit(folioAutoNumChanged(current_autonum));
+}

Copied: trunk/sources/autoNum/ui/autonumberingdockwidget.h (from rev 4770, trunk/sources/ui/autonumberingdockwidget.h)
===================================================================
--- trunk/sources/autoNum/ui/autonumberingdockwidget.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumberingdockwidget.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,63 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef AUTONUMBERINGDOCKWIDGET_H
+#define AUTONUMBERINGDOCKWIDGET_H_H
+
+#include "qetproject.h"
+#include "projectview.h"
+#include <QDockWidget>
+
+namespace Ui {
+	class AutoNumberingDockWidget;
+}
+
+class AutoNumberingDockWidget : public QDockWidget
+{
+		Q_OBJECT
+
+	public:
+		explicit AutoNumberingDockWidget(QWidget *parent = 0, QETProject *project = nullptr);
+		~AutoNumberingDockWidget();
+
+		void setContext();
+		void setProject(QETProject*, ProjectView*);
+
+	public slots:
+		void setActive();
+		void setConductorActive(DiagramView*);
+
+	private slots:
+		void on_m_conductor_cb_activated(int);
+		void on_m_element_cb_activated(int);
+		void on_m_folio_cb_activated(int);
+		void conductorAutoNumChanged();
+		void elementAutoNumChanged();
+		void folioAutoNumChanged();
+		void clear();
+
+	signals:
+		void folioAutoNumChanged(QString);
+
+	private:
+		Ui::AutoNumberingDockWidget *ui;
+		QETProject* project_;
+		ProjectView* projectview_;
+
+};
+
+#endif // AUTONUMBERINGDOCKWIDGET_H

Copied: trunk/sources/autoNum/ui/autonumberingdockwidget.ui (from rev 4770, trunk/sources/ui/autonumberingdockwidget.ui)
===================================================================
--- trunk/sources/autoNum/ui/autonumberingdockwidget.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumberingdockwidget.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AutoNumberingDockWidget</class>
+ <widget class="QDockWidget" name="AutoNumberingDockWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Autonumerotation Séléction</string>
+  </property>
+  <widget class="QWidget" name="dockWidgetContents">
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <property name="sizeConstraint">
+     <enum>QLayout::SetMaximumSize</enum>
+    </property>
+    <property name="leftMargin">
+     <number>0</number>
+    </property>
+    <property name="topMargin">
+     <number>0</number>
+    </property>
+    <property name="rightMargin">
+     <number>0</number>
+    </property>
+    <property name="bottomMargin">
+     <number>0</number>
+    </property>
+    <item>
+     <widget class="QGroupBox" name="groupBox">
+      <property name="title">
+       <string/>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <layout class="QGridLayout" name="gridLayout">
+         <item row="1" column="0">
+          <widget class="QLabel" name="label">
+           <property name="text">
+            <string>Element</string>
+           </property>
+          </widget>
+         </item>
+         <item row="1" column="1">
+          <widget class="QComboBox" name="m_element_cb"/>
+         </item>
+         <item row="0" column="1">
+          <widget class="QComboBox" name="m_conductor_cb"/>
+         </item>
+         <item row="0" column="0">
+          <widget class="QLabel" name="label_2">
+           <property name="text">
+            <string>Conductor</string>
+           </property>
+          </widget>
+         </item>
+         <item row="2" column="0">
+          <widget class="QLabel" name="label_3">
+           <property name="text">
+            <string>Folio</string>
+           </property>
+          </widget>
+         </item>
+         <item row="3" column="0">
+          <spacer name="verticalSpacer">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>40</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item row="2" column="1">
+          <widget class="QComboBox" name="m_folio_cb"/>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/autonumberingmanagementw.cpp (from rev 4770, trunk/sources/ui/autonumberingmanagementw.cpp)
===================================================================
--- trunk/sources/autoNum/ui/autonumberingmanagementw.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumberingmanagementw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,213 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "autonumberingmanagementw.h"
+#include "ui_autonumberingmanagementw.h"
+#include "numparteditorw.h"
+#include <QMessageBox>
+#include "numerotationcontextcommands.h"
+#include "formulaautonumberingw.h"
+#include "ui_formulaautonumberingw.h"
+#include "qdebug.h"
+#include "qetproject.h"
+#include "diagram.h"
+
+/**
+ * Constructor
+ */
+AutoNumberingManagementW::AutoNumberingManagementW(QETProject *project, QWidget *parent) :
+	QWidget(parent),
+	project_(project)
+{
+	ui = new Ui::AutoNumberingManagementW;
+	ui->setupUi(this);
+	ui->m_apply_locations_rb->setHidden(true);
+	ui->m_selected_locations_le->setHidden(true);
+	ui->folioWidget->setHidden(true);
+	ui->m_selected_folios_widget->setDisabled(true);
+	ui->m_selected_folios_le->setDisabled(true);
+	ui->m_selected_folios_le->setReadOnly(true);
+	applyEnable(false);
+	setProjectContext();
+}
+
+/**
+ * Destructor
+ */
+AutoNumberingManagementW::~AutoNumberingManagementW()
+{
+	delete ui;
+}
+
+/**
+ * @brief AutoNumberingManagementW::setProjectContext
+ * Add Default Project Status
+ */
+void AutoNumberingManagementW::setProjectContext() {
+	ui->m_status_cb->addItem(tr("Under Development"));
+	ui->m_status_cb->addItem(tr("Installing"));
+	ui->m_status_cb->addItem(tr("Built"));
+}
+
+/**
+ * @brief AutoNumberingManagementW::on_m_status_cb_currentIndexChanged
+ * Load Default Status Options
+ */
+void AutoNumberingManagementW::on_m_status_cb_currentIndexChanged(int index) {
+
+	//Under Development
+	if (index == 0) {
+		ui->conductorWidget->setEnabled(true);
+		ui->elementWidget->setEnabled(true);
+		ui->folioWidget->setEnabled(true);
+		ui->m_both_conductor_rb->setChecked(true);
+		ui->m_both_element_rb->setChecked(true);
+		ui->m_both_folio_rb->setChecked(true);
+	}
+	//Installing
+	else if (index == 1) {
+		ui->conductorWidget->setEnabled(true);
+		ui->elementWidget->setEnabled(true);
+		ui->folioWidget->setEnabled(true);
+		ui->m_new_conductor_rb->setChecked(true);
+		ui->m_new_element_rb->setChecked(true);
+		ui->m_new_folio_rb->setChecked(true);
+	}
+	//Built
+	else if (index == 2) {
+		ui->m_disable_conductor_rb->setChecked(true);
+		ui->m_disable_element_rb->setChecked(true);
+		ui->m_disable_folio_rb->setChecked(true);
+	}
+}
+
+/**
+ * @brief AutoNumberingManagementW::on_m_apply_folios_rb_clicked
+ * Set From Folios Combobox
+ */
+void AutoNumberingManagementW::on_m_apply_folios_rb_clicked() {
+	if (ui->m_apply_folios_rb->isChecked()) {
+		ui->m_selected_folios_widget->setEnabled(true);
+		ui->m_selected_folios_le->setEnabled(true);
+		if (ui->m_from_folios_cb->count()<=0) {
+			ui->m_from_folios_cb->clear();
+			ui->m_from_folios_cb->addItem("");
+			foreach (Diagram *diagram, project_->diagrams()){
+				if (diagram->title() != "")
+					ui->m_from_folios_cb->addItem(diagram->title(),diagram->folioIndex());
+				else ui->m_from_folios_cb->addItem(QString::number(diagram->folioIndex()),diagram->folioIndex());
+			}
+		}
+		if (ui->m_from_folios_cb->currentIndex() > 0)
+		applyEnable(true);
+		else applyEnable(false);
+	}
+}
+
+/**
+ * @brief AutoNumberingManagementW::on_m_from_folios_cb_currentIndexChanged
+ * Set To Folios Combobox
+ */
+void AutoNumberingManagementW::on_m_from_folios_cb_currentIndexChanged(int index) {
+	ui->m_to_folios_cb->clear();
+	ui->m_selected_folios_le->clear();
+	ui->m_selected_folios_le->setEnabled(true);
+	if (index > 0) {
+		ui->m_to_folios_cb->setEnabled(true);
+		ui->m_to_folios_cb->addItem("");
+		for (int i=index;i<project_->diagrams().size();i++) {
+				if (project_->diagrams().at(i)->title() != "") {
+					ui->m_to_folios_cb->addItem(project_->diagrams().at(i)->title(),project_->diagrams().at(i)->folioIndex());
+				}
+				else ui->m_to_folios_cb->addItem(QString::number(project_->diagrams().at(i)->folioIndex()),project_->diagrams().at(i)->folioIndex());
+		}
+		applyEnable(true);
+		ui->m_selected_folios_le->clear();
+		ui->m_selected_folios_le->insert(ui->m_from_folios_cb->currentText());
+	}
+	else applyEnable(false);
+}
+
+/**
+ * @brief AutoNumberingManagementW::on_m_to_folios_cb_currentIndexChanged
+ * Set selected folios Line Edit content
+ */
+void AutoNumberingManagementW::on_m_to_folios_cb_currentIndexChanged(int index) {
+	if (index > 0) {
+		QString from = ui->m_from_folios_cb->currentText();
+		QString to = ui->m_to_folios_cb->currentText();
+		ui->m_selected_folios_le->clear();
+		ui->m_selected_folios_le->insert(from + " - " + to);
+		ui->m_selected_folios_le->setDisabled(true);
+	}
+	applyEnable(true);
+}
+
+/**
+ * @brief AutoNumberingManagementW::on_m_apply_project_rb_clicked
+ * Disable folio widget
+ */
+void AutoNumberingManagementW::on_m_apply_project_rb_clicked() {
+	ui->m_selected_folios_widget->setDisabled(true);
+	ui->m_selected_folios_le->setDisabled(true);
+	applyEnable(true);
+}
+
+/**
+ * @brief AutoNumberingManagementW::on_buttonBox_clicked
+ * Action on @buttonBox clicked
+ */
+void AutoNumberingManagementW::on_buttonBox_clicked(QAbstractButton *button) {
+	//transform button to int
+	int answer = ui -> buttonBox -> buttonRole(button);
+	switch (answer) {
+			//apply the context in the diagram displayed by @diagram_chooser.
+		case QDialogButtonBox::ApplyRole:
+			applyEnable(false);
+			emit applyPressed();
+			break;
+		case QDialogButtonBox::HelpRole:
+			QMessageBox::information(this, tr("Auto Numbering Management", "title window"),
+									tr("In this Menu you can set whether you want the Auto Numberings to be updated or not."
+									   " For Element Auto Numbering you have 4 options of Update Policy:\n"
+									   "-Both: both New and Existent Element labels will be updated. This is the default option.\n"
+									   "-Update Only New: only new created Elements will be updated. Existent Element labels will be frozen.\n"
+									   "-Update Only Existent: only existent Elements will be updated. New Elements will be assigned "
+									   "their formula but will not update once created.\n"
+									   "-Disable: both New and Existent Element labels will not be updated. This is valid for new folios as well.\n"
+									   "Note: These options DO NOT allow or block Auto Numberings, only their Update Policy."
+									   ));
+			break;
+	}
+}
+
+/**
+ * @brief AutoNumberingManagementW::applyEnable
+ * enable/disable the apply button
+ */
+void AutoNumberingManagementW::applyEnable(bool b) {
+	if (b){
+		bool valid= true;
+		if (ui->m_apply_project_rb->isChecked())
+			ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(valid);
+		else if (ui->m_apply_folios_rb->isChecked())
+			ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(valid);
+		}
+	else {
+		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
+	}
+}

Copied: trunk/sources/autoNum/ui/autonumberingmanagementw.h (from rev 4770, trunk/sources/ui/autonumberingmanagementw.h)
===================================================================
--- trunk/sources/autoNum/ui/autonumberingmanagementw.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumberingmanagementw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,63 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef AUTONUMBERINGMANAGEMENTW_H
+#define AUTONUMBERINGMANAGEMENTW_H
+
+#include <QWidget>
+
+class NumPartEditorW;
+class QAbstractButton;
+class QETProject;
+
+namespace Ui {
+	class AutoNumberingManagementW;
+}
+
+class AutoNumberingManagementW : public QWidget
+{
+	Q_OBJECT
+	
+	//METHODS
+	public:
+		explicit AutoNumberingManagementW(QETProject *project, QWidget *parent = 0);
+		~AutoNumberingManagementW();
+		Ui::AutoNumberingManagementW *ui;
+		void setProjectContext ();
+		void contextToFormula ();
+		QString elementFormula();
+
+	//SIGNALS
+	signals:
+		void applyPressed();
+
+	//SLOTS
+	private slots:
+		void on_m_from_folios_cb_currentIndexChanged(int);
+		void on_m_to_folios_cb_currentIndexChanged(int);
+		void on_m_status_cb_currentIndexChanged(int);
+		void on_m_apply_folios_rb_clicked();
+		void on_m_apply_project_rb_clicked();
+		void on_buttonBox_clicked(QAbstractButton *);
+		void applyEnable (bool = true);
+
+	//ATTRIBUTES
+	private:
+		QETProject *project_;
+};
+
+#endif // AUTONUMBERINGMANAGEMENTW_H

Copied: trunk/sources/autoNum/ui/autonumberingmanagementw.ui (from rev 4770, trunk/sources/ui/autonumberingmanagementw.ui)
===================================================================
--- trunk/sources/autoNum/ui/autonumberingmanagementw.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumberingmanagementw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AutoNumberingManagementW</class>
+ <widget class="QWidget" name="AutoNumberingManagementW">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>650</width>
+    <height>550</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>460</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="sizeConstraint">
+    <enum>QLayout::SetDefaultConstraint</enum>
+   </property>
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>50</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>450</width>
+       <height>253</height>
+      </size>
+     </property>
+     <property name="sizeIncrement">
+      <size>
+       <width>0</width>
+       <height>50</height>
+      </size>
+     </property>
+     <property name="mouseTracking">
+      <bool>false</bool>
+     </property>
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOff</enum>
+     </property>
+     <property name="sizeAdjustPolicy">
+      <enum>QAbstractScrollArea::AdjustToContents</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignHCenter|Qt::AlignTop</set>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>630</width>
+        <height>495</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>430</width>
+        <height>250</height>
+       </size>
+      </property>
+      <layout class="QGridLayout" name="gridLayout">
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item row="0" column="1">
+        <widget class="QLabel" name="label">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>Project Status:</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="3">
+        <widget class="QComboBox" name="m_status_cb">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="sizeAdjustPolicy">
+          <enum>QComboBox::AdjustToContents</enum>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="1" colspan="3">
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item row="3" column="1" colspan="3">
+        <widget class="QGroupBox" name="groupBox_2">
+         <property name="title">
+          <string>Range</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_3">
+          <item row="2" column="0">
+           <widget class="QLineEdit" name="m_selected_folios_le">
+            <property name="text">
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0">
+           <widget class="QRadioButton" name="m_apply_locations_rb">
+            <property name="text">
+             <string>Apply to Selected Locations</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QRadioButton" name="m_apply_folios_rb">
+            <property name="text">
+             <string>Apply to Selected Folios</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="0">
+           <widget class="QRadioButton" name="m_apply_project_rb">
+            <property name="text">
+             <string>Apply to Entire Project</string>
+            </property>
+           </widget>
+          </item>
+          <item row="4" column="0">
+           <widget class="QLineEdit" name="m_selected_locations_le"/>
+          </item>
+          <item row="5" column="0">
+           <widget class="QWidget" name="m_selected_folios_widget" native="true">
+            <layout class="QHBoxLayout" name="horizontalLayout_5">
+             <item>
+              <widget class="QLabel" name="label_5">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string>From</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QComboBox" name="m_from_folios_cb">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_6">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string>To</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QComboBox" name="m_to_folios_cb">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="1" column="0" colspan="4">
+        <widget class="QGroupBox" name="groupBox">
+         <property name="title">
+          <string>Update Policy</string>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_2">
+          <item>
+           <widget class="QWidget" name="conductorWidget" native="true">
+            <layout class="QHBoxLayout" name="conductor_hl">
+             <item>
+              <widget class="QLabel" name="label_2">
+               <property name="font">
+                <font>
+                 <weight>75</weight>
+                 <bold>true</bold>
+                </font>
+               </property>
+               <property name="text">
+                <string>Conductor</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_both_conductor_rb">
+               <property name="text">
+                <string>Both</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_new_conductor_rb">
+               <property name="text">
+                <string>Only New</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_existent_conductor_rb">
+               <property name="text">
+                <string>Only Existent</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_disable_conductor_rb">
+               <property name="text">
+                <string>Disable</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </item>
+          <item>
+           <widget class="QWidget" name="elementWidget" native="true">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <layout class="QHBoxLayout" name="element_hl">
+             <item>
+              <widget class="QLabel" name="label_3">
+               <property name="font">
+                <font>
+                 <weight>75</weight>
+                 <bold>true</bold>
+                </font>
+               </property>
+               <property name="text">
+                <string>Element</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_both_element_rb">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string>Both</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_new_element_rb">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string>Only New</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_existent_element_rb">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string>Only Existent</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_disable_element_rb">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="text">
+                <string>Disable</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </item>
+          <item>
+           <widget class="QWidget" name="folioWidget" native="true">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+              <kerning>true</kerning>
+             </font>
+            </property>
+            <layout class="QHBoxLayout" name="folio_hl">
+             <item>
+              <widget class="QLabel" name="label_4">
+               <property name="font">
+                <font>
+                 <weight>75</weight>
+                 <bold>true</bold>
+                </font>
+               </property>
+               <property name="text">
+                <string>Folio</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_new_folio_rb">
+               <property name="text">
+                <string>Only New</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_existent_folio_rb">
+               <property name="text">
+                <string>Existent</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_both_folio_rb">
+               <property name="text">
+                <string>Both</string>
+               </property>
+               <property name="autoExclusive">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="m_disable_folio_rb">
+               <property name="text">
+                <string>Disable</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Apply|QDialogButtonBox::Help</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/autonumselectorwidget.cpp (from rev 4770, trunk/sources/ui/autonumselectorwidget.cpp)
===================================================================
--- trunk/sources/autoNum/ui/autonumselectorwidget.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumselectorwidget.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,79 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "autonumselectorwidget.h"
+#include "ui_autonumselectorwidget.h"
+
+/**
+ * @brief AutonumSelectorWidget::AutonumSelectorWidget
+ * Constructor with texts to fill the combo box
+ * @param items, items for fill the combo box
+ * @param parent, parent widget
+ */
+AutonumSelectorWidget::AutonumSelectorWidget(const QStringList &items, QWidget *parent) :
+	QWidget(parent),
+	ui(new Ui::AutonumSelectorWidget)
+{
+	ui->setupUi(this);
+	ui -> m_available_autonum_cb -> addItems(items);
+}
+
+/**
+ * @brief AutonumSelectorWidget::~AutonumSelectorWidget
+ * Destructor
+ */
+AutonumSelectorWidget::~AutonumSelectorWidget() {
+	delete ui;
+}
+
+/**
+ * @brief AutonumSelectorWidget::setCurrentItem
+ * Set the combo box current index by text.
+ * If text doesn't exist, set current index -1
+ * @param item, item of index
+ */
+void AutonumSelectorWidget::setCurrentItem(const QString &item) {
+	ui -> m_available_autonum_cb -> setCurrentIndex( ui -> m_available_autonum_cb -> findText(item));
+}
+
+/**
+ * @brief AutonumSelectorWidget::setItems
+ * Populate this widget with the content of @items
+ * Previous items is clear.
+ * @param items
+ */
+void AutonumSelectorWidget::setItems(const QStringList &items) {
+	ui -> m_available_autonum_cb -> clear();
+	ui -> m_available_autonum_cb -> addItems(items);
+}
+
+/**
+ * @brief AutonumSelectorWidget::text
+ * @return the current displayed text
+ */
+QString AutonumSelectorWidget::text() const {
+	return ui -> m_available_autonum_cb -> currentText();
+}
+
+/**
+ * @brief AutonumSelectorWidget::on_m_edit_autonum_pb_clicked
+ * Just emit the signal openAutonumEditor.
+ * The owner of AutonumSelectorWidget need to connect the signal.
+ */
+void AutonumSelectorWidget::on_m_edit_autonum_pb_clicked() {
+	emit openAutonumEditor();
+}

Copied: trunk/sources/autoNum/ui/autonumselectorwidget.h (from rev 4770, trunk/sources/ui/autonumselectorwidget.h)
===================================================================
--- trunk/sources/autoNum/ui/autonumselectorwidget.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumselectorwidget.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,55 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef AUTONUMSELECTORWIDGET_H
+#define AUTONUMSELECTORWIDGET_H
+
+#include <QWidget>
+
+namespace Ui {
+	class AutonumSelectorWidget;
+}
+
+/**
+ * @brief The AutonumSelectorWidget class
+ * This widget show a combobox to select an autonum and a button to edit the autonum
+ * The combo box is empty and the button isn't linked with anything, it's the role of caller
+ * of this class to fill the combo box and edit the connection with the button.
+ */
+class AutonumSelectorWidget : public QWidget
+{
+		Q_OBJECT
+
+	public:
+		explicit AutonumSelectorWidget(const QStringList &items, QWidget *parent = 0);
+		~AutonumSelectorWidget();
+
+		void    setCurrentItem (const QString &item);
+		void    setItems       (const QStringList &items);
+		QString text           () const;
+
+	signals:
+		void openAutonumEditor ();
+
+	private slots:
+		void on_m_edit_autonum_pb_clicked();
+
+	private:
+		Ui::AutonumSelectorWidget *ui;
+};
+
+#endif // AUTONUMSELECTORWIDGET_H

Copied: trunk/sources/autoNum/ui/autonumselectorwidget.ui (from rev 4770, trunk/sources/ui/autonumselectorwidget.ui)
===================================================================
--- trunk/sources/autoNum/ui/autonumselectorwidget.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/autonumselectorwidget.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AutonumSelectorWidget</class>
+ <widget class="QWidget" name="AutonumSelectorWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>Autonumérotation :</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QComboBox" name="m_available_autonum_cb"/>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>40</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QPushButton" name="m_edit_autonum_pb">
+     <property name="enabled">
+      <bool>true</bool>
+     </property>
+     <property name="toolTip">
+      <string>éditer les numérotations</string>
+     </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>
+ </widget>
+ <resources>
+  <include location="../../qelectrotech.qrc"/>
+ </resources>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/dialogautonum.cpp (from rev 4770, trunk/sources/ui/dialogautonum.cpp)
===================================================================
--- trunk/sources/autoNum/ui/dialogautonum.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/dialogautonum.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,113 @@
+/*
+		Copyright 2006-2016 The QElectroTech Team
+		This file is part of QElectroTech.
+		
+		QElectroTech is free software: you can redistribute it and/or modify
+		it under the terms of the GNU General Public License as published by
+		the Free Software Foundation, either version 2 of the License, or
+		(at your option) any later version.
+		
+		QElectroTech is distributed in the hope that it will be useful,
+		but WITHOUT ANY WARRANTY; without even the implied warranty of
+		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+		GNU General Public License for more details.
+		
+		You should have received a copy of the GNU General Public License
+		along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "dialogautonum.h"
+#include "ui_dialogautonum.h"
+
+//#include "conductorautonumerotation.h"
+#include "qetmessagebox.h"
+#include "ui/selectautonumw.h"
+
+/**
+ * @brief DialogAutoNum::DialogAutoNum
+ * @param dg
+ * @param parent
+ */
+DialogAutoNum::DialogAutoNum(Diagram *dg, QWidget *parent) :
+	QDialog(parent),
+	ui(new Ui::DialogAutoNum),
+	dg_ (dg)
+{
+	ui -> setupUi(this);
+	
+	ui -> configuration_layout -> addWidget (new SelectAutonumW());
+
+	dgselect_ = new diagramselection( dg_ -> project(), ui -> annotation_tab);
+	ui -> verticalLayout_Selection -> addWidget(dgselect_);
+}
+
+/**
+ * @brief Destructor
+ */
+DialogAutoNum::~DialogAutoNum(){
+	delete ui;
+}
+
+/**
+ * @brief DialogAutoNum::on_pushButton_delete_clicked
+ */
+void DialogAutoNum::on_pushButton_delete_clicked() {
+	// get list of diagrams selected
+	QList<Diagram *>listDiag = dgselect_ -> list_of_DiagramSelected();
+	if(listDiag.count()<=0) return;
+	
+	QString diagramsTitle;
+	for(int i=0; i<listDiag.count(); i++){
+		diagramsTitle += listDiag.at(i) -> title();
+		if(i+1 < listDiag.count()) diagramsTitle += ", ";
+	}
+	// Ask if user is sure to delete the conductor numerotation
+	QMessageBox::StandardButton answer = QET::QetMessageBox::critical(
+		this,
+		tr("Suppression des annotations conducteurs", "Attention"),
+		QString(
+			tr("Voulez-vous vraiment supprimer les annotations conducteurs de :\n\n%1 ?")
+		).arg(diagramsTitle),
+		QMessageBox::Yes | QMessageBox::No,
+		QMessageBox::No
+	);
+	
+	// if yes remove all
+	if( answer ==  QMessageBox::Yes) {
+		for(int i=0; i<listDiag.count(); i++){
+			/*ConductorAutoNumerotation can(listDiag.at(i));
+			can.removeNumOfDiagram();*/
+		}
+	}
+}
+
+/**
+ * @brief set the autonum to all diagram selected
+ */
+void DialogAutoNum::on_pushButton_annotation_clicked(){
+	// Get list of diagrams selected
+	QList<Diagram *>listDiag = dgselect_ -> list_of_DiagramSelected();
+	if(listDiag.count()<=0) return;
+	
+	QString diagramsTitle;
+	for(int i=0; i<listDiag.count(); i++){
+		diagramsTitle += listDiag.at(i) -> title();
+		if(i+1 < listDiag.count()) diagramsTitle += ", ";
+	}
+	// Ask if user is sure to numerate the conductor
+	QET::QetMessageBox::warning(
+		this,
+		tr("Annotation des conducteurs", "Attention"),
+		QString(
+			tr("Voulez-vous vraiment annoter les conducteurs de :\n\n%1 ?")
+		).arg(diagramsTitle),
+		QMessageBox::Yes | QMessageBox::No,
+		QMessageBox::No
+	);
+}
+
+/**
+ * @brief Close the dialog
+ */
+void DialogAutoNum::on_pushButton_close_clicked() {
+	close();
+}

Copied: trunk/sources/autoNum/ui/dialogautonum.h (from rev 4770, trunk/sources/ui/dialogautonum.h)
===================================================================
--- trunk/sources/autoNum/ui/dialogautonum.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/dialogautonum.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,49 @@
+/*
+		Copyright 2006-2016 The QElectroTech Team
+		This file is part of QElectroTech.
+		
+		QElectroTech is free software: you can redistribute it and/or modify
+		it under the terms of the GNU General Public License as published by
+		the Free Software Foundation, either version 2 of the License, or
+		(at your option) any later version.
+		
+		QElectroTech is distributed in the hope that it will be useful,
+		but WITHOUT ANY WARRANTY; without even the implied warranty of
+		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+		GNU General Public License for more details.
+		
+		You should have received a copy of the GNU General Public License
+		along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef DIALOGAUTONUM_H
+#define DIALOGAUTONUM_H
+
+#include <QDialog>
+
+#include "diagram.h"
+#include "ui/diagramselection.h"
+
+namespace Ui {
+	class DialogAutoNum;
+}
+
+class DialogAutoNum : public QDialog
+{
+	Q_OBJECT
+	
+	public:
+	explicit DialogAutoNum(Diagram *dg, QWidget *parent = 0);
+	~DialogAutoNum();
+	
+	private slots:
+	void on_pushButton_annotation_clicked();
+	void on_pushButton_delete_clicked();
+	void on_pushButton_close_clicked();
+	
+	private:
+	Ui::DialogAutoNum *ui;
+	Diagram *dg_;
+	diagramselection *dgselect_;
+};
+
+#endif // DialogAutoNum_H

Copied: trunk/sources/autoNum/ui/dialogautonum.ui (from rev 4770, trunk/sources/ui/dialogautonum.ui)
===================================================================
--- trunk/sources/autoNum/ui/dialogautonum.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/dialogautonum.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DialogAutoNum</class>
+ <widget class="QDialog" name="DialogAutoNum">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>482</width>
+    <height>416</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Annotation des schémas</string>
+  </property>
+  <property name="windowIcon">
+   <iconset resource="../../qelectrotech.qrc">
+    <normaloff>:/ico/oxygen-icons/32x32/apps/qelectrotech.png</normaloff>:/ico/oxygen-icons/32x32/apps/qelectrotech.png</iconset>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QTabWidget" name="tabWidget">
+     <property name="currentIndex">
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="configuration_tab">
+      <attribute name="title">
+       <string>Configuration</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_6">
+       <item>
+        <layout class="QVBoxLayout" name="configuration_layout">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="annotation_tab">
+      <attribute name="title">
+       <string>Annotation</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_3">
+       <item>
+        <layout class="QVBoxLayout" name="verticalLayout">
+         <item>
+          <widget class="QGroupBox" name="groupBox_Selection">
+           <property name="title">
+            <string>Sélection</string>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_4">
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout_">
+              <item>
+               <widget class="QRadioButton" name="radioButton_conductor">
+                <property name="text">
+                 <string>Conducteurs</string>
+                </property>
+                <property name="icon">
+                 <iconset resource="../../qelectrotech.qrc">
+                  <normaloff>:/ico/22x22/conductor2.png</normaloff>:/ico/22x22/conductor2.png</iconset>
+                </property>
+                <property name="checked">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QRadioButton" name="radioButton_component">
+                <property name="enabled">
+                 <bool>false</bool>
+                </property>
+                <property name="text">
+                 <string>Composants</string>
+                </property>
+                <property name="icon">
+                 <iconset resource="../../qelectrotech.qrc">
+                  <normaloff>:/ico/22x22/single_page.png</normaloff>:/ico/22x22/single_page.png</iconset>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <layout class="QVBoxLayout" name="verticalLayout_Selection"/>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <item>
+            <widget class="QPushButton" name="pushButton_annotation">
+             <property name="toolTip">
+              <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Numérotée les folio sélectionné&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+             </property>
+             <property name="text">
+              <string>Annotation (alpha)</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../../qelectrotech.qrc">
+               <normaloff>:/ico/16x16/edit-select-all.png</normaloff>:/ico/16x16/edit-select-all.png</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="pushButton_delete">
+             <property name="toolTip">
+              <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Supprimé la numérotation des folio sélectionné&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+             </property>
+             <property name="text">
+              <string>Supprimer l'annotation</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../../qelectrotech.qrc">
+               <normaloff>:/ico/16x16/edit-delete.png</normaloff>:/ico/16x16/edit-delete.png</iconset>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pushButton_close">
+       <property name="text">
+        <string>Fermer</string>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources>
+  <include location="../../qelectrotech.qrc"/>
+ </resources>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/folioautonumbering.cpp (from rev 4770, trunk/sources/ui/folioautonumbering.cpp)
===================================================================
--- trunk/sources/autoNum/ui/folioautonumbering.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/folioautonumbering.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,216 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "folioautonumbering.h"
+#include "ui_folioautonumbering.h"
+#include <QMessageBox>
+#include <QPushButton>
+#include <QtWidgets>
+#include "qetproject.h"
+#include "diagram.h"
+/**
+ * Constructor
+ */
+FolioAutonumberingW::FolioAutonumberingW(QETProject *project, QWidget *parent) :
+	QWidget(parent),
+	project_(project),
+	ui(new Ui::FolioAutonumberingW)
+
+{
+	ui->setupUi(this);
+	applyEnable(false);
+	ui->m_from_cb->setEnabled(false);
+	ui->m_new_tabs_sb->setEnabled(false);
+	ui->m_to_cb->setEnabled(false);
+}
+
+/**
+ * Destructor
+ */
+FolioAutonumberingW::~FolioAutonumberingW()
+{
+	delete ui;
+}
+
+/**
+ * @brief FolioAutonumberingW::setContext
+ * construct autonums in the comboBox selected in the @autonum_chooser QcomboBox
+ */
+void FolioAutonumberingW::setContext(QList <QString> autonums) {
+	foreach (QString str, autonums) { ui->m_autonums_cb->addItem(str);}
+}
+
+/**
+ * @brief FolioAutonumberingW::autoNumSelected
+ * returns the current autonum selected
+ */
+QString FolioAutonumberingW::autoNumSelected(){
+	return ui->m_autonums_cb->currentText();
+}
+
+/**
+ * @brief FolioAutonumberingW::fromFolio
+ * returns the current "From Folio" index
+ */
+int FolioAutonumberingW::fromFolio(){
+	return ui->m_from_cb->currentIndex()-1;
+}
+
+/**
+ * @brief FolioAutonumberingW::toFolio
+ * returns the current "To Folio" index
+ */
+int FolioAutonumberingW::toFolio(){
+	return ui->m_to_cb->currentIndex()+this->fromFolio()+1;
+}
+
+/**
+ * @brief FolioAutonumberingW::newFoliosNumber
+ * returns the number of folios to create
+ */
+int FolioAutonumberingW::newFoliosNumber(){
+	return ui->m_new_tabs_sb->value();
+}
+
+/**
+ * @brief FolioAutonumberingW::updateFolioList
+ * update Folio List in From and To ComboBox
+ */
+void FolioAutonumberingW::updateFolioList(){
+	ui   -> m_from_cb->clear();
+	ui   -> m_to_cb->clear();
+	if (newFolios){
+		this -> on_m_create_new_tabs_rb_clicked();
+	} else {
+		this -> on_m_autonumber_tabs_rb_clicked();
+	}
+}
+
+/**
+ * @brief FolioAutonumberingW::on_m_create_new_tabs_rb_clicked
+ *	Enable New Tabs SpinBox
+ */
+void FolioAutonumberingW::on_m_create_new_tabs_rb_clicked() {
+	ui->m_from_cb->setEnabled(false);
+	ui->m_to_cb->setEnabled(false);
+	ui->m_new_tabs_sb->setEnabled(true);
+	applyEnable();
+	newFolios = true;
+}
+
+/**
+ * @brief FolioAutonumberingW::on_m_autonumber_tabs_rb_clicked
+ *	Enable From ComboBox, fill From ComboBox
+ */
+void FolioAutonumberingW::on_m_autonumber_tabs_rb_clicked() {
+	ui->m_new_tabs_sb->setEnabled(false);
+	ui->m_from_cb->setEnabled(true);
+	ui->m_to_cb->setEnabled(true);
+	if (ui->m_from_cb->count()<=0){
+		ui->m_from_cb->clear();
+		ui->m_from_cb->addItem("");
+		foreach (Diagram *diagram, project_->diagrams()){
+			ui->m_from_cb->addItem(diagram->title());
+		}
+	}
+	applyEnable();
+	newFolios = false;
+}
+
+/**
+ * @brief FolioAutonumberingW::on_m_new_tabs_sb_valueChanged
+ *	Enable Apply if any new folio is to be created
+ */
+void FolioAutonumberingW::on_m_new_tabs_sb_valueChanged(int){
+	if (ui->m_new_tabs_sb->value()>0) applyEnable(true);
+	else applyEnable(false);
+}
+
+/**
+ * @brief FolioAutonumberingW::on_m_from_cb_currentIndexChanged
+ *	Enable To ComboBox
+ */
+void FolioAutonumberingW::on_m_from_cb_currentIndexChanged(int){
+	int index = ui->m_from_cb->currentIndex();
+	ui->m_to_cb->clear();
+	if (index > 0){
+		ui->m_to_cb->setEnabled(true);
+		for (int i=index;i<project_->diagrams().size();i++)
+			ui->m_to_cb->addItem(project_->diagrams().at(i)->title());
+		applyEnable(true);
+	}
+	else{
+		applyEnable();
+	}
+
+}
+
+/**
+ * @brief SelectAutonumW::on_buttonBox_clicked
+ * Action on @buttonBox clicked
+ */
+void FolioAutonumberingW::on_buttonBox_clicked(QAbstractButton *button) {
+	//transform button to int
+	int answer = ui -> buttonBox -> buttonRole(button);
+
+	switch (answer) {
+			//help dialog - not implemented yet -
+		case QDialogButtonBox::HelpRole:
+			QMessageBox::information (this, tr("Folio Autonumbering", "title window"),
+																	tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux folios.\n"
+																	   "-Une numérotation est composée d'une variable minimum.\n"
+																	   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
+																	   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
+
+																	   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
+																	   "qui s'incrémente à chaque nouveau folio de la valeur du champ \"Incrémentation\".\n"
+																	   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
+																	   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
+																	   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
+
+																	   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n",
+																	   "help dialog about the folio autonumerotation"
+																	   ));
+			break;
+		case QDialogButtonBox::ApplyRole:
+			applyEnable(true);
+			emit applyPressed();
+			updateFolioList();
+			break;
+	}
+}
+
+/**
+ * @brief SelectAutonumW::applyEnable
+ * enable/disable the apply button
+ */
+void FolioAutonumberingW::applyEnable(bool b) {
+	if (b){
+		bool valid = true;
+		if (ui->m_create_new_tabs_rb->isChecked()){
+			if (ui->m_new_tabs_sb->value()==0) valid = false;
+			ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
+		}
+		else{
+			if (ui->m_to_cb->currentText()=="") valid = false;
+			ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
+		}
+	}
+	else{
+		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
+		}
+}

Copied: trunk/sources/autoNum/ui/folioautonumbering.h (from rev 4770, trunk/sources/ui/folioautonumbering.h)
===================================================================
--- trunk/sources/autoNum/ui/folioautonumbering.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/folioautonumbering.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,72 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef FOLIOAUTONUMBERING_H
+#define FOLIOAUTONUMBERING_H
+
+#include <QWidget>
+#include "numerotationcontext.h"
+
+class NumPartEditorW;
+class QAbstractButton;
+class QETProject;
+
+namespace Ui {
+		class FolioAutonumberingW;
+}
+
+class FolioAutonumberingW : public QWidget
+{
+	Q_OBJECT
+	
+	//METHODS
+	public:
+		explicit FolioAutonumberingW(QETProject *project, QWidget *parent = 0);
+		~FolioAutonumberingW();
+
+		void setContext (QList <QString> autonums);
+		NumerotationContext toNumContext() const;
+		QString autoNumSelected();
+		int newFoliosNumber();
+		bool newFolios;
+		int fromFolio();
+		int toFolio();
+
+	// SIGNALS
+	signals:
+		void applyPressed();
+		void m_autonumber_tabs_rb_clicked();
+
+	//SLOTS
+	private slots:
+		void on_m_create_new_tabs_rb_clicked();
+		void on_m_autonumber_tabs_rb_clicked();
+		void on_m_new_tabs_sb_valueChanged(int);
+		void on_buttonBox_clicked(QAbstractButton *);
+		void on_m_from_cb_currentIndexChanged(int);
+		void applyEnable (bool = true);
+
+	//ATTRIBUTES
+	private:
+		QETProject *project_;
+		Ui::FolioAutonumberingW *ui;
+		QList <NumPartEditorW *> num_part_list_;
+		NumerotationContext m_context;
+		void updateFolioList();
+};
+
+#endif // FOLIOAUTONUMBERING_H

Copied: trunk/sources/autoNum/ui/folioautonumbering.ui (from rev 4770, trunk/sources/ui/folioautonumbering.ui)
===================================================================
--- trunk/sources/autoNum/ui/folioautonumbering.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/folioautonumbering.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>FolioAutonumberingW</class>
+ <widget class="QWidget" name="FolioAutonumberingW">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>524</width>
+    <height>550</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>460</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="sizeConstraint">
+    <enum>QLayout::SetDefaultConstraint</enum>
+   </property>
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>50</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>450</width>
+       <height>253</height>
+      </size>
+     </property>
+     <property name="sizeIncrement">
+      <size>
+       <width>0</width>
+       <height>50</height>
+      </size>
+     </property>
+     <property name="mouseTracking">
+      <bool>false</bool>
+     </property>
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOff</enum>
+     </property>
+     <property name="sizeAdjustPolicy">
+      <enum>QAbstractScrollArea::AdjustToContents</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignHCenter|Qt::AlignTop</set>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>504</width>
+        <height>495</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>430</width>
+        <height>250</height>
+       </size>
+      </property>
+      <layout class="QGridLayout" name="gridLayout">
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item row="2" column="1" colspan="2">
+        <widget class="QGroupBox" name="Options">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="title">
+          <string> Options de numérotation</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_2">
+          <item row="2" column="1">
+           <widget class="QComboBox" name="m_to_cb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="sizeAdjustPolicy">
+             <enum>QComboBox::AdjustToContents</enum>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>Nouveaux Folios</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QComboBox" name="m_from_cb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="sizeAdjustPolicy">
+             <enum>QComboBox::AdjustToContents</enum>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="m_new_tabs_sb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="maximum">
+             <number>999</number>
+            </property>
+            <property name="displayIntegerBase">
+             <number>10</number>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>À</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>De</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="1" column="1" colspan="2">
+        <widget class="QGroupBox" name="Select">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="title">
+          <string>Sélection:</string>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QRadioButton" name="m_create_new_tabs_rb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>Créer de nouveaux Folios</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="m_autonumber_tabs_rb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>NumAuto des folios séléctionnés</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="0" column="1">
+        <widget class="QLabel" name="label">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Numérotation automatique de Folio :</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="2">
+        <widget class="QComboBox" name="m_autonums_cb">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="sizeAdjustPolicy">
+          <enum>QComboBox::AdjustToContents</enum>
+         </property>
+        </widget>
+       </item>
+       <item row="3" column="1" colspan="2">
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Apply</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/formulaautonumberingw.cpp (from rev 4770, trunk/sources/ui/formulaautonumberingw.cpp)
===================================================================
--- trunk/sources/autoNum/ui/formulaautonumberingw.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/formulaautonumberingw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,74 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "formulaautonumberingw.h"
+#include "ui_formulaautonumberingw.h"
+#include <QMessageBox>
+#include <QPushButton>
+#include <QtWidgets>
+
+/**
+ * Constructor
+ */
+FormulaAutonumberingW::FormulaAutonumberingW(QWidget *parent) :
+	QWidget(parent),
+	ui(new Ui::FormulaAutonumberingW)
+
+{
+	ui->setupUi(this);
+	setContext(formula_);
+}
+
+/**
+ * Destructor
+ */
+FormulaAutonumberingW::~FormulaAutonumberingW()
+{
+	delete ui;
+}
+
+/**
+ * @brief FormulaAutonumberingW::setContext
+ * @param formula to be inserted into context
+ */
+void FormulaAutonumberingW::setContext(QString formula) {
+	ui->m_formula_le->insert(formula);
+}
+
+/**
+ * @brief FormulaAutonumberingW::clearContext
+ * @param clear formula line edit text
+ */
+void FormulaAutonumberingW::clearContext() {
+	ui->m_formula_le->clear();
+}
+
+/**
+ * @brief FormulaAutonumberingW::formula
+ * @return formula to be stored into project
+ */
+QString FormulaAutonumberingW::formula() {
+	return ui->m_formula_le->text();
+}
+
+/**
+ * @brief FormulaAutonumberingW::on_m_formula_le_textChanged
+ * Update Apply Button
+ */
+void FormulaAutonumberingW::on_m_formula_le_textChanged(QString text) {
+	emit (textChanged(text));
+}

Copied: trunk/sources/autoNum/ui/formulaautonumberingw.h (from rev 4770, trunk/sources/ui/formulaautonumberingw.h)
===================================================================
--- trunk/sources/autoNum/ui/formulaautonumberingw.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/formulaautonumberingw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,65 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef FORMULAAUTONUMBERINGW_H
+#define FORMULAAUTONUMBERINGW_H
+
+#include <QWidget>
+
+class QAbstractButton;
+
+namespace Ui {
+		class FormulaAutonumberingW;
+}
+
+/**
+	This class implements the element autonumbering widget.
+	It loads the current formula applied to new elements and allows
+	the user to overwrite it with a new formula. Formula is added
+	while parsing label in customelement.cpp
+*/
+class FormulaAutonumberingW : public QWidget
+{
+	Q_OBJECT
+	
+	//METHODS
+	public:
+		explicit FormulaAutonumberingW(QWidget *parent = 0);
+		~FormulaAutonumberingW();
+		QString formula();
+		void setContext(QString);
+		void clearContext();
+		Ui::FormulaAutonumberingW *ui;
+
+	private:
+
+	// SIGNALS
+	signals:
+		void applyPressed();
+		void textChanged(QString);
+
+	//SLOTS
+	private slots:
+		void on_m_formula_le_textChanged(QString);
+
+	//ATTRIBUTES
+	private:
+		QString formula_;
+
+};
+
+#endif // FORMULAAUTONUMBERINGW_H

Copied: trunk/sources/autoNum/ui/formulaautonumberingw.ui (from rev 4770, trunk/sources/ui/formulaautonumberingw.ui)
===================================================================
--- trunk/sources/autoNum/ui/formulaautonumberingw.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/formulaautonumberingw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>FormulaAutonumberingW</class>
+ <widget class="QWidget" name="FormulaAutonumberingW">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>370</width>
+    <height>305</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="sizeConstraint">
+    <enum>QLayout::SetDefaultConstraint</enum>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="groupBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="title">
+      <string>Auto Naming Pattern:</string>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="1">
+       <widget class="QLineEdit" name="m_formula_le">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="inputMask">
+         <string notr="true"/>
+        </property>
+        <property name="text">
+         <string notr="true"/>
+        </property>
+        <property name="placeholderText">
+         <string>Insert Formula Here e.g.: %prefix%l%c</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0">
+       <widget class="QLabel" name="label_5">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>Formula:</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="locale">
+      <locale language="French" country="France"/>
+     </property>
+     <property name="text">
+      <string>You can use the following variables to your formula:
+ -%prefix: Default Element Prefix
+ -%l: Element Line
+ -%c: Element Column
+ -%F: Folio Name
+ -%f or %id: Folio ID
+ -%total: Total of folios
+You can also assign any other titleblock variable 
+that you create. Text and number inputs are
+ also available.</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/numparteditorw.cpp (from rev 4770, trunk/sources/ui/numparteditorw.cpp)
===================================================================
--- trunk/sources/autoNum/ui/numparteditorw.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/numparteditorw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,318 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include <QRegExp>
+#include "numparteditorw.h"
+#include "ui_numparteditorw.h"
+
+/**
+ * Constructor
+ */
+NumPartEditorW::NumPartEditorW(QWidget *parent) :
+	QWidget(parent),
+	ui(new Ui::NumPartEditorW),
+	intValidator (new QIntValidator(0,99999,this))
+{
+	ui -> setupUi(this);
+	setVisibleItems();
+	setType(NumPartEditorW::unit, true);
+}
+
+/**
+ * Constructor
+ * Build with value of @context at position i
+ */
+NumPartEditorW::NumPartEditorW (NumerotationContext &context, int i, QWidget *parent):
+	QWidget(parent),
+	ui(new Ui::NumPartEditorW),
+	intValidator (new QIntValidator(0,99999,this))
+{
+	ui -> setupUi(this);
+	setVisibleItems();
+	if(context.size()==0) setType(NumPartEditorW::unit, true);
+
+	else {
+		QStringList strl = context.itemAt(i);
+		if (strl.at(0)=="unit") setType(NumPartEditorW::unit, true);
+		else if (strl.at(0)=="unitfolio") setType(NumPartEditorW::unitfolio, true);
+		else if (strl.at(0)=="ten") setType(NumPartEditorW::ten, true);
+		else if (strl.at(0)=="tenfolio") setType(NumPartEditorW::tenfolio, true);
+		else if (strl.at(0)=="hundred") setType(NumPartEditorW::hundred, true);
+		else if (strl.at(0)=="hundredfolio") setType(NumPartEditorW::hundredfolio, true);
+		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);
+		ui -> value_field -> setText(strl.at(1));
+		ui -> increase_spinBox -> setValue(strl.at(2).toInt());
+	}
+}
+
+/**
+ * Destructor
+ */
+NumPartEditorW::~NumPartEditorW()
+{
+	delete intValidator;
+	delete ui;
+}
+
+void NumPartEditorW::setVisibleItems() {
+	ui->type_cb->setInsertPolicy(QComboBox::InsertAtBottom);
+	QStringList items;
+	if (parentWidget()->parentWidget()->objectName()=="FolioTab") {
+		items	<< tr("Chiffre 1") << tr("Chiffre 01")
+				<< tr("Chiffre 001")
+				<< tr("Texte");
+	}
+	else if (parentWidget()->parentWidget()->objectName()=="ConductorTab") {
+		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");
+	}
+	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("Element Line") << tr("Element Column") << tr("Element Prefix");
+	ui->type_cb->insertItems(0,items);
+}
+
+/**
+ * @brief NumPartEditorW::toNumContext
+ * @return the display to NumerotationContext
+ */
+NumerotationContext NumPartEditorW::toNumContext() {
+	NumerotationContext nc;
+	QString type_str;
+	switch (type_) {
+		case unit:
+			type_str = "unit";
+			break;
+		case unitfolio:
+			type_str = "unitfolio";
+			break;
+		case ten:
+			type_str = "ten";
+			break;
+		case tenfolio:
+			type_str = "tenfolio";
+			break;
+		case hundred:
+			type_str = "hundred";
+			break;
+		case hundredfolio:
+			type_str = "hundredfolio";
+			break;
+		case string:
+			type_str = "string";
+			break;
+		case idfolio:
+			type_str = "idfolio";
+			break;
+		case folio:
+			type_str = "folio";
+			break;
+		case machine:
+			type_str = "machine";
+			break;
+		case locmach:
+			type_str = "locmach";
+			break;
+		case elementline:
+			type_str = "elementline";
+			break;
+		case elementcolumn:
+			type_str = "elementcolumn";
+			break;
+		case elementprefix:
+			type_str = "elementprefix";
+			break;
+	}
+	if (type_str == "unitfolio" || type_str == "tenfolio" || type_str == "hundredfolio")
+		nc.addValue(type_str, ui -> value_field -> displayText(), ui -> increase_spinBox -> value(), ui->value_field->displayText().toInt());
+	else
+	nc.addValue(type_str, ui -> value_field -> displayText(), ui -> increase_spinBox -> value());
+	return nc;
+}
+
+/**
+ * @brief NumPartEditorW::isValid
+ * @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 ||
+		type_ == elementcolumn || type_ == elementprefix) {return true;}
+	else if(ui -> value_field -> text().isEmpty()) {return false;}
+	else return true;
+}
+
+/**
+ * @brief NumPartEditorW::on_type_cb_activated
+ * Action when user change the type comboBox
+ */
+void NumPartEditorW::on_type_cb_activated(int) {
+	if (ui->type_cb->currentText() == tr("Chiffre 1"))
+		setType(unit);
+	else if (ui->type_cb->currentText() == tr("Chiffre 1 - Folio"))
+		setType(unitfolio);
+	else if (ui->type_cb->currentText() ==  tr("Chiffre 01"))
+		setType(ten);
+	else if (ui->type_cb->currentText() == tr("Chiffre 01 - Folio"))
+		setType(tenfolio);
+	else if (ui->type_cb->currentText() == tr("Chiffre 001"))
+		setType(hundred);
+	else if (ui->type_cb->currentText() == tr("Chiffre 001 - Folio"))
+		setType(hundredfolio);
+	else if (ui->type_cb->currentText() == tr("Texte"))
+		setType(string);
+	else if (ui->type_cb->currentText() == tr("N° folio"))
+		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"))
+		setType(elementcolumn);
+	else if (ui->type_cb->currentText() == tr("Element Prefix"))
+		setType(elementprefix);
+	emit changed();
+}
+
+/**
+ * @brief NumPartEditorW::on_value_field_textChanged
+ * emit changed when @value_field text changed
+ */
+void NumPartEditorW::on_value_field_textEdited() {
+	emit changed();
+}
+
+/**
+ * @brief NumPartEditorW::on_increase_spinBox_valueChanged
+ * emit changed when @increase_spinBox value changed
+ */
+void NumPartEditorW::on_increase_spinBox_valueChanged(int) {
+	if (!ui -> value_field -> text().isEmpty()) emit changed();
+}
+
+/**
+ * @brief NumPartEditorW::setType
+ * Set good behavior by type @t
+ * @param t, type used
+ * @param fnum, force the behavior of numeric type
+ */
+void NumPartEditorW::setType(NumPartEditorW::type t, bool fnum) {
+	setCurrentIndex(t);
+
+	//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_==elementcolumn || type_==elementline || type_==elementprefix))
+		 || fnum) {
+		ui -> value_field -> clear();
+		ui -> value_field -> setEnabled(true);
+		ui -> value_field -> setValidator(intValidator);
+		ui -> increase_spinBox -> setEnabled(true);
+		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 ||
+			 t == elementcolumn || t == elementprefix) {
+		ui -> value_field -> clear();
+		ui -> increase_spinBox -> setDisabled(true);
+		if (t==string) {
+			ui -> value_field -> setValidator(0);
+			ui -> value_field -> setEnabled(true);
+		}
+		else if (t==folio) {
+			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);
+		}
+		else if (t==elementcolumn) {
+			ui -> value_field -> setDisabled(true);
+			ui -> increase_spinBox -> setDisabled(true);
+		}
+		else if (t==elementline) {
+			ui -> value_field -> setDisabled(true);
+			ui -> increase_spinBox -> setDisabled(true);
+		}
+		else if (t==elementprefix) {
+			ui -> value_field -> setDisabled(true);
+			ui -> increase_spinBox -> setDisabled(true);
+		}
+	}
+	type_= t;
+}
+
+/**
+ * @brief NumPartEditorW::setCurrentIndex
+ * Set Current Index of type_cb
+ * @param t, type used
+ */
+void NumPartEditorW::setCurrentIndex(NumPartEditorW::type t) {
+	int i;
+	if (t == unit)
+		i = ui->type_cb->findText(tr("Chiffre 1"));
+	else if (t == unitfolio)
+		i = ui->type_cb->findText(tr("Chiffre 1 - Folio"));
+	else if (t == ten)
+		i = ui->type_cb->findText(tr("Chiffre 01"));
+	else if (t == tenfolio)
+		i = ui->type_cb->findText(tr("Chiffre 01 - Folio"));
+	else if (t == hundred)
+		i = ui->type_cb->findText(tr("Chiffre 001"));
+	else if (t == hundredfolio)
+		i = ui->type_cb->findText(tr("Chiffre 001 - Folio"));
+	else if (t == string)
+		i = ui->type_cb->findText(tr("Texte"));
+	else if (t == idfolio)
+		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"));
+	else if (t == elementcolumn)
+		i = ui->type_cb->findText(tr("Element Column"));
+	else if (t == elementprefix)
+		i = ui->type_cb->findText(tr("Element Prefix"));
+	ui->type_cb->setCurrentIndex(i);
+}

Copied: trunk/sources/autoNum/ui/numparteditorw.h (from rev 4770, trunk/sources/ui/numparteditorw.h)
===================================================================
--- trunk/sources/autoNum/ui/numparteditorw.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/numparteditorw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,73 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef NUMPARTEDITORW_H
+#define NUMPARTEDITORW_H
+
+#include <QWidget>
+#include <QValidator>
+#include "numerotationcontext.h"
+
+/**
+ *This class represent a single part num widget. By this widget, we can define and edit
+ *how the num auto must work .
+ *This widget is called by selectautonumw.
+ */
+namespace Ui {
+	class NumPartEditorW;
+}
+
+class NumPartEditorW : public QWidget
+{
+	Q_OBJECT
+	
+	//METHODS
+	public:
+	explicit NumPartEditorW(QWidget *parent = 0);
+	NumPartEditorW (NumerotationContext &, int, QWidget *parent=0);
+	~NumPartEditorW();
+
+	enum type {unit,unitfolio,ten,tenfolio, hundred, hundredfolio,
+			   string,idfolio,folio,machine,locmach,
+			   elementline,elementcolumn,elementprefix,
+			  };
+	NumerotationContext toNumContext();
+	bool isValid ();
+	type type_;
+
+	private:
+	void setVisibleItems();
+	void disableItem(int index);
+	void setCurrentIndex(NumPartEditorW::type);
+
+	private slots:
+	void on_type_cb_activated(int);
+	void on_value_field_textEdited();
+	void on_increase_spinBox_valueChanged(int);
+	void setType (NumPartEditorW::type t, bool=false);
+
+	signals:
+	void changed ();
+	
+	private:
+	Ui::NumPartEditorW *ui;
+	QValidator *intValidator;
+
+
+};
+
+#endif // NUMPARTEDITORW_H

Copied: trunk/sources/autoNum/ui/numparteditorw.ui (from rev 4770, trunk/sources/ui/numparteditorw.ui)
===================================================================
--- trunk/sources/autoNum/ui/numparteditorw.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/numparteditorw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>NumPartEditorW</class>
+ <widget class="QWidget" name="NumPartEditorW">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>368</width>
+    <height>33</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>3</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>2</number>
+   </property>
+   <item>
+    <widget class="QComboBox" name="type_cb">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="editable">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="value_field">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QSpinBox" name="increase_spinBox">
+     <property name="enabled">
+      <bool>true</bool>
+     </property>
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="wrapping">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignCenter</set>
+     </property>
+     <property name="specialValueText">
+      <string/>
+     </property>
+     <property name="accelerated">
+      <bool>true</bool>
+     </property>
+     <property name="prefix">
+      <string/>
+     </property>
+     <property name="minimum">
+      <number>1</number>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

Copied: trunk/sources/autoNum/ui/selectautonumw.cpp (from rev 4770, trunk/sources/ui/selectautonumw.cpp)
===================================================================
--- trunk/sources/autoNum/ui/selectautonumw.cpp	                        (rev 0)
+++ trunk/sources/autoNum/ui/selectautonumw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,334 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "selectautonumw.h"
+#include "ui_selectautonumw.h"
+#include "numparteditorw.h"
+#include <QMessageBox>
+#include "numerotationcontextcommands.h"
+#include "formulaautonumberingw.h"
+#include "ui_formulaautonumberingw.h"
+#include "qdebug.h"
+
+/**
+ * Constructor
+ */
+SelectAutonumW::SelectAutonumW(QWidget *parent) :
+	QWidget(parent),
+	ui(new Ui::SelectAutonumW)
+{
+
+	ui->setupUi(this);
+	if (this->parentWidget() -> objectName()=="ElementTab"){
+		m_feaw = new FormulaAutonumberingW();
+		ui->scrollAreaWidgetContents->layout()->addWidget(m_feaw);
+	}
+	else if (this->parentWidget() -> objectName()=="ConductorTab"){
+		m_fcaw = new FormulaAutonumberingW();
+		m_fcaw->ui->label->setHidden(true);
+		ui->scrollAreaWidgetContents->layout()->addWidget(m_fcaw);
+	}
+	setContext(NumerotationContext());
+}
+
+SelectAutonumW::SelectAutonumW(const NumerotationContext &context, QWidget *parent) :
+	QWidget(parent),
+	ui(new Ui::SelectAutonumW)
+{
+	if (this->parentWidget() -> objectName()=="ElementTab"){
+		m_feaw = new FormulaAutonumberingW();
+		ui->scrollAreaWidgetContents->layout()->addWidget(m_feaw);
+	}
+	else if (this->parentWidget() -> objectName()=="ConductorTab"){
+		m_fcaw = new FormulaAutonumberingW();
+		m_fcaw->ui->label->setHidden(true);
+		ui->scrollAreaWidgetContents->layout()->addWidget(m_fcaw);
+	}
+	ui->setupUi(this);
+	setContext(context);
+}
+
+/**
+ * Destructor
+ */
+SelectAutonumW::~SelectAutonumW()
+{
+	delete ui;
+}
+
+/**
+ * @brief SelectAutonumW::setCurrentContext
+ * build the context of current diagram selected in the @diagram_chooser QcomboBox
+ */
+void SelectAutonumW::setContext(const NumerotationContext &context) {
+	m_context = context;
+
+	qDeleteAll(num_part_list_);
+	num_part_list_.clear();
+
+	if (m_context.size() == 0) { //@context contain nothing, build a default numPartEditor
+		on_add_button_clicked();
+	}
+	else {
+		for (int i=0; i<m_context.size(); ++i) { //build with the content of @context
+			NumPartEditorW *part= new NumPartEditorW(m_context, i, this);
+			connect (part, SIGNAL(changed()), this, SLOT(applyEnable()));
+			num_part_list_ << part;
+			ui -> editor_layout -> addWidget(part);
+		}
+	}
+
+	num_part_list_.size() == 1 ?
+				ui -> remove_button -> setDisabled(true):
+				ui -> remove_button -> setEnabled (true);
+
+	applyEnable(false);
+}
+
+/**
+ * @brief SelectAutonumW::toNumContext
+ * @return the content to @num_part_list to NumerotationContext
+ */
+NumerotationContext SelectAutonumW::toNumContext() const {
+	NumerotationContext nc;
+	foreach (NumPartEditorW *npew, num_part_list_) nc << npew -> toNumContext();
+	return nc;
+}
+
+/**
+ * @brief SelectAutonumW::on_add_button_clicked
+ *	Action on add_button, add a @NumPartEditor
+ */
+void SelectAutonumW::on_add_button_clicked() {
+	applyEnable(false);
+	NumPartEditorW *part = new NumPartEditorW(this);
+	connect (part, SIGNAL(changed()), this, SLOT(applyEnable()));
+	num_part_list_ << part;
+	ui -> editor_layout -> addWidget(part);
+	ui -> remove_button -> setEnabled(true);
+}
+
+/**
+ * @brief SelectAutonumW::on_remove_button_clicked
+ *	Action on remove button, remove the last @NumPartEditor
+ */
+void SelectAutonumW::on_remove_button_clicked() {
+	//remove if @num_part_list contains more than one item
+	if (num_part_list_.size() > 1) {
+		NumPartEditorW *part = num_part_list_.takeLast();
+		disconnect(part, SIGNAL(changed()), this, SLOT(applyEnable()));
+		delete part;
+		if (num_part_list_.size() == 1) {
+			ui -> remove_button -> setDisabled(true);
+		}
+	}
+	applyEnable();
+}
+
+/**
+ * @brief SelectAutonumW::formula
+ * @return autonumbering widget formula
+ */
+QString SelectAutonumW::formula() {
+	if (this->parentWidget() -> objectName()=="ElementTab")
+	return m_feaw->formula();
+	else if (this->parentWidget() ->objectName()=="ConductorTab")
+	return m_fcaw->formula();
+	else return "";
+}
+
+/**
+ * @brief SelectAutonumW::on_buttonBox_clicked
+ * Action on @buttonBox clicked
+ */
+void SelectAutonumW::on_buttonBox_clicked(QAbstractButton *button) {
+	//transform button to int
+	int answer = ui -> buttonBox -> buttonRole(button);
+	switch (answer) {
+			//Reset the curent context
+		case QDialogButtonBox::ResetRole:
+			setContext(m_context);
+			break;
+			//help dialog
+		case QDialogButtonBox::HelpRole:
+			if (this->parentWidget() -> objectName()=="FolioTab"){
+				QMessageBox::information (this, tr("Folio Autonumérotation", "title window"),
+																		tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux folios.\n"
+																		   "-Une numérotation est composée d'une variable minimum.\n"
+																		   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
+																		   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
+
+																		   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
+																		   "qui s'incrémente à chaque nouveau folio de la valeur du champ \"Incrémentation\".\n"
+																		   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
+																		   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
+																		   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
+
+																		   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n",
+																		   "help dialog about the folio autonumerotation"
+																		   ));
+				break;
+			}
+			else{
+				QMessageBox::information (this, tr("Conducteur Autonumérotation", "title window"),
+																		tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux conducteurs.\n"
+																		   "-Une numérotation est composée d'une variable minimum.\n"
+																		   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
+																		   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
+
+																		   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
+																		   "qui s'incrémente à chaque nouveau conducteur de la valeur du champ \"Incrémentation\".\n"
+																		   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
+																		   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
+																		   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
+
+																		   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n"
+
+																		   "\n-Le type \"N° folio\" représente le n° du folio en cours.\nLes autres champs ne sont pas utilisés.\n"
+
+																		   "\n-Le type \"Folio\" représente le nom du folio en cours.\nLes autres champs ne sont pas utilisés.",
+																		   "help dialog about the conductor autonumerotation"
+																		   ));
+				break;
+			}
+			//apply the context in the diagram displayed by @diagram_chooser.
+		case QDialogButtonBox::ApplyRole:
+			applyEnable(false);
+			emit applyPressed();
+			break;
+	};
+}
+
+/**
+ * @brief SelectAutonumW::applyEnableOnContextChanged
+ * enable/disable the apply button after changing the autonum name
+ */
+void SelectAutonumW::applyEnableOnContextChanged(QString) {
+	applyEnable(true);
+}
+
+/**
+ * @brief SelectAutonumW::applyEnable
+ * enable/disable the apply button
+ */
+void SelectAutonumW::applyEnable(bool b) {
+	if (b){
+		bool valid= true;
+		foreach (NumPartEditorW *npe, num_part_list_) if (!npe -> isValid()) valid= false;
+		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(valid);
+	}
+	else {
+		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
+	}
+	if (this->parentWidget() -> objectName()=="ElementTab")
+		contextToFormula();
+	if (this->parentWidget()->objectName()=="ConductorTab")
+		contextToFormula();
+}
+
+/**
+ * @brief SelectAutonumW::contextToFormula
+ * Apply formula to ElementAutonumbering Widget
+ */
+void SelectAutonumW::contextToFormula() {
+	FormulaAutonumberingW* m_faw;
+	if (this->parentWidget() -> objectName()=="ElementTab")
+		m_faw = m_feaw;
+	if (this->parentWidget()->objectName()=="ConductorTab")
+		m_faw = m_fcaw;
+	m_faw->clearContext();
+	int count_unit = 0;
+	int count_unitf = 0;
+	int count_ten = 0;
+	int count_tenf = 0;
+	int count_hundred = 0;
+	int count_hundredf = 0;
+	foreach (NumPartEditorW *npe, num_part_list_) {
+		if (npe->isValid()) {
+			if (npe->type_ == NumPartEditorW::idfolio) {
+				m_faw->setContext("%id");
+			}
+			else if (npe->type_ == NumPartEditorW::folio) {
+				m_faw->setContext("%F");
+			}
+			else if (npe->type_ == NumPartEditorW::machine) {
+				m_faw->setContext("%M");
+			}
+			else if (npe->type_ == NumPartEditorW::locmach) {
+				m_faw->setContext("%LM");
+			}
+			
+			
+			else if (npe->type_ == NumPartEditorW::elementcolumn) {
+				m_faw->setContext("%c");
+			}
+			else if (npe->type_ == NumPartEditorW::elementline) {
+				m_faw->setContext("%l");
+			}
+			else if (npe->type_ == NumPartEditorW::elementprefix) {
+				m_faw->setContext("%prefix");
+			}
+			else if (npe->type_ == NumPartEditorW::string) {
+				m_faw->setContext(npe->toNumContext().itemAt(0).at(1));
+			}
+			else if (npe->type_ == NumPartEditorW::unit) {
+				count_unit++;
+				m_faw->setContext("%sequ_"+QString::number(count_unit));
+			}
+			else if (npe->type_ == NumPartEditorW::unitfolio) {
+				count_unitf++;
+				m_faw->setContext("%sequf_"+QString::number(count_unitf));
+			}
+			else if (npe->type_ == NumPartEditorW::ten) {
+				count_ten++;
+				m_faw->setContext("%seqt_"+QString::number(count_ten));
+			}
+			else if (npe->type_ == NumPartEditorW::tenfolio) {
+				count_tenf++;
+				m_faw->setContext("%seqtf_"+QString::number(count_tenf));
+			}
+			else if (npe->type_ == NumPartEditorW::hundred) {
+				count_hundred++;
+				m_faw->setContext("%seqh_"+QString::number(count_hundred));
+			}
+			else if (npe->type_ == NumPartEditorW::hundredfolio) {
+				count_hundredf++;
+				m_faw->setContext("%seqhf_"+QString::number(count_hundredf));
+			}
+		}
+	}
+}
+
+/**
+ * @brief SelectAutonumW::on_m_next_pb_clicked
+ * Increase NumerotationContext
+ */
+void SelectAutonumW::on_m_next_pb_clicked() {
+	NumerotationContextCommands ncc (toNumContext());
+	setContext(ncc.next());
+	applyEnable(true);
+}
+
+/**
+ * @brief SelectAutonumW::on_m_previous_pb_clicked
+ * Decrease NumerotationContext
+ */
+void SelectAutonumW::on_m_previous_pb_clicked() {
+	NumerotationContextCommands ncc (toNumContext());
+	setContext(ncc.previous());
+	applyEnable(true);
+}

Copied: trunk/sources/autoNum/ui/selectautonumw.h (from rev 4770, trunk/sources/ui/selectautonumw.h)
===================================================================
--- trunk/sources/autoNum/ui/selectautonumw.h	                        (rev 0)
+++ trunk/sources/autoNum/ui/selectautonumw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,73 @@
+/*
+	Copyright 2006-2016 The QElectroTech Team
+	This file is part of QElectroTech.
+	
+	QElectroTech is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+	
+	QElectroTech is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+	
+	You should have received a copy of the GNU General Public License
+	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef SELECTAUTONUMW_H
+#define SELECTAUTONUMW_H
+
+#include <QWidget>
+#include "numerotationcontext.h"
+#include "formulaautonumberingw.h"
+
+class NumPartEditorW;
+class QAbstractButton;
+class FormulaAutonumberingW;
+
+namespace Ui {
+	class SelectAutonumW;
+}
+
+class SelectAutonumW : public QWidget
+{
+	Q_OBJECT
+	
+	//METHODS
+	public:
+		explicit SelectAutonumW(QWidget *parent = 0);
+		explicit SelectAutonumW(const NumerotationContext &context, QWidget *parent = 0);
+		~SelectAutonumW();
+
+		void setContext (const NumerotationContext &context);
+		NumerotationContext toNumContext() const;
+		void contextToFormula ();
+		QString formula();
+
+	signals:
+		void applyPressed();
+
+	//SLOT
+	public slots:
+		void applyEnableOnContextChanged(QString);
+
+	private slots:
+		void on_add_button_clicked();
+		void on_remove_button_clicked();
+		void on_buttonBox_clicked(QAbstractButton *);
+		void applyEnable (bool = true);
+
+	//ATTRIBUTES
+		void on_m_next_pb_clicked();
+		void on_m_previous_pb_clicked();
+
+	private:
+		Ui::SelectAutonumW *ui;
+		QList <NumPartEditorW *> num_part_list_;
+		NumerotationContext m_context;
+		FormulaAutonumberingW *m_feaw;
+		FormulaAutonumberingW *m_fcaw;
+};
+
+#endif // SELECTAUTONUMW_H

Copied: trunk/sources/autoNum/ui/selectautonumw.ui (from rev 4770, trunk/sources/ui/selectautonumw.ui)
===================================================================
--- trunk/sources/autoNum/ui/selectautonumw.ui	                        (rev 0)
+++ trunk/sources/autoNum/ui/selectautonumw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SelectAutonumW</class>
+ <widget class="QWidget" name="SelectAutonumW">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>418</width>
+    <height>508</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>400</width>
+       <height>455</height>
+      </size>
+     </property>
+     <property name="sizeIncrement">
+      <size>
+       <width>0</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="mouseTracking">
+      <bool>false</bool>
+     </property>
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAlwaysOff</enum>
+     </property>
+     <property name="sizeAdjustPolicy">
+      <enum>QAbstractScrollArea::AdjustToContents</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>400</width>
+        <height>453</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>400</width>
+        <height>450</height>
+       </size>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <widget class="QGroupBox" name="definition_groupe">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="title">
+          <string>Définition</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_3">
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <property name="sizeConstraint">
+             <enum>QLayout::SetDefaultConstraint</enum>
+            </property>
+            <item>
+             <spacer name="horizontalSpacer_2">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QPushButton" name="remove_button">
+              <property name="toolTip">
+               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Supprimer une variable de numérotation&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="icon">
+               <iconset resource="../../qelectrotech.qrc">
+                <normaloff>:/ico/22x22/list-remove.png</normaloff>:/ico/22x22/list-remove.png</iconset>
+              </property>
+              <property name="flat">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="add_button">
+              <property name="toolTip">
+               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Ajouter une variable de numérotation&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="icon">
+               <iconset resource="../../qelectrotech.qrc">
+                <normaloff>:/ico/22x22/list-add.png</normaloff>:/ico/22x22/list-add.png</iconset>
+              </property>
+              <property name="flat">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="m_previous_pb">
+              <property name="toolTip">
+               <string>Précédent</string>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="icon">
+               <iconset resource="../../qelectrotech.qrc">
+                <normaloff>:/ico/16x16/arrow-left.png</normaloff>:/ico/16x16/arrow-left.png</iconset>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="m_next_pb">
+              <property name="toolTip">
+               <string>Suivant</string>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="icon">
+               <iconset resource="../../qelectrotech.qrc">
+                <normaloff>:/ico/16x16/arrow-right.png</normaloff>:/ico/16x16/arrow-right.png</iconset>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="editor_layout" stretch="0">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <property name="sizeConstraint">
+             <enum>QLayout::SetDefaultConstraint</enum>
+            </property>
+            <item>
+             <layout class="QHBoxLayout" name="label_layout" stretch="0,0,0">
+              <property name="spacing">
+               <number>0</number>
+              </property>
+              <property name="sizeConstraint">
+               <enum>QLayout::SetDefaultConstraint</enum>
+              </property>
+              <item>
+               <widget class="QLabel" name="type_label">
+                <property name="text">
+                 <string>Type</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="value_label">
+                <property name="text">
+                 <string>Valeur</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="increase_label">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text">
+                 <string>Incrémentation</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <spacer name="verticalSpacer">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::MinimumExpanding</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>0</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Apply|QDialogButtonBox::Help|QDialogButtonBox::Reset</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources>
+  <include location="../../qelectrotech.qrc"/>
+ </resources>
+ <connections/>
+</ui>

Deleted: trunk/sources/numerotationcontext.cpp
===================================================================
--- trunk/sources/numerotationcontext.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/numerotationcontext.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,173 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "numerotationcontext.h"
-#include "qet.h"
-
-/**
- * Constructor
- */
-NumerotationContext::NumerotationContext(){
-}
-
-/**
- * Constructor from xml
- */
-NumerotationContext::NumerotationContext(QDomElement &e) {
-	fromXml(e);
-}
-
-/**
- * @brief NumerotationContext::clear, clear the content
- */
-void NumerotationContext::clear () {
-	content_.clear();
-}
-
-/**
- * @brief NumerotationContext::addValue, add a new value on the contexte
- * @param type the type of value
- * @param value the value itself
- * @param increase the increase number of value
- * @return true if value is append
- */
-bool NumerotationContext::addValue(const QString &type, const QVariant &value, const int increase, const int initialvalue) {
-	if (!keyIsAcceptable(type) && !value.canConvert(QVariant::String)) return false;
-	if (keyIsNumber(type) && !value.canConvert(QVariant::Int)) return false;
-
-	QString valuestr = value.toString();
-	valuestr.remove("|");
-	content_ << type + "|" + valuestr + "|" + QString::number(increase) + "|" + QString::number(initialvalue);
-	return true;
-}
-
-/**
- * @brief NumerotationContext::operator []
- * @return the string at position @i
- */
-QString NumerotationContext::operator [] (const int &i) const {
-	return (content_.at(i));
-}
-
-/**
- * @brief NumerotationContext::operator << , append other
- */
-void NumerotationContext::operator << (const NumerotationContext &other) {
-	for (int i=0; i<other.size(); ++i) content_.append(other[i]);
-}
-
-/**
- * @brief NumerotationContext::size
- * @return size of context
- */
-int NumerotationContext::size() const {
-	return (content_.size());
-}
-
-/**
- * @brief NumerotationContext::isEmpty
- * @return true if numerotation contet is empty
- */
-bool NumerotationContext::isEmpty() const {
-	if (content_.size() > 0) return false;
-	return true;
-}
-/**
- * @brief NumerotationContext::itemAt
- * @return the content at position @i 1:type 2:value 3:increase
- */
-QStringList NumerotationContext::itemAt(const int i) const {
-	return (content_.at(i).split("|"));
-}
-
-/**
- * @brief validRegExpNum
- * @return all type use to numerotation
- */
-QString NumerotationContext::validRegExpNum () const {
-	return ("unit|unitfolio|ten|hundred|string|idfolio|folio|machine|locmach|elementline|elementcolumn|elementprefix");
-}
-
-/**
- * @brief NumerotationContext::validRegExpNumber
- * @return all type represents a number
- */
-QString NumerotationContext::validRegExpNumber() const {
-	return ("unit|unitfolio|ten|hundred");
-}
-
-/**
- * @brief NumerotationContext::keyIsAcceptable
- * @return true if @type is acceptable
- */
-bool NumerotationContext::keyIsAcceptable(const QString &type) const {
-	return (type.contains(QRegExp(validRegExpNum())));
-}
-
-/**
- * @brief NumerotationContext::keyIsNumber
- * @return true if @type represent a number
- */
-bool NumerotationContext::keyIsNumber(const QString &type) const {
-	return (type.contains(QRegExp(validRegExpNumber())));
-}
-
-/**
- * @brief NumerotationContext::toXml
- * Save the numerotation context in a QDomElement under the element name @str
- */
-QDomElement NumerotationContext::toXml(QDomDocument &d, QString str) {
-	QDomElement num_auto = d.createElement(str);
-	for (int i=0; i<content_.size(); ++i) {
-		QStringList strl = itemAt(i);
-		QDomElement part = d.createElement("part");
-		part.setAttribute("type", strl.at(0));
-		part.setAttribute("value", strl.at(1));
-		part.setAttribute("increase", strl.at(2));
-		if (strl.at(0) == ("unitfolio") ||
-			strl.at(0) == ("tenfolio")  ||
-			strl.at(0) == ("hundredfolio")) {
-			part.setAttribute("initialvalue", strl.at(3));
-		}
-		num_auto.appendChild(part);
-	}
-	return num_auto;
-}
-
-/**
- * @brief NumerotationContext::fromXml
- * load numerotation context from @e
- */
-void NumerotationContext::fromXml(QDomElement &e) {
-	clear();
-	foreach(QDomElement qde, QET::findInDomElement(e, "part")) addValue(qde.attribute("type"), qde.attribute("value"), qde.attribute("increase").toInt(), qde.attribute("initialvalue").toInt());
-}
-
-/**
- * @brief NumerotationContext::replaceValue
- * This class replaces the current NC field value with content
- * @param index of NC Item
- * @param QString content to replace current value
- */
-void NumerotationContext::replaceValue(int index, QString content) {
-	QString sep = "|";
-	QString type = content_[index].split("|").at(0);
-	QString value = content;
-	QString increase = content_[index].split("|").at(2);
-	QString initvalue = content_[index].split("|").at(3);
-	content_[index].replace(content_[index], type + "|" + value + "|" + increase + "|" + initvalue);
-}

Deleted: trunk/sources/numerotationcontext.h
===================================================================
--- trunk/sources/numerotationcontext.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/numerotationcontext.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,54 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef NUMEROTATIONCONTEXT_H
-#define NUMEROTATIONCONTEXT_H
-
-#include <QStringList>
-#include <QVariant>
-#include <QDomElement>
-
-/**
-	This class represents a numerotation context, i.e. the data (type, value, increase)
-	of a numerotation at a given time. It is notably used by conductor
-	to store the informations they need to do their autonumerotation.
- */
-class NumerotationContext
-{
-	public:
-	NumerotationContext ();
-	NumerotationContext (QDomElement &);
-	void clear();
-	bool addValue(const QString &, const QVariant & = QVariant(1), const int = 1, const int = 0);
-	QString operator[] (const int &) const;
-	void operator << (const NumerotationContext &);
-	int size() const;
-	bool isEmpty() const;
-	QStringList itemAt(const int) const;
-	QString validRegExpNum () const;
-	QString validRegExpNumber() const;
-	bool keyIsAcceptable (const QString &) const;
-	bool keyIsNumber(const QString &) const;
-	QDomElement toXml(QDomDocument &, QString);
-	void fromXml(QDomElement &);
-	void replaceValue(int, QString);
-
-	private:
-	QStringList content_;
-};
-
-#endif // NUMEROTATIONCONTEXT_H

Deleted: trunk/sources/numerotationcontextcommands.cpp
===================================================================
--- trunk/sources/numerotationcontextcommands.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/numerotationcontextcommands.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,660 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "numerotationcontextcommands.h"
-#include "diagram.h"
-
-/**
- * @brief Constructor
- */
-NumerotationContextCommands::NumerotationContextCommands(const NumerotationContext &nc, Diagram *d):
-	diagram_ (d),
-	context_ (nc),
-	strategy_ (NULL)
-{}
-
-/**
- * @brief Destructor
- */
-NumerotationContextCommands::~NumerotationContextCommands() {
-	if (strategy_) delete strategy_;
-}
-
-/**
- * @brief NumerotationContextCommands::next
- * @return the next numerotation context
- */
-NumerotationContext NumerotationContextCommands::next() {
-	NumerotationContext contextnum;
-
-	for (int i=0; i<context_.size(); ++i) {
-		QStringList str = context_.itemAt(i);
-		setNumStrategy(str.at(0));
-		contextnum << strategy_ -> next(context_, i);
-	}
-	return contextnum;
-}
-
-/**
- * @brief NumerotationContextCommands::previous
- * @return the previous numerotation context
- */
-NumerotationContext NumerotationContextCommands::previous() {
-	NumerotationContext contextnum;
-
-	for (int i=0; i<context_.size(); ++i) {
-		QStringList str = context_.itemAt(i);
-		setNumStrategy(str.at(0));
-		contextnum << strategy_ -> previous(context_, i);
-	}
-	return contextnum;
-}
-
-/**
- * @brief NumerotationContextCommands::toFinalString
- * @return the string represented by the numerotation context
- */
-QString NumerotationContextCommands::toRepresentedString() {
-	QString num;
-	if (context_.size()) {
-		for (int i=0; i<context_.size(); i++) {
-			QStringList  str = context_.itemAt(i);
-			setNumStrategy(str.at(0));
-			num += strategy_ -> toRepresentedString(str.at(1));
-		}
-		return num;
-	}
-	if (diagram_) return (diagram_ -> defaultConductorProperties.text);
-	return QString();
-}
-
-/**
- * @brief NumerotationContextCommands::setNumStrategy
- * apply the good strategy relative to @str
- */
-void NumerotationContextCommands::setNumStrategy(const QString &str) {
-	if (strategy_) delete strategy_;
-	if (str == "unit") {
-		strategy_ = new UnitNum(diagram_);
-		return;
-	}
-	else if (str == "unitfolio") {
-		strategy_ = new UnitFNum (diagram_);
-		return;
-	}
-	else if (str == "ten") {
-		strategy_ = new TenNum (diagram_);
-		return;
-	}
-	else if (str == "tenfolio") {
-		strategy_ = new TenFNum (diagram_);
-		return;
-	}
-	else if (str == "hundred") {
-		strategy_ = new HundredNum (diagram_);
-		return;
-	}
-	else if (str == "hundredfolio") {
-		strategy_ = new HundredFNum (diagram_);
-		return;
-	}
-	else if (str == "string") {
-		strategy_ = new StringNum (diagram_);
-		return;
-	}
-	else if (str == "idfolio") {
-		strategy_ = new IdFolioNum (diagram_);
-		return;
-	}
-	else if (str=="folio"){
-		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;
-	}
-	else if (str=="elementcolumn"){
-		strategy_ = new ElementColumnNum (diagram_);
-		return;
-	}
-	else if (str=="elementprefix"){
-		strategy_ = new ElementPrefixNum (diagram_);
-		return;
-	}
-}
-
-
-
-/**
- * Constructor
- */
-NumStrategy::NumStrategy (Diagram *d):
-	diagram_ (d)
-{}
-
-NumStrategy::~NumStrategy() {}
-
-/**
- * @brief NumStrategy::nextString
- * @return the next value of @nc at position @i
- */
-NumerotationContext NumStrategy::nextString (const NumerotationContext &nc, const int i) const {
-	QStringList strl = nc.itemAt(i);
-	NumerotationContext newnc;
-	newnc.addValue(strl.at(0), strl.at(1), strl.at(2).toInt());
-	return (newnc);
-}
-
-/**
- * @brief NumStrategy::nextNumber
- * @return the next value of @nc at position @i
- */
-NumerotationContext NumStrategy::nextNumber (const NumerotationContext &nc, const int i) const {
-	QStringList strl = nc.itemAt(i);
-	NumerotationContext newnc;
-	QString value = QString::number( (strl.at(1).toInt()) + (strl.at(2).toInt()) );
-	newnc.addValue(strl.at(0), value, strl.at(2).toInt(), strl.at(3).toInt());
-	return (newnc);
-}
-
-/**
- * @brief NumStrategy::previousNumber
- * @return  the previous value of @nc at position @i
- */
-NumerotationContext NumStrategy::previousNumber(const NumerotationContext &nc, const int i) const {
-	QStringList strl = nc.itemAt(i);
-	NumerotationContext newnc;
-	QString value = QString::number( (strl.at(1).toInt()) - (strl.at(2).toInt()) );
-	newnc.addValue(strl.at(0), value, strl.at(2).toInt(), strl.at(3).toInt());
-	return (newnc);
-}
-
-/**
- * Constructor
- */
-UnitNum::UnitNum(Diagram *d):
-	NumStrategy(d)
-{}
-
-/**
- * @brief UnitNum::toRepresentedString
- * @return the represented string of num
- */
-QString UnitNum::toRepresentedString(const QString num) const {
-	return (num);
-}
-
-/**
- * @brief UnitNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext UnitNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextNumber(nc, i));
-}
-
-/**
- * @brief UnitNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext UnitNum::previous(const NumerotationContext &nc, const int i) const {
-	return (previousNumber(nc, i));
-}
-
-/**
- * Constructor
- */
-UnitFNum::UnitFNum(Diagram *d):
-	NumStrategy(d)
-{}
-
-/**
- * @brief UnitFNum::toRepresentedString
- * @return the represented string of num
- */
-QString UnitFNum::toRepresentedString(const QString num) const {
-	return (num);
-}
-
-/**
- * @brief UnitFNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext UnitFNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextNumber(nc, i));
-}
-
-/**
- * @brief UnitFNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext UnitFNum::previous(const NumerotationContext &nc, const int i) const {
-	return (previousNumber(nc, i));
-}
-
-/**
- * Constructor
- */
-TenNum::TenNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief TenNum::toRepresentedString
- * @return the represented string of num
- */
-QString TenNum::toRepresentedString(const QString num) const {
-	int numint = num.toInt();
-	QString numstr = num;
-	if (numint<10) numstr.prepend("0");
-	return (numstr);
-}
-
-/**
- * @brief TenNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext TenNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextNumber(nc, i));
-}
-
-/**
- * @brief TenNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext TenNum::previous(const NumerotationContext &nc, const int i) const {
-	return (previousNumber(nc, i));
-}
-
-/**
- * Constructor
- */
-TenFNum::TenFNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief TenFNum::toRepresentedString
- * @return the represented string of num
- */
-QString TenFNum::toRepresentedString(const QString num) const {
-	int numint = num.toInt();
-	QString numstr = num;
-	if (numint<10) numstr.prepend("0");
-	return (numstr);
-}
-
-/**
- * @brief TenFNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext TenFNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextNumber(nc, i));
-}
-
-/**
- * @brief TenFNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext TenFNum::previous(const NumerotationContext &nc, const int i) const {
-	return (previousNumber(nc, i));
-}
-
-
-/**
- * Constructor
- */
-HundredNum::HundredNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief HundredNum::toRepresentedString
- * @return the represented string of num
- */
-QString HundredNum::toRepresentedString(const QString num) const {
-	int numint = num.toInt();
-	QString numstr = num;
-	if (numint<100) {
-		if (numint<10) {
-			numstr.prepend("00");
-		}
-		else numstr.prepend("0");
-	}
-	return (numstr);
-}
-
-/**
- * @brief HundredNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext HundredNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextNumber(nc, i));
-}
-
-/**
- * @brief HundredNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext HundredNum::previous(const NumerotationContext &nc, const int i) const {
-	return (previousNumber(nc, i));
-}
-
-/**
- * Constructor
- */
-HundredFNum::HundredFNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief HundredFNum::toRepresentedString
- * @return the represented string of num
- */
-QString HundredFNum::toRepresentedString(const QString num) const {
-	int numint = num.toInt();
-	QString numstr = num;
-	if (numint<100) {
-		if (numint<10) {
-			numstr.prepend("00");
-		}
-		else numstr.prepend("0");
-	}
-	return (numstr);
-}
-
-/**
- * @brief HundredFNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext HundredFNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextNumber(nc, i));
-}
-
-/**
- * @brief HundredFNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext HundredFNum::previous(const NumerotationContext &nc, const int i) const {
-	return (previousNumber(nc, i));
-}
-
-/**
- * Constructor
- */
-StringNum::StringNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief StringNum::toRepresentedString
- * @return the represented string of num
- */
-QString StringNum::toRepresentedString(const QString str) const {
-	return (str);
-}
-
-/**
- * @brief StringNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext StringNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * @brief StringNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext StringNum::previous(const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * Constructor
- */
-IdFolioNum::IdFolioNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief IdFolioNum::toRepresentedString
- * @return the represented string of num
- */
-QString IdFolioNum::toRepresentedString(const QString str) const {
-	Q_UNUSED(str);
-	return ("%id");
-}
-
-/**
- * @brief IdFolioNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext IdFolioNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * @brief IdFolioNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext IdFolioNum::previous(const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * Constructor
- */
-FolioNum::FolioNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief FolioNum::toRepresentedString
- * @return the represented string of folio
- */
-QString FolioNum::toRepresentedString(const QString str) const {
-	Q_UNUSED(str);
-	return ("%F");
-}
-
-/**
- * @brief FolioNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext FolioNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * @brief FolioNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext FolioNum::previous(const NumerotationContext &nc, const int i) const {
-	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
- */
-ElementLineNum::ElementLineNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief ElementLineNum::toRepresentedString
- * @return the represented string of folio
- */
-QString ElementLineNum::toRepresentedString(const QString str) const {
-	Q_UNUSED(str);
-	return "%l";
-}
-
-/**
- * @brief ElementLineNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext ElementLineNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * @brief ElementLineNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext ElementLineNum::previous(const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * Constructor
- */
-ElementColumnNum::ElementColumnNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief ElementColumnNum::toRepresentedString
- * @return the represented string of folio
- */
-QString ElementColumnNum::toRepresentedString(const QString str) const {
-	Q_UNUSED(str);
-	return "%c";
-}
-
-/**
- * @brief ElementColumnNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext ElementColumnNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * @brief ElementColumnNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext ElementColumnNum::previous(const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * Constructor
- */
-ElementPrefixNum::ElementPrefixNum (Diagram *d):
-	NumStrategy (d)
-{}
-
-/**
- * @brief ElementPrefixNum::toRepresentedString
- * @return the represented string of folio
- */
-QString ElementPrefixNum::toRepresentedString(const QString str) const {
-	Q_UNUSED(str);
-	return "%prefix";
-}
-
-/**
- * @brief ElementPrefixNum::next
- * @return the next NumerotationContext nc at position i
- */
-NumerotationContext ElementPrefixNum::next (const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-
-/**
- * @brief ElementPrefixNum::previous
- * @return the previous NumerotationContext nc at posiiton i
- */
-NumerotationContext ElementPrefixNum::previous(const NumerotationContext &nc, const int i) const {
-	return (nextString(nc, i));
-}
-

Deleted: trunk/sources/numerotationcontextcommands.h
===================================================================
--- trunk/sources/numerotationcontextcommands.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/numerotationcontextcommands.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,191 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef NUMEROTATIONCONTEXTCOMMANDS_H
-#define NUMEROTATIONCONTEXTCOMMANDS_H
-
-#include "numerotationcontext.h"
-
-class NumStrategy;
-class Diagram;
-
-/**
- * this class provide methods to handle content of NumerotationContext.
- */
-class NumerotationContextCommands
-{
-	public:
-	NumerotationContextCommands (const NumerotationContext &, Diagram * = nullptr);
-	~NumerotationContextCommands ();
-	NumerotationContext next ();
-	NumerotationContext previous ();
-	QString toRepresentedString ();
-
-	private:
-	void setNumStrategy (const QString &);
-
-	Diagram *diagram_;
-	NumerotationContext context_;
-	NumStrategy *strategy_;
-};
-
-class NumStrategy
-{
-	public:
-	NumStrategy (Diagram * = nullptr);
-	virtual ~NumStrategy ();
-	virtual QString toRepresentedString (const QString) const = 0;
-	virtual NumerotationContext next     (const NumerotationContext &, const int) const = 0;
-	virtual NumerotationContext previous (const NumerotationContext &, const int) const = 0;
-
-	protected:
-	NumerotationContext nextString (const NumerotationContext &, const int) const;
-	NumerotationContext nextNumber (const NumerotationContext &, const int) const;
-	NumerotationContext previousNumber (const NumerotationContext &, const int) const;
-
-	Diagram *diagram_;
-};
-
-class UnitNum: public NumStrategy
-{
-	public:
-	UnitNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class UnitFNum: public NumStrategy
-{
-	public:
-	UnitFNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class TenNum: public NumStrategy
-{
-	public:
-	TenNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class TenFNum: public NumStrategy
-{
-	public:
-	TenFNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class HundredNum: public NumStrategy
-{
-	public:
-	HundredNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class HundredFNum: public NumStrategy
-{
-	public:
-	HundredFNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class StringNum: public NumStrategy
-{
-	public:
-	StringNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class IdFolioNum: public NumStrategy
-{
-	public:
-	IdFolioNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class FolioNum: public NumStrategy
-{
-	public:
-	FolioNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	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:
-	ElementLineNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class ElementColumnNum: public NumStrategy
-{
-	public:
-	ElementColumnNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-class ElementPrefixNum: public NumStrategy
-{
-	public:
-	ElementPrefixNum (Diagram *);
-	QString toRepresentedString(const QString) const;
-	NumerotationContext next     (const NumerotationContext &, const int) const;
-	NumerotationContext previous (const NumerotationContext &, const int) const;
-};
-
-
-#endif // NUMEROTATIONCONTEXTCOMMANDS_H

Deleted: trunk/sources/ui/autonumberingdockwidget.cpp
===================================================================
--- trunk/sources/ui/autonumberingdockwidget.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumberingdockwidget.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,272 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "autonumberingdockwidget.h"
-#include "qetapp.h"
-#include "ui_autonumberingdockwidget.h"
-#include "diagramview.h"
-#include "diagram.h"
-#include "titleblockproperties.h"
-#include "numerotationcontext.h"
-
-/**
- * @brief AutoNumberingDockWidget::AutoNumberingDockWidget
- * Constructor
- * @param parent : parent widget
- */
-AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent, QETProject *project) :
-	QDockWidget(parent),
-	ui(new Ui::AutoNumberingDockWidget),
-	project_(project)
-{
-	ui->setupUi(this);
-}
-
-/**
- * @brief AutoNumberingDockWidget::~AutoNumberingDockWidget
- * Destructor
- */
-AutoNumberingDockWidget::~AutoNumberingDockWidget()
-{
-	this->disconnect();
-	delete ui;
-}
-
-/**
- * @brief AutoNumberingDockWidget::clear
- * Remove all combo box values
- */
-void AutoNumberingDockWidget::clear()
-{
-	ui->m_conductor_cb->clear();
-	ui->m_element_cb->clear();
-	ui->m_folio_cb->clear();
-}
-
-/**
- * @brief AutoNumberingDockWidget::setProject
- * @param project: project to be setted
- * @param projectview: projectview to be setted
- * assign Project and ProjectView, connect all signals and setContext
- */
-void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *projectview) {
-
-	project_ = project;
-	projectview_ = projectview;
-
-	//Conductor Signals
-	connect(project_, SIGNAL(conductorAutoNumChanged()),this,SLOT(conductorAutoNumChanged()));
-	connect (project_,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged()));
-	connect (project_,SIGNAL(conductorAutoNumAdded()),   this,SLOT(conductorAutoNumChanged()));
-	connect(projectview_,SIGNAL(diagramActivated(DiagramView*)),this,SLOT(setConductorActive(DiagramView*)));
-
-	//Element Signals
-	connect (project_,SIGNAL(elementAutoNumRemoved()),   this,SLOT(elementAutoNumChanged()));
-	connect (project_,SIGNAL(elementAutoNumAdded()),     this,SLOT(elementAutoNumChanged()));
-
-	//Folio Signals
-	connect (project_,SIGNAL(folioAutoNumRemoved()),     this,SLOT(folioAutoNumChanged()));
-	connect (project_,SIGNAL(folioAutoNumAdded()),       this,SLOT(folioAutoNumChanged()));
-	connect (this,
-			 SIGNAL(folioAutoNumChanged(QString)),
-			 &projectview_->currentDiagram()->diagram()->border_and_titleblock,
-			 SLOT (slot_setAutoPageNum(QString)));
-	connect(project_, SIGNAL(defaultTitleBlockPropertiesChanged()),this,SLOT(setActive()));
-
-	//Conductor, Element and Folio Signals
-	connect(projectview_,SIGNAL(projectClosed(ProjectView*)),this,SLOT(clear()));
-
-	//Set Combobox Context
-	setContext();
-}
-
-/**
- * @brief AutoNumberingDockWidget::setContext
- * Add all itens to comboboxes
- */
-void AutoNumberingDockWidget::setContext() {
-
-	this->clear();
-
-	//Conductor Combobox
-	ui->m_conductor_cb->addItem("");
-	QList <QString> keys_conductor = project_->conductorAutoNum().keys();
-	if (!keys_conductor.isEmpty()) {
-		foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
-	}
-
-	//Element Combobox
-	ui->m_element_cb->addItem("");
-	QList <QString> keys_element = project_->elementAutoNum().keys();
-	if (!keys_element.isEmpty()) {
-		foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
-	}
-
-	//Folio Combobox
-	ui->m_folio_cb->addItem("");
-	QList <QString> keys_folio = project_->folioAutoNum().keys();
-	if (!keys_folio.isEmpty()) {
-		foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
-	}
-
-	this->setActive();
-}
-
-/**
- * @brief AutoNumberingDockWidget::setConductorActive
- * @param dv: activated diagramview
- */
-void AutoNumberingDockWidget::setConductorActive(DiagramView* dv) {
-	if (dv!=NULL) {
-		QString conductor_autonum = dv->diagram()->conductorsAutonumName();
-		int conductor_index = ui->m_conductor_cb->findText(conductor_autonum);
-		ui->m_conductor_cb->setCurrentIndex(conductor_index);
-	}
-}
-
-/**
- * @brief AutoNumberingDockWidget::setActive
- * Set current used autonumberings
- */
-void AutoNumberingDockWidget::setActive() {
-
-	if (projectview_!=NULL) {
-			//Conductor
-		if (projectview_->currentDiagram()) {
-			QString conductor_autonum = projectview_->currentDiagram()->diagram()->conductorsAutonumName();
-			int conductor_index = ui->m_conductor_cb->findText(conductor_autonum);
-			ui->m_conductor_cb->setCurrentIndex(conductor_index);
-		}
-
-			//Element
-		QString element_formula = project_->elementAutoNumCurrentFormula();
-		QString active_element_autonum = project_->elementCurrentAutoNum();
-		int el_index = ui->m_element_cb->findText(active_element_autonum);
-		ui->m_element_cb->setCurrentIndex(el_index);
-
-			//Folio
-		if (project_->defaultTitleBlockProperties().folio == "%autonum") {
-			QString page_autonum = project_->defaultTitleBlockProperties().auto_page_num;
-			int folio_index = ui->m_folio_cb->findText(page_autonum);
-			ui->m_folio_cb->setCurrentIndex(folio_index);
-		}
-	}
-}
-
-/**
- * @brief AutoNumberingDockWidget::conductorAutoNumChanged
- * Add new or remove conductor auto num from combobox
- */
-void AutoNumberingDockWidget::conductorAutoNumChanged() {
-
-	ui->m_conductor_cb->clear();
-
-	//Conductor Combobox
-	ui->m_conductor_cb->addItem("");
-	QList <QString> keys_conductor = project_->conductorAutoNum().keys();
-	if (!keys_conductor.isEmpty()) {
-		foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
-	}
-	setActive();
-}
-
-/**
- * @brief AutoNumberingDockWidget::on_m_conductor_cb_activated
- * @param unused
- * Set new conductor AutoNum
- */
-void AutoNumberingDockWidget::on_m_conductor_cb_activated(int) {
-	QString current_autonum = ui->m_conductor_cb->currentText();
-	QString current_formula = project_->conductorAutoNumFormula(current_autonum);
-	if (current_autonum != "") {
-		project_->setConductorAutoNumCurrentFormula(current_formula, current_autonum);
-	}
-	else
-		project_->setConductorAutoNumCurrentFormula("","");
-	projectview_->currentDiagram()->diagram()->setConductorsAutonumName(current_autonum);
-	projectview_->currentDiagram()->diagram()->loadCndFolioSeq();
-}
-
-/**
- * @brief AutoNumberingDockWidget::elementAutoNumChanged
- * Add new or remove element auto num from combobox
- */
-void AutoNumberingDockWidget::elementAutoNumChanged() {
-
-	ui->m_element_cb->clear();
-
-	//Element Combobox
-	ui->m_element_cb->addItem("");
-	QList <QString> keys_element = project_->elementAutoNum().keys();
-	if (!keys_element.isEmpty()) {
-		foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
-	}
-	setActive();
-}
-
-/**
- * @brief AutoNumberingDockWidget::on_m_element_cb_activated
- * @param unused
- * Set new element AutoNum
- */
-void AutoNumberingDockWidget::on_m_element_cb_activated(int) {
-	QString current_autonum = ui->m_element_cb->currentText();
-	QString current_formula = project_->elementAutoNumFormula(current_autonum);
-	if (current_autonum != "") {
-		project_->setElementAutoNumCurrentFormula(current_formula, current_autonum);
-	}
-	else
-		project_->setElementAutoNumCurrentFormula("","");
-	projectview_->currentDiagram()->diagram()->loadElmtFolioSeq();
-}
-
-/**
- * @brief AutoNumberingDockWidget::folioAutoNumChanged
- * Add new or remove folio auto num from combobox
- */
-void AutoNumberingDockWidget::folioAutoNumChanged() {
-
-	ui->m_folio_cb->clear();
-
-	//Folio Combobox
-	ui->m_folio_cb->addItem("");
-	QList <QString> keys_folio = project_->folioAutoNum().keys();
-	if (!keys_folio.isEmpty()) {
-		foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
-	}
-	setActive();
-}
-
-/**
- * @brief AutoNumberingDockWidget::on_m_folio_cb_activated
- * @param unused
- * Set new folio AutoNum
- */
-void AutoNumberingDockWidget::on_m_folio_cb_activated(int) {
-	QString current_autonum = ui->m_folio_cb->currentText();
-	TitleBlockProperties ip = project_ -> defaultTitleBlockProperties();
-	if (current_autonum != "") {
-		ip.setAutoPageNum(current_autonum);
-		ip.folio = "%autonum";
-		project_->setDefaultTitleBlockProperties(ip);
-	}
-	else {
-		ip.folio = "%id/%total";
-		project_->setDefaultTitleBlockProperties(ip);
-	}
-		emit(folioAutoNumChanged(current_autonum));
-}

Deleted: trunk/sources/ui/autonumberingdockwidget.h
===================================================================
--- trunk/sources/ui/autonumberingdockwidget.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumberingdockwidget.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,63 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef AUTONUMBERINGDOCKWIDGET_H
-#define AUTONUMBERINGDOCKWIDGET_H_H
-
-#include "qetproject.h"
-#include "projectview.h"
-#include <QDockWidget>
-
-namespace Ui {
-	class AutoNumberingDockWidget;
-}
-
-class AutoNumberingDockWidget : public QDockWidget
-{
-		Q_OBJECT
-
-	public:
-		explicit AutoNumberingDockWidget(QWidget *parent = 0, QETProject *project = nullptr);
-		~AutoNumberingDockWidget();
-
-		void setContext();
-		void setProject(QETProject*, ProjectView*);
-
-	public slots:
-		void setActive();
-		void setConductorActive(DiagramView*);
-
-	private slots:
-		void on_m_conductor_cb_activated(int);
-		void on_m_element_cb_activated(int);
-		void on_m_folio_cb_activated(int);
-		void conductorAutoNumChanged();
-		void elementAutoNumChanged();
-		void folioAutoNumChanged();
-		void clear();
-
-	signals:
-		void folioAutoNumChanged(QString);
-
-	private:
-		Ui::AutoNumberingDockWidget *ui;
-		QETProject* project_;
-		ProjectView* projectview_;
-
-};
-
-#endif // AUTONUMBERINGDOCKWIDGET_H

Deleted: trunk/sources/ui/autonumberingdockwidget.ui
===================================================================
--- trunk/sources/ui/autonumberingdockwidget.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumberingdockwidget.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>AutoNumberingDockWidget</class>
- <widget class="QDockWidget" name="AutoNumberingDockWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>300</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Autonumerotation Séléction</string>
-  </property>
-  <widget class="QWidget" name="dockWidgetContents">
-   <layout class="QVBoxLayout" name="verticalLayout">
-    <property name="sizeConstraint">
-     <enum>QLayout::SetMaximumSize</enum>
-    </property>
-    <property name="leftMargin">
-     <number>0</number>
-    </property>
-    <property name="topMargin">
-     <number>0</number>
-    </property>
-    <property name="rightMargin">
-     <number>0</number>
-    </property>
-    <property name="bottomMargin">
-     <number>0</number>
-    </property>
-    <item>
-     <widget class="QGroupBox" name="groupBox">
-      <property name="title">
-       <string/>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayout_2">
-       <item>
-        <layout class="QGridLayout" name="gridLayout">
-         <item row="1" column="0">
-          <widget class="QLabel" name="label">
-           <property name="text">
-            <string>Element</string>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="1">
-          <widget class="QComboBox" name="m_element_cb"/>
-         </item>
-         <item row="0" column="1">
-          <widget class="QComboBox" name="m_conductor_cb"/>
-         </item>
-         <item row="0" column="0">
-          <widget class="QLabel" name="label_2">
-           <property name="text">
-            <string>Conductor</string>
-           </property>
-          </widget>
-         </item>
-         <item row="2" column="0">
-          <widget class="QLabel" name="label_3">
-           <property name="text">
-            <string>Folio</string>
-           </property>
-          </widget>
-         </item>
-         <item row="3" column="0">
-          <spacer name="verticalSpacer">
-           <property name="orientation">
-            <enum>Qt::Vertical</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>20</width>
-             <height>40</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item row="2" column="1">
-          <widget class="QComboBox" name="m_folio_cb"/>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-    </item>
-   </layout>
-  </widget>
- </widget>
- <resources/>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/autonumberingmanagementw.cpp
===================================================================
--- trunk/sources/ui/autonumberingmanagementw.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumberingmanagementw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,213 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "autonumberingmanagementw.h"
-#include "ui_autonumberingmanagementw.h"
-#include "numparteditorw.h"
-#include <QMessageBox>
-#include "numerotationcontextcommands.h"
-#include "formulaautonumberingw.h"
-#include "ui_formulaautonumberingw.h"
-#include "qdebug.h"
-#include "qetproject.h"
-#include "diagram.h"
-
-/**
- * Constructor
- */
-AutoNumberingManagementW::AutoNumberingManagementW(QETProject *project, QWidget *parent) :
-	QWidget(parent),
-	project_(project)
-{
-	ui = new Ui::AutoNumberingManagementW;
-	ui->setupUi(this);
-	ui->m_apply_locations_rb->setHidden(true);
-	ui->m_selected_locations_le->setHidden(true);
-	ui->folioWidget->setHidden(true);
-	ui->m_selected_folios_widget->setDisabled(true);
-	ui->m_selected_folios_le->setDisabled(true);
-	ui->m_selected_folios_le->setReadOnly(true);
-	applyEnable(false);
-	setProjectContext();
-}
-
-/**
- * Destructor
- */
-AutoNumberingManagementW::~AutoNumberingManagementW()
-{
-	delete ui;
-}
-
-/**
- * @brief AutoNumberingManagementW::setProjectContext
- * Add Default Project Status
- */
-void AutoNumberingManagementW::setProjectContext() {
-	ui->m_status_cb->addItem(tr("Under Development"));
-	ui->m_status_cb->addItem(tr("Installing"));
-	ui->m_status_cb->addItem(tr("Built"));
-}
-
-/**
- * @brief AutoNumberingManagementW::on_m_status_cb_currentIndexChanged
- * Load Default Status Options
- */
-void AutoNumberingManagementW::on_m_status_cb_currentIndexChanged(int index) {
-
-	//Under Development
-	if (index == 0) {
-		ui->conductorWidget->setEnabled(true);
-		ui->elementWidget->setEnabled(true);
-		ui->folioWidget->setEnabled(true);
-		ui->m_both_conductor_rb->setChecked(true);
-		ui->m_both_element_rb->setChecked(true);
-		ui->m_both_folio_rb->setChecked(true);
-	}
-	//Installing
-	else if (index == 1) {
-		ui->conductorWidget->setEnabled(true);
-		ui->elementWidget->setEnabled(true);
-		ui->folioWidget->setEnabled(true);
-		ui->m_new_conductor_rb->setChecked(true);
-		ui->m_new_element_rb->setChecked(true);
-		ui->m_new_folio_rb->setChecked(true);
-	}
-	//Built
-	else if (index == 2) {
-		ui->m_disable_conductor_rb->setChecked(true);
-		ui->m_disable_element_rb->setChecked(true);
-		ui->m_disable_folio_rb->setChecked(true);
-	}
-}
-
-/**
- * @brief AutoNumberingManagementW::on_m_apply_folios_rb_clicked
- * Set From Folios Combobox
- */
-void AutoNumberingManagementW::on_m_apply_folios_rb_clicked() {
-	if (ui->m_apply_folios_rb->isChecked()) {
-		ui->m_selected_folios_widget->setEnabled(true);
-		ui->m_selected_folios_le->setEnabled(true);
-		if (ui->m_from_folios_cb->count()<=0) {
-			ui->m_from_folios_cb->clear();
-			ui->m_from_folios_cb->addItem("");
-			foreach (Diagram *diagram, project_->diagrams()){
-				if (diagram->title() != "")
-					ui->m_from_folios_cb->addItem(diagram->title(),diagram->folioIndex());
-				else ui->m_from_folios_cb->addItem(QString::number(diagram->folioIndex()),diagram->folioIndex());
-			}
-		}
-		if (ui->m_from_folios_cb->currentIndex() > 0)
-		applyEnable(true);
-		else applyEnable(false);
-	}
-}
-
-/**
- * @brief AutoNumberingManagementW::on_m_from_folios_cb_currentIndexChanged
- * Set To Folios Combobox
- */
-void AutoNumberingManagementW::on_m_from_folios_cb_currentIndexChanged(int index) {
-	ui->m_to_folios_cb->clear();
-	ui->m_selected_folios_le->clear();
-	ui->m_selected_folios_le->setEnabled(true);
-	if (index > 0) {
-		ui->m_to_folios_cb->setEnabled(true);
-		ui->m_to_folios_cb->addItem("");
-		for (int i=index;i<project_->diagrams().size();i++) {
-				if (project_->diagrams().at(i)->title() != "") {
-					ui->m_to_folios_cb->addItem(project_->diagrams().at(i)->title(),project_->diagrams().at(i)->folioIndex());
-				}
-				else ui->m_to_folios_cb->addItem(QString::number(project_->diagrams().at(i)->folioIndex()),project_->diagrams().at(i)->folioIndex());
-		}
-		applyEnable(true);
-		ui->m_selected_folios_le->clear();
-		ui->m_selected_folios_le->insert(ui->m_from_folios_cb->currentText());
-	}
-	else applyEnable(false);
-}
-
-/**
- * @brief AutoNumberingManagementW::on_m_to_folios_cb_currentIndexChanged
- * Set selected folios Line Edit content
- */
-void AutoNumberingManagementW::on_m_to_folios_cb_currentIndexChanged(int index) {
-	if (index > 0) {
-		QString from = ui->m_from_folios_cb->currentText();
-		QString to = ui->m_to_folios_cb->currentText();
-		ui->m_selected_folios_le->clear();
-		ui->m_selected_folios_le->insert(from + " - " + to);
-		ui->m_selected_folios_le->setDisabled(true);
-	}
-	applyEnable(true);
-}
-
-/**
- * @brief AutoNumberingManagementW::on_m_apply_project_rb_clicked
- * Disable folio widget
- */
-void AutoNumberingManagementW::on_m_apply_project_rb_clicked() {
-	ui->m_selected_folios_widget->setDisabled(true);
-	ui->m_selected_folios_le->setDisabled(true);
-	applyEnable(true);
-}
-
-/**
- * @brief AutoNumberingManagementW::on_buttonBox_clicked
- * Action on @buttonBox clicked
- */
-void AutoNumberingManagementW::on_buttonBox_clicked(QAbstractButton *button) {
-	//transform button to int
-	int answer = ui -> buttonBox -> buttonRole(button);
-	switch (answer) {
-			//apply the context in the diagram displayed by @diagram_chooser.
-		case QDialogButtonBox::ApplyRole:
-			applyEnable(false);
-			emit applyPressed();
-			break;
-		case QDialogButtonBox::HelpRole:
-			QMessageBox::information(this, tr("Auto Numbering Management", "title window"),
-									tr("In this Menu you can set whether you want the Auto Numberings to be updated or not."
-									   " For Element Auto Numbering you have 4 options of Update Policy:\n"
-									   "-Both: both New and Existent Element labels will be updated. This is the default option.\n"
-									   "-Update Only New: only new created Elements will be updated. Existent Element labels will be frozen.\n"
-									   "-Update Only Existent: only existent Elements will be updated. New Elements will be assigned "
-									   "their formula but will not update once created.\n"
-									   "-Disable: both New and Existent Element labels will not be updated. This is valid for new folios as well.\n"
-									   "Note: These options DO NOT allow or block Auto Numberings, only their Update Policy."
-									   ));
-			break;
-	}
-}
-
-/**
- * @brief AutoNumberingManagementW::applyEnable
- * enable/disable the apply button
- */
-void AutoNumberingManagementW::applyEnable(bool b) {
-	if (b){
-		bool valid= true;
-		if (ui->m_apply_project_rb->isChecked())
-			ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(valid);
-		else if (ui->m_apply_folios_rb->isChecked())
-			ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(valid);
-		}
-	else {
-		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
-	}
-}

Deleted: trunk/sources/ui/autonumberingmanagementw.h
===================================================================
--- trunk/sources/ui/autonumberingmanagementw.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumberingmanagementw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,63 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef AUTONUMBERINGMANAGEMENTW_H
-#define AUTONUMBERINGMANAGEMENTW_H
-
-#include <QWidget>
-
-class NumPartEditorW;
-class QAbstractButton;
-class QETProject;
-
-namespace Ui {
-	class AutoNumberingManagementW;
-}
-
-class AutoNumberingManagementW : public QWidget
-{
-	Q_OBJECT
-	
-	//METHODS
-	public:
-		explicit AutoNumberingManagementW(QETProject *project, QWidget *parent = 0);
-		~AutoNumberingManagementW();
-		Ui::AutoNumberingManagementW *ui;
-		void setProjectContext ();
-		void contextToFormula ();
-		QString elementFormula();
-
-	//SIGNALS
-	signals:
-		void applyPressed();
-
-	//SLOTS
-	private slots:
-		void on_m_from_folios_cb_currentIndexChanged(int);
-		void on_m_to_folios_cb_currentIndexChanged(int);
-		void on_m_status_cb_currentIndexChanged(int);
-		void on_m_apply_folios_rb_clicked();
-		void on_m_apply_project_rb_clicked();
-		void on_buttonBox_clicked(QAbstractButton *);
-		void applyEnable (bool = true);
-
-	//ATTRIBUTES
-	private:
-		QETProject *project_;
-};
-
-#endif // AUTONUMBERINGMANAGEMENTW_H

Deleted: trunk/sources/ui/autonumberingmanagementw.ui
===================================================================
--- trunk/sources/ui/autonumberingmanagementw.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumberingmanagementw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,470 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>AutoNumberingManagementW</class>
- <widget class="QWidget" name="AutoNumberingManagementW">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>650</width>
-    <height>550</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>460</width>
-    <height>0</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="sizeConstraint">
-    <enum>QLayout::SetDefaultConstraint</enum>
-   </property>
-   <item>
-    <widget class="QScrollArea" name="scrollArea">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>50</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>450</width>
-       <height>253</height>
-      </size>
-     </property>
-     <property name="sizeIncrement">
-      <size>
-       <width>0</width>
-       <height>50</height>
-      </size>
-     </property>
-     <property name="mouseTracking">
-      <bool>false</bool>
-     </property>
-     <property name="layoutDirection">
-      <enum>Qt::LeftToRight</enum>
-     </property>
-     <property name="verticalScrollBarPolicy">
-      <enum>Qt::ScrollBarAsNeeded</enum>
-     </property>
-     <property name="horizontalScrollBarPolicy">
-      <enum>Qt::ScrollBarAlwaysOff</enum>
-     </property>
-     <property name="sizeAdjustPolicy">
-      <enum>QAbstractScrollArea::AdjustToContents</enum>
-     </property>
-     <property name="widgetResizable">
-      <bool>true</bool>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignHCenter|Qt::AlignTop</set>
-     </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
-      <property name="geometry">
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>630</width>
-        <height>495</height>
-       </rect>
-      </property>
-      <property name="sizePolicy">
-       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
-      </property>
-      <property name="minimumSize">
-       <size>
-        <width>430</width>
-        <height>250</height>
-       </size>
-      </property>
-      <layout class="QGridLayout" name="gridLayout">
-       <property name="sizeConstraint">
-        <enum>QLayout::SetFixedSize</enum>
-       </property>
-       <item row="0" column="1">
-        <widget class="QLabel" name="label">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="font">
-          <font>
-           <weight>75</weight>
-           <bold>true</bold>
-          </font>
-         </property>
-         <property name="text">
-          <string>Project Status:</string>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="3">
-        <widget class="QComboBox" name="m_status_cb">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="sizeAdjustPolicy">
-          <enum>QComboBox::AdjustToContents</enum>
-         </property>
-        </widget>
-       </item>
-       <item row="5" column="1" colspan="3">
-        <spacer name="verticalSpacer">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="3" column="1" colspan="3">
-        <widget class="QGroupBox" name="groupBox_2">
-         <property name="title">
-          <string>Range</string>
-         </property>
-         <layout class="QGridLayout" name="gridLayout_3">
-          <item row="2" column="0">
-           <widget class="QLineEdit" name="m_selected_folios_le">
-            <property name="text">
-             <string/>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QRadioButton" name="m_apply_locations_rb">
-            <property name="text">
-             <string>Apply to Selected Locations</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QRadioButton" name="m_apply_folios_rb">
-            <property name="text">
-             <string>Apply to Selected Folios</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0">
-           <widget class="QRadioButton" name="m_apply_project_rb">
-            <property name="text">
-             <string>Apply to Entire Project</string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="0">
-           <widget class="QLineEdit" name="m_selected_locations_le"/>
-          </item>
-          <item row="5" column="0">
-           <widget class="QWidget" name="m_selected_folios_widget" native="true">
-            <layout class="QHBoxLayout" name="horizontalLayout_5">
-             <item>
-              <widget class="QLabel" name="label_5">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>From</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QComboBox" name="m_from_folios_cb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLabel" name="label_6">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>To</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QComboBox" name="m_to_folios_cb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="1" column="0" colspan="4">
-        <widget class="QGroupBox" name="groupBox">
-         <property name="title">
-          <string>Update Policy</string>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_2">
-          <item>
-           <widget class="QWidget" name="conductorWidget" native="true">
-            <layout class="QHBoxLayout" name="conductor_hl">
-             <item>
-              <widget class="QLabel" name="label_2">
-               <property name="font">
-                <font>
-                 <weight>75</weight>
-                 <bold>true</bold>
-                </font>
-               </property>
-               <property name="text">
-                <string>Conductor</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_both_conductor_rb">
-               <property name="text">
-                <string>Both</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_new_conductor_rb">
-               <property name="text">
-                <string>Only New</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_existent_conductor_rb">
-               <property name="text">
-                <string>Only Existent</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_disable_conductor_rb">
-               <property name="text">
-                <string>Disable</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
-          </item>
-          <item>
-           <widget class="QWidget" name="elementWidget" native="true">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <layout class="QHBoxLayout" name="element_hl">
-             <item>
-              <widget class="QLabel" name="label_3">
-               <property name="font">
-                <font>
-                 <weight>75</weight>
-                 <bold>true</bold>
-                </font>
-               </property>
-               <property name="text">
-                <string>Element</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_both_element_rb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>Both</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_new_element_rb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>Only New</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_existent_element_rb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>Only Existent</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_disable_element_rb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>Disable</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
-          </item>
-          <item>
-           <widget class="QWidget" name="folioWidget" native="true">
-            <property name="font">
-             <font>
-              <weight>50</weight>
-              <bold>false</bold>
-              <kerning>true</kerning>
-             </font>
-            </property>
-            <layout class="QHBoxLayout" name="folio_hl">
-             <item>
-              <widget class="QLabel" name="label_4">
-               <property name="font">
-                <font>
-                 <weight>75</weight>
-                 <bold>true</bold>
-                </font>
-               </property>
-               <property name="text">
-                <string>Folio</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_new_folio_rb">
-               <property name="text">
-                <string>Only New</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_existent_folio_rb">
-               <property name="text">
-                <string>Existent</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_both_folio_rb">
-               <property name="text">
-                <string>Both</string>
-               </property>
-               <property name="autoExclusive">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="m_disable_folio_rb">
-               <property name="text">
-                <string>Disable</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Apply|QDialogButtonBox::Help</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/autonumselectorwidget.cpp
===================================================================
--- trunk/sources/ui/autonumselectorwidget.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumselectorwidget.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,79 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "autonumselectorwidget.h"
-#include "ui_autonumselectorwidget.h"
-
-/**
- * @brief AutonumSelectorWidget::AutonumSelectorWidget
- * Constructor with texts to fill the combo box
- * @param items, items for fill the combo box
- * @param parent, parent widget
- */
-AutonumSelectorWidget::AutonumSelectorWidget(const QStringList &items, QWidget *parent) :
-	QWidget(parent),
-	ui(new Ui::AutonumSelectorWidget)
-{
-	ui->setupUi(this);
-	ui -> m_available_autonum_cb -> addItems(items);
-}
-
-/**
- * @brief AutonumSelectorWidget::~AutonumSelectorWidget
- * Destructor
- */
-AutonumSelectorWidget::~AutonumSelectorWidget() {
-	delete ui;
-}
-
-/**
- * @brief AutonumSelectorWidget::setCurrentItem
- * Set the combo box current index by text.
- * If text doesn't exist, set current index -1
- * @param item, item of index
- */
-void AutonumSelectorWidget::setCurrentItem(const QString &item) {
-	ui -> m_available_autonum_cb -> setCurrentIndex( ui -> m_available_autonum_cb -> findText(item));
-}
-
-/**
- * @brief AutonumSelectorWidget::setItems
- * Populate this widget with the content of @items
- * Previous items is clear.
- * @param items
- */
-void AutonumSelectorWidget::setItems(const QStringList &items) {
-	ui -> m_available_autonum_cb -> clear();
-	ui -> m_available_autonum_cb -> addItems(items);
-}
-
-/**
- * @brief AutonumSelectorWidget::text
- * @return the current displayed text
- */
-QString AutonumSelectorWidget::text() const {
-	return ui -> m_available_autonum_cb -> currentText();
-}
-
-/**
- * @brief AutonumSelectorWidget::on_m_edit_autonum_pb_clicked
- * Just emit the signal openAutonumEditor.
- * The owner of AutonumSelectorWidget need to connect the signal.
- */
-void AutonumSelectorWidget::on_m_edit_autonum_pb_clicked() {
-	emit openAutonumEditor();
-}

Deleted: trunk/sources/ui/autonumselectorwidget.h
===================================================================
--- trunk/sources/ui/autonumselectorwidget.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumselectorwidget.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,55 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef AUTONUMSELECTORWIDGET_H
-#define AUTONUMSELECTORWIDGET_H
-
-#include <QWidget>
-
-namespace Ui {
-	class AutonumSelectorWidget;
-}
-
-/**
- * @brief The AutonumSelectorWidget class
- * This widget show a combobox to select an autonum and a button to edit the autonum
- * The combo box is empty and the button isn't linked with anything, it's the role of caller
- * of this class to fill the combo box and edit the connection with the button.
- */
-class AutonumSelectorWidget : public QWidget
-{
-		Q_OBJECT
-
-	public:
-		explicit AutonumSelectorWidget(const QStringList &items, QWidget *parent = 0);
-		~AutonumSelectorWidget();
-
-		void    setCurrentItem (const QString &item);
-		void    setItems       (const QStringList &items);
-		QString text           () const;
-
-	signals:
-		void openAutonumEditor ();
-
-	private slots:
-		void on_m_edit_autonum_pb_clicked();
-
-	private:
-		Ui::AutonumSelectorWidget *ui;
-};
-
-#endif // AUTONUMSELECTORWIDGET_H

Deleted: trunk/sources/ui/autonumselectorwidget.ui
===================================================================
--- trunk/sources/ui/autonumselectorwidget.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/autonumselectorwidget.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>AutonumSelectorWidget</class>
- <widget class="QWidget" name="AutonumSelectorWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>300</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QHBoxLayout" name="horizontalLayout">
-   <property name="margin">
-    <number>0</number>
-   </property>
-   <item>
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>Autonumérotation :</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QComboBox" name="m_available_autonum_cb"/>
-   </item>
-   <item>
-    <spacer name="horizontalSpacer">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>40</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <widget class="QPushButton" name="m_edit_autonum_pb">
-     <property name="enabled">
-      <bool>true</bool>
-     </property>
-     <property name="toolTip">
-      <string>éditer les numérotations</string>
-     </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>
- </widget>
- <resources>
-  <include location="../../qelectrotech.qrc"/>
- </resources>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/dialogautonum.cpp
===================================================================
--- trunk/sources/ui/dialogautonum.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/dialogautonum.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,113 +0,0 @@
-/*
-		Copyright 2006-2016 The QElectroTech Team
-		This file is part of QElectroTech.
-		
-		QElectroTech is free software: you can redistribute it and/or modify
-		it under the terms of the GNU General Public License as published by
-		the Free Software Foundation, either version 2 of the License, or
-		(at your option) any later version.
-		
-		QElectroTech is distributed in the hope that it will be useful,
-		but WITHOUT ANY WARRANTY; without even the implied warranty of
-		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-		GNU General Public License for more details.
-		
-		You should have received a copy of the GNU General Public License
-		along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "dialogautonum.h"
-#include "ui_dialogautonum.h"
-
-//#include "conductorautonumerotation.h"
-#include "qetmessagebox.h"
-#include "ui/selectautonumw.h"
-
-/**
- * @brief DialogAutoNum::DialogAutoNum
- * @param dg
- * @param parent
- */
-DialogAutoNum::DialogAutoNum(Diagram *dg, QWidget *parent) :
-	QDialog(parent),
-	ui(new Ui::DialogAutoNum),
-	dg_ (dg)
-{
-	ui -> setupUi(this);
-	
-	ui -> configuration_layout -> addWidget (new SelectAutonumW());
-
-	dgselect_ = new diagramselection( dg_ -> project(), ui -> annotation_tab);
-	ui -> verticalLayout_Selection -> addWidget(dgselect_);
-}
-
-/**
- * @brief Destructor
- */
-DialogAutoNum::~DialogAutoNum(){
-	delete ui;
-}
-
-/**
- * @brief DialogAutoNum::on_pushButton_delete_clicked
- */
-void DialogAutoNum::on_pushButton_delete_clicked() {
-	// get list of diagrams selected
-	QList<Diagram *>listDiag = dgselect_ -> list_of_DiagramSelected();
-	if(listDiag.count()<=0) return;
-	
-	QString diagramsTitle;
-	for(int i=0; i<listDiag.count(); i++){
-		diagramsTitle += listDiag.at(i) -> title();
-		if(i+1 < listDiag.count()) diagramsTitle += ", ";
-	}
-	// Ask if user is sure to delete the conductor numerotation
-	QMessageBox::StandardButton answer = QET::QetMessageBox::critical(
-		this,
-		tr("Suppression des annotations conducteurs", "Attention"),
-		QString(
-			tr("Voulez-vous vraiment supprimer les annotations conducteurs de :\n\n%1 ?")
-		).arg(diagramsTitle),
-		QMessageBox::Yes | QMessageBox::No,
-		QMessageBox::No
-	);
-	
-	// if yes remove all
-	if( answer ==  QMessageBox::Yes) {
-		for(int i=0; i<listDiag.count(); i++){
-			/*ConductorAutoNumerotation can(listDiag.at(i));
-			can.removeNumOfDiagram();*/
-		}
-	}
-}
-
-/**
- * @brief set the autonum to all diagram selected
- */
-void DialogAutoNum::on_pushButton_annotation_clicked(){
-	// Get list of diagrams selected
-	QList<Diagram *>listDiag = dgselect_ -> list_of_DiagramSelected();
-	if(listDiag.count()<=0) return;
-	
-	QString diagramsTitle;
-	for(int i=0; i<listDiag.count(); i++){
-		diagramsTitle += listDiag.at(i) -> title();
-		if(i+1 < listDiag.count()) diagramsTitle += ", ";
-	}
-	// Ask if user is sure to numerate the conductor
-	QET::QetMessageBox::warning(
-		this,
-		tr("Annotation des conducteurs", "Attention"),
-		QString(
-			tr("Voulez-vous vraiment annoter les conducteurs de :\n\n%1 ?")
-		).arg(diagramsTitle),
-		QMessageBox::Yes | QMessageBox::No,
-		QMessageBox::No
-	);
-}
-
-/**
- * @brief Close the dialog
- */
-void DialogAutoNum::on_pushButton_close_clicked() {
-	close();
-}

Deleted: trunk/sources/ui/dialogautonum.h
===================================================================
--- trunk/sources/ui/dialogautonum.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/dialogautonum.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,49 +0,0 @@
-/*
-		Copyright 2006-2016 The QElectroTech Team
-		This file is part of QElectroTech.
-		
-		QElectroTech is free software: you can redistribute it and/or modify
-		it under the terms of the GNU General Public License as published by
-		the Free Software Foundation, either version 2 of the License, or
-		(at your option) any later version.
-		
-		QElectroTech is distributed in the hope that it will be useful,
-		but WITHOUT ANY WARRANTY; without even the implied warranty of
-		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-		GNU General Public License for more details.
-		
-		You should have received a copy of the GNU General Public License
-		along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef DIALOGAUTONUM_H
-#define DIALOGAUTONUM_H
-
-#include <QDialog>
-
-#include "diagram.h"
-#include "ui/diagramselection.h"
-
-namespace Ui {
-	class DialogAutoNum;
-}
-
-class DialogAutoNum : public QDialog
-{
-	Q_OBJECT
-	
-	public:
-	explicit DialogAutoNum(Diagram *dg, QWidget *parent = 0);
-	~DialogAutoNum();
-	
-	private slots:
-	void on_pushButton_annotation_clicked();
-	void on_pushButton_delete_clicked();
-	void on_pushButton_close_clicked();
-	
-	private:
-	Ui::DialogAutoNum *ui;
-	Diagram *dg_;
-	diagramselection *dgselect_;
-};
-
-#endif // DialogAutoNum_H

Deleted: trunk/sources/ui/dialogautonum.ui
===================================================================
--- trunk/sources/ui/dialogautonum.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/dialogautonum.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DialogAutoNum</class>
- <widget class="QDialog" name="DialogAutoNum">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>482</width>
-    <height>416</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Annotation des schémas</string>
-  </property>
-  <property name="windowIcon">
-   <iconset resource="../../qelectrotech.qrc">
-    <normaloff>:/ico/oxygen-icons/32x32/apps/qelectrotech.png</normaloff>:/ico/oxygen-icons/32x32/apps/qelectrotech.png</iconset>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <item>
-    <widget class="QTabWidget" name="tabWidget">
-     <property name="currentIndex">
-      <number>0</number>
-     </property>
-     <widget class="QWidget" name="configuration_tab">
-      <attribute name="title">
-       <string>Configuration</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_6">
-       <item>
-        <layout class="QVBoxLayout" name="configuration_layout">
-         <property name="spacing">
-          <number>0</number>
-         </property>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="annotation_tab">
-      <attribute name="title">
-       <string>Annotation</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_3">
-       <item>
-        <layout class="QVBoxLayout" name="verticalLayout">
-         <item>
-          <widget class="QGroupBox" name="groupBox_Selection">
-           <property name="title">
-            <string>Sélection</string>
-           </property>
-           <layout class="QVBoxLayout" name="verticalLayout_4">
-            <item>
-             <layout class="QHBoxLayout" name="horizontalLayout_">
-              <item>
-               <widget class="QRadioButton" name="radioButton_conductor">
-                <property name="text">
-                 <string>Conducteurs</string>
-                </property>
-                <property name="icon">
-                 <iconset resource="../../qelectrotech.qrc">
-                  <normaloff>:/ico/22x22/conductor2.png</normaloff>:/ico/22x22/conductor2.png</iconset>
-                </property>
-                <property name="checked">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QRadioButton" name="radioButton_component">
-                <property name="enabled">
-                 <bool>false</bool>
-                </property>
-                <property name="text">
-                 <string>Composants</string>
-                </property>
-                <property name="icon">
-                 <iconset resource="../../qelectrotech.qrc">
-                  <normaloff>:/ico/22x22/single_page.png</normaloff>:/ico/22x22/single_page.png</iconset>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-            <item>
-             <layout class="QVBoxLayout" name="verticalLayout_Selection"/>
-            </item>
-           </layout>
-          </widget>
-         </item>
-         <item>
-          <layout class="QHBoxLayout" name="horizontalLayout_2">
-           <item>
-            <widget class="QPushButton" name="pushButton_annotation">
-             <property name="toolTip">
-              <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Numérotée les folio sélectionné&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-             </property>
-             <property name="text">
-              <string>Annotation (alpha)</string>
-             </property>
-             <property name="icon">
-              <iconset resource="../../qelectrotech.qrc">
-               <normaloff>:/ico/16x16/edit-select-all.png</normaloff>:/ico/16x16/edit-select-all.png</iconset>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="pushButton_delete">
-             <property name="toolTip">
-              <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Supprimé la numérotation des folio sélectionné&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-             </property>
-             <property name="text">
-              <string>Supprimer l'annotation</string>
-             </property>
-             <property name="icon">
-              <iconset resource="../../qelectrotech.qrc">
-               <normaloff>:/ico/16x16/edit-delete.png</normaloff>:/ico/16x16/edit-delete.png</iconset>
-             </property>
-            </widget>
-           </item>
-          </layout>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <item>
-      <spacer name="horizontalSpacer">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pushButton_close">
-       <property name="text">
-        <string>Fermer</string>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources>
-  <include location="../../qelectrotech.qrc"/>
- </resources>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/folioautonumbering.cpp
===================================================================
--- trunk/sources/ui/folioautonumbering.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/folioautonumbering.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,216 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "folioautonumbering.h"
-#include "ui_folioautonumbering.h"
-#include <QMessageBox>
-#include <QPushButton>
-#include <QtWidgets>
-#include "qetproject.h"
-#include "diagram.h"
-/**
- * Constructor
- */
-FolioAutonumberingW::FolioAutonumberingW(QETProject *project, QWidget *parent) :
-	QWidget(parent),
-	project_(project),
-	ui(new Ui::FolioAutonumberingW)
-
-{
-	ui->setupUi(this);
-	applyEnable(false);
-	ui->m_from_cb->setEnabled(false);
-	ui->m_new_tabs_sb->setEnabled(false);
-	ui->m_to_cb->setEnabled(false);
-}
-
-/**
- * Destructor
- */
-FolioAutonumberingW::~FolioAutonumberingW()
-{
-	delete ui;
-}
-
-/**
- * @brief FolioAutonumberingW::setContext
- * construct autonums in the comboBox selected in the @autonum_chooser QcomboBox
- */
-void FolioAutonumberingW::setContext(QList <QString> autonums) {
-	foreach (QString str, autonums) { ui->m_autonums_cb->addItem(str);}
-}
-
-/**
- * @brief FolioAutonumberingW::autoNumSelected
- * returns the current autonum selected
- */
-QString FolioAutonumberingW::autoNumSelected(){
-	return ui->m_autonums_cb->currentText();
-}
-
-/**
- * @brief FolioAutonumberingW::fromFolio
- * returns the current "From Folio" index
- */
-int FolioAutonumberingW::fromFolio(){
-	return ui->m_from_cb->currentIndex()-1;
-}
-
-/**
- * @brief FolioAutonumberingW::toFolio
- * returns the current "To Folio" index
- */
-int FolioAutonumberingW::toFolio(){
-	return ui->m_to_cb->currentIndex()+this->fromFolio()+1;
-}
-
-/**
- * @brief FolioAutonumberingW::newFoliosNumber
- * returns the number of folios to create
- */
-int FolioAutonumberingW::newFoliosNumber(){
-	return ui->m_new_tabs_sb->value();
-}
-
-/**
- * @brief FolioAutonumberingW::updateFolioList
- * update Folio List in From and To ComboBox
- */
-void FolioAutonumberingW::updateFolioList(){
-	ui   -> m_from_cb->clear();
-	ui   -> m_to_cb->clear();
-	if (newFolios){
-		this -> on_m_create_new_tabs_rb_clicked();
-	} else {
-		this -> on_m_autonumber_tabs_rb_clicked();
-	}
-}
-
-/**
- * @brief FolioAutonumberingW::on_m_create_new_tabs_rb_clicked
- *	Enable New Tabs SpinBox
- */
-void FolioAutonumberingW::on_m_create_new_tabs_rb_clicked() {
-	ui->m_from_cb->setEnabled(false);
-	ui->m_to_cb->setEnabled(false);
-	ui->m_new_tabs_sb->setEnabled(true);
-	applyEnable();
-	newFolios = true;
-}
-
-/**
- * @brief FolioAutonumberingW::on_m_autonumber_tabs_rb_clicked
- *	Enable From ComboBox, fill From ComboBox
- */
-void FolioAutonumberingW::on_m_autonumber_tabs_rb_clicked() {
-	ui->m_new_tabs_sb->setEnabled(false);
-	ui->m_from_cb->setEnabled(true);
-	ui->m_to_cb->setEnabled(true);
-	if (ui->m_from_cb->count()<=0){
-		ui->m_from_cb->clear();
-		ui->m_from_cb->addItem("");
-		foreach (Diagram *diagram, project_->diagrams()){
-			ui->m_from_cb->addItem(diagram->title());
-		}
-	}
-	applyEnable();
-	newFolios = false;
-}
-
-/**
- * @brief FolioAutonumberingW::on_m_new_tabs_sb_valueChanged
- *	Enable Apply if any new folio is to be created
- */
-void FolioAutonumberingW::on_m_new_tabs_sb_valueChanged(int){
-	if (ui->m_new_tabs_sb->value()>0) applyEnable(true);
-	else applyEnable(false);
-}
-
-/**
- * @brief FolioAutonumberingW::on_m_from_cb_currentIndexChanged
- *	Enable To ComboBox
- */
-void FolioAutonumberingW::on_m_from_cb_currentIndexChanged(int){
-	int index = ui->m_from_cb->currentIndex();
-	ui->m_to_cb->clear();
-	if (index > 0){
-		ui->m_to_cb->setEnabled(true);
-		for (int i=index;i<project_->diagrams().size();i++)
-			ui->m_to_cb->addItem(project_->diagrams().at(i)->title());
-		applyEnable(true);
-	}
-	else{
-		applyEnable();
-	}
-
-}
-
-/**
- * @brief SelectAutonumW::on_buttonBox_clicked
- * Action on @buttonBox clicked
- */
-void FolioAutonumberingW::on_buttonBox_clicked(QAbstractButton *button) {
-	//transform button to int
-	int answer = ui -> buttonBox -> buttonRole(button);
-
-	switch (answer) {
-			//help dialog - not implemented yet -
-		case QDialogButtonBox::HelpRole:
-			QMessageBox::information (this, tr("Folio Autonumbering", "title window"),
-																	tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux folios.\n"
-																	   "-Une numérotation est composée d'une variable minimum.\n"
-																	   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
-																	   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
-
-																	   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
-																	   "qui s'incrémente à chaque nouveau folio de la valeur du champ \"Incrémentation\".\n"
-																	   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
-																	   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
-																	   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
-
-																	   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n",
-																	   "help dialog about the folio autonumerotation"
-																	   ));
-			break;
-		case QDialogButtonBox::ApplyRole:
-			applyEnable(true);
-			emit applyPressed();
-			updateFolioList();
-			break;
-	}
-}
-
-/**
- * @brief SelectAutonumW::applyEnable
- * enable/disable the apply button
- */
-void FolioAutonumberingW::applyEnable(bool b) {
-	if (b){
-		bool valid = true;
-		if (ui->m_create_new_tabs_rb->isChecked()){
-			if (ui->m_new_tabs_sb->value()==0) valid = false;
-			ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
-		}
-		else{
-			if (ui->m_to_cb->currentText()=="") valid = false;
-			ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(valid);
-		}
-	}
-	else{
-		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
-		}
-}

Deleted: trunk/sources/ui/folioautonumbering.h
===================================================================
--- trunk/sources/ui/folioautonumbering.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/folioautonumbering.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,72 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef FOLIOAUTONUMBERING_H
-#define FOLIOAUTONUMBERING_H
-
-#include <QWidget>
-#include "numerotationcontext.h"
-
-class NumPartEditorW;
-class QAbstractButton;
-class QETProject;
-
-namespace Ui {
-		class FolioAutonumberingW;
-}
-
-class FolioAutonumberingW : public QWidget
-{
-	Q_OBJECT
-	
-	//METHODS
-	public:
-		explicit FolioAutonumberingW(QETProject *project, QWidget *parent = 0);
-		~FolioAutonumberingW();
-
-		void setContext (QList <QString> autonums);
-		NumerotationContext toNumContext() const;
-		QString autoNumSelected();
-		int newFoliosNumber();
-		bool newFolios;
-		int fromFolio();
-		int toFolio();
-
-	// SIGNALS
-	signals:
-		void applyPressed();
-		void m_autonumber_tabs_rb_clicked();
-
-	//SLOTS
-	private slots:
-		void on_m_create_new_tabs_rb_clicked();
-		void on_m_autonumber_tabs_rb_clicked();
-		void on_m_new_tabs_sb_valueChanged(int);
-		void on_buttonBox_clicked(QAbstractButton *);
-		void on_m_from_cb_currentIndexChanged(int);
-		void applyEnable (bool = true);
-
-	//ATTRIBUTES
-	private:
-		QETProject *project_;
-		Ui::FolioAutonumberingW *ui;
-		QList <NumPartEditorW *> num_part_list_;
-		NumerotationContext m_context;
-		void updateFolioList();
-};
-
-#endif // FOLIOAUTONUMBERING_H

Deleted: trunk/sources/ui/folioautonumbering.ui
===================================================================
--- trunk/sources/ui/folioautonumbering.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/folioautonumbering.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,295 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>FolioAutonumberingW</class>
- <widget class="QWidget" name="FolioAutonumberingW">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>524</width>
-    <height>550</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>460</width>
-    <height>0</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="sizeConstraint">
-    <enum>QLayout::SetDefaultConstraint</enum>
-   </property>
-   <item>
-    <widget class="QScrollArea" name="scrollArea">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>50</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>450</width>
-       <height>253</height>
-      </size>
-     </property>
-     <property name="sizeIncrement">
-      <size>
-       <width>0</width>
-       <height>50</height>
-      </size>
-     </property>
-     <property name="mouseTracking">
-      <bool>false</bool>
-     </property>
-     <property name="layoutDirection">
-      <enum>Qt::LeftToRight</enum>
-     </property>
-     <property name="verticalScrollBarPolicy">
-      <enum>Qt::ScrollBarAsNeeded</enum>
-     </property>
-     <property name="horizontalScrollBarPolicy">
-      <enum>Qt::ScrollBarAlwaysOff</enum>
-     </property>
-     <property name="sizeAdjustPolicy">
-      <enum>QAbstractScrollArea::AdjustToContents</enum>
-     </property>
-     <property name="widgetResizable">
-      <bool>true</bool>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignHCenter|Qt::AlignTop</set>
-     </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
-      <property name="geometry">
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>504</width>
-        <height>495</height>
-       </rect>
-      </property>
-      <property name="sizePolicy">
-       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
-      </property>
-      <property name="minimumSize">
-       <size>
-        <width>430</width>
-        <height>250</height>
-       </size>
-      </property>
-      <layout class="QGridLayout" name="gridLayout">
-       <property name="sizeConstraint">
-        <enum>QLayout::SetFixedSize</enum>
-       </property>
-       <item row="2" column="1" colspan="2">
-        <widget class="QGroupBox" name="Options">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="title">
-          <string> Options de numérotation</string>
-         </property>
-         <layout class="QGridLayout" name="gridLayout_2">
-          <item row="2" column="1">
-           <widget class="QComboBox" name="m_to_cb">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="sizeAdjustPolicy">
-             <enum>QComboBox::AdjustToContents</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0">
-           <widget class="QLabel" name="label_2">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text">
-             <string>Nouveaux Folios</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1">
-           <widget class="QComboBox" name="m_from_cb">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="sizeAdjustPolicy">
-             <enum>QComboBox::AdjustToContents</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QSpinBox" name="m_new_tabs_sb">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximum">
-             <number>999</number>
-            </property>
-            <property name="displayIntegerBase">
-             <number>10</number>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="label_4">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text">
-             <string>À</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_3">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text">
-             <string>De</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="1" column="1" colspan="2">
-        <widget class="QGroupBox" name="Select">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="title">
-          <string>Sélection:</string>
-         </property>
-         <layout class="QHBoxLayout" name="horizontalLayout">
-          <item>
-           <widget class="QRadioButton" name="m_create_new_tabs_rb">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text">
-             <string>Créer de nouveaux Folios</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QRadioButton" name="m_autonumber_tabs_rb">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="text">
-             <string>NumAuto des folios séléctionnés</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="0" column="1">
-        <widget class="QLabel" name="label">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Numérotation automatique de Folio :</string>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="2">
-        <widget class="QComboBox" name="m_autonums_cb">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="sizeAdjustPolicy">
-          <enum>QComboBox::AdjustToContents</enum>
-         </property>
-        </widget>
-       </item>
-       <item row="3" column="1" colspan="2">
-        <spacer name="verticalSpacer">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Apply</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/formulaautonumberingw.cpp
===================================================================
--- trunk/sources/ui/formulaautonumberingw.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/formulaautonumberingw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,74 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "formulaautonumberingw.h"
-#include "ui_formulaautonumberingw.h"
-#include <QMessageBox>
-#include <QPushButton>
-#include <QtWidgets>
-
-/**
- * Constructor
- */
-FormulaAutonumberingW::FormulaAutonumberingW(QWidget *parent) :
-	QWidget(parent),
-	ui(new Ui::FormulaAutonumberingW)
-
-{
-	ui->setupUi(this);
-	setContext(formula_);
-}
-
-/**
- * Destructor
- */
-FormulaAutonumberingW::~FormulaAutonumberingW()
-{
-	delete ui;
-}
-
-/**
- * @brief FormulaAutonumberingW::setContext
- * @param formula to be inserted into context
- */
-void FormulaAutonumberingW::setContext(QString formula) {
-	ui->m_formula_le->insert(formula);
-}
-
-/**
- * @brief FormulaAutonumberingW::clearContext
- * @param clear formula line edit text
- */
-void FormulaAutonumberingW::clearContext() {
-	ui->m_formula_le->clear();
-}
-
-/**
- * @brief FormulaAutonumberingW::formula
- * @return formula to be stored into project
- */
-QString FormulaAutonumberingW::formula() {
-	return ui->m_formula_le->text();
-}
-
-/**
- * @brief FormulaAutonumberingW::on_m_formula_le_textChanged
- * Update Apply Button
- */
-void FormulaAutonumberingW::on_m_formula_le_textChanged(QString text) {
-	emit (textChanged(text));
-}

Deleted: trunk/sources/ui/formulaautonumberingw.h
===================================================================
--- trunk/sources/ui/formulaautonumberingw.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/formulaautonumberingw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,65 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef FORMULAAUTONUMBERINGW_H
-#define FORMULAAUTONUMBERINGW_H
-
-#include <QWidget>
-
-class QAbstractButton;
-
-namespace Ui {
-		class FormulaAutonumberingW;
-}
-
-/**
-	This class implements the element autonumbering widget.
-	It loads the current formula applied to new elements and allows
-	the user to overwrite it with a new formula. Formula is added
-	while parsing label in customelement.cpp
-*/
-class FormulaAutonumberingW : public QWidget
-{
-	Q_OBJECT
-	
-	//METHODS
-	public:
-		explicit FormulaAutonumberingW(QWidget *parent = 0);
-		~FormulaAutonumberingW();
-		QString formula();
-		void setContext(QString);
-		void clearContext();
-		Ui::FormulaAutonumberingW *ui;
-
-	private:
-
-	// SIGNALS
-	signals:
-		void applyPressed();
-		void textChanged(QString);
-
-	//SLOTS
-	private slots:
-		void on_m_formula_le_textChanged(QString);
-
-	//ATTRIBUTES
-	private:
-		QString formula_;
-
-};
-
-#endif // FORMULAAUTONUMBERINGW_H

Deleted: trunk/sources/ui/formulaautonumberingw.ui
===================================================================
--- trunk/sources/ui/formulaautonumberingw.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/formulaautonumberingw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>FormulaAutonumberingW</class>
- <widget class="QWidget" name="FormulaAutonumberingW">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>370</width>
-    <height>305</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>0</width>
-    <height>0</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="sizeConstraint">
-    <enum>QLayout::SetDefaultConstraint</enum>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="groupBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="title">
-      <string>Auto Naming Pattern:</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <item row="0" column="1">
-       <widget class="QLineEdit" name="m_formula_le">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="inputMask">
-         <string notr="true"/>
-        </property>
-        <property name="text">
-         <string notr="true"/>
-        </property>
-        <property name="placeholderText">
-         <string>Insert Formula Here e.g.: %prefix%l%c</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="0">
-       <widget class="QLabel" name="label_5">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Formula:</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLabel" name="label">
-     <property name="locale">
-      <locale language="French" country="France"/>
-     </property>
-     <property name="text">
-      <string>You can use the following variables to your formula:
- -%prefix: Default Element Prefix
- -%l: Element Line
- -%c: Element Column
- -%F: Folio Name
- -%f or %id: Folio ID
- -%total: Total of folios
-You can also assign any other titleblock variable 
-that you create. Text and number inputs are
- also available.</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>40</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/numparteditorw.cpp
===================================================================
--- trunk/sources/ui/numparteditorw.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/numparteditorw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,318 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include <QRegExp>
-#include "numparteditorw.h"
-#include "ui_numparteditorw.h"
-
-/**
- * Constructor
- */
-NumPartEditorW::NumPartEditorW(QWidget *parent) :
-	QWidget(parent),
-	ui(new Ui::NumPartEditorW),
-	intValidator (new QIntValidator(0,99999,this))
-{
-	ui -> setupUi(this);
-	setVisibleItems();
-	setType(NumPartEditorW::unit, true);
-}
-
-/**
- * Constructor
- * Build with value of @context at position i
- */
-NumPartEditorW::NumPartEditorW (NumerotationContext &context, int i, QWidget *parent):
-	QWidget(parent),
-	ui(new Ui::NumPartEditorW),
-	intValidator (new QIntValidator(0,99999,this))
-{
-	ui -> setupUi(this);
-	setVisibleItems();
-	if(context.size()==0) setType(NumPartEditorW::unit, true);
-
-	else {
-		QStringList strl = context.itemAt(i);
-		if (strl.at(0)=="unit") setType(NumPartEditorW::unit, true);
-		else if (strl.at(0)=="unitfolio") setType(NumPartEditorW::unitfolio, true);
-		else if (strl.at(0)=="ten") setType(NumPartEditorW::ten, true);
-		else if (strl.at(0)=="tenfolio") setType(NumPartEditorW::tenfolio, true);
-		else if (strl.at(0)=="hundred") setType(NumPartEditorW::hundred, true);
-		else if (strl.at(0)=="hundredfolio") setType(NumPartEditorW::hundredfolio, true);
-		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);
-		ui -> value_field -> setText(strl.at(1));
-		ui -> increase_spinBox -> setValue(strl.at(2).toInt());
-	}
-}
-
-/**
- * Destructor
- */
-NumPartEditorW::~NumPartEditorW()
-{
-	delete intValidator;
-	delete ui;
-}
-
-void NumPartEditorW::setVisibleItems() {
-	ui->type_cb->setInsertPolicy(QComboBox::InsertAtBottom);
-	QStringList items;
-	if (parentWidget()->parentWidget()->objectName()=="FolioTab") {
-		items	<< tr("Chiffre 1") << tr("Chiffre 01")
-				<< tr("Chiffre 001")
-				<< tr("Texte");
-	}
-	else if (parentWidget()->parentWidget()->objectName()=="ConductorTab") {
-		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");
-	}
-	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("Element Line") << tr("Element Column") << tr("Element Prefix");
-	ui->type_cb->insertItems(0,items);
-}
-
-/**
- * @brief NumPartEditorW::toNumContext
- * @return the display to NumerotationContext
- */
-NumerotationContext NumPartEditorW::toNumContext() {
-	NumerotationContext nc;
-	QString type_str;
-	switch (type_) {
-		case unit:
-			type_str = "unit";
-			break;
-		case unitfolio:
-			type_str = "unitfolio";
-			break;
-		case ten:
-			type_str = "ten";
-			break;
-		case tenfolio:
-			type_str = "tenfolio";
-			break;
-		case hundred:
-			type_str = "hundred";
-			break;
-		case hundredfolio:
-			type_str = "hundredfolio";
-			break;
-		case string:
-			type_str = "string";
-			break;
-		case idfolio:
-			type_str = "idfolio";
-			break;
-		case folio:
-			type_str = "folio";
-			break;
-		case machine:
-			type_str = "machine";
-			break;
-		case locmach:
-			type_str = "locmach";
-			break;
-		case elementline:
-			type_str = "elementline";
-			break;
-		case elementcolumn:
-			type_str = "elementcolumn";
-			break;
-		case elementprefix:
-			type_str = "elementprefix";
-			break;
-	}
-	if (type_str == "unitfolio" || type_str == "tenfolio" || type_str == "hundredfolio")
-		nc.addValue(type_str, ui -> value_field -> displayText(), ui -> increase_spinBox -> value(), ui->value_field->displayText().toInt());
-	else
-	nc.addValue(type_str, ui -> value_field -> displayText(), ui -> increase_spinBox -> value());
-	return nc;
-}
-
-/**
- * @brief NumPartEditorW::isValid
- * @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 ||
-		type_ == elementcolumn || type_ == elementprefix) {return true;}
-	else if(ui -> value_field -> text().isEmpty()) {return false;}
-	else return true;
-}
-
-/**
- * @brief NumPartEditorW::on_type_cb_activated
- * Action when user change the type comboBox
- */
-void NumPartEditorW::on_type_cb_activated(int) {
-	if (ui->type_cb->currentText() == tr("Chiffre 1"))
-		setType(unit);
-	else if (ui->type_cb->currentText() == tr("Chiffre 1 - Folio"))
-		setType(unitfolio);
-	else if (ui->type_cb->currentText() ==  tr("Chiffre 01"))
-		setType(ten);
-	else if (ui->type_cb->currentText() == tr("Chiffre 01 - Folio"))
-		setType(tenfolio);
-	else if (ui->type_cb->currentText() == tr("Chiffre 001"))
-		setType(hundred);
-	else if (ui->type_cb->currentText() == tr("Chiffre 001 - Folio"))
-		setType(hundredfolio);
-	else if (ui->type_cb->currentText() == tr("Texte"))
-		setType(string);
-	else if (ui->type_cb->currentText() == tr("N° folio"))
-		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"))
-		setType(elementcolumn);
-	else if (ui->type_cb->currentText() == tr("Element Prefix"))
-		setType(elementprefix);
-	emit changed();
-}
-
-/**
- * @brief NumPartEditorW::on_value_field_textChanged
- * emit changed when @value_field text changed
- */
-void NumPartEditorW::on_value_field_textEdited() {
-	emit changed();
-}
-
-/**
- * @brief NumPartEditorW::on_increase_spinBox_valueChanged
- * emit changed when @increase_spinBox value changed
- */
-void NumPartEditorW::on_increase_spinBox_valueChanged(int) {
-	if (!ui -> value_field -> text().isEmpty()) emit changed();
-}
-
-/**
- * @brief NumPartEditorW::setType
- * Set good behavior by type @t
- * @param t, type used
- * @param fnum, force the behavior of numeric type
- */
-void NumPartEditorW::setType(NumPartEditorW::type t, bool fnum) {
-	setCurrentIndex(t);
-
-	//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_==elementcolumn || type_==elementline || type_==elementprefix))
-		 || fnum) {
-		ui -> value_field -> clear();
-		ui -> value_field -> setEnabled(true);
-		ui -> value_field -> setValidator(intValidator);
-		ui -> increase_spinBox -> setEnabled(true);
-		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 ||
-			 t == elementcolumn || t == elementprefix) {
-		ui -> value_field -> clear();
-		ui -> increase_spinBox -> setDisabled(true);
-		if (t==string) {
-			ui -> value_field -> setValidator(0);
-			ui -> value_field -> setEnabled(true);
-		}
-		else if (t==folio) {
-			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);
-		}
-		else if (t==elementcolumn) {
-			ui -> value_field -> setDisabled(true);
-			ui -> increase_spinBox -> setDisabled(true);
-		}
-		else if (t==elementline) {
-			ui -> value_field -> setDisabled(true);
-			ui -> increase_spinBox -> setDisabled(true);
-		}
-		else if (t==elementprefix) {
-			ui -> value_field -> setDisabled(true);
-			ui -> increase_spinBox -> setDisabled(true);
-		}
-	}
-	type_= t;
-}
-
-/**
- * @brief NumPartEditorW::setCurrentIndex
- * Set Current Index of type_cb
- * @param t, type used
- */
-void NumPartEditorW::setCurrentIndex(NumPartEditorW::type t) {
-	int i;
-	if (t == unit)
-		i = ui->type_cb->findText(tr("Chiffre 1"));
-	else if (t == unitfolio)
-		i = ui->type_cb->findText(tr("Chiffre 1 - Folio"));
-	else if (t == ten)
-		i = ui->type_cb->findText(tr("Chiffre 01"));
-	else if (t == tenfolio)
-		i = ui->type_cb->findText(tr("Chiffre 01 - Folio"));
-	else if (t == hundred)
-		i = ui->type_cb->findText(tr("Chiffre 001"));
-	else if (t == hundredfolio)
-		i = ui->type_cb->findText(tr("Chiffre 001 - Folio"));
-	else if (t == string)
-		i = ui->type_cb->findText(tr("Texte"));
-	else if (t == idfolio)
-		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"));
-	else if (t == elementcolumn)
-		i = ui->type_cb->findText(tr("Element Column"));
-	else if (t == elementprefix)
-		i = ui->type_cb->findText(tr("Element Prefix"));
-	ui->type_cb->setCurrentIndex(i);
-}

Deleted: trunk/sources/ui/numparteditorw.h
===================================================================
--- trunk/sources/ui/numparteditorw.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/numparteditorw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,73 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef NUMPARTEDITORW_H
-#define NUMPARTEDITORW_H
-
-#include <QWidget>
-#include <QValidator>
-#include "numerotationcontext.h"
-
-/**
- *This class represent a single part num widget. By this widget, we can define and edit
- *how the num auto must work .
- *This widget is called by selectautonumw.
- */
-namespace Ui {
-	class NumPartEditorW;
-}
-
-class NumPartEditorW : public QWidget
-{
-	Q_OBJECT
-	
-	//METHODS
-	public:
-	explicit NumPartEditorW(QWidget *parent = 0);
-	NumPartEditorW (NumerotationContext &, int, QWidget *parent=0);
-	~NumPartEditorW();
-
-	enum type {unit,unitfolio,ten,tenfolio, hundred, hundredfolio,
-			   string,idfolio,folio,machine,locmach,
-			   elementline,elementcolumn,elementprefix,
-			  };
-	NumerotationContext toNumContext();
-	bool isValid ();
-	type type_;
-
-	private:
-	void setVisibleItems();
-	void disableItem(int index);
-	void setCurrentIndex(NumPartEditorW::type);
-
-	private slots:
-	void on_type_cb_activated(int);
-	void on_value_field_textEdited();
-	void on_increase_spinBox_valueChanged(int);
-	void setType (NumPartEditorW::type t, bool=false);
-
-	signals:
-	void changed ();
-	
-	private:
-	Ui::NumPartEditorW *ui;
-	QValidator *intValidator;
-
-
-};
-
-#endif // NUMPARTEDITORW_H

Deleted: trunk/sources/ui/numparteditorw.ui
===================================================================
--- trunk/sources/ui/numparteditorw.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/numparteditorw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>NumPartEditorW</class>
- <widget class="QWidget" name="NumPartEditorW">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>368</width>
-    <height>33</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_2">
-   <property name="spacing">
-    <number>3</number>
-   </property>
-   <property name="leftMargin">
-    <number>0</number>
-   </property>
-   <property name="topMargin">
-    <number>2</number>
-   </property>
-   <property name="rightMargin">
-    <number>0</number>
-   </property>
-   <property name="bottomMargin">
-    <number>2</number>
-   </property>
-   <item>
-    <widget class="QComboBox" name="type_cb">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="editable">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLineEdit" name="value_field">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QSpinBox" name="increase_spinBox">
-     <property name="enabled">
-      <bool>true</bool>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>0</height>
-      </size>
-     </property>
-     <property name="wrapping">
-      <bool>false</bool>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignCenter</set>
-     </property>
-     <property name="specialValueText">
-      <string/>
-     </property>
-     <property name="accelerated">
-      <bool>true</bool>
-     </property>
-     <property name="prefix">
-      <string/>
-     </property>
-     <property name="minimum">
-      <number>1</number>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>

Deleted: trunk/sources/ui/selectautonumw.cpp
===================================================================
--- trunk/sources/ui/selectautonumw.cpp	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/selectautonumw.cpp	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,334 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "selectautonumw.h"
-#include "ui_selectautonumw.h"
-#include "numparteditorw.h"
-#include <QMessageBox>
-#include "numerotationcontextcommands.h"
-#include "formulaautonumberingw.h"
-#include "ui_formulaautonumberingw.h"
-#include "qdebug.h"
-
-/**
- * Constructor
- */
-SelectAutonumW::SelectAutonumW(QWidget *parent) :
-	QWidget(parent),
-	ui(new Ui::SelectAutonumW)
-{
-
-	ui->setupUi(this);
-	if (this->parentWidget() -> objectName()=="ElementTab"){
-		m_feaw = new FormulaAutonumberingW();
-		ui->scrollAreaWidgetContents->layout()->addWidget(m_feaw);
-	}
-	else if (this->parentWidget() -> objectName()=="ConductorTab"){
-		m_fcaw = new FormulaAutonumberingW();
-		m_fcaw->ui->label->setHidden(true);
-		ui->scrollAreaWidgetContents->layout()->addWidget(m_fcaw);
-	}
-	setContext(NumerotationContext());
-}
-
-SelectAutonumW::SelectAutonumW(const NumerotationContext &context, QWidget *parent) :
-	QWidget(parent),
-	ui(new Ui::SelectAutonumW)
-{
-	if (this->parentWidget() -> objectName()=="ElementTab"){
-		m_feaw = new FormulaAutonumberingW();
-		ui->scrollAreaWidgetContents->layout()->addWidget(m_feaw);
-	}
-	else if (this->parentWidget() -> objectName()=="ConductorTab"){
-		m_fcaw = new FormulaAutonumberingW();
-		m_fcaw->ui->label->setHidden(true);
-		ui->scrollAreaWidgetContents->layout()->addWidget(m_fcaw);
-	}
-	ui->setupUi(this);
-	setContext(context);
-}
-
-/**
- * Destructor
- */
-SelectAutonumW::~SelectAutonumW()
-{
-	delete ui;
-}
-
-/**
- * @brief SelectAutonumW::setCurrentContext
- * build the context of current diagram selected in the @diagram_chooser QcomboBox
- */
-void SelectAutonumW::setContext(const NumerotationContext &context) {
-	m_context = context;
-
-	qDeleteAll(num_part_list_);
-	num_part_list_.clear();
-
-	if (m_context.size() == 0) { //@context contain nothing, build a default numPartEditor
-		on_add_button_clicked();
-	}
-	else {
-		for (int i=0; i<m_context.size(); ++i) { //build with the content of @context
-			NumPartEditorW *part= new NumPartEditorW(m_context, i, this);
-			connect (part, SIGNAL(changed()), this, SLOT(applyEnable()));
-			num_part_list_ << part;
-			ui -> editor_layout -> addWidget(part);
-		}
-	}
-
-	num_part_list_.size() == 1 ?
-				ui -> remove_button -> setDisabled(true):
-				ui -> remove_button -> setEnabled (true);
-
-	applyEnable(false);
-}
-
-/**
- * @brief SelectAutonumW::toNumContext
- * @return the content to @num_part_list to NumerotationContext
- */
-NumerotationContext SelectAutonumW::toNumContext() const {
-	NumerotationContext nc;
-	foreach (NumPartEditorW *npew, num_part_list_) nc << npew -> toNumContext();
-	return nc;
-}
-
-/**
- * @brief SelectAutonumW::on_add_button_clicked
- *	Action on add_button, add a @NumPartEditor
- */
-void SelectAutonumW::on_add_button_clicked() {
-	applyEnable(false);
-	NumPartEditorW *part = new NumPartEditorW(this);
-	connect (part, SIGNAL(changed()), this, SLOT(applyEnable()));
-	num_part_list_ << part;
-	ui -> editor_layout -> addWidget(part);
-	ui -> remove_button -> setEnabled(true);
-}
-
-/**
- * @brief SelectAutonumW::on_remove_button_clicked
- *	Action on remove button, remove the last @NumPartEditor
- */
-void SelectAutonumW::on_remove_button_clicked() {
-	//remove if @num_part_list contains more than one item
-	if (num_part_list_.size() > 1) {
-		NumPartEditorW *part = num_part_list_.takeLast();
-		disconnect(part, SIGNAL(changed()), this, SLOT(applyEnable()));
-		delete part;
-		if (num_part_list_.size() == 1) {
-			ui -> remove_button -> setDisabled(true);
-		}
-	}
-	applyEnable();
-}
-
-/**
- * @brief SelectAutonumW::formula
- * @return autonumbering widget formula
- */
-QString SelectAutonumW::formula() {
-	if (this->parentWidget() -> objectName()=="ElementTab")
-	return m_feaw->formula();
-	else if (this->parentWidget() ->objectName()=="ConductorTab")
-	return m_fcaw->formula();
-	else return "";
-}
-
-/**
- * @brief SelectAutonumW::on_buttonBox_clicked
- * Action on @buttonBox clicked
- */
-void SelectAutonumW::on_buttonBox_clicked(QAbstractButton *button) {
-	//transform button to int
-	int answer = ui -> buttonBox -> buttonRole(button);
-	switch (answer) {
-			//Reset the curent context
-		case QDialogButtonBox::ResetRole:
-			setContext(m_context);
-			break;
-			//help dialog
-		case QDialogButtonBox::HelpRole:
-			if (this->parentWidget() -> objectName()=="FolioTab"){
-				QMessageBox::information (this, tr("Folio Autonumérotation", "title window"),
-																		tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux folios.\n"
-																		   "-Une numérotation est composée d'une variable minimum.\n"
-																		   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
-																		   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
-
-																		   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
-																		   "qui s'incrémente à chaque nouveau folio de la valeur du champ \"Incrémentation\".\n"
-																		   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
-																		   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
-																		   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
-
-																		   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n",
-																		   "help dialog about the folio autonumerotation"
-																		   ));
-				break;
-			}
-			else{
-				QMessageBox::information (this, tr("Conducteur Autonumérotation", "title window"),
-																		tr("C'est ici que vous pouvez définir la manière dont sera numéroté les nouveaux conducteurs.\n"
-																		   "-Une numérotation est composée d'une variable minimum.\n"
-																		   "-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +.\n"
-																		   "-Une variable de numérotation comprant: un type, une valeur et une incrémentation.\n"
-
-																		   "\n-les types \"Chiffre 1\", \"Chiffre 01\" et \"Chiffre 001\", représente un type numérique définie dans le champs \"Valeur\", "
-																		   "qui s'incrémente à chaque nouveau conducteur de la valeur du champ \"Incrémentation\".\n"
-																		   "-\"Chiffre 01\" et \"Chiffre 001\", sont respectivement représenté sur le schéma par deux et trois digits minimum.\n"
-																		   "Si le chiffre définie dans le champs Valeur posséde moins de digits que le type choisit,"
-																		   "celui-ci sera précédé par un ou deux 0 afin de respecter son type.\n"
-
-																		   "\n-Le type \"Texte\", représente un texte fixe.\nLe champs \"Incrémentation\" n'est pas utilisé.\n"
-
-																		   "\n-Le type \"N° folio\" représente le n° du folio en cours.\nLes autres champs ne sont pas utilisés.\n"
-
-																		   "\n-Le type \"Folio\" représente le nom du folio en cours.\nLes autres champs ne sont pas utilisés.",
-																		   "help dialog about the conductor autonumerotation"
-																		   ));
-				break;
-			}
-			//apply the context in the diagram displayed by @diagram_chooser.
-		case QDialogButtonBox::ApplyRole:
-			applyEnable(false);
-			emit applyPressed();
-			break;
-	};
-}
-
-/**
- * @brief SelectAutonumW::applyEnableOnContextChanged
- * enable/disable the apply button after changing the autonum name
- */
-void SelectAutonumW::applyEnableOnContextChanged(QString) {
-	applyEnable(true);
-}
-
-/**
- * @brief SelectAutonumW::applyEnable
- * enable/disable the apply button
- */
-void SelectAutonumW::applyEnable(bool b) {
-	if (b){
-		bool valid= true;
-		foreach (NumPartEditorW *npe, num_part_list_) if (!npe -> isValid()) valid= false;
-		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(valid);
-	}
-	else {
-		ui -> buttonBox -> button(QDialogButtonBox::Apply) -> setEnabled(b);
-	}
-	if (this->parentWidget() -> objectName()=="ElementTab")
-		contextToFormula();
-	if (this->parentWidget()->objectName()=="ConductorTab")
-		contextToFormula();
-}
-
-/**
- * @brief SelectAutonumW::contextToFormula
- * Apply formula to ElementAutonumbering Widget
- */
-void SelectAutonumW::contextToFormula() {
-	FormulaAutonumberingW* m_faw;
-	if (this->parentWidget() -> objectName()=="ElementTab")
-		m_faw = m_feaw;
-	if (this->parentWidget()->objectName()=="ConductorTab")
-		m_faw = m_fcaw;
-	m_faw->clearContext();
-	int count_unit = 0;
-	int count_unitf = 0;
-	int count_ten = 0;
-	int count_tenf = 0;
-	int count_hundred = 0;
-	int count_hundredf = 0;
-	foreach (NumPartEditorW *npe, num_part_list_) {
-		if (npe->isValid()) {
-			if (npe->type_ == NumPartEditorW::idfolio) {
-				m_faw->setContext("%id");
-			}
-			else if (npe->type_ == NumPartEditorW::folio) {
-				m_faw->setContext("%F");
-			}
-			else if (npe->type_ == NumPartEditorW::machine) {
-				m_faw->setContext("%M");
-			}
-			else if (npe->type_ == NumPartEditorW::locmach) {
-				m_faw->setContext("%LM");
-			}
-			
-			
-			else if (npe->type_ == NumPartEditorW::elementcolumn) {
-				m_faw->setContext("%c");
-			}
-			else if (npe->type_ == NumPartEditorW::elementline) {
-				m_faw->setContext("%l");
-			}
-			else if (npe->type_ == NumPartEditorW::elementprefix) {
-				m_faw->setContext("%prefix");
-			}
-			else if (npe->type_ == NumPartEditorW::string) {
-				m_faw->setContext(npe->toNumContext().itemAt(0).at(1));
-			}
-			else if (npe->type_ == NumPartEditorW::unit) {
-				count_unit++;
-				m_faw->setContext("%sequ_"+QString::number(count_unit));
-			}
-			else if (npe->type_ == NumPartEditorW::unitfolio) {
-				count_unitf++;
-				m_faw->setContext("%sequf_"+QString::number(count_unitf));
-			}
-			else if (npe->type_ == NumPartEditorW::ten) {
-				count_ten++;
-				m_faw->setContext("%seqt_"+QString::number(count_ten));
-			}
-			else if (npe->type_ == NumPartEditorW::tenfolio) {
-				count_tenf++;
-				m_faw->setContext("%seqtf_"+QString::number(count_tenf));
-			}
-			else if (npe->type_ == NumPartEditorW::hundred) {
-				count_hundred++;
-				m_faw->setContext("%seqh_"+QString::number(count_hundred));
-			}
-			else if (npe->type_ == NumPartEditorW::hundredfolio) {
-				count_hundredf++;
-				m_faw->setContext("%seqhf_"+QString::number(count_hundredf));
-			}
-		}
-	}
-}
-
-/**
- * @brief SelectAutonumW::on_m_next_pb_clicked
- * Increase NumerotationContext
- */
-void SelectAutonumW::on_m_next_pb_clicked() {
-	NumerotationContextCommands ncc (toNumContext());
-	setContext(ncc.next());
-	applyEnable(true);
-}
-
-/**
- * @brief SelectAutonumW::on_m_previous_pb_clicked
- * Decrease NumerotationContext
- */
-void SelectAutonumW::on_m_previous_pb_clicked() {
-	NumerotationContextCommands ncc (toNumContext());
-	setContext(ncc.previous());
-	applyEnable(true);
-}

Deleted: trunk/sources/ui/selectautonumw.h
===================================================================
--- trunk/sources/ui/selectautonumw.h	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/selectautonumw.h	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,73 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef SELECTAUTONUMW_H
-#define SELECTAUTONUMW_H
-
-#include <QWidget>
-#include "numerotationcontext.h"
-#include "formulaautonumberingw.h"
-
-class NumPartEditorW;
-class QAbstractButton;
-class FormulaAutonumberingW;
-
-namespace Ui {
-	class SelectAutonumW;
-}
-
-class SelectAutonumW : public QWidget
-{
-	Q_OBJECT
-	
-	//METHODS
-	public:
-		explicit SelectAutonumW(QWidget *parent = 0);
-		explicit SelectAutonumW(const NumerotationContext &context, QWidget *parent = 0);
-		~SelectAutonumW();
-
-		void setContext (const NumerotationContext &context);
-		NumerotationContext toNumContext() const;
-		void contextToFormula ();
-		QString formula();
-
-	signals:
-		void applyPressed();
-
-	//SLOT
-	public slots:
-		void applyEnableOnContextChanged(QString);
-
-	private slots:
-		void on_add_button_clicked();
-		void on_remove_button_clicked();
-		void on_buttonBox_clicked(QAbstractButton *);
-		void applyEnable (bool = true);
-
-	//ATTRIBUTES
-		void on_m_next_pb_clicked();
-		void on_m_previous_pb_clicked();
-
-	private:
-		Ui::SelectAutonumW *ui;
-		QList <NumPartEditorW *> num_part_list_;
-		NumerotationContext m_context;
-		FormulaAutonumberingW *m_feaw;
-		FormulaAutonumberingW *m_fcaw;
-};
-
-#endif // SELECTAUTONUMW_H

Deleted: trunk/sources/ui/selectautonumw.ui
===================================================================
--- trunk/sources/ui/selectautonumw.ui	2016-11-04 12:23:49 UTC (rev 4770)
+++ trunk/sources/ui/selectautonumw.ui	2016-11-07 15:11:12 UTC (rev 4771)
@@ -1,303 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>SelectAutonumW</class>
- <widget class="QWidget" name="SelectAutonumW">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>418</width>
-    <height>508</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <widget class="QScrollArea" name="scrollArea">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>400</width>
-       <height>455</height>
-      </size>
-     </property>
-     <property name="sizeIncrement">
-      <size>
-       <width>0</width>
-       <height>0</height>
-      </size>
-     </property>
-     <property name="mouseTracking">
-      <bool>false</bool>
-     </property>
-     <property name="layoutDirection">
-      <enum>Qt::LeftToRight</enum>
-     </property>
-     <property name="verticalScrollBarPolicy">
-      <enum>Qt::ScrollBarAsNeeded</enum>
-     </property>
-     <property name="horizontalScrollBarPolicy">
-      <enum>Qt::ScrollBarAlwaysOff</enum>
-     </property>
-     <property name="sizeAdjustPolicy">
-      <enum>QAbstractScrollArea::AdjustToContents</enum>
-     </property>
-     <property name="widgetResizable">
-      <bool>true</bool>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-     </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
-      <property name="geometry">
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>400</width>
-        <height>453</height>
-       </rect>
-      </property>
-      <property name="sizePolicy">
-       <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
-      </property>
-      <property name="minimumSize">
-       <size>
-        <width>400</width>
-        <height>450</height>
-       </size>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayout_2">
-       <property name="sizeConstraint">
-        <enum>QLayout::SetFixedSize</enum>
-       </property>
-       <item>
-        <widget class="QGroupBox" name="definition_groupe">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="title">
-          <string>Définition</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_3">
-          <property name="sizeConstraint">
-           <enum>QLayout::SetFixedSize</enum>
-          </property>
-          <item>
-           <layout class="QHBoxLayout" name="horizontalLayout">
-            <property name="spacing">
-             <number>0</number>
-            </property>
-            <property name="sizeConstraint">
-             <enum>QLayout::SetDefaultConstraint</enum>
-            </property>
-            <item>
-             <spacer name="horizontalSpacer_2">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QPushButton" name="remove_button">
-              <property name="toolTip">
-               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Supprimer une variable de numérotation&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-              <property name="icon">
-               <iconset resource="../../qelectrotech.qrc">
-                <normaloff>:/ico/22x22/list-remove.png</normaloff>:/ico/22x22/list-remove.png</iconset>
-              </property>
-              <property name="flat">
-               <bool>false</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="add_button">
-              <property name="toolTip">
-               <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Ajouter une variable de numérotation&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-              <property name="icon">
-               <iconset resource="../../qelectrotech.qrc">
-                <normaloff>:/ico/22x22/list-add.png</normaloff>:/ico/22x22/list-add.png</iconset>
-              </property>
-              <property name="flat">
-               <bool>false</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="m_previous_pb">
-              <property name="toolTip">
-               <string>Précédent</string>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-              <property name="icon">
-               <iconset resource="../../qelectrotech.qrc">
-                <normaloff>:/ico/16x16/arrow-left.png</normaloff>:/ico/16x16/arrow-left.png</iconset>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="m_next_pb">
-              <property name="toolTip">
-               <string>Suivant</string>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-              <property name="icon">
-               <iconset resource="../../qelectrotech.qrc">
-                <normaloff>:/ico/16x16/arrow-right.png</normaloff>:/ico/16x16/arrow-right.png</iconset>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
-          </item>
-          <item>
-           <layout class="QVBoxLayout" name="editor_layout" stretch="0">
-            <property name="spacing">
-             <number>0</number>
-            </property>
-            <property name="sizeConstraint">
-             <enum>QLayout::SetDefaultConstraint</enum>
-            </property>
-            <item>
-             <layout class="QHBoxLayout" name="label_layout" stretch="0,0,0">
-              <property name="spacing">
-               <number>0</number>
-              </property>
-              <property name="sizeConstraint">
-               <enum>QLayout::SetDefaultConstraint</enum>
-              </property>
-              <item>
-               <widget class="QLabel" name="type_label">
-                <property name="text">
-                 <string>Type</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QLabel" name="value_label">
-                <property name="text">
-                 <string>Valeur</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QLabel" name="increase_label">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>Incrémentation</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </item>
-          <item>
-           <spacer name="verticalSpacer">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::MinimumExpanding</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>0</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Apply|QDialogButtonBox::Help|QDialogButtonBox::Reset</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources>
-  <include location="../../qelectrotech.qrc"/>
- </resources>
- <connections/>
-</ui>


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