[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);
}
}
}