mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-03-06 14:39:59 +01:00
revamp and improve some code
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4214 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -53,14 +53,17 @@ DVEventAddImage::~DVEventAddImage() {
|
||||
* @param event : event of mouse pressed
|
||||
* @return : true if this event is managed, otherwise false
|
||||
*/
|
||||
bool DVEventAddImage::mousePressEvent(QMouseEvent *event) {
|
||||
if (m_image && event -> button() == Qt::LeftButton) {
|
||||
bool DVEventAddImage::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if (m_image && event -> button() == Qt::LeftButton)
|
||||
{
|
||||
QPointF pos = m_dv -> mapToScene(event -> pos());
|
||||
pos.rx() -= m_image->boundingRect().width()/2;
|
||||
pos.ry() -= m_image->boundingRect().height()/2;
|
||||
m_diagram -> undoStack().push (new AddItemCommand<DiagramImageItem *>(m_image, m_diagram, pos));
|
||||
m_dv -> setContextMenuPolicy(Qt::DefaultContextMenu);
|
||||
m_running = false;
|
||||
emit finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ class DiagramImageItem;
|
||||
*/
|
||||
class DVEventAddImage : public DVEventInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DVEventAddImage(DiagramView *dv);
|
||||
virtual ~DVEventAddImage();
|
||||
|
||||
@@ -161,6 +161,7 @@ bool DVEventAddShape::mouseReleaseEvent(QMouseEvent *event)
|
||||
//Else (no shape), we set to false the running status
|
||||
//for indicate to the owner of this event that everything is done
|
||||
m_running = false;
|
||||
emit finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ class QMouseEvent;
|
||||
|
||||
class DVEventAddShape : public DVEventInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DVEventAddShape(DiagramView *dv, QetShapeItem::ShapeType shape_type);
|
||||
virtual ~DVEventAddShape ();
|
||||
|
||||
@@ -28,11 +28,15 @@ DVEventAddText::DVEventAddText(DiagramView *dv) :
|
||||
|
||||
DVEventAddText::~DVEventAddText() {}
|
||||
|
||||
bool DVEventAddText::mousePressEvent(QMouseEvent *event) {
|
||||
if (event->button() == Qt::LeftButton) {
|
||||
m_diagram -> undoStack().push(new AddItemCommand<IndependentTextItem *>(new IndependentTextItem("_"),
|
||||
m_diagram,
|
||||
m_dv -> mapToScene(event -> pos())));
|
||||
bool DVEventAddText::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if (event->button() == Qt::LeftButton)
|
||||
{
|
||||
IndependentTextItem *text = new IndependentTextItem();
|
||||
m_diagram -> undoStack().push(new AddItemCommand<IndependentTextItem *>(text, m_diagram, m_dv -> mapToScene(event -> pos())));
|
||||
text->setTextInteractionFlags(Qt::TextEditorInteraction);
|
||||
text->setFocus(Qt::MouseFocusReason);
|
||||
emit finish();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
class DVEventAddText : public DVEventInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DVEventAddText(DiagramView *dv);
|
||||
virtual ~DVEventAddText ();
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <QMouseEvent>
|
||||
|
||||
DVEventInterface::DVEventInterface(DiagramView *dv) :
|
||||
QObject(dv),
|
||||
m_dv(dv),
|
||||
m_diagram(dv->diagram()),
|
||||
m_running(false),
|
||||
@@ -57,14 +58,18 @@ bool DVEventInterface::wheelEvent(QWheelEvent *event) {
|
||||
|
||||
/**
|
||||
* @brief DVEventInterface::keyPressEvent
|
||||
* By default, press escape key abort the curent action
|
||||
* By default, press escape key abort the curent action.
|
||||
* isFinish return true, and emit finish
|
||||
* @param event
|
||||
* @return
|
||||
*/
|
||||
bool DVEventInterface::keyPressEvent(QKeyEvent *event) {
|
||||
if (event->key() == Qt::Key_Escape) {
|
||||
bool DVEventInterface::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
if (event->key() == Qt::Key_Escape)
|
||||
{
|
||||
m_running = false;
|
||||
m_abort = true;
|
||||
emit finish();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#ifndef DVEVENTINTERFACE_H
|
||||
#define DVEVENTINTERFACE_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class QMouseEvent;
|
||||
class QWheelEvent;
|
||||
class QKeyEvent;
|
||||
@@ -33,8 +35,10 @@ class Diagram;
|
||||
* isRunning() return true if action is started but not finish. By default return false.
|
||||
* isFinish() return true when the action is finish, or not started. By default return true.
|
||||
*/
|
||||
class DVEventInterface
|
||||
class DVEventInterface : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DVEventInterface(DiagramView *dv);
|
||||
virtual ~DVEventInterface () = 0;
|
||||
@@ -48,6 +52,13 @@ class DVEventInterface
|
||||
virtual bool isRunning () const;
|
||||
virtual bool isFinish () const;
|
||||
|
||||
signals:
|
||||
/**
|
||||
* @brief finish
|
||||
* emited when the interface finish is work
|
||||
*/
|
||||
void finish();
|
||||
|
||||
protected:
|
||||
DiagramView *m_dv;
|
||||
Diagram *m_diagram;
|
||||
|
||||
Reference in New Issue
Block a user