• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

rocs/VisualEditor

  • sources
  • kde-4.14
  • kdeedu
  • rocs
  • VisualEditor
  • Actions
AddDataHandAction.cpp
Go to the documentation of this file.
1 /*
2  This file is part of Rocs.
3  Copyright 2008 Tomaz Canabrava <tomaz.canabrava@gmail.com>
4  Copyright 2008 Ugo Sangiori <ugorox@gmail.com>
5  Copyright 2011 Andreas Cord-Landwehr <cola@uni-paderborn.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #include "AddDataHandAction.h"
22 #include "Scene/GraphScene.h"
23 #include "Scene/DataItem.h"
24 #include "DataStructure.h"
25 #include "Data.h"
26 #include <KLocale>
27 #include "Document.h"
28 #include <KDebug>
29 #include <DocumentManager.h>
30 
31 AddDataHandAction::AddDataHandAction(GraphScene *scene, QObject *parent)
32  : AbstractAction(scene, parent),
33  _dataType(DataTypePtr())
34 {
35  setText(i18nc("@action:intoolbar", "Add Data"));
36  setToolTip(i18nc("@info:tooltip", "Creates a new node at the click position on the drawing area."));
37  setIcon(KIcon("rocsadddata"));
38  _name = "rocs-hand-add-node";
39 }
40 
41 AddDataHandAction::AddDataHandAction(GraphScene *scene, DataTypePtr dataType, QObject *parent)
42  : AbstractAction(scene, parent),
43  _dataType(dataType)
44 {
45  setText(i18nc("@action:intoolbar", "Add %1", dataType->name()));
46  setToolTip(i18nc("@info:tooltip", "Creates a new node at the click position on the drawing area."));
47  setIcon(dataType->icon());
48  _name = "rocs-hand-add-node";
49 }
50 
51 AddDataHandAction::~AddDataHandAction()
52 {
53 }
54 
55 void AddDataHandAction::setDataType(DataTypePtr dataType)
56 {
57  _dataType = dataType;
58  setText(i18n("Add %1", dataType->name()));
59 }
60 
61 bool AddDataHandAction::executePress(QPointF pos)
62 {
63  if (!DocumentManager::self().activeDocument()->activeDataStructure()
64  || DocumentManager::self().activeDocument()->activeDataStructure()->readOnly()
65  ) {
66  return false;
67  }
68 
69  // if no dataType set, we use default data type
70  int dataTypeIdentifier = 0;
71  if (_dataType) {
72  dataTypeIdentifier = _dataType->identifier();
73  }
74 
75  if (DocumentManager::self().activeDocument()->activeDataStructure()
76  ->createData(QString(), QPointF(pos.x(), pos.y()), dataTypeIdentifier))
77  {
78  return true;
79  }
80  return true;
81 }
82 
83 void AddDataHandAction::updateIcon()
84 {
85  if (_dataType) {
86  setIcon(_dataType->icon());
87  }
88 }
89 
AddDataHandAction::setDataType
void setDataType(DataTypePtr dataType)
Set.
Definition: AddDataHandAction.cpp:55
AddDataHandAction.h
AddDataHandAction::updateIcon
void updateIcon()
Definition: AddDataHandAction.cpp:83
GraphScene.h
AbstractAction
the base class for custom actions. This class provides the basic functionality for all custom actions...
Definition: AbstractAction.h:36
QPointF
AddDataHandAction::AddDataHandAction
AddDataHandAction(GraphScene *scene, QObject *parent=0)
Default constructor Creates add-node action that adds data elements of default.
Definition: AddDataHandAction.cpp:31
QPointF::x
qreal x() const
QPointF::y
qreal y() const
GraphScene
Definition: GraphScene.h:38
QObject
AbstractAction::_name
QString _name
Definition: AbstractAction.h:90
QString
AddDataHandAction::executePress
bool executePress(QPointF pos)
This method creates data element for previously specified type at position pos.
Definition: AddDataHandAction.cpp:61
DataItem.h
AddDataHandAction::~AddDataHandAction
~AddDataHandAction()
Definition: AddDataHandAction.cpp:51
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:16:27 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

rocs/VisualEditor

Skip menu "rocs/VisualEditor"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal