YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
applicationitem.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 APPLICATIONITEM_H
7#define APPLICATIONITEM_H
8
9#include "builderitem.h"
10
12{
13public:
14 ApplicationItem(Application* application, Manager *manager, QList <int> *,
15 bool nestedInApp = false,
16 bool editingMode = false,
17 int *connectionsId = NULL,
18 BuilderItem *parent = NULL);
20
21 QRectF boundingRect() const override;
22 QPointF connectionPoint() override;
23 int type() const override;
24 void init();
25 QList<QGraphicsItem *> getModulesList();
27 void setModuleRunning(bool,int);
28 void setConnectionConnected(bool connected, QString from, QString to);
29 void setSelectedModules(QList<int>selectedIds);
30 void setSelectedConnections(QList<int>selectedIds);
31 void setOutputPortAvailable(QString oData, bool available);
32 void setInputPortAvailable(QString iData, bool available);
33 void updateGraphicModel();
34 void setModulesAction(QList <QAction*> act);
35
36private:
37 void updateBoundingRect(QList<QGraphicsItem *> items);
38 void updateSizes(QGraphicsItem *it, QGraphicsItem *parent = NULL);
39 void findInputOutputData(Connection& cnn, ModulePContainer &modules,
40 InputData* &input_, OutputData* &output_);
41 PortItem* findModelFromOutput(OutputData* output);
42 PortItem* findModelFromInput(InputData* input);
43
44 BuilderItem* addModule(Module *module, int moduleId);
45 qreal minx,miny,maxw,maxh;
46 int *connectionsId;
47
48
49
50protected:
51 void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0) 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
58private:
59 QList <QAction*> modulesAction;
60 bool editingMode;
61 QList <int> *usedModulesId;
62 QFont customFont;
63 int textWidth ;
64 Application* application;
65 Manager *mainAppManager;
66 int index;
67 QList <QGraphicsItem*> itemsList;
68
69
70
71};
72
73#endif // APPLICATIONITEM_H
void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override
QVariant itemChange(GraphicsItemChange change, const QVariant &value) override
void setOutputPortAvailable(QString oData, bool available)
QPointF connectionPoint() override
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) override
int type() const override
Application * getInnerApplication()
void setModuleRunning(bool, int)
void setSelectedConnections(QList< int >selectedIds)
void mousePressEvent(QGraphicsSceneMouseEvent *e) override
QRectF boundingRect() const override
void setModulesAction(QList< QAction * > act)
QList< QGraphicsItem * > getModulesList()
void setInputPortAvailable(QString iData, bool available)
void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override
void setSelectedModules(QList< int >selectedIds)
void setConnectionConnected(bool connected, QString from, QString to)
bool nestedInApp
Definition builderitem.h:88
Class Application.
Class Connection.
Definition application.h:56
Class InputData.
Definition data.h:21
Class Manager.
Definition manager.h:20
Class Module.
Definition module.h:99
std::vector< Module * > ModulePContainer
Definition module.h:230