• 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
  • Scene
PointerItem.h
Go to the documentation of this file.
1 /*
2  This file is part of Rocs.
3  Copyright 2008-2011 Tomaz Canabrava <tomaz.canabrava@gmail.com>
4  Copyright 2008 Ugo Sangiori <ugorox@gmail.com>
5  Copyright 2012 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 #ifndef ROCS_POINTERITEM_H
22 #define ROCS_POINTERITEM_H
23 
24 #include <QGraphicsLineItem>
25 #include <QFont>
26 #include <boost/shared_ptr.hpp>
27 #include "VisualEditorExport.h"
28 #include "CoreTypes.h"
29 
30 class PointerItemPrivate;
31 class QGraphicsSceneMouseEvent;
32 class Pointer;
33 class QGraphicsSimpleTextItem;
34 
42 class VISUALEDITOR_EXPORT PointerItem : public QObject, public QGraphicsPathItem
43 {
44  Q_OBJECT
45 
46 public:
53  explicit PointerItem(PointerPtr pointer, QGraphicsItem *parent = 0);
54 
58  virtual ~PointerItem();
59 
63  enum { Type = UserType + 3 };
64 
69  int type() const;
70 
74  QGraphicsItem *propertyListItem() const;
75 
79  PointerPtr pointer() const;
80 
81 protected:
86  void mousePressEvent(QGraphicsSceneMouseEvent *event);
87 
92  void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
93 
94  void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
95  virtual QPainterPath createCurves() = 0;
96 
97 public Q_SLOTS:
98  void remove();
99  void updatePos();
100  void updateAttributes();
101  void updateProperty(const QString& name);
102  void registerProperty(const QString& name);
103  void removeProperty(const QString& name);
104 
105 private:
106  // d-pointer
107  PointerItemPrivate * const d;
108 };
109 
110 #endif
QGraphicsItem::mouseReleaseEvent
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
VISUALEDITOR_EXPORT
#define VISUALEDITOR_EXPORT
Definition: VisualEditorExport.h:31
QWidget
VisualEditorExport.h
QGraphicsPathItem::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
QGraphicsItem
QGraphicsSimpleTextItem
QObject
QGraphicsSceneMouseEvent
QGraphicsPathItem
QPainter
QGraphicsItem::mousePressEvent
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event)
QString
QPainterPath
PointerItem
Graphics item for data connections.
Definition: PointerItem.h:42
QStyleOptionGraphicsItem
QGraphicsPathItem::type
virtual int type() const
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