mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-05-03 20:59:59 +02:00
Replace DVEventAddText by DiagramEventAddText.
Use is unchanged git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4258 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
56
sources/diagramevent/diagrameventaddtext.cpp
Normal file
56
sources/diagramevent/diagrameventaddtext.cpp
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2006-2015 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 "diagrameventaddtext.h"
|
||||||
|
#include "independenttextitem.h"
|
||||||
|
#include "diagramcommands.h"
|
||||||
|
#include "diagram.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief DiagramEventAddText::DiagramEventAddText
|
||||||
|
* Default constructor
|
||||||
|
* @param diagram : the diagram where this event must operate
|
||||||
|
*/
|
||||||
|
DiagramEventAddText::DiagramEventAddText(Diagram *diagram) :
|
||||||
|
DiagramEventInterface(diagram)
|
||||||
|
{}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief DiagramEventAddText::~DiagramEventAddText
|
||||||
|
*/
|
||||||
|
DiagramEventAddText::~DiagramEventAddText()
|
||||||
|
{}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief DiagramEventAddText::mousePressEvent
|
||||||
|
* @param event : event of mouse press event.
|
||||||
|
* @return : true if this event is handled, otherwise false
|
||||||
|
*/
|
||||||
|
bool DiagramEventAddText::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
if (event->button() == Qt::LeftButton)
|
||||||
|
{
|
||||||
|
IndependentTextItem *text = new IndependentTextItem();
|
||||||
|
m_diagram -> undoStack().push(new AddItemCommand<IndependentTextItem *>(text, m_diagram, event->scenePos()));
|
||||||
|
text->setTextInteractionFlags(Qt::TextEditorInteraction);
|
||||||
|
text->setFocus(Qt::MouseFocusReason);
|
||||||
|
emit finish();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
40
sources/diagramevent/diagrameventaddtext.h
Normal file
40
sources/diagramevent/diagrameventaddtext.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2006-2015 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 DIAGRAMEVENTADDTEXT_H
|
||||||
|
#define DIAGRAMEVENTADDTEXT_H
|
||||||
|
|
||||||
|
#include "diagrameventinterface.h"
|
||||||
|
|
||||||
|
class Diagram;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief The DiagramEventAddText class
|
||||||
|
* This diagram event handle the creation of a new text in a diagram
|
||||||
|
*/
|
||||||
|
class DiagramEventAddText : public DiagramEventInterface
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DiagramEventAddText(Diagram *diagram);
|
||||||
|
virtual ~DiagramEventAddText();
|
||||||
|
|
||||||
|
virtual bool mousePressEvent (QGraphicsSceneMouseEvent *event);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DIAGRAMEVENTADDTEXT_H
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2006-2015 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 "dveventaddtext.h"
|
|
||||||
#include "independenttextitem.h"
|
|
||||||
#include "diagram.h"
|
|
||||||
#include "diagramcommands.h"
|
|
||||||
#include "diagramview.h"
|
|
||||||
#include <QMouseEvent>
|
|
||||||
|
|
||||||
DVEventAddText::DVEventAddText(DiagramView *dv) :
|
|
||||||
DVEventInterface (dv)
|
|
||||||
{}
|
|
||||||
|
|
||||||
DVEventAddText::~DVEventAddText() {}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2006-2015 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 DVEVENTADDTEXT_H
|
|
||||||
#define DVEVENTADDTEXT_H
|
|
||||||
|
|
||||||
#include "dveventinterface.h"
|
|
||||||
|
|
||||||
class DVEventAddText : public DVEventInterface
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
DVEventAddText(DiagramView *dv);
|
|
||||||
virtual ~DVEventAddText ();
|
|
||||||
virtual bool mousePressEvent (QMouseEvent *event);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // DVEVENTADDTEXT_H
|
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
#include "nomenclature.h"
|
#include "nomenclature.h"
|
||||||
#include "diagramfoliolist.h"
|
#include "diagramfoliolist.h"
|
||||||
#include "qetshapeitem.h"
|
#include "qetshapeitem.h"
|
||||||
#include "dveventaddtext.h"
|
|
||||||
#include "reportproperties.h"
|
#include "reportproperties.h"
|
||||||
#include "diagrampropertieseditordockwidget.h"
|
#include "diagrampropertieseditordockwidget.h"
|
||||||
#include "diagrameventaddshape.h"
|
#include "diagrameventaddshape.h"
|
||||||
#include "diagrameventaddimage.h"
|
#include "diagrameventaddimage.h"
|
||||||
|
#include "diagrameventaddtext.h"
|
||||||
|
|
||||||
#include "ui/dialogautonum.h"
|
#include "ui/dialogautonum.h"
|
||||||
|
|
||||||
@@ -1138,25 +1138,10 @@ void QETDiagramEditor::selectGroupTriggered(QAction *action)
|
|||||||
void QETDiagramEditor::addItemGroupTriggered(QAction *action)
|
void QETDiagramEditor::addItemGroupTriggered(QAction *action)
|
||||||
{
|
{
|
||||||
QString value = action->data().toString();
|
QString value = action->data().toString();
|
||||||
DiagramView *dv = currentDiagram();
|
|
||||||
|
|
||||||
if (!dv || value.isEmpty()) return;
|
if (Q_UNLIKELY (!currentDiagram() || !currentDiagram()->diagram() || value.isEmpty())) return;
|
||||||
|
|
||||||
DVEventInterface *dvevent = nullptr;
|
Diagram *d = currentDiagram()->diagram();
|
||||||
|
|
||||||
if (value == "text")
|
|
||||||
dvevent = new DVEventAddText(dv);
|
|
||||||
|
|
||||||
if (dvevent)
|
|
||||||
{
|
|
||||||
dv->setEventInterface(dvevent);
|
|
||||||
connect(dvevent, &DVEventInterface::finish, [action](){action->setChecked(false);});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Q_UNLIKELY (!dv->diagram())) return;
|
|
||||||
|
|
||||||
Diagram *d = dv->diagram();
|
|
||||||
DiagramEventInterface *diagram_event = nullptr;
|
DiagramEventInterface *diagram_event = nullptr;
|
||||||
|
|
||||||
if (value == "line")
|
if (value == "line")
|
||||||
@@ -1179,6 +1164,8 @@ void QETDiagramEditor::addItemGroupTriggered(QAction *action)
|
|||||||
else
|
else
|
||||||
diagram_event = deai;
|
diagram_event = deai;
|
||||||
}
|
}
|
||||||
|
else if (value == "text")
|
||||||
|
diagram_event = new DiagramEventAddText(d);
|
||||||
|
|
||||||
if (diagram_event)
|
if (diagram_event)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user