[qet] [2097] Revert Rev 2096.

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


Revision: 2097
Author:   scorpio810
Date:     2013-04-10 13:10:02 +0200 (Wed, 10 Apr 2013)
Log Message:
-----------
Revert Rev 2096.

Modified Paths:
--------------
    trunk/sources/conductor.cpp
    trunk/sources/conductorautonumerotation.cpp
    trunk/sources/conductorautonumerotation.h
    trunk/sources/conductorautonumerotationwidget.cpp
    trunk/sources/conductorautonumerotationwidget.h
    trunk/sources/diagramview.cpp

Property Changed:
----------------
    trunk/elements/appareils_de_mesure/
    trunk/sources/aboutqet.cpp

Property changes on: trunk/elements/appareils_de_mesure
___________________________________________________________________
Deleted: svn:mergeinfo
   - /branches/0.3/elements/appareils_de_mesure:740-1749


Property changes on: trunk/sources/aboutqet.cpp
___________________________________________________________________
Deleted: svn:mergeinfo
   - /branches/0.3/sources/aboutqet.cpp:740-1749

Modified: trunk/sources/conductor.cpp
===================================================================
--- trunk/sources/conductor.cpp	2013-04-10 09:31:51 UTC (rev 2096)
+++ trunk/sources/conductor.cpp	2013-04-10 11:10:02 UTC (rev 2097)
@@ -1264,30 +1264,15 @@
 	// verifie que le texte a reellement change
 	if (text_item -> toPlainText() == properties_.text) return;
 	
+	// initialise l'objet UndoCommand correspondant
 	if (Diagram *my_diagram = diagram()) {
-		int qmbreturn=0;
-		//if conductor isn't alone at this potential
-		//ask user to apply text on every conductors of this potential
-		if (relatedPotentialConductors().size() >= 1){
-			qmbreturn = QMessageBox::question(diagramEditor(), tr("Textes de conducteurs"),
-											  tr("Voulez-vous appliquer le nouveau texte \n"
-												 "\340 l'ensemble des conducteurs de ce potentiel ?"),
-											  QMessageBox::No| QMessageBox::Yes, QMessageBox::Yes);
-			if (qmbreturn == QMessageBox::Yes){
-				ConductorAutoNumerotation can(this);
-				can.setText(text_item -> toPlainText());
-			}
-		}
-		if (qmbreturn == 0 || qmbreturn == QMessageBox::No) {
-			// initialise l'objet UndoCommand correspondant
-			ConductorProperties new_properties(properties_);
-			new_properties.text = text_item -> toPlainText();
-
-			ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand(this);
-			ccpc -> setOldSettings(properties_);
-			ccpc -> setNewSettings(new_properties);
-			my_diagram -> undoStack().push(ccpc);
-		}
+		ConductorProperties new_properties(properties_);
+		new_properties.text = text_item -> toPlainText();
+		
+		ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand(this);
+		ccpc -> setOldSettings(properties_);
+		ccpc -> setNewSettings(new_properties);
+		my_diagram -> undoStack().push(ccpc);
 	}
 }
 

Modified: trunk/sources/conductorautonumerotation.cpp
===================================================================
--- trunk/sources/conductorautonumerotation.cpp	2013-04-10 09:31:51 UTC (rev 2096)
+++ trunk/sources/conductorautonumerotation.cpp	2013-04-10 11:10:02 UTC (rev 2097)
@@ -1,9 +1,9 @@
 #include <QStringList>
 #include "conductorautonumerotation.h"
 #include "conductorautonumerotationwidget.h"
+#include "diagram.h"
 #include "qetdiagrameditor.h"
 #include "QGraphicsView"
-#include "diagramcommands.h"
 
 /**
  * Constructor
@@ -11,23 +11,19 @@
 ConductorAutoNumerotation::ConductorAutoNumerotation() :
 conductor_ (0),
 diagram_ (0),
-strategy_ (0),
-strategy_is_set (false)
+strategy_(0)
 {}
 
 /**
  *Constructor
- * @param c the conductor to apply automatic numerotation
+ * @param c le conducteur a appliquer une numerotation
  */
 ConductorAutoNumerotation::ConductorAutoNumerotation(Conductor *c) :
 	conductor_ (c),
 	diagram_ (c -> diagram()),
 	conductor_list(c -> relatedPotentialConductors()),
-	strategy_ (0),
-	strategy_is_set (false)
-{
-	setNumStrategy();
-}
+	strategy_(0)
+{}
 
 /**
  *destructor
@@ -37,136 +33,69 @@
 }
 
 /**
- * @param c the conductor to apply automatic numerotation
+ * @param c le conducteur a appliquer une numerotation
  */
 void ConductorAutoNumerotation::setConductor(Conductor *c) {
 	conductor_ = c;
 	diagram_ = c -> diagram();
+	strategy_ = 0;
 	conductor_list = c -> relatedPotentialConductors();
-	setNumStrategy();
 }
 
 /**
  * @brief ConductorAutoNumerotation::numerate
- * execute the automatic numerotation
+ *execute la numerotation automatique du conducteur
  */
 void ConductorAutoNumerotation::numerate() {
-	if (strategy_is_set)
-		strategy_ -> createNumerotation();
+	if (conductor_ == 0) return;
+	//ce conducteur est sur un potentiel existant
+	if (conductor_list.size() >= 1) {
+		setNumStrategy(new SamePotential);
+		strategy_ -> createNumerotation(conductor_, diagram_);
+	}
+	//ce conducteur est le premier d'un nouveau potentiel
+	else if (conductor_list.size() == 0) {
+	}
 }
 
 /**
- * @brief ConductorAutoNumerotation::setText
- * apply the text @t by the strategy
- */
-void ConductorAutoNumerotation::setText(QString t) {
-	if (strategy_is_set)
-		strategy_ -> applyText(t);
-}
-
-/**
  * @brief ConductorAutoNumerotation::setNumStrategy
- * apply the good strategy relative to the conductor
+ *applique la strategy adéquate à la situation
+ * @param strategy la class de la strategy à appliquer
  */
-void ConductorAutoNumerotation::setNumStrategy() {
+void ConductorAutoNumerotation::setNumStrategy(NumStrategy *strategy) {
 	if (strategy_ != 0)
 		delete strategy_;
-
-	if (conductor_list.size() >= 1) {
-		strategy_ = new SamePotential (conductor_);
-		strategy_is_set = true;
-	}
-	else if (conductor_list.size() == 0) {
-		strategy_is_set = false;
-	}
+	strategy_ = strategy;
 }
 
-
-/**
- * Constructor
- */
-NumStrategy::NumStrategy (Conductor *c):
-	conductor_ (c),
-	c_list (c -> relatedPotentialConductors()),
-	diagram_ (c -> diagram())
-{}
-
+NumStrategy::NumStrategy () {}
 NumStrategy::~NumStrategy() {}
 
 /**
- * @brief ConductorAutoNumerotationWidget::applyText
- *apply the text @t on every conductors of @c_list and @conductor_
- */
-void NumStrategy::applyText(QString t) {
-	if (!c_list.empty()) {
-		QSet <Conductor *> conductorslist = c_list;
-		conductorslist << conductor_;
-		QList <ConductorProperties> old_properties, new_properties;
-		ConductorProperties cp;
-
-		foreach (Conductor *c, conductorslist) {
-			old_properties << c -> properties();
-			cp = c -> properties();
-			cp.text = t;
-			c -> setProperties(cp);
-			new_properties << c -> properties();
-			c -> setText(t);
-		}
-		//initialize the corresponding UndoCommand object
-		ChangeSeveralConductorsPropertiesCommand *cscpc = new ChangeSeveralConductorsPropertiesCommand(conductorslist);
-		cscpc -> setOldSettings(old_properties);
-		cscpc -> setNewSettings(new_properties);
-		diagram_ -> undoStack().push(cscpc);
-	}
-	else {
-		//initialize the corresponding UndoCommand object
-		ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand (conductor_);
-		ConductorProperties cp;
-		cp = conductor_ ->properties();
-		ccpc -> setOldSettings(cp);
-		cp.text = t;
-		ccpc -> setNewSettings(cp);
-		diagram_ -> undoStack().push(ccpc);
-		conductor_ -> setProperties(cp);
-		conductor_ -> setText(t);
-	}
-}
-
-
-/**
- * Constructor
- */
-SamePotential::SamePotential(Conductor *c):
-	NumStrategy(c)
-{}
-
-/**
  * @brief SamePotential::createNumerotation
- *create the numerotation for the conductor @c connected on an existing potential
+ *crée la numerotation pour le conducteur @c connecté sur un potentiel deja existant
  */
-void SamePotential::createNumerotation() {
+void SamePotential::createNumerotation(Conductor *c, Diagram *d) {
+	QSet <Conductor *> cl;
 	QStringList strl;
 
-	foreach (const Conductor *cc, c_list) strl<<(cc->text());
-	//the texts is identicals
+	cl = c -> relatedPotentialConductors();
+	foreach (const Conductor *cc, cl) strl<<(cc->text());
+	//tout les textes sont identique
 	if (eachIsEqual(strl)) {
 		ConductorProperties cp;
 		cp.text = strl.at(0);
-		conductor_ -> setProperties(cp);
-		conductor_ -> setText(strl.at(0));
+		c -> setProperties(cp);
+		c -> setText(strl.at(0));
 	}
-	//the texts isn't identicals
+	//les textes ne sont pas identique
 	else {
-		ConductorAutoNumerotationWidget *canw = new ConductorAutoNumerotationWidget(conductor_, c_list, conductor_ -> diagramEditor());
-		connect(canw, SIGNAL(textIsSelected(QString)),
-				this, SLOT(applyText(QString)));
-		canw -> exec();
+		ConductorAutoNumerotationWidget canw (c, cl, c -> diagramEditor());
+		canw.exec();
 	}
 }
 
-/**
- * @return true if every text of qsl is identical, else false.
- */
 bool eachIsEqual (const QStringList &qsl) {
 	foreach (const QString t, qsl) {
 		if (qsl.at(0) != t) return false;

Modified: trunk/sources/conductorautonumerotation.h
===================================================================
--- trunk/sources/conductorautonumerotation.h	2013-04-10 09:31:51 UTC (rev 2096)
+++ trunk/sources/conductorautonumerotation.h	2013-04-10 11:10:02 UTC (rev 2097)
@@ -1,9 +1,7 @@
 #ifndef CONDUCTORAUTONUMEROTATION_H
 #define CONDUCTORAUTONUMEROTATION_H
 
-#include <QObject>
-#include "conductor.h"
-#include "diagram.h"
+#include <conductor.h>
 
 class NumStrategy;
 
@@ -18,48 +16,32 @@
 	//methods
 	void setConductor(Conductor *);
 	void numerate();
-	void setText(QString);
 
 	protected:
 	//methods
-	void setNumStrategy ();
+	void setNumStrategy (NumStrategy *);
 
 	//attributes
 	Conductor *conductor_;
 	Diagram *diagram_;
 	QSet <Conductor *> conductor_list;
 	NumStrategy *strategy_;
-
-	private:
-	bool strategy_is_set;
 };
 
 
-class NumStrategy: public QObject
+class NumStrategy
 {
-	Q_OBJECT
-
 	public:
-	NumStrategy (Conductor *);
+	NumStrategy ();
 	virtual ~NumStrategy ();
-	virtual void createNumerotation() = 0; //cree la numerotation en fonction de la strategie utilisé
+	virtual void createNumerotation(Conductor *, Diagram *) = 0; //cree la numerotation en fonction de la strategie utilisé
 
-	public slots:
-	void applyText(QString);
-
-	protected:
-	Conductor *conductor_;
-	QSet <Conductor *> c_list;
-	Diagram *diagram_;
-
 };
 
 
 class SamePotential: public NumStrategy
 {
-	public:
-	SamePotential (Conductor *);
-	virtual void createNumerotation();
+	virtual void createNumerotation(Conductor *, Diagram *);
 };
 
 bool eachIsEqual (const QStringList &);

Modified: trunk/sources/conductorautonumerotationwidget.cpp
===================================================================
--- trunk/sources/conductorautonumerotationwidget.cpp	2013-04-10 09:31:51 UTC (rev 2096)
+++ trunk/sources/conductorautonumerotationwidget.cpp	2013-04-10 11:10:02 UTC (rev 2097)
@@ -1,8 +1,8 @@
 #include "conductorautonumerotationwidget.h"
+#include "conductorproperties.h"
+#include "diagramcommands.h"
+#include "diagram.h"
 
-/**
- * constructor
- */
 ConductorAutoNumerotationWidget::ConductorAutoNumerotationWidget(Conductor *c, QSet<Conductor *> cl, QWidget *parent) :
 	QDialog (parent),
 	conductor_(c),
@@ -15,9 +15,6 @@
 	buildInterface();
 }
 
-/**
- * @brief ConductorAutoNumerotationWidget::buildInterface
- */
 void ConductorAutoNumerotationWidget::buildInterface() {
 	QVBoxLayout *mainlayout = new QVBoxLayout;
 	QGroupBox *potential_groupbox = new QGroupBox(tr("Textes de potentiel"), this);
@@ -99,6 +96,31 @@
 }
 
 /**
+ * @brief ConductorAutoNumerotationWidget::applyText
+ *applique le texte selectionne @text_ a tout les conducteur de @c_list et a @conducteur_
+ */
+void ConductorAutoNumerotationWidget::applyText() {
+	QSet <Conductor *> conductorslist = c_list;
+	conductorslist << conductor_;
+	QList <ConductorProperties> old_properties, new_properties;
+	ConductorProperties cp;
+
+	foreach (Conductor *c, conductorslist) {
+		old_properties << c -> properties();
+		cp = c -> properties();
+		cp.text = text_;
+		c -> setProperties(cp);
+		new_properties << c -> properties();
+		c -> setText(text_);
+	}
+	// initialise l'objet UndoCommand correspondant
+	ChangeSeveralConductorsPropertiesCommand *cscpc = new ChangeSeveralConductorsPropertiesCommand(conductorslist);
+	cscpc -> setOldSettings(old_properties);
+	cscpc -> setNewSettings(new_properties);
+	diagram_ -> undoStack().push(cscpc);
+}
+
+/**
  * @brief ConductorAutoNumerotationWidget::setText
  * enregistre le texte @t passé en parametre
  */
@@ -112,9 +134,10 @@
  */
 void ConductorAutoNumerotationWidget::accept() {
 	if (text_field -> isEnabled()) {
-		emit textIsSelected(text_field -> text());
+		text_ = text_field -> text();
+		applyText();
 		}
 	else
-		emit textIsSelected(text_);
+		applyText();
 	close();
 }

Modified: trunk/sources/conductorautonumerotationwidget.h
===================================================================
--- trunk/sources/conductorautonumerotationwidget.h	2013-04-10 09:31:51 UTC (rev 2096)
+++ trunk/sources/conductorautonumerotationwidget.h	2013-04-10 11:10:02 UTC (rev 2097)
@@ -20,13 +20,11 @@
 	void setText (QString);
 	void accept();
 
-	signals:
-	void textIsSelected (QString);
-
 	private:
 	//methods
 	void buildInterface();
 	QVBoxLayout* buildRadioList();
+	void applyText();
 
 	//attributes
 	Conductor *conductor_;

Modified: trunk/sources/diagramview.cpp
===================================================================
--- trunk/sources/diagramview.cpp	2013-04-10 09:31:51 UTC (rev 2096)
+++ trunk/sources/diagramview.cpp	2013-04-10 11:10:02 UTC (rev 2097)
@@ -37,9 +37,8 @@
 #include "qeticons.h"
 #include "qetmessagebox.h"
 #include "qtextorientationspinboxwidget.h"
-#include "htmleditor/htmleditor.h"
-#include "conductorautonumerotation.h"
 
+
 /**
 	Constructeur
 	@param diagram Schema a afficher ; si diagram vaut 0, un nouveau Diagram est utilise
@@ -410,9 +409,8 @@
 }
 
 /**
-	Gere les clics et plus particulierement :
-	 *  le clic du milieu (= coller pour X11)
-	 *  le clic pour ajouter un champ de texte independant
+	Manage the events click mouse :
+	 *  click to add an independent text field
 */
 void DiagramView::mousePressEvent(QMouseEvent *e) {
 	if (fresh_focus_in_) {
@@ -420,33 +418,40 @@
 		fresh_focus_in_ = false;
 	}
 	if (isInteractive() && !scene -> isReadOnly()) {
-		if (e -> buttons() == Qt::MidButton) {
-			paste(mapToScene(e -> pos()), QClipboard::Selection);
-		} else {
-			if (is_adding_text && e -> buttons() == Qt::LeftButton) {
-				addDiagramTextAtPos(mapToScene(e -> pos()));
-				is_adding_text = false;
-			}
+		if (is_adding_text && e -> buttons() == Qt::LeftButton) {
+			addDiagramTextAtPos(mapToScene(e -> pos()));
+			is_adding_text = false;
 		}
 	}
 	QGraphicsView::mousePressEvent(e);
 }
 
 /**
-	Gere les actions liees a la rollette de la souris
-	@param e QWheelEvent decrivant l'evenement rollette
+	Manage wheel event of mouse
+	@param e QWheelEvent
 */
 void DiagramView::wheelEvent(QWheelEvent *e) {
-	// si la touche Ctrl est enfoncee, on zoome / dezoome
-	if (e -> modifiers() & Qt::ControlModifier) {
-		if (e -> delta() > 0) {
-			zoomIn();
-		} else {
-			zoomOut();
+	//Zoom and scrolling
+	if (e->buttons() != Qt::MidButton) {
+		if (!(e -> modifiers() & Qt::ControlModifier)) {
+			if (e -> delta() > 0)	zoomIn();
+			else					zoomOut();
 		}
-	} else {
-		QAbstractScrollArea::wheelEvent(e);
+		else {
+			QAbstractScrollArea::wheelEvent(e);
+		}
 	}
+	// Or select visualisation or selection mode
+	else{
+		if (!is_moving_view_) {
+			setVisualisationMode();
+			is_moving_view_ = true;
+		}
+		else{
+			setSelectionMode();
+			is_moving_view_ = false;
+		}
+	}
 }
 
 /**
@@ -711,7 +716,7 @@
 }
 
 /**
-	Active ou desactive le dessin de grille selon la quantite de pixels affichee
+	Enables or disables the drawing grid according to the amount of pixels display
 */
 void DiagramView::adjustGridToZoom() {
 	QRectF viewed_scene = viewedSceneRect();
@@ -977,27 +982,13 @@
 	if (conductor_dialog.exec() == QDialog::Accepted) {
 		// recupere les nouvelles proprietes
 		ConductorProperties new_properties = cpw -> conductorProperties();
+		
 		if (new_properties != old_properties) {
-			int qmbreturn=0;
-			//if conductor isn't alone at this potential
-			//ask user to apply text on every conductors of this potential
-			if (edited_conductor -> relatedPotentialConductors().size() >= 1){
-				qmbreturn = QMessageBox::question(diagramEditor(), tr("Textes de conducteurs"),
-												  tr("Voulez-vous appliquer le nouveau texte \n"
-													 "\340 l'ensemble des conducteurs de ce potentiel ?"),
-												  QMessageBox::No| QMessageBox::Yes, QMessageBox::Yes);
-				if (qmbreturn == QMessageBox::Yes){
-					ConductorAutoNumerotation can(edited_conductor);
-					can.setText(new_properties.text);
-				}
-			}
-			if (qmbreturn == 0 || qmbreturn == QMessageBox::No) {
-				// initialise l'objet UndoCommand correspondant
-				ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand(edited_conductor);
-				ccpc -> setOldSettings(old_properties);
-				ccpc -> setNewSettings(new_properties);
-				diagram() -> undoStack().push(ccpc);
-			}
+			// initialise l'objet UndoCommand correspondant
+			ChangeConductorPropertiesCommand *ccpc = new ChangeConductorPropertiesCommand(edited_conductor);
+			ccpc -> setOldSettings(old_properties);
+			ccpc -> setNewSettings(new_properties);
+			diagram() -> undoStack().push(ccpc);
 		}
 	}
 }


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