[qet] qet/qet: [5276] Remove the class element text item.

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


Revision: 5276
Author:   blacksun
Date:     2018-03-25 16:33:49 +0200 (Sun, 25 Mar 2018)
Log Message:
-----------
Remove the class element text item.

Modified Paths:
--------------
    trunk/sources/diagram.cpp
    trunk/sources/diagramcommands.cpp
    trunk/sources/diagramcommands.h
    trunk/sources/diagramcontent.cpp
    trunk/sources/diagramcontent.h
    trunk/sources/diagramevent/diagrameventaddelement.cpp
    trunk/sources/diagramview.cpp
    trunk/sources/elementsmover.cpp
    trunk/sources/elementtextsmover.cpp
    trunk/sources/exportdialog.cpp
    trunk/sources/qetdiagrameditor.cpp
    trunk/sources/qetgraphicsitem/commentitem.cpp
    trunk/sources/qetgraphicsitem/crossrefitem.cpp
    trunk/sources/qetgraphicsitem/customelement.cpp
    trunk/sources/qetgraphicsitem/customelement.h
    trunk/sources/qetgraphicsitem/element.cpp
    trunk/sources/qetgraphicsitem/element.h
    trunk/sources/qetgraphicsitem/ghostelement.cpp
    trunk/sources/qetgraphicsitem/masterelement.cpp
    trunk/sources/qetgraphicsitem/masterelement.h
    trunk/sources/qetgraphicsitem/reportelement.cpp
    trunk/sources/qetgraphicsitem/reportelement.h
    trunk/sources/qetgraphicsitem/simpleelement.cpp
    trunk/sources/qetgraphicsitem/simpleelement.h
    trunk/sources/qetgraphicsitem/slaveelement.cpp
    trunk/sources/qetgraphicsitem/slaveelement.h
    trunk/sources/qetgraphicsitem/terminalelement.cpp
    trunk/sources/qetgraphicsitem/terminalelement.h
    trunk/sources/undocommand/rotateselectioncommand.cpp

Removed Paths:
-------------
    trunk/sources/qetgraphicsitem/elementtextitem.cpp
    trunk/sources/qetgraphicsitem/elementtextitem.h

Modified: trunk/sources/diagram.cpp
===================================================================
--- trunk/sources/diagram.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagram.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -24,7 +24,6 @@
 #include "diagramcommands.h"
 #include "diagramcontent.h"
 #include "diagramposition.h"
-#include "qetgraphicsitem/elementtextitem.h"
 #include "elementsmover.h"
 #include "exportdialog.h"
 #include "qetgraphicsitem/ghostelement.h"
@@ -1228,12 +1227,10 @@
  * Update elements and conductors that reference folio field
  * in their labels.
  */
-void Diagram::updateLabels() {
-	foreach (Element *elmt, elements()) {
-		if (elmt->elementInformations()["label"].toString().contains(("%F")))
-			elmt->updateLabel();
-	}
-	foreach (Conductor *cnd, content().conductors()) {
+void Diagram::updateLabels()
+{
+	for (Conductor *cnd : content().conductors())
+	{
 		cnd->refreshText();
 	}
 }
@@ -1783,7 +1780,6 @@
 		if (qgi->type() == IndependentTextItem::Type ||
 			qgi->type() == ConductorTextItem::Type ||
 			qgi->type() == DiagramImageItem::Type ||
-			qgi->type() == ElementTextItem::Type ||
 			qgi->type() == Element::Type ||
 			qgi->type() == DynamicElementTextItem::Type)
 			return true;

Modified: trunk/sources/diagramcommands.cpp
===================================================================
--- trunk/sources/diagramcommands.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagramcommands.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -20,7 +20,6 @@
 #include "qetgraphicsitem/conductor.h"
 #include "qetgraphicsitem/conductortextitem.h"
 #include "diagram.h"
-#include "qetgraphicsitem/elementtextitem.h"
 #include "qetgraphicsitem/independenttextitem.h"
 #include "qgimanager.h"
 #include "diagram.h"
@@ -100,23 +99,7 @@
 		{
 				//make new uuid, because old uuid are the uuid of the copied element
 			e -> newUuid();
-			
-				//Reset the text of report element
-			if (e -> linkType() & Element::AllReport)
-			{
-				
-					//Befor commit 3559 there isn't text field tagged label,
-					//so if not found we take the first text field
-				if (ElementTextItem *eti = e->taggedText("label"))
-					eti->setPlainText("/");
-				else if (e->texts().size())
-					e->texts().first()->setPlainText("/");
-				
-				if (ElementTextItem *eti = e->taggedText("function"))
-					eti->setPlainText("_");
-				if (ElementTextItem *eti = e->taggedText("tension-protocol"))
-					eti->setPlainText("_");
-			}
+
 			if (settings.value("diagramcommands/save-label", true).toBool())
 			{
 					//Reset the information about the label, the comment and location
@@ -125,10 +108,6 @@
 				e -> rElementInformations().addValue("comment", "");
 				e -> rElementInformations().addValue("location", "");
 				
-					//Reset the text field tagged "label
-				if (ElementTextItem *eti = e ->taggedText("label"))
-					eti -> setPlainText("_");
-				
 					//Reset the text of conductors
 				const QList <Conductor *> conductors_list = content.m_conductors_to_move.toList();
 				for (Conductor *c : conductors_list)
@@ -138,11 +117,6 @@
 					c -> setProperties(cp);
 				}
 			}
-			else
-			{	
-					//We call update label, notably to setup the connection required by the formula of the element
-				e->updateLabel();
-			}
 		}
 	}
 	else

Modified: trunk/sources/diagramcommands.h
===================================================================
--- trunk/sources/diagramcommands.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagramcommands.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -30,7 +30,6 @@
 
 class DiagramTextItem;
 class Element;
-class ElementTextItem;
 class IndependentTextItem;
 class DiagramImageItem;
 class QetGraphicsItem;

Modified: trunk/sources/diagramcontent.cpp
===================================================================
--- trunk/sources/diagramcontent.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagramcontent.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -21,7 +21,6 @@
 #include "independenttextitem.h"
 #include "conductor.h"
 #include "diagramimageitem.h"
-#include "elementtextitem.h"
 #include "qetshapeitem.h"
 #include "dynamicelementtextitem.h"
 #include "elementtextitemgroup.h"
@@ -128,7 +127,6 @@
 	for(QGraphicsItem *qgi : m_selected_items)
 	{
 		if (qgi->type() == ConductorTextItem::Type ||
-			qgi->type() == ElementTextItem::Type ||
 			qgi->type() == IndependentTextItem::Type ||
 			qgi->type() == DynamicElementTextItem::Type)
 				selected_texts << static_cast<DiagramTextItem *>(qgi);

Modified: trunk/sources/diagramcontent.h
===================================================================
--- trunk/sources/diagramcontent.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagramcontent.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -25,7 +25,6 @@
 class Element;
 class IndependentTextItem;
 class DiagramImageItem;
-class ElementTextItem;
 class QetShapeItem;
 class DynamicElementTextItem;
 class ElementTextItemGroup;

Modified: trunk/sources/diagramevent/diagrameventaddelement.cpp
===================================================================
--- trunk/sources/diagramevent/diagrameventaddelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagramevent/diagrameventaddelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -190,7 +190,7 @@
 		//Everything is good
 	return true;
 }
-#include "elementtextitem.h"
+
 /**
  * @brief DiagramEventAddElement::addElement
  * Add an element at the current pos en current rotation,
@@ -243,6 +243,5 @@
 
 	m_diagram -> undoStack().push(undo_object);
 	element->setUpFormula();
-	element->updateLabel();
 	element->freezeNewAddedElement();
 }

Modified: trunk/sources/diagramview.cpp
===================================================================
--- trunk/sources/diagramview.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/diagramview.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -24,7 +24,6 @@
 #include "diagramposition.h"
 #include "conductorpropertieswidget.h"
 #include "qetgraphicsitem/conductortextitem.h"
-#include "qetgraphicsitem/elementtextitem.h"
 #include "qetgraphicsitem/independenttextitem.h"
 #include "qetgraphicsitem/diagramimageitem.h"
 #include "templatelocation.h"
@@ -543,7 +542,6 @@
 			if (!hasTextItems()) {
 				if (
 					qgraphicsitem_cast<IndependentTextItem *>(m_diagram->focusItem()) ||
-					qgraphicsitem_cast<ElementTextItem *>(m_diagram->focusItem()) ||
 					qgraphicsitem_cast<ConductorTextItem *>(m_diagram->focusItem()) ||
 					qgraphicsitem_cast<DiagramTextItem *>(m_diagram->focusItem())
 					)
@@ -556,7 +554,6 @@
 			if (!hasTextItems()) {
 				if (
 					qgraphicsitem_cast<IndependentTextItem *>(m_diagram->focusItem()) ||
-					qgraphicsitem_cast<ElementTextItem *>(m_diagram->focusItem()) ||
 					qgraphicsitem_cast<ConductorTextItem *>(m_diagram->focusItem()) ||
 					qgraphicsitem_cast<DiagramTextItem *>(m_diagram->focusItem())
 					)
@@ -735,7 +732,6 @@
 	foreach(QGraphicsItem *qgi, m_diagram -> selectedItems()) {
 		if (
 			qgraphicsitem_cast<IndependentTextItem *>(qgi) ||
-			qgraphicsitem_cast<ElementTextItem *>(qgi) ||
 			qgraphicsitem_cast<ConductorTextItem *>(qgi) ||
 			qgraphicsitem_cast<DiagramTextItem *>(qgi)
 		) {

Modified: trunk/sources/elementsmover.cpp
===================================================================
--- trunk/sources/elementsmover.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/elementsmover.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -23,7 +23,6 @@
 #include "element.h"
 #include "independenttextitem.h"
 #include "diagramimageitem.h"
-#include "elementtextitem.h"
 #include "conductorautonumerotation.h"
 
 /**

Modified: trunk/sources/elementtextsmover.cpp
===================================================================
--- trunk/sources/elementtextsmover.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/elementtextsmover.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -16,7 +16,6 @@
 	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
 */
 #include "elementtextsmover.h"
-#include "elementtextitem.h"
 #include "diagram.h"
 #include "QPropertyUndoCommand/qpropertyundocommand.h"
 #include "dynamicelementtextitem.h"
@@ -56,7 +55,7 @@
 	
 	for(QGraphicsItem *item : diagram->selectedItems())
 	{
-		 if(item->type() == ElementTextItem::Type || item->type() == DynamicElementTextItem::Type)
+		 if(item->type() == DynamicElementTextItem::Type)
 		 {
 			 m_items_hash.insert(item, item->pos());
 			 m_text_count++;

Modified: trunk/sources/exportdialog.cpp
===================================================================
--- trunk/sources/exportdialog.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/exportdialog.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -28,7 +28,6 @@
 #include "qetgraphicsitem/diagramtextitem.h"
 #include "qetgraphicsitem/conductortextitem.h"
 #include "qetgraphicsitem/customelement.h"
-#include "qetgraphicsitem/elementtextitem.h"
 #include "qetgraphicsitem/ghostelement.h"
 #include "qetgraphicsitem/independenttextitem.h"
 #include "qetgraphicsitem/diagramimageitem.h"
@@ -496,40 +495,6 @@
 		qreal hotspot_x = (elem_pos_x) * Createdxf::xScale;
 		qreal hotspot_y = Createdxf::sheetHeight - (elem_pos_y) * Createdxf::yScale;
 
-		QList<ElementTextItem *> elmt_text = elmt -> texts();
-		foreach(ElementTextItem *dti, elmt_text) {
-			qreal fontSize = dti -> font().pointSizeF();
-			if (fontSize < 0)
-				fontSize = dti -> font().pixelSize();
-			fontSize *= Createdxf::yScale;
-			qreal x = elem_pos_x + dti -> pos().x();
-			qreal y = elem_pos_y + dti -> pos().y();
-			x *= Createdxf::xScale;
-			y = Createdxf::sheetHeight - (y * Createdxf::yScale);// - fontSize;
-			QPointF transformed_point = rotation_transformed(x, y, hotspot_x, hotspot_y, rotation_angle);
-			x = transformed_point.x();
-			y = transformed_point.y();
-			QStringList lines = dti -> toPlainText().split('\n');
-			y += (fontSize/2) * (lines.count()-1);
-			foreach (QString line, lines) {
-				qreal angle = 360 - (dti -> rotationAngle() + rotation_angle);
-				if (line.size() > 0 && line != "_" )
-					Createdxf::drawText(file_path, line, x, y, fontSize, angle, 0);
-
-				angle += 1080;
-				// coordinates for next line
-				if (int(angle) % 360 == 0) // no rotation
-					y -= fontSize*1.06;
-				else if (int(angle - 180) % 360 == 0) // 180 degrees rotation
-					y += fontSize*1.06;
-				else if (int(angle - 270) % 360 == 0) // 270 degrees rotation
-					x -= fontSize*1.06;
-				else // ((angle - 90) % 360 == 0)  90 degrees rotation
-					x += fontSize*1.06;
-			}
-
-		}
-
 		QList<QLineF *> elmt_line = elmt -> lines();
 		foreach(QLineF *line, elmt_line) {
 			qreal x1 = (elem_pos_x + line -> p1().x()) * Createdxf::xScale;

Modified: trunk/sources/qetdiagrameditor.cpp
===================================================================
--- trunk/sources/qetdiagrameditor.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetdiagrameditor.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -44,7 +44,6 @@
 #include "autonumberingdockwidget.h"
 #include "dynamicelementtextitem.h"
 #include "conductortextitem.h"
-#include "elementtextitem.h"
 #include "undocommand/rotateselectioncommand.h"
 #include "rotatetextscommand.h"
 #include "diagramcommands.h"
@@ -1432,7 +1431,6 @@
 	QList<ElementTextItemGroup *> groups = DiagramContent(diagram_).selectedTextsGroup();
 	int selected_texts = texts.count();
 	int selected_conductor_texts   = 0; for(DiagramTextItem *dti : texts) {if(dti->type() == ConductorTextItem::Type) selected_conductor_texts++;}
-	int selected_element_texts     = 0; for(DiagramTextItem *dti : texts) {if(dti->type() == ElementTextItem::Type) selected_element_texts++;}
 	int selected_dynamic_elmt_text = 0; for(DiagramTextItem *dti : texts) {if(dti->type() == DynamicElementTextItem::Type) selected_dynamic_elmt_text++;}
 	m_rotate_texts->setEnabled(!ro && (selected_texts || groups.size()));
 
@@ -1441,7 +1439,7 @@
 
 	int selected_shape = dc.count(DiagramContent::Shapes);
 	int selected_editable = selected_elements_count +
-							(selected_texts - selected_conductor_texts - selected_element_texts - selected_dynamic_elmt_text) +
+							(selected_texts - selected_conductor_texts - selected_dynamic_elmt_text) +
 							selected_image +
 							selected_shape +
 							selected_conductors_count;

Modified: trunk/sources/qetgraphicsitem/commentitem.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/commentitem.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/commentitem.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -19,7 +19,6 @@
 #include "element.h"
 #include "qetapp.h"
 #include "diagram.h"
-#include "elementtextitem.h"
 #include "qgraphicsitemutility.h"
 #include <QPainter>
 
@@ -93,14 +92,6 @@
  * else return false, the element is the parent of this comment item
  */
 bool CommentItem::setTextParent() {
-	if (ElementTextItem *eti = m_element->taggedText("label")) {
-		setParentItem(eti);
-		m_text_parent = true;
-		return true;
-	}
-
-	qDebug() << "Comment item: can't found text tagged 'label' from actual parent element to set has parent, "
-				 "comment will be displayed at bottom of diagram";
 	return false;
 }
 

Modified: trunk/sources/qetgraphicsitem/crossrefitem.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/crossrefitem.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/crossrefitem.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -19,7 +19,6 @@
 #include "element.h"
 #include "qetapp.h"
 #include "diagramposition.h"
-#include "elementtextitem.h"
 #include "diagram.h"
 #include "qgraphicsitemutility.h"
 #include "assignvariables.h"

Modified: trunk/sources/qetgraphicsitem/customelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/customelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/customelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -16,7 +16,6 @@
 	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
 */
 #include "customelement.h"
-#include "elementtextitem.h"
 #include "diagram.h"
 #include "qetapp.h"
 #include "partline.h"
@@ -242,7 +241,6 @@
 	qDeleteAll (m_circles);
 	qDeleteAll (m_polygons);
 	qDeleteAll (m_arcs);
-	qDeleteAll (m_texts);
 	qDeleteAll (m_terminals);
 }
 
@@ -258,11 +256,6 @@
 	return(conductors);
 }
 
-/// @return la liste des textes de cet element
-QList<ElementTextItem *> CustomElement::texts() const {
-	return(m_texts);
-}
-
 /// @return the list of lines
 QList<QLineF *> CustomElement::lines() const {
 	return(m_lines);
@@ -685,20 +678,6 @@
 	text_document.setDefaultFont(used_font);
 	text_document.setPlainText(e.attribute("text"));
 
-	if (addtolist){
-		//Add element to list of texts.
-		ElementTextItem *eti = new ElementTextItem(e.attribute("text"));
-		eti -> setFont(QETApp::diagramTextsFont(size));
-		eti -> setOriginalPos(QPointF(pos_x, pos_y));
-		eti -> setPos(pos_x, pos_y);
-		qreal original_rotation_angle = 0.0;
-		QET::attributeIsAReal(e, "rotation", &original_rotation_angle);
-		eti -> setOriginalRotationAngle(original_rotation_angle);
-		eti -> setRotationAngle(original_rotation_angle);
-		eti -> setFollowParentRotations(e.attribute("rotate") == "true");
-		m_texts << eti;
-	}
-
 	// Se positionne aux coordonnees indiquees dans la description du texte
 	qp.setTransform(QTransform(), false);
 	qp.translate(pos_x, pos_y);
@@ -751,37 +730,6 @@
 		!QET::attributeIsAReal(dom_element, "y", &pos_y) ||\
 		!QET::attributeIsAnInteger(dom_element, "size", &size)
 	) return(false);
-	
-//		//The text have a tagg, we create an element text item
-//	if (dom_element.attribute("tagg", "none") != "none")
-//	{
-//		ElementTextItem *eti = new ElementTextItem(dom_element.attribute("text"), this);
-//		eti -> setFont(QETApp::diagramTextsFont(size));
-//		eti -> setTagg(dom_element.attribute("tagg", "other"));
-//		m_element_informations.addValue(dom_element.attribute("tagg", "other"), dom_element.attribute("text"));
-		
-//		// position the text field
-//		eti -> setOriginalPos(QPointF(pos_x, pos_y));
-//		eti -> setPos(pos_x, pos_y);
-		
-//		// rotation of the text field
-//		qreal original_rotation_angle = 0.0;
-//		QET::attributeIsAReal(dom_element, "rotation", &original_rotation_angle);
-//		eti -> setOriginalRotationAngle(original_rotation_angle);
-//		eti -> setRotationAngle(original_rotation_angle);
-		
-//		// behavior when the parent element is rotated
-//		eti -> setFollowParentRotations(dom_element.attribute("rotate") == "true");
-		
-//		m_texts << eti;
-		
-//		connect(eti, &ElementTextItem::diagramTextChanged, this, &Element::textItemChanged);
-		
-//		return(eti);
-//	}
-		//The text haven't got a tagg, so we convert it to a dynamic text item
-		//and store it to m_converted_text_from_xml_description, instead of m_dynamic_text_list
-		//because these dynamic text need post treatement
 	else
 	{
 		DynamicElementTextItem *deti = new DynamicElementTextItem(this);
@@ -1079,34 +1027,3 @@
 	// mise en place (ou non) de l'antialiasing
 	setQPainterAntiAliasing(qp, e.attribute("antialias") == "true");
 }
-
-/**
- * @brief CustomElement::setTaggedText
- * Set text @newstr to the text tagged with @tagg.
- * If tagg is found return the text item, else return NULL.
- * @param tagg required tagg
- * @param newstr new label
- * @param noeditable set editable or not (by default, set editable)
- */
-ElementTextItem* CustomElement::setTaggedText(const QString &tagg, const QString &newstr, const bool noeditable) {
-	ElementTextItem *eti = taggedText(tagg);
-	if (eti) {
-		eti -> setPlainText(newstr);
-		eti -> setNoEditable(noeditable);
-	}
-	return eti;
-}
-
-/**
- * @brief CustomElement::taggedText
- * return the text field tagged with @tagg or NULL if text field isn't found
- * Some of available taggs :
- * function, tension-protocol, label, comment, location
- * @param tagg
- */
-ElementTextItem* CustomElement::taggedText(const QString &tagg) const {
-	foreach (ElementTextItem *eti, m_texts) {
-		if (eti -> tagg() == tagg) return eti;
-	}
-	return nullptr;
-}

Modified: trunk/sources/qetgraphicsitem/customelement.h
===================================================================
--- trunk/sources/qetgraphicsitem/customelement.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/customelement.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -22,7 +22,6 @@
 #include "elementslocation.h"
 #include <QPicture>
 
-class ElementTextItem;
 class Terminal;
 
 /**
@@ -50,7 +49,6 @@
 		QPicture drawing;
 		QPicture low_zoom_drawing;
 		QList<Terminal *> m_terminals;
-		QList<ElementTextItem *> m_texts;
 		QList<DynamicElementTextItem *> m_dynamic_texts;
 		bool forbid_antialiasing;
 
@@ -65,7 +63,6 @@
 	public:
 		QList<Terminal *> terminals() const override;
 		QList<Conductor *> conductors() const override;
-		QList<ElementTextItem *> texts() const override;
 		QList<QLineF *> lines() const override;
 		QList<QRectF *> rectangles() const override;
 		QList<QRectF *> circles() const override;
@@ -76,7 +73,6 @@
 		QString typeId() const override;
 		ElementsLocation location() const;
 		QString name() const override;
-		ElementTextItem* taggedText(const QString &tagg) const override;
 	
 	protected:
 		virtual bool buildFromXml(const QDomElement &, int * = nullptr);
@@ -95,8 +91,6 @@
 		virtual void setQPainterAntiAliasing(QPainter &, bool);
 		virtual bool validOrientationAttribute(const QDomElement &);
 		virtual void setPainterStyle(QDomElement &, QPainter &);
-		ElementTextItem* setTaggedText(const QString &tagg, const QString &newstr, const bool noeditable=false);
-
 };
 
 /**

Modified: trunk/sources/qetgraphicsitem/element.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/element.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/element.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -18,7 +18,6 @@
 #include "element.h"
 #include "diagram.h"
 #include "conductor.h"
-#include "elementtextitem.h"
 #include "diagramcommands.h"
 #include <QtDebug>
 #include "elementprovider.h"
@@ -237,24 +236,6 @@
 			p -> updateConductor();
 		}
 	}
-
-	// repositionne les textes de l'element qui ne comportent pas l'option "FollowParentRotations"
-	foreach(ElementTextItem *eti, texts()) {
-		if (!eti -> followParentRotations())  {
-			// on souhaite pivoter le champ de texte par rapport a son centre
-			QPointF eti_center = eti -> boundingRect().center();
-			// pour ce faire, on repere la position de son centre par rapport a son parent
-			QPointF parent_eti_center_before = eti -> mapToParent(eti_center);
-			// on applique ensuite une simple rotation contraire, qui sera donc appliquee sur le milieu du cote gauche du champ de texte
-			eti -> rotateBy(-applied_angle);
-			// on regarde ensuite la nouvelle position du centre du champ de texte par rapport a son parent
-			QPointF parent_eti_center_after = eti -> mapToParent(eti_center);
-			// on determine la translation a appliquer
-			QPointF eti_translation = parent_eti_center_before - parent_eti_center_after;
-			// on applique cette translation
-			eti -> setPos(eti -> pos() + eti_translation);
-		}
-	}
 }
 
 /*** Methodes protegees ***/
@@ -345,25 +326,6 @@
 }
 
 /**
-	This class is used to retrieve label and function information from element
-	and add it to Diagram Context. Used to make older versions work correctly
-	@param Element Text item to check information
-*/
-void Element::etiToElementLabels(ElementTextItem *eti) {
-	if (eti->tagg() == "label" && eti->toPlainText()!= "_") {
-		DiagramContext &dc = this->rElementInformations();
-		dc.addValue("label", eti->toPlainText());
-		this->setElementInformations(dc);
-		this->setTaggedText("label", eti->toPlainText());
-	}
-	else if(eti->tagg() == "function" && eti->toPlainText() != "_") {
-		DiagramContext &dc = this->rElementInformations();
-		dc.addValue("function", eti->toPlainText());
-		this->setElementInformations(dc);
-	}
-}
-
-/**
 	Permet de savoir si un element XML (QDomElement) represente bien un element
 	@param e Le QDomElement a valide
 	@return true si l'element XML est un Element, false sinon
@@ -580,20 +542,6 @@
 		delete deti;
 	m_converted_text_from_xml_description.clear();
 	
-		//For the moment the text item with a tagg are not converted to dynamic text item
-		//so we must to check it
-	foreach(QGraphicsItem *qgi, childItems())
-	{
-		if (ElementTextItem *eti = qgraphicsitem_cast<ElementTextItem *>(qgi))
-		{
-			foreach(QDomElement input, inputs)
-			{
-				eti -> fromXml(input);
-				etiToElementLabels(eti);
-			}
-		}
-	}
-	
 	for (QDomElement qde : QET::findInDomElement(e, "texts_groups", ElementTextItemGroup::xmlTaggName()))
 	{
 		ElementTextItemGroup *group = addTextGroup("loaded_from_xml_group");
@@ -620,30 +568,6 @@
 	
 	setElementInformations(dc);
 	
-		/**
-		  * At the start of the 0.51 devel, if the text item with tagg "label" was edited directly in the diagram,
-		  * the text was not write to the element information value "formula".
-		  * During the devel, this behavior change, when user edit the text item direclty in the diagram,
-		  * the text was also write in the element information.
-		  * Then when open a .qet file, the text item with tagg "label", is write with the value stored in the element information.
-		  * The mistake is :
-		  * if user write directly in the diagram  with a version befor the change (so the text is not in the element information),
-		  * and open the project with a version after the change, then the text item with tagg "label" is empty. 
-		  * The code below fix this.
-		  */
-	if (saved_version > -1 && saved_version <= 0.51)
-	{
-		if (ElementTextItem *eti = taggedText("label"))
-		{
-			if (m_element_informations["label"].toString().isEmpty() &&
-				m_element_informations["formula"].toString().isEmpty() &&
-				!eti->toPlainText().isEmpty())
-			{
-				m_element_informations.addValue("formula", eti->toPlainText());
-			}
-		}
-	}
-	
 	/**
 	  During the devel of the version 0.7, the "old text" was replaced by the dynamic element text item.
 	  When open a project made befor the 0.7, we must to reproduce the same visual when the label are not empty and visible,
@@ -837,9 +761,6 @@
 	
 	// enregistrement des champ de texte de l'appareil
 	QDomElement inputs = document.createElement("inputs");
-	foreach(ElementTextItem *eti, texts()) {
-		inputs.appendChild(eti -> toXml(document));
-	}
 	element.appendChild(inputs);
 
 	//if this element is linked to other elements,
@@ -1261,6 +1182,8 @@
  */
 void Element::setUpFormula(bool code_letter)
 {
+	Q_UNUSED(code_letter)
+	
 	if (linkType() == Element::Slave || linkType() & Element::AllReport)
 		return;
 
@@ -1268,31 +1191,15 @@
 	{
 		QString formula = diagram()->project()->elementAutoNumCurrentFormula();
 
-		if (formula.isEmpty())
-		{
-			if (code_letter && !m_prefix.isEmpty())
-			{
-				if (ElementTextItem *eti = taggedText("label"))
-				{
-					QString text = eti->toPlainText();
-					if (text.isEmpty() || text == "_")
-					{
-						m_element_informations.addValue("formula", "%prefix");
-					}
-				}
-			}
-		}
-		else
-		{
-			m_element_informations.addValue("formula", formula);
+		m_element_informations.addValue("formula", formula);
+		
+		QString element_currentAutoNum = diagram()->project()->elementCurrentAutoNum();
+		NumerotationContext nc = diagram()->project()->elementAutoNum(element_currentAutoNum);
+		NumerotationContextCommands ncc (nc);
+		
+		autonum::setSequential(formula, m_autoNum_seq, nc, diagram(), element_currentAutoNum);
+		diagram()->project()->addElementAutoNum(element_currentAutoNum, ncc.next());
 
-			QString element_currentAutoNum = diagram()->project()->elementCurrentAutoNum();
-			NumerotationContext nc = diagram()->project()->elementAutoNum(element_currentAutoNum);
-			NumerotationContextCommands ncc (nc);
-
-			autonum::setSequential(formula, m_autoNum_seq, nc, diagram(), element_currentAutoNum);
-			diagram()->project()->addElementAutoNum(element_currentAutoNum, ncc.next());
-		}
 		if(!m_freeze_label && !formula.isEmpty())
 		{
 			DiagramContext dc = m_element_informations;
@@ -1304,57 +1211,6 @@
 }
 
 /**
- * @brief ElementTextItem::setTaggedText
- * Set text @newstr to the text tagged with @tagg.
- * If tagg is found return the text item, else return NULL.
- * @param tagg required tagg
- * @param newstr new label
- * @param noeditable set editable or not (by default, set editable)
- */
-ElementTextItem* Element::setTaggedText(const QString &tagg, const QString &newstr, const bool noeditable) {
-	ElementTextItem *eti = taggedText(tagg);
-	if (eti) {
-		eti -> setPlainText(newstr);
-		eti -> setNoEditable(noeditable);
-	}
-	return eti;
-}
-
-/**
- * @brief Element::textItemChanged
- * Use to keep up to date the element information when text item changed.
- * @param dti
- * @param old_str
- * @param new_str
- */
-void Element::textItemChanged(DiagramTextItem *dti, QString old_str, QString new_str)
-{
-	Q_UNUSED(new_str)
-
-	if (!diagram())
-		return;
-
-	ElementTextItem *eti = qgraphicsitem_cast<ElementTextItem *>(dti);
-	if (!eti)
-		return;
-
-	QString tagg = eti->tagg();
-	if (m_element_informations.contains(tagg))
-	{
-		DiagramContext dc = m_element_informations;
-		dc.addValue(tagg, eti->toPlainText(), dc.keyMustShow(tagg));
-		if (tagg == "label")
-			dc.addValue("formula", eti->toPlainText(), dc.keyMustShow("formula"));
-
-		diagram()->undoStack().push(new ChangeElementInformationCommand(this, m_element_informations, dc));
-	}
-	else
-	{
-		diagram()->undoStack().push(new ChangeDiagramTextCommand(eti, old_str, eti->toPlainText()));
-	}
-}
-
-/**
  * @brief Element::getPrefix
  * get Element Prefix
  */
@@ -1376,15 +1232,7 @@
  */
 void Element::freezeLabel(bool freeze)
 {
-	if (m_freeze_label != freeze)
-	{
-		m_freeze_label = freeze;
-		QString f = m_element_informations["formula"].toString();
-		setUpConnectionForFormula(f,f);
-
-		if (m_freeze_label == true)
-			updateLabel();
-	}
+	m_freeze_label = freeze;
 }
 
 /**
@@ -1397,45 +1245,3 @@
 	}
 	else return;
 }
-
-/**
- * @brief Element::setUpConnectionForFormula
- * setup connection according to the variable of formula
- * @param old_formula
- * @param new_formula
- */
-void Element::setUpConnectionForFormula(QString old_formula, QString new_formula)
-{
-		//Because the variable %F is a reference to another text which can contain variables,
-		//we must to replace %F by the real text, to check if the real text contain the variable %id
-	if (diagram() && old_formula.contains("%F"))
-	{
-		disconnect(&diagram()->border_and_titleblock, &BorderTitleBlock::titleBlockFolioChanged, this, &Element::updateLabel);
-		old_formula.replace("%F", m_F_str);
-	}
-
-	if (diagram() && (old_formula.contains("%f") || old_formula.contains("%id")))
-		disconnect(diagram()->project(), &QETProject::projectDiagramsOrderChanged, this, &Element::updateLabel);
-	if (old_formula.contains("%l"))
-		disconnect(this, &Element::yChanged, this, &Element::updateLabel);
-	if (old_formula.contains("%c"))
-		disconnect(this, &Element::xChanged, this, &Element::updateLabel);
-
-		//Label is frozen, so we don't update it.
-	if (m_freeze_label == true)
-		return;
-	
-	if (diagram() && new_formula.contains("%F"))
-	{
-		m_F_str = diagram()->border_and_titleblock.folio();
-		new_formula.replace("%F", m_F_str);
-		connect(&diagram()->border_and_titleblock, &BorderTitleBlock::titleBlockFolioChanged, this, &Element::updateLabel);
-	}
-	
-	if (diagram() && (new_formula.contains("%f") || new_formula.contains("%id")))
-		connect(diagram()->project(), &QETProject::projectDiagramsOrderChanged, this, &Element::updateLabel);
-	if (new_formula.contains("%l"))
-		connect(this, &Element::yChanged, this, &Element::updateLabel);
-	if (new_formula.contains("%c"))
-		connect(this, &Element::xChanged, this, &Element::updateLabel);
-}

Modified: trunk/sources/qetgraphicsitem/element.h
===================================================================
--- trunk/sources/qetgraphicsitem/element.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/element.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -24,7 +24,6 @@
 #include "assignvariables.h"
 #include <algorithm>
 
-class ElementTextItem;
 class QETProject;
 class Terminal;
 class Conductor;
@@ -81,10 +80,6 @@
 		virtual QList<Terminal *> terminals() const = 0;
 			/// @return the list of conductors attached to this element
 		virtual QList<Conductor *> conductors() const = 0;
-			/// @return the list of text items attached to this element
-		virtual QList<ElementTextItem *> texts() const = 0;
-			/// @return the text field tagged with @tagg or NULL if text field isn't found
-		virtual ElementTextItem* taggedText(const QString &tagg) const = 0;
 			/// @return the list of lines items in this element
 		virtual QList<QLineF *> lines() const = 0;
 			/// @return the list of rectangles items in this element
@@ -126,12 +121,10 @@
 		QList <QUuid>     tmp_uuids_link;
 		QUuid             uuid_;
 		kind              m_link_type;
-		ElementTextItem* setTaggedText(const QString &tagg, const QString &newstr, const bool noeditable=false);
 
 	signals:
 		void linkedElementChanged(); //This signal is emited when the linked elements with this element change
 		void elementInfoChange(DiagramContext old_info, DiagramContext new_info);
-		void updateLabel(); //This signal is emited to update element's label
 		void textAdded(DynamicElementTextItem *deti);
 		void textRemoved(DynamicElementTextItem *deti);
 		void textsGroupAdded(ElementTextItemGroup *group);
@@ -141,7 +134,6 @@
 
 		//METHODS related to information
 	public:
-		void textItemChanged(DiagramTextItem *dti, QString old_str, QString new_str);
 		DiagramContext  elementInformations    ()const              {return m_element_informations;}
 		DiagramContext& rElementInformations   ()                   {return m_element_informations;}
 		virtual void    setElementInformations (DiagramContext dc);
@@ -159,9 +151,6 @@
 		bool isFreezeLabel() const {return m_freeze_label;}
 		void freezeNewAddedElement();
 
-	protected:
-		virtual void setUpConnectionForFormula(QString old_formula, QString new_formula);
-
 		//ATTRIBUTES
 	protected:
 		DiagramContext m_element_informations, m_kind_informations;
@@ -224,7 +213,6 @@
 		void drawSelection(QPainter *, const QStyleOptionGraphicsItem *);
 		void drawHighlight(QPainter *, const QStyleOptionGraphicsItem *);
 		void updatePixmap();
-		void etiToElementLabels(ElementTextItem*);
 
 	protected:
 		void mouseMoveEvent    ( QGraphicsSceneMouseEvent *event ) override;

Deleted: trunk/sources/qetgraphicsitem/elementtextitem.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/elementtextitem.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/elementtextitem.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -1,373 +0,0 @@
-/*
-	Copyright 2006-2017 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 "elementtextitem.h"
-#include "element.h"
-#include <QTextDocument>
-#include "diagram.h"
-#include "diagramcommands.h"
-
-/**
-	Constructeur
-	@param parent_element Le QGraphicsItem parent du champ de texte
-	@param parent_diagram Le schema auquel appartient le champ de texte
-*/
-ElementTextItem::ElementTextItem(Element *parent_element) :
-	DiagramTextItem(parent_element),
-	parent_element_(parent_element),
-	follow_parent_rotations(false),
-	original_rotation_angle_(0.0)
-{build();}
-
-/**
-	Constructeur
-	@param parent_element L'element parent du champ de texte
-	@param parent_diagram Le schema auquel appartient le champ de texte
-	@param text Le texte affiche par le champ de texte
-*/
-ElementTextItem::ElementTextItem(const QString &text, Element *parent_element) :
-	DiagramTextItem(text, parent_element),
-	parent_element_(parent_element),
-	follow_parent_rotations(false),
-	original_rotation_angle_(0.0)
-{build();}
-
-void ElementTextItem::build() {
-	adjustItemPosition(1);
-	// ajuste la position du QGraphicsItem lorsque le QTextDocument change
-	connect(document(), SIGNAL(blockCountChanged(int)), this, SLOT(adjustItemPosition(int)));
-	connect(document(), SIGNAL(contentsChanged()),      this, SLOT(adjustItemPosition()));
-}
-
-/// Destructeur
-ElementTextItem::~ElementTextItem() {
-}
-
-/**
-	@return L'element parent de ce champ de texte, ou 0 si celui-ci n'en a pas.
-*/
-Element *ElementTextItem::parentElement() const {
-	return(parent_element_);
-}
-
-/**
-	Permet de lire le texte a mettre dans le champ a partir d'un element XML.
-	Cette methode se base sur la position du champ pour assigner ou non la
-	valeur a ce champ.
-	@param e L'element XML representant le champ de texte
-*/
-void ElementTextItem::fromXml(const QDomElement &e) {
-	QPointF _pos = pos();
-	if (
-		qFuzzyCompare(qreal(e.attribute("x").toDouble()), _pos.x()) &&
-		qFuzzyCompare(qreal(e.attribute("y").toDouble()), _pos.y())
-	) {
-		setPlainText(e.attribute("text"));
-		
-		qreal user_pos_x, user_pos_y;
-		if (
-			QET::attributeIsAReal(e, "userx", &user_pos_x) &&
-			QET::attributeIsAReal(e, "usery", &user_pos_y)
-		) {
-			setPos(user_pos_x, user_pos_y);
-		}
-		
-		qreal xml_rotation_angle;
-		if (QET::attributeIsAReal(e, "userrotation", &xml_rotation_angle)) {
-			setRotationAngle(xml_rotation_angle);
-		}
-	}
-}
-
-/**
-	@param document Le document XML a utiliser
-	@return L'element XML representant ce champ de texte
-*/
-QDomElement ElementTextItem::toXml(QDomDocument &document) const {
-	QDomElement result = document.createElement("input");
-	
-	result.setAttribute("x", QString("%1").arg(originalPos().x()));
-	result.setAttribute("y", QString("%1").arg(originalPos().y()));
-	
-	if (pos() != originalPos()) {
-		result.setAttribute("userx", QString("%1").arg(pos().x()));
-		result.setAttribute("usery", QString("%1").arg(pos().y()));
-	}
-	
-	result.setAttribute("text", toPlainText());
-	
-	if (rotationAngle() != originalRotationAngle()) {
-		result.setAttribute("userrotation", QString("%1").arg(rotationAngle()));
-	}
-	
-	return(result);
-}
-
-/**
-	@param p Position originale / de reference pour ce champ
-	Cette position est utilisee lors de l'export en XML
-*/
-void ElementTextItem::setOriginalPos(const QPointF &p) {
-	original_position = p;
-}
-
-/**
-	@return la position originale / de reference pour ce champ
-*/
-QPointF ElementTextItem::originalPos() const {
-	return(original_position);
-}
-
-/**
-	Definit l'angle de rotation original de ce champ de texte
-	@param rotation_angle un angle de rotation
-*/
-void ElementTextItem::setOriginalRotationAngle(const qreal &rotation_angle) {
-	original_rotation_angle_ = QET::correctAngle(rotation_angle);
-}
-
-/**
-	@return l'angle de rotation original de ce champ de texte
-*/
-qreal ElementTextItem::originalRotationAngle() const {
-	return(original_rotation_angle_);
-}
-
-/**
-	Set the font used to render the text item to \a font.
-*/
-void ElementTextItem::setFont(const QFont &font) {
-	DiagramTextItem::setFont(font);
-	adjustItemPosition(1);
-}
-
-/**
-	Cette methode s'assure que la position de l'ElementTextItem est coherente
-	en ajustant :
-		* la transformation de base qui permet de considerer que l'origine
-	correspond au milieu du bord gauche du champ de texte
-		* l'origine utilisee lors des appels a setRotation et setScale
-	@param new_block_count Nombre de blocs dans l'ElementTextItem
-*/
-void ElementTextItem::adjustItemPosition(int new_block_count) {
-	Q_UNUSED(new_block_count);
-	qreal origin_offset = boundingRect().bottom() / 2.0;
-	
-	QTransform base_translation;
-	base_translation.translate(0.0, -origin_offset);
-	setTransform(base_translation, false);
-	setTransformOriginPoint(0.0, origin_offset);
-}
-
-/**
- * @brief ElementTextItem::mouseDoubleClickEvent
- * @param event
- */
-void ElementTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
-{
-		/*
-		 * Before revision 3559, report element haven't got text tagged label
-		 * so if parent is a report and haven't got text tagged label,
-		 * we know if this text is used has tagged label.
-		 */
-	bool report_text = false;
-	if (parent_element_ -> linkType() & Element::AllReport && !parent_element_ -> taggedText("label"))
-	{
-			//This is the first of list, so this text is used to display
-			//pos of linked report.
-		if (parent_element_ -> texts().first() == this)
-			report_text = true;
-	}
-
-	if ( (tagg_ == "label" || report_text) && !parent_element_ -> isFree())
-	{
-			//If parent is linked, show the linked element
-		if ( parent_element_ -> linkType() & (Element::AllReport | Element::Slave) )
-		{
-				//Unselect and ungrab mouse to prevent unwanted
-				//move when linked element is in the same scene of this.
-			setSelected(false);
-			ungrabMouse();
-
-				//Show and select the linked element
-			Element *linked = parent_element_ -> linkedElements().first();
-			if (scene() != linked -> scene())
-				linked -> diagram() -> showMe();
-			linked -> setSelected(true);
-
-				//Zoom to the linked element
-			foreach(QGraphicsView *view, linked -> diagram() -> views()) {
-				QRectF fit = linked -> sceneBoundingRect();
-				fit.adjust(-200, -200, 200, 200);
-				view -> fitInView(fit, Qt::KeepAspectRatioByExpanding);
-			}
-		}
-	}
-	else
-	{
-		DiagramTextItem::mouseDoubleClickEvent(event);
-	}
-}
-
-/**
- * @brief ElementTextItem::mouseMoveEvent
- * @param e
- */
-void ElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
-	if (textInteractionFlags() & Qt::TextEditable) {
-		DiagramTextItem::mouseMoveEvent(event);
-	} else if ((flags() & QGraphicsItem::ItemIsMovable) && (event -> buttons() & Qt::LeftButton)) {
-		QPointF old_pos = pos();
-
-		/*
-		 * Use e -> pos() directly will be have for behavior to pos the origin
-		 * of the text field to the position pointed by the cursor, that isn't the wanted effect.
-		 * Instead of this, we apply to the actual pos,
-		 * the vector defined by the movement of cursor since the last pos clicked by left button
-		 */
-		QPointF movement = event -> pos() - event -> buttonDownPos(Qt::LeftButton);
-
-		/*
-		 * the method pos() and setPos() always work with coordinate of parent item
-		 * (or scene if there isn't parent) we don't forget to map the movemement to parent
-		 * before applyRotation
-		 */
-		QPointF new_pos = pos() + mapMovementToParent(movement);
-		event -> modifiers() == Qt::ControlModifier ? setPos(new_pos) : setPos(Diagram::snapToGrid(new_pos));
-
-		Diagram *diagram_ptr = diagram();
-		if (diagram_ptr) {
-			if (m_first_move) {
-				//We signal the beginning of movement to the parent diagram
-				int moved_texts_count = diagram_ptr -> beginMoveElementTexts(this);
-				parent_element_ -> setHighlighted(true);
-
-				//If there is one texte to move, we highlight the parent element.
-				if (moved_texts_count == 1 && parent_element_) {
-					parent_element_ -> setHighlighted(true);
-					parent_element_ -> update();
-				}
-			}
-
-			/*
-				Comme setPos() n'est pas oblige d'appliquer exactement la
-				valeur qu'on lui fournit, on calcule le mouvement reellement
-				applique.
-			*/
-			QPointF effective_movement = pos() - old_pos;
-			QPointF scene_effective_movement = mapMovementToScene(mapMovementFromParent(effective_movement));
-
-			// on applique le mouvement subi aux autres textes a deplacer
-			diagram_ptr -> continueMoveElementTexts(event);
-		}
-	} else event -> ignore();
-
-	if (m_first_move) {
-		m_first_move = false;
-	}
-}
-
-/**
- * @brief ElementTextItem::mouseReleaseEvent
- * @param e
- */
-void ElementTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
-	if (Diagram *diagram_ptr = diagram()) {
-		if (parent_element_) {
-			if (parent_element_ -> isHighlighted()) {
-				parent_element_ -> setHighlighted(false);
-			}
-		}
-
-		diagram_ptr -> endMoveElementTexts();
-	}
-	if (!(event -> modifiers() & Qt::ControlModifier)) {
-		QGraphicsTextItem::mouseReleaseEvent(event);
-	}
-}
-
-/**
- * @brief ElementTextItem::hoverEnterEvent
- * @param event
- */
-void ElementTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
-{
-		/*
-		 * Before revision 3559, report element haven't got text tagged label
-		 * so if parent is a report and haven't got text tagged label,
-		 * we know if this text is used has tagged label.
-		 */
-	bool report_text = false;
-	if (parent_element_ -> linkType() & Element::AllReport && !parent_element_ -> taggedText("label"))
-	{
-			//This is the first of list, so this text is used to display
-			//pos of linked report.
-		if (parent_element_ -> texts().first() == this)
-			report_text = true;
-	}
-
-	if (tagg_ == "label" || report_text)
-	{
-		if (parent_element_ -> linkType() & (Element::AllReport | Element::Slave) && !parent_element_->isFree()) {
-
-			setDefaultTextColor(Qt::blue);
-
-				//Also color the child text if parent is a slave and linked
-			if (parent_element_-> linkType() == Element::Slave && !parent_element_ -> isFree())
-				foreach (QGraphicsItem *qgi, childItems())
-					if (QGraphicsTextItem *qgti = qgraphicsitem_cast<QGraphicsTextItem *> (qgi))
-						qgti -> setDefaultTextColor(Qt::blue);
-		}
-	}
-
-	DiagramTextItem::hoverEnterEvent(event);
-}
-
-/**
- * @brief ElementTextItem::hoverLeaveEvent
- * @param event
- */
-void ElementTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
-{
-		/*
-		 * Before revision 3559, report element haven't got text tagged label
-		 * so if parent is a report and haven't got text tagged label,
-		 * we know if this text is used has tagged label.
-		 */
-	bool report_text = false;
-	if (parent_element_ -> linkType() & Element::AllReport && !parent_element_ -> taggedText("label"))
-	{
-			//This is the first of list, so this text is used to display
-			//pos of linked report.
-		if (parent_element_ -> texts().first() == this)
-			report_text = true;
-	}
-
-	if (tagg_ == "label" || report_text)
-	{
-		if (defaultTextColor() != Qt::black)
-			setDefaultTextColor(Qt::black);
-
-			//Also color the child text if parent is a slave and linked
-		if (parent_element_-> linkType() == Element::Slave && !parent_element_ -> isFree())
-			foreach (QGraphicsItem *qgi, childItems())
-				if (QGraphicsTextItem *qgti = qgraphicsitem_cast<QGraphicsTextItem *> (qgi))
-					qgti -> setDefaultTextColor(Qt::black);
-	}
-
-	DiagramTextItem::hoverLeaveEvent(event);
-}

Deleted: trunk/sources/qetgraphicsitem/elementtextitem.h
===================================================================
--- trunk/sources/qetgraphicsitem/elementtextitem.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/elementtextitem.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -1,98 +0,0 @@
-/*
-	Copyright 2006-2017 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 ELEMENT_TEXT_ITEM_H
-#define ELEMENT_TEXT_ITEM_H
-
-#include "diagramtextitem.h"
-
-class Element;
-
-/**
-	This class represents a text item attached to an element. Users can change its
-	value, adjust its position (defined relatively to its parent element), and
-	direct it to any angle.
-*/
-class ElementTextItem : public DiagramTextItem {
-	Q_OBJECT
-		// constructors, destructor
-	public:
-		ElementTextItem(Element * = nullptr);
-		ElementTextItem(const QString &, Element * = nullptr);
-		~ElementTextItem() override;
-	
-		// attributes
-	public:
-		enum { Type = UserType + 1003 };
-		int type () const override { return Type; }
-	
-	private:
-		Element *parent_element_;
-		bool     follow_parent_rotations;
-		QPointF  original_position;
-		qreal    original_rotation_angle_;
-		QString  tagg_;
-	
-		// methods
-	public:	
-		Element     *parentElement            () const;
-		void         fromXml                  ( const QDomElement & ) override;
-		QDomElement  toXml                    ( QDomDocument & ) const override;
-		void         setOriginalPos           ( const QPointF & );
-		QPointF      originalPos              () const;
-		void         setOriginalRotationAngle ( const qreal & );
-		qreal        originalRotationAngle    () const;
-		virtual void setFont                  ( const QFont & );
-		void         setTagg                  ( const QString &str ) {tagg_ = str;}
-		QString      tagg                     () const               {return tagg_;}
-		void         setFollowParentRotations ( bool fpr);
-		bool         followParentRotations    () const;
-	
-	public slots:
-		void adjustItemPosition(int = 0);
-	
-	protected:
-		void mouseDoubleClickEvent ( QGraphicsSceneMouseEvent *event ) override;
-		void mouseMoveEvent        ( QGraphicsSceneMouseEvent *event ) override;
-		void mouseReleaseEvent     ( QGraphicsSceneMouseEvent *event ) override;
-		void hoverEnterEvent       ( QGraphicsSceneHoverEvent *event ) override;
-		void hoverLeaveEvent       ( QGraphicsSceneHoverEvent *event ) override;
-
-	private:
-		void build ();
-};
-
-/**
-	Element text items can optionally be applied a counter-rotation when their
-	parent element is rotated, thus preserving their readability.
-	@return whether this text item follows the rotations of its parent element.
-*/
-inline bool ElementTextItem::followParentRotations() const {
-	return(follow_parent_rotations);
-}
-
-/**
-	Element text items can optionally be applied a counter-rotation when their
-	parent element is rotated, thus preserving their readability.
-	@param frp whether this text item should follow the rotations of its parent
-	element.
-*/
-inline void ElementTextItem::setFollowParentRotations(bool frp) {
-	follow_parent_rotations = frp;
-}
-
-#endif

Modified: trunk/sources/qetgraphicsitem/ghostelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/ghostelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/ghostelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -18,7 +18,6 @@
 #include "ghostelement.h"
 #include "qet.h"
 #include "terminal.h"
-#include "elementtextitem.h"
 #include "diagramcommands.h"
 
 /**

Modified: trunk/sources/qetgraphicsitem/masterelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/masterelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/masterelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -17,7 +17,6 @@
 */
 #include "masterelement.h"
 #include "crossrefitem.h"
-#include "elementtextitem.h"
 #include "diagram.h"
 #include "dynamicelementtextitem.h"
 #include <QRegularExpression>
@@ -34,9 +33,6 @@
 	CustomElement(location, qgi, state)
 {
 	m_link_type = Element::Master;
-
-	connect(this, SIGNAL(elementInfoChange(DiagramContext, DiagramContext)), this, SLOT(updateLabel(DiagramContext, DiagramContext)));
-	connect(this, &Element::updateLabel, [this]() {this->updateLabel(this->elementInformations(), this->elementInformations());});
 }
 
 /**
@@ -114,7 +110,6 @@
 void MasterElement::initLink(QETProject *project) {
 	//Create the link with other element if needed
 	CustomElement::initLink(project);
-	updateLabel(DiagramContext(), elementInformations());
 }
 
 /**
@@ -130,38 +125,6 @@
 		return QRectF();
 }
 
-/**
- * @brief MasterElement::updateLabel
- * update label of this element
- * and the comment item if he's displayed.
- */
-void MasterElement::updateLabel(DiagramContext old_info, DiagramContext new_info)
-{
-	QString old_formula = old_info["formula"].toString();
-	QString new_formula = new_info["formula"].toString();
-
-	setUpConnectionForFormula(old_formula, new_formula);
-
-	QString label = autonum::AssignVariables::formulaToLabel(new_formula, m_autoNum_seq, diagram(), this);
-
-	if (label.isEmpty())
-	{
-		setTaggedText("label", new_info["label"].toString());
-	}
-	else
-	{
-		bool visible = m_element_informations.contains("label") ? m_element_informations.keyMustShow("label") : true;
-		m_element_informations.addValue("label", label, visible);
-		setTaggedText("label", label);
-	}
-
-	if (ElementTextItem *eti = taggedText("label"))
-	{
-		new_info["label"].toString().isEmpty() ? eti->setVisible(true) : eti -> setVisible(new_info.keyMustShow("label"));
-	}
-
-}
-
 QVariant MasterElement::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
 {
 	if(change == QGraphicsItem::ItemSceneHasChanged && m_first_scene_change)

Modified: trunk/sources/qetgraphicsitem/masterelement.h
===================================================================
--- trunk/sources/qetgraphicsitem/masterelement.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/masterelement.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -41,9 +41,6 @@
 		void unlinkElement     (Element *elmt) override;
 		void initLink          (QETProject *project) override;
 		QRectF XrefBoundingRect() const;
-
-	public slots:
-		void updateLabel(DiagramContext old_info, DiagramContext new_info);
 		
 	protected:
 		QVariant itemChange(GraphicsItemChange change, const QVariant &value) override;

Modified: trunk/sources/qetgraphicsitem/reportelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/reportelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/reportelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -16,7 +16,6 @@
 	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
 */
 #include "reportelement.h"
-#include "elementtextitem.h"
 #include "diagramposition.h"
 #include "qetproject.h"
 #include "diagram.h"
@@ -25,31 +24,10 @@
 #include "dynamicelementtextitem.h"
 
 ReportElement::ReportElement(const ElementsLocation &location, QString link_type,QGraphicsItem *qgi, int *state) :
-	CustomElement(location, qgi, state),
-	m_text_field (nullptr),
-	m_watched_conductor(nullptr)
-{	
-		/*
-		 * Get text tagged label. This is work for report
-		 * create after the revision 3559.
-		 * for report create before, we take the first text field
-		 * because report haven't got a text field tagged label
-		 */
-	m_text_field = taggedText("label");
-	if (!m_text_field && !texts().isEmpty())
-		m_text_field = texts().first();
-	if (m_text_field)
-		m_text_field -> setNoEditable();
-
+	CustomElement(location, qgi, state)
+{
 	link_type == "next_report"? m_link_type=NextReport : m_link_type=PreviousReport;
 	link_type == "next_report"? m_inverse_report=PreviousReport : m_inverse_report=NextReport;
-
-		//We make these connections, to be always aware about the conductor properties
-	if (terminals().size())
-	{
-		connect (terminals().first(), &Terminal::conductorWasAdded, this, &ReportElement::conductorWasAdded);
-		connect (terminals().first(), &Terminal::conductorWasRemoved, this, &ReportElement::conductorWasRemoved);
-	}
 }
 
 /**
@@ -61,8 +39,6 @@
 	unlinkAllElements();
 	if (terminals().size())
 		disconnect(terminals().first(), nullptr, nullptr, nullptr);
-	if (m_watched_conductor)
-		disconnect(m_watched_conductor, &Conductor::propertiesChange, this, &ReportElement::updateLabel);
 }
 
 /**
@@ -89,24 +65,7 @@
 	{
 		unlinkAllElements();
 		connected_elements << elmt;
-		m_formula = diagram()->project()->defaultReportProperties();
-		setConnectionForFormula(m_formula);
-		connect(diagram()->project(), &QETProject::reportPropertiesChanged, this, &ReportElement::reportPropertiesChange);
-        connect(diagram()->project(), &QETProject::diagramRemoved, this, &ReportElement::updateLabel);
-		
-		if (elmt->terminals().size())
-		{
-			connect(elmt->terminals().first(), &Terminal::conductorWasAdded, this, &ReportElement::conductorWasAdded);
-			connect(elmt->terminals().first(), &Terminal::conductorWasRemoved, this, &ReportElement::conductorWasRemoved);
-		}
-		
-		if (!m_watched_conductor && elmt->conductors().size())
-			conductorWasAdded(elmt->conductors().first());
-		else
-			updateLabel();
-
 		elmt->linkToElement(this);
-
 		emit linkedElementChanged();
 	}
 }
@@ -123,22 +82,7 @@
 	const QList <Element *> tmp_elmt = connected_elements;
 
 	for (Element *elmt : tmp_elmt)
-	{
-		removeConnectionForFormula(m_formula);
-		disconnect(diagram()->project(), &QETProject::reportPropertiesChanged, this, &ReportElement::reportPropertiesChange);
-        disconnect(diagram()->project(), &QETProject::diagramRemoved, this, &ReportElement::updateLabel);
-		
-		if (elmt->terminals().size())
-		{
-			disconnect(elmt->terminals().first(), &Terminal::conductorWasAdded, this, &ReportElement::conductorWasAdded);
-			disconnect(elmt->terminals().first(), &Terminal::conductorWasRemoved, this, &ReportElement::conductorWasRemoved);
-		}
 		connected_elements.removeAll(elmt);
-			//if elmt is the owner of m_watched_conductor, we remove it
-		if (elmt->conductors().contains(m_watched_conductor))
-			conductorWasRemoved(m_watched_conductor);
-	}
-	updateLabel();
 
 	for(Element *elmt : tmp_elmt)
 	{
@@ -159,151 +103,3 @@
 	Q_UNUSED (elmt);
 	unlinkAllElements();
 }
-
-/**
- * @brief ReportElement::conductorWasAdded
- * This method is called when a conduxtor is added to the potential
- * @param conductor : added conductor
- */
-void ReportElement::conductorWasAdded(Conductor *conductor)
-{
-	if (m_watched_conductor) return;
-
-	m_watched_conductor = conductor;
-	connect(m_watched_conductor, &Conductor::propertiesChange, this, &ReportElement::updateLabel);
-	updateLabel();
-}
-
-/**
- * @brief ReportElement::conductorWasRemoved
- * This method is called when a conductor is removed to the potential
- * @param conductor : removed conductor
- */
-void ReportElement::conductorWasRemoved(Conductor *conductor)
-{
-	if (m_watched_conductor != conductor) return;
-
-	disconnect(m_watched_conductor, &Conductor::propertiesChange, this, &ReportElement::updateLabel);
-	m_watched_conductor = nullptr;
-
-		//Get another conductor to be always up to date about the properties of the potential.
-
-		//Get a conducteur docked to this report
-	if (conductors().size())
-		conductorWasAdded(conductors().first());
-		//Else we get a conductor of the linked report (if any)
-	else if (linkedElements().size() && linkedElements().first()->conductors().size())
-		conductorWasAdded(linkedElements().first()->conductors().first());
-	else
-		updateLabel();
-}
-
-/**
- * @brief ReportElement::setFormula
- * Set new Formula and call updatelabel
- * @param formula : the new formula
- */
-void ReportElement::setFormula(QString formula)
-{
-	removeConnectionForFormula(m_formula);
-	m_formula = formula;
-	setConnectionForFormula(m_formula);
-	updateLabel();
-}
-
-/**
- * @brief ReportElement::updateLabel
- * Update the displayed label.
- * ie the folio and position of the linked folio report
- */
-void ReportElement::updateLabel()
-{
-	if (!m_text_field) return;
-
-	if (!connected_elements.isEmpty())
-	{
-		Element *elmt = connected_elements.at(0);
-		QString label = m_formula;
-		label = autonum::AssignVariables::formulaToLabel(label, elmt->rSequenceStruct(), elmt->diagram(), elmt);
-		m_text_field -> setPlainText(label);
-	}
-	else
-		m_text_field -> setPlainText("/");
-
-	setTaggedText("function", (m_watched_conductor? m_watched_conductor->properties().m_function : ""));
-	setTaggedText("tension-protocol", (m_watched_conductor? m_watched_conductor->properties().m_tension_protocol : ""));
-}
-
-void ReportElement::reportPropertiesChange(const QString &old_str, const QString &new_str)
-{
-	Q_UNUSED(old_str);
-	setFormula(new_str);
-}
-
-/**
- * @brief ReportElement::setConnectionForFormula
- * Set up the required connection for the formula @str.
- * @param str
- */
-void ReportElement::setConnectionForFormula(const QString &str)
-{
-	if (connected_elements.isEmpty() || str.isEmpty())
-		return;
-	
-	QString string = str;
-	Element *other_elmt = connected_elements.first();
-	Diagram *other_diagram = other_elmt->diagram();
-	
-		//Because the variable %F is a reference to another text which can contain variables,
-		//we must to replace %F by the real text, to check if the real text contain the variable %id
-	if (other_diagram && string.contains("%F"))
-	{
-		m_F_str = other_diagram->border_and_titleblock.folio();
-		string.replace("%F", m_F_str);
-		connect(&other_diagram->border_and_titleblock, &BorderTitleBlock::titleBlockFolioChanged, this, &ReportElement::updateFormulaConnection);
-	}
-	
-	if (other_diagram && (string.contains("%f") || string.contains("%id")))
-		connect(other_diagram->project(), &QETProject::projectDiagramsOrderChanged, this, &ReportElement::updateLabel);
-	if (string.contains("%l"))
-		connect(other_elmt, &Element::yChanged, this, &ReportElement::updateLabel);
-	if (string.contains("%c"))
-		connect(other_elmt, &Element::xChanged, this, &ReportElement::updateLabel);
-}
-
-/**
- * @brief ReportElement::removeConnectionForFormula
- * Remove the existing connection made for the formula @str
- * @param str
- */
-void ReportElement::removeConnectionForFormula(const QString &str)
-{
-	if (connected_elements.isEmpty() || str.isEmpty())
-		return;
-	
-	QString string = str;
-	Element *other_element = connected_elements.first();
-	Diagram *other_diagram = other_element->diagram();
-	
-		//Because the variable %F is a reference to another text which can contain variables,
-		//we must to replace %F by the real text, to check if the real text contain the variable %id
-	if (other_diagram && string.contains("%F"))
-	{
-		string.replace("%F", m_F_str);
-		disconnect(&other_diagram->border_and_titleblock, &BorderTitleBlock::titleBlockFolioChanged, this, &ReportElement::updateFormulaConnection);
-	}
-	
-	if (other_diagram && (string.contains("%f") || string.contains("%id")))
-		disconnect(other_diagram->project(), &QETProject::projectDiagramsOrderChanged, this, &ReportElement::updateLabel);
-	if (string.contains("%l"))
-		disconnect(other_element, &Element::yChanged, this, &ReportElement::updateLabel);
-	if (string.contains("%c"))
-		disconnect(other_element, &Element::xChanged, this, &ReportElement::updateLabel);
-}
-
-void ReportElement::updateFormulaConnection()
-{
-	removeConnectionForFormula(m_formula);
-	setConnectionForFormula(m_formula);
-	updateLabel();
-}

Modified: trunk/sources/qetgraphicsitem/reportelement.h
===================================================================
--- trunk/sources/qetgraphicsitem/reportelement.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/reportelement.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -20,8 +20,6 @@
 
 #include "customelement.h"
 
-class ElementTextItem;
-
 /**
  * @brief The ReportElement class
  *this class represent an element that can be linked to an other ReportElement
@@ -39,20 +37,7 @@
 		void unlinkElement(Element *elmt) override;
 		
 	private:
-		void conductorWasAdded(Conductor *conductor);
-		void conductorWasRemoved(Conductor *conductor);
-		void setFormula (QString label);
-		void updateLabel();
-		void reportPropertiesChange(const QString &old_str, const QString &new_str);
-		void setConnectionForFormula(const QString &str);
-		void removeConnectionForFormula(const QString &str);
-		void updateFormulaConnection();
-		
-	private:
 		int              m_inverse_report;
-		QString          m_formula;
-		ElementTextItem *m_text_field;
-		Conductor       *m_watched_conductor;
 };
 
 #endif // REPORTELEMENT_H

Modified: trunk/sources/qetgraphicsitem/simpleelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/simpleelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/simpleelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -17,7 +17,6 @@
 */
 #include "simpleelement.h"
 #include "commentitem.h"
-#include "elementtextitem.h"
 #include "diagram.h"
 
 /**
@@ -33,8 +32,6 @@
 	m_location_item (nullptr)
 {
 	m_link_type = Simple;
-	connect(this, SIGNAL(elementInfoChange(DiagramContext, DiagramContext)), this, SLOT(updateLabel(DiagramContext, DiagramContext)));
-	connect(this, &Element::updateLabel, [this]() {this->updateLabel(this->elementInformations(), this->elementInformations());});
 }
 
 /**
@@ -52,49 +49,4 @@
  */
 void SimpleElement::initLink(QETProject *project) {
 	CustomElement::initLink(project);
-	updateLabel(DiagramContext(), elementInformations());
 }
-
-/**
- * @brief SimpleElement::updateLabel
- * update label of this element
- */
-void SimpleElement::updateLabel(DiagramContext old_info, DiagramContext new_info)
-{
-	QString old_formula = old_info["formula"].toString();
-	QString new_formula = new_info["formula"].toString();
-
-	setUpConnectionForFormula(old_formula, new_formula);
-
-	QString label = autonum::AssignVariables::formulaToLabel(new_formula, m_autoNum_seq, diagram(), this);
-
-	if (label.isEmpty())
-	{
-		setTaggedText("label", new_info["label"].toString());
-	}
-	else
-	{
-		bool visible = m_element_informations.contains("label") ? m_element_informations.keyMustShow("label") : true;
-		m_element_informations.addValue("label", label, visible);
-		setTaggedText("label", label);
-	}
-
-	if (ElementTextItem *eti = taggedText("label"))
-	{
-		new_info["label"].toString().isEmpty() ? eti->setVisible(true) : eti -> setVisible(new_info.keyMustShow("label"));
-	}
-
-//		//Comment and Location of element
-//	QString comment   = new_info["comment"].toString();
-//	bool    must_show = new_info.keyMustShow("comment");
-//	QString location  = new_info["location"].toString();
-//	bool must_show_location = new_info.keyMustShow("location");
-
-//	if ((!(comment.isEmpty() || !must_show) && !m_comment_item)||(!(location.isEmpty() || !must_show_location) && !m_comment_item)) {
-//		m_comment_item = new CommentItem(this);
-//	}
-//	else if (((comment.isEmpty() || !must_show) && m_comment_item) && ((location.isEmpty() || !must_show_location) && m_comment_item)) {
-//		delete m_comment_item;
-//		m_comment_item = nullptr;
-//	}
-}

Modified: trunk/sources/qetgraphicsitem/simpleelement.h
===================================================================
--- trunk/sources/qetgraphicsitem/simpleelement.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/simpleelement.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -37,9 +37,6 @@
 
 		void initLink(QETProject *project) override;
 
-	public slots:
-		void updateLabel(DiagramContext old_info, DiagramContext new_info);
-
 	private:
 		CommentItem *m_comment_item;
 		CommentItem *m_location_item;

Modified: trunk/sources/qetgraphicsitem/slaveelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/slaveelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/slaveelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -18,7 +18,6 @@
 #include "slaveelement.h"
 #include "diagramposition.h"
 #include "qetapp.h"
-#include "elementtextitem.h"
 #include "diagram.h"
 #include "dynamicelementtextitem.h"
 
@@ -35,8 +34,6 @@
 {
 	m_xref_item = nullptr;
 	m_link_type = Slave;
-	
-	connect(this, SIGNAL(updateLabel()), this, SLOT(updateLabel()));
 }
 
 /**
@@ -60,23 +57,9 @@
 	{
 		if(!isFree())
 			unlinkAllElements();
-		
-		for(QMetaObject::Connection c : m_connections)
-			this->disconnect(c);
-		m_connections.clear();
 
 		connected_elements << elmt;
 
-		QETProject *project = elmt->diagram()->project();
-		m_connections << connect(elmt,    SIGNAL(xChanged()),                                        this, SLOT(updateLabel()));
-		m_connections << connect(elmt,    SIGNAL(yChanged()),                                        this, SLOT(updateLabel()));
-		m_connections << connect(elmt,    SIGNAL(elementInfoChange(DiagramContext, DiagramContext)), this, SLOT(updateLabel()));
-		m_connections << connect(project, SIGNAL(projectDiagramsOrderChanged(QETProject*,int,int)),  this, SLOT(updateLabel()));
-		m_connections << connect(project, SIGNAL(diagramRemoved(QETProject*,Diagram*)),              this, SLOT(updateLabel()));
-		m_connections << connect(project, SIGNAL(XRefPropertiesChanged()),                           this, SLOT(updateLabel()));
-		m_connections << connect(elmt,    SIGNAL(updateLabel()),                                     this, SLOT(updateLabel()));
-
-		updateLabel();
 		elmt -> linkToElement(this);
 		emit linkedElementChanged();
 	}
@@ -109,66 +92,8 @@
 	{
 		connected_elements.removeOne(elmt);
 
-		disconnect(elmt,                 SIGNAL(xChanged()),                                       this, SLOT(updateLabel()));
-		disconnect(elmt,                 SIGNAL(yChanged()),                                       this, SLOT(updateLabel()));
-		disconnect(elmt,                 SIGNAL(elementInfoChange(DiagramContext, DiagramContext)),this, SLOT(updateLabel()));
-		disconnect(diagram()->project(), SIGNAL(projectDiagramsOrderChanged(QETProject*,int,int)), this, SLOT(updateLabel()));
-		disconnect(diagram()->project(), SIGNAL(diagramRemoved(QETProject*,Diagram*)),             this, SLOT(updateLabel()));
-		disconnect(elmt -> diagram(),    SIGNAL(XRefPropertiesChanged()),                          this, SLOT(updateLabel()));
-		disconnect(elmt,                 SIGNAL(updateLabel()),                                    this, SLOT(updateLabel()));
-
-		delete m_xref_item; m_xref_item = nullptr;
-		
-		if (ElementTextItem *eti = this->taggedText("label"))
-			eti->setPlainText("_");
-		
-		updateLabel();
 		elmt -> unlinkElement  (this) ;
 		elmt -> setHighlighted (false);
 		emit linkedElementChanged();
 	}
 }
-
-/**
- * @brief SlaveElement::updateLabel
- * update the label (tagged with label) of this element.
- * If this element is connected to a master,
- * the label show the string tagged by "label" of the master
- * and add a qgraphicstextitem for show the position of the master
- */
-void SlaveElement::updateLabel()
-{
-	QString label;
-	if (ElementTextItem *eti = this->taggedText("label"))
-		label = eti->toPlainText();
-	QString Xreflabel;
-	bool no_editable = false;
-
-	//must be linked to set the label of master
-	if (linkedElements().count())
-	{
-		no_editable = true;
-		Element *elmt = linkedElements().first();
-		label = elmt->elementInformations()["label"].toString();
-		
-		XRefProperties xrp = elmt->diagram()->project()->defaultXRefProperties(elmt->kindInformations()["type"].toString());
-		Xreflabel = xrp.slaveLabel();
-		Xreflabel = autonum::AssignVariables::formulaToLabel(Xreflabel, elmt->rSequenceStruct(), elmt->diagram(), elmt);
-	}
-	else
-		label = autonum::AssignVariables::formulaToLabel(label, m_autoNum_seq, diagram(), this);
-
-	// set the new label
-	ElementTextItem *eti = setTaggedText("label", label, no_editable);
-	if (eti && !isFree())
-	{
-		if (m_xref_item)
-			m_xref_item->setPlainText(Xreflabel);
-		else 
-		{
-			m_xref_item = new QGraphicsTextItem(Xreflabel, eti);
-			m_xref_item->setFont(QETApp::diagramTextsFont(5));
-			m_xref_item->setPos(eti ->  boundingRect().bottomLeft());
-		}
-	}
-}

Modified: trunk/sources/qetgraphicsitem/slaveelement.h
===================================================================
--- trunk/sources/qetgraphicsitem/slaveelement.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/slaveelement.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -25,20 +25,14 @@
 {
 	Q_OBJECT
 	public:
-	explicit SlaveElement (const ElementsLocation &, QGraphicsItem * = nullptr, int * = nullptr);
-	~SlaveElement() override;
-	void linkToElement(Element *elmt) override;
-	void unlinkAllElements() override;
-	void unlinkElement(Element *elmt) override;
-
-	signals:
-
-	private slots:
-	void updateLabel();
-
+		explicit SlaveElement (const ElementsLocation &, QGraphicsItem * = nullptr, int * = nullptr);
+		~SlaveElement() override;
+		void linkToElement(Element *elmt) override;
+		void unlinkAllElements() override;
+		void unlinkElement(Element *elmt) override;
+	
 	private:
 		QGraphicsTextItem *m_xref_item;
-		QList<QMetaObject::Connection> m_connections;
 };
 
 #endif // SLAVEELEMENT_H

Modified: trunk/sources/qetgraphicsitem/terminalelement.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/terminalelement.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/terminalelement.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -17,7 +17,6 @@
 */
 #include "terminalelement.h"
 #include "commentitem.h"
-#include "elementtextitem.h"
 
 /**
  * @brief TerminalElement::TerminalElement
@@ -33,9 +32,6 @@
 	m_location_item (nullptr)
 {
 	m_link_type = Terminale;
-	
-	connect(this, SIGNAL(elementInfoChange(DiagramContext, DiagramContext)), this, SLOT(updateLabel(DiagramContext, DiagramContext)));
-	connect(this, &Element::updateLabel, [this]() {this->updateLabel(this->elementInformations(), this->elementInformations());});
 }
 
 TerminalElement::~TerminalElement() {
@@ -48,50 +44,5 @@
  */
 void TerminalElement::initLink(QETProject *project) {
 	CustomElement::initLink(project);
-	updateLabel(DiagramContext(), elementInformations());
 }
 
-/**
- * @brief SimpleElement::updateLabel
- * update label of this element
- */
-void TerminalElement::updateLabel(DiagramContext old_info, DiagramContext new_info)
-{
-	QString old_formula = old_info["formula"].toString();
-	QString new_formula = new_info["formula"].toString();
-
-	setUpConnectionForFormula(old_formula, new_formula);
-
-	QString label = autonum::AssignVariables::formulaToLabel(new_formula, m_autoNum_seq, diagram(), this);
-
-	if (label.isEmpty())
-	{
-		setTaggedText("label", new_info["label"].toString());
-	}
-	else
-	{
-		bool visible = m_element_informations.contains("label") ? m_element_informations.keyMustShow("label") : true;
-		m_element_informations.addValue("label", label, visible);
-		setTaggedText("label", label);
-	}
-
-	if (ElementTextItem *eti = taggedText("label"))
-	{
-		new_info["label"].toString().isEmpty() ? eti->setVisible(true) : eti -> setVisible(new_info.keyMustShow("label"));
-	}
-
-//		//Comment and Location of element
-//	QString comment   = new_info["comment"].toString();
-//	bool    must_show = new_info.keyMustShow("comment");
-//	QString location  = new_info["location"].toString();
-//	bool must_show_location = new_info.keyMustShow("location");
-
-//	if ((!(comment.isEmpty() || !must_show) && !m_comment_item)||(!(location.isEmpty() || !must_show_location) && !m_comment_item)) {
-//		m_comment_item = new CommentItem(this);
-//	}
-//	else if (((comment.isEmpty() || !must_show) && m_comment_item) && ((location.isEmpty() || !must_show_location) && m_comment_item)) {
-//		delete m_comment_item;
-//		m_comment_item = nullptr;
-//	}
-}
-

Modified: trunk/sources/qetgraphicsitem/terminalelement.h
===================================================================
--- trunk/sources/qetgraphicsitem/terminalelement.h	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/qetgraphicsitem/terminalelement.h	2018-03-25 14:33:49 UTC (rev 5276)
@@ -31,9 +31,6 @@
 		~TerminalElement() override;
 		void initLink(QETProject *project) override;
 
-	public slots:
-		void updateLabel(DiagramContext old_info, DiagramContext new_info);
-
 	private:
 		CommentItem *m_comment_item;
 		CommentItem *m_location_item;

Modified: trunk/sources/undocommand/rotateselectioncommand.cpp
===================================================================
--- trunk/sources/undocommand/rotateselectioncommand.cpp	2018-03-24 14:35:32 UTC (rev 5275)
+++ trunk/sources/undocommand/rotateselectioncommand.cpp	2018-03-25 14:33:49 UTC (rev 5276)
@@ -19,7 +19,6 @@
 #include "element.h"
 #include "conductortextitem.h"
 #include "independenttextitem.h"
-#include "elementtextitem.h"
 #include "dynamicelementtextitem.h"
 #include "elementtextitemgroup.h"
 #include "diagramimageitem.h"
@@ -50,10 +49,6 @@
 				case IndependentTextItem::Type:
 					m_text << static_cast<DiagramTextItem *>(item);
 					break;
-				case ElementTextItem::Type:
-					if(item->parentItem() && !item->parentItem()->isSelected())
-						m_text << static_cast<DiagramTextItem *>(item);
-					break;
 				case DynamicElementTextItem::Type:
 					if(item->parentItem() && !item->parentItem()->isSelected())
 						m_text << static_cast<DiagramTextItem *>(item);


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