[qet] [809] Desormais, tous les champs de texte (elements, conducteurs, independants) reagissent de la meme facon : |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/qet Archives
]
Revision: 809
Author: xavier
Date: 2009-12-07 00:18:47 +0100 (Mon, 07 Dec 2009)
Log Message:
-----------
Desormais, tous les champs de texte (elements, conducteurs, independants) reagissent de la meme facon :
* clic simple : selection
* double clic : edition
Modified Paths:
--------------
branches/0.3/sources/conductor.cpp
branches/0.3/sources/diagramtextitem.cpp
branches/0.3/sources/diagramtextitem.h
branches/0.3/sources/elementtextitem.cpp
Modified: branches/0.3/sources/conductor.cpp
===================================================================
--- branches/0.3/sources/conductor.cpp 2009-12-06 22:48:08 UTC (rev 808)
+++ branches/0.3/sources/conductor.cpp 2009-12-06 23:18:47 UTC (rev 809)
@@ -81,8 +81,9 @@
// ajout du champ de texte editable
text_item = new DiagramTextItem();
+ // par defaut, les DiagramTextItem sont Selectable et Movable
+ // on desactive Movable pour les textes des conducteurs
text_item -> setFlag(QGraphicsItem::ItemIsMovable, false);
- text_item -> setTextInteractionFlags(Qt::TextEditorInteraction);
text_item -> setPlainText(properties_.text);
text_item -> previous_text = properties_.text;
calculateTextItemPosition();
Modified: branches/0.3/sources/diagramtextitem.cpp
===================================================================
--- branches/0.3/sources/diagramtextitem.cpp 2009-12-06 22:48:08 UTC (rev 808)
+++ branches/0.3/sources/diagramtextitem.cpp 2009-12-06 23:18:47 UTC (rev 809)
@@ -112,11 +112,9 @@
cursor.clearSelection();
setTextCursor(cursor);
- if (flags() & QGraphicsItem::ItemIsMovable) {
- // hack a la con pour etre re-entrant
- setTextInteractionFlags(Qt::NoTextInteraction);
- QTimer::singleShot(0, this, SIGNAL(lostFocus()));
- }
+ // hack a la con pour etre re-entrant
+ setTextInteractionFlags(Qt::NoTextInteraction);
+ QTimer::singleShot(0, this, SIGNAL(lostFocus()));
}
/**
@@ -152,22 +150,12 @@
@param event un QGraphicsSceneMouseEvent decrivant le double-clic
*/
void DiagramTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
- if (flags() & QGraphicsItem::ItemIsMovable && !(textInteractionFlags() & Qt::TextEditable)) {
+ if (!(textInteractionFlags() & Qt::TextEditable)) {
// rend le champ de texte editable
setTextInteractionFlags(Qt::TextEditorInteraction);
- // simule un clic simple, ce qui edite le champ de texte
- QGraphicsSceneMouseEvent *mouseEvent = new QGraphicsSceneMouseEvent(QEvent::GraphicsSceneMousePress);
- mouseEvent -> setAccepted(true);
- mouseEvent -> setPos(event -> pos());
- mouseEvent -> setScenePos(event -> scenePos());
- mouseEvent -> setScreenPos(event -> screenPos());
- mouseEvent -> setButtonDownPos(Qt::LeftButton, event -> buttonDownPos(Qt::LeftButton));
- mouseEvent -> setButtonDownScreenPos(Qt::LeftButton, event -> buttonDownScreenPos(Qt::LeftButton));
- mouseEvent -> setButtonDownScenePos(Qt::LeftButton, event -> buttonDownScenePos(Qt::LeftButton));
- mouseEvent -> setWidget(event -> widget());
- QGraphicsTextItem::mousePressEvent(mouseEvent);
- delete mouseEvent;
+ // edite le champ de texte
+ setFocus(Qt::MouseFocusReason);
} else {
QGraphicsTextItem::mouseDoubleClickEvent(event);
}
Modified: branches/0.3/sources/diagramtextitem.h
===================================================================
--- branches/0.3/sources/diagramtextitem.h 2009-12-06 22:48:08 UTC (rev 808)
+++ branches/0.3/sources/diagramtextitem.h 2009-12-06 23:18:47 UTC (rev 809)
@@ -21,6 +21,8 @@
#include "diagram.h"
/**
Cette classe represente un champ de texte editable sur le schema.
+ Par defaut, les DiagramTextItem sont Selectable et Movable.
+ @see QGraphicsItem::GraphicsItemFlags
*/
class DiagramTextItem : public QGraphicsTextItem {
Q_OBJECT
Modified: branches/0.3/sources/elementtextitem.cpp
===================================================================
--- branches/0.3/sources/elementtextitem.cpp 2009-12-06 22:48:08 UTC (rev 808)
+++ branches/0.3/sources/elementtextitem.cpp 2009-12-06 23:18:47 UTC (rev 809)
@@ -28,8 +28,9 @@
DiagramTextItem(parent, scene),
follow_parent_rotations(false)
{
- setFlags(QGraphicsItem::ItemIsSelectable);
- setTextInteractionFlags(Qt::TextEditorInteraction);
+ // par defaut, les DiagramTextItem sont Selectable et Movable
+ // on desactive Movable pour les textes des elements
+ setFlag(QGraphicsItem::ItemIsMovable, false);
}
/**
@@ -42,8 +43,9 @@
DiagramTextItem(text, parent, scene),
follow_parent_rotations(false)
{
- setFlags(QGraphicsItem::ItemIsSelectable);
- setTextInteractionFlags(Qt::TextEditorInteraction);
+ // par defaut, les DiagramTextItem sont Selectable et Movable
+ // on desactive Movable pour les textes des elements
+ setFlag(QGraphicsItem::ItemIsMovable, false);
}
/// Destructeur