YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
sourceportitem.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: LGPL-2.1-or-later
4 */
5
6#ifndef SOURCEPORTITEM_H
7#define SOURCEPORTITEM_H
8
9
10#include <QObject>
11#include <QPainter>
12#include <QGraphicsPolygonItem>
13
14#include <QGraphicsItem>
15#include <QGraphicsSceneMouseEvent>
16
17#include "commons.h"
18#include "arrow.h"
19#include "itemsignalhandler.h"
20#include "builderitem.h"
21
23class Arrow;
24
26{
27 friend class Arrow;
28public:
29 SourcePortItem(QString itemName, bool nestedInApp = false,
30 bool editOnStart = false, Application *app = NULL,BuilderItem * parent = 0);
32 QRectF boundingRect() const override;
33 QPointF connectionPoint() override;
34 int type() const override;
35 void setAvailable(bool);
36 void editingFinished();
37 bool isErrorState();
38
39private:
40 void updateConnectionsFrom(QString from);
41
42private:
43 Application *app;
44 BuilderItem *parent;
45 bool portAvailable;
46 QGraphicsProxyWidget *lineEditWidget;
47 bool errorState;
48
49protected:
50 void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0) override;
51 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) override;
52 void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override;
53 void mousePressEvent(QGraphicsSceneMouseEvent *e) override;
54 void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override;
55 QVariant itemChange(GraphicsItemChange change, const QVariant &value) override;
56
57};
58
59#endif // SOURCEPORTITEM_H
Definition arrow.h:106
QString itemName
Definition builderitem.h:75
bool nestedInApp
Definition builderitem.h:88
int type() const override
QPointF connectionPoint() override
void setAvailable(bool)
QRectF boundingRect() const override
void mousePressEvent(QGraphicsSceneMouseEvent *e) override
QVariant itemChange(GraphicsItemChange change, const QVariant &value) override
void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) override
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) override
void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override
Class Application.