mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +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:
parent
ce75710f6c
commit
491652ba35
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 "diagramfoliolist.h"
|
||||
#include "qetshapeitem.h"
|
||||
#include "dveventaddtext.h"
|
||||
#include "reportproperties.h"
|
||||
#include "diagrampropertieseditordockwidget.h"
|
||||
#include "diagrameventaddshape.h"
|
||||
#include "diagrameventaddimage.h"
|
||||
#include "diagrameventaddtext.h"
|
||||
|
||||
#include "ui/dialogautonum.h"
|
||||
|
||||
@ -1138,25 +1138,10 @@ void QETDiagramEditor::selectGroupTriggered(QAction *action)
|
||||
void QETDiagramEditor::addItemGroupTriggered(QAction *action)
|
||||
{
|
||||
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;
|
||||
|
||||
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();
|
||||
Diagram *d = currentDiagram()->diagram();
|
||||
DiagramEventInterface *diagram_event = nullptr;
|
||||
|
||||
if (value == "line")
|
||||
@ -1179,6 +1164,8 @@ void QETDiagramEditor::addItemGroupTriggered(QAction *action)
|
||||
else
|
||||
diagram_event = deai;
|
||||
}
|
||||
else if (value == "text")
|
||||
diagram_event = new DiagramEventAddText(d);
|
||||
|
||||
if (diagram_event)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user