roviz  0.7
Code Documentation of roviz
item_output.h
1 #ifndef ITEM_OUTPUT_H
2 #define ITEM_OUTPUT_H
3 
4 #include "item/abstract_item_input_output_base.h"
5 #include "appcore.h"
6 
7 #include <QObject>
8 #include <QRectF>
9 #include <QList>
10 
11 class AbstractItem;
12 class ItemInput;
13 class ItemOutputPrivate;
14 
28 class ITEMFRAMEWORK_EXPORT ItemOutput : public AbstractItemInputOutputBase
29 {
30  Q_OBJECT
31 
32  friend ItemInput;
33  friend AbstractItem;
34 
35 public:
43  ItemOutput(AbstractItem* owner, int transportType, QString const& description,
44  QRectF const& shape = {0, 0, 0, 0});
45 
46  virtual ~ItemOutput();
47 
57  virtual bool isConnected() const;
58 
67  QList<ItemInput*> inputs() const;
68 
72  QObject* data() const;
73 
74  virtual QPointF scenePosition() const;
75 
82  void disconnectInput(ItemInput* input);
83 
90  void disconnectInputs();
91 
103  bool connectInput(ItemInput* input);
104 
105 protected:
113  void setData(QObject* data);
114 
115 signals:
122  void inputDisconnected();
123 
130  void inputConnected();
131 
138  void dataChanged();
139 
140 private:
141  Q_DECLARE_PRIVATE(ItemOutput)
142  QScopedPointer<ItemOutputPrivate> const d_ptr;
143 };
144 
145 #endif // ITEM_OUTPUT_H
The ItemOutput class represents an output that belongs to an item.
Definition: item_output.h:28
The ItemInput class represents an input that belongs to an item.
Definition: item_input.h:28
virtual bool isConnected() const =0
This is a virtual pure function. It is used to determine whether or not this input or output is curre...
The AbstractItemInputOutputBase class provides common functionality for the ItemInput and ItemOutput ...
Definition: abstract_item_input_output_base.h:12
Definition: item_output_p.h:10
The AbstractItem class is the base class for all items.
Definition: abstract_item.h:69
virtual QObject * data() const =0
Returns the data provided by this object.
virtual QPointF scenePosition() const
Returns the scene position of this object.
Definition: abstract_item_input_output_base.cpp:52