roviz  0.7
Code Documentation of roviz
abstract_item_input_output_base.h
1 #ifndef ABSTRACT_ITEM_INPUT_OUTPUT_BASE_H
2 #define ABSTRACT_ITEM_INPUT_OUTPUT_BASE_H
3 
4 #include <QGraphicsObject>
5 #include <QRectF>
6 #include "appcore.h"
7 
12 class ITEMFRAMEWORK_EXPORT AbstractItemInputOutputBase : public QGraphicsObject
13 {
14  Q_OBJECT
15 
16  friend class AbstractItemPrivate;
17  friend class AbstractItem;
18 
19 public:
27  AbstractItemInputOutputBase(class AbstractItem* parent, int transportType, QString const& description, QRectF const& shape);
28 
29  virtual ~AbstractItemInputOutputBase();
30 
35  int transportType() const;
36 
41  AbstractItem* owner() const;
42 
47  virtual QObject* data() const = 0;
48 
55  virtual QPointF localPosition() const;
56 
63  virtual QPointF scenePosition() const;
64 
65  virtual QRectF boundingRect() const;
66  virtual void paint(QPainter* painter, QStyleOptionGraphicsItem const* option, QWidget* widget);
67 
73  virtual bool isConnected() const = 0;
74 
75 protected:
82  void setLocalPosition(QPointF const& position);
83 
90  void updateScenePosition();
91 
92 signals:
99  void positionChanged();
100 
101 private:
102  QScopedPointer<class AbstractItemInputOutputBasePrivate> const d_ptr;
103  Q_DECLARE_PRIVATE(AbstractItemInputOutputBase)
104 };
105 
106 #endif // ABSTRACT_ITEM_INPUT_OUTPUT_BASE_H
Definition: abstract_item_p.h:17
QPainterPath shape() const override
Returns the graphical shape of the item&#39;s image.
Definition: abstract_item.cpp:410
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) override
Paints the contents of the item.
Definition: abstract_item.cpp:556
The AbstractItemInputOutputBase class provides common functionality for the ItemInput and ItemOutput ...
Definition: abstract_item_input_output_base.h:12
QRectF boundingRect() const override
Returns the bounding box of the item.
Definition: abstract_item.cpp:402
QString description() const
Definition: abstract_item.cpp:183
The AbstractItem class is the base class for all items.
Definition: abstract_item.h:69