YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
resourceviewwidget.cpp
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
7#include "ui_resourceviewwidget.h"
8#include <QTreeWidgetItem>
9
11 GenericViewWidget(parent),
12 ui(new Ui::ResourceViewWidget)
13{
14 this->res = res;
15 ui->setupUi(this);
16
18
19 init();
20
21}
22
27
29{
30 QTreeWidgetItem *peripheralItem = ui->treeWidget->topLevelItem(9);
31 while(peripheralItem->childCount() > 0){
32 peripheralItem->removeChild(peripheralItem->child(0));
33 }
34
35 QTreeWidgetItem *processesItem = ui->treeWidget->topLevelItem(10);
36 while(processesItem->childCount() > 0){
37 processesItem->removeChild(processesItem->child(0));
38 }
39
40 init();
41}
42
43
44void ResourceViewWidget::init()
45{
46 QTreeWidgetItem *nameItem = ui->treeWidget->topLevelItem(0);
47 QTreeWidgetItem *descriptionItem = ui->treeWidget->topLevelItem(1);
48 QTreeWidgetItem *disableItem = ui->treeWidget->topLevelItem(2);
49 QTreeWidgetItem *availabilityItem = ui->treeWidget->topLevelItem(3);
50 QTreeWidgetItem *platformItem = ui->treeWidget->topLevelItem(4);
51 QTreeWidgetItem *processorItem = ui->treeWidget->topLevelItem(5);
52 QTreeWidgetItem *cpuLoadItem = ui->treeWidget->topLevelItem(6);
53 QTreeWidgetItem *memoryItem = ui->treeWidget->topLevelItem(7);
54 QTreeWidgetItem *storageItem = ui->treeWidget->topLevelItem(8);
55 QTreeWidgetItem *peripheralItem = ui->treeWidget->topLevelItem(9);
56 QTreeWidgetItem *processesItem = ui->treeWidget->topLevelItem(10);
57
58 QTreeWidgetItem *platformNameItem = platformItem->child(0);
59 QTreeWidgetItem *platformDistributionItem = platformItem->child(1);
60 QTreeWidgetItem *platformReleaseItem = platformItem->child(2);
61
62 QTreeWidgetItem *processorModelItem = processorItem->child(0);
63 QTreeWidgetItem *processorArchitectureItem = processorItem->child(1);
64 QTreeWidgetItem *processorCoresItem = processorItem->child(2);
65 QTreeWidgetItem *processorSibilingsItem = processorItem->child(3);
66 QTreeWidgetItem *processorFrequencyItem = processorItem->child(4);
67
68 QTreeWidgetItem *cpuLoadInstantItem = cpuLoadItem->child(0);
69 QTreeWidgetItem *cpuLoadAvg1Item = cpuLoadItem->child(1);
70 QTreeWidgetItem *cpuLoadAvg5Item = cpuLoadItem->child(2);
71 QTreeWidgetItem *cpuLoadAvg15Item = cpuLoadItem->child(3);
72
73 QTreeWidgetItem *memoryTotalItem = memoryItem->child(0);
74 QTreeWidgetItem *memoryFreeItem = memoryItem->child(1);
75
76 QTreeWidgetItem *storageTotalItem = storageItem->child(0);
77 QTreeWidgetItem *storageFreeItem = storageItem->child(1);
78
79 nameItem->setText(1,res->getName());
80 descriptionItem->setText(1,res->getDescription());
81 disableItem->setText(1,QString("%1").arg((res->getDisable() ? "Yes" : "No")));
82 availabilityItem->setText(1,QString("%1").arg((res->getAvailability() ? "Yes" : "No")));
83
85 platformNameItem->setText(1,plat.getName());
86 platformDistributionItem->setText(1,plat.getDistribution());
87 platformReleaseItem->setText(1,plat.getRelease());
88
90 processorModelItem->setText(1,proc.getModel());
91 processorArchitectureItem->setText(1,proc.getArchitecture());
92 processorCoresItem->setText(1,QString("%1").arg(proc.getCores()));
93 processorSibilingsItem->setText(1,QString("%1").arg(proc.getSiblings()));
94 processorFrequencyItem->setText(1,QString("%1").arg(proc.getFrequency()));
95
97 cpuLoadInstantItem->setText(1,QString("%1%").arg((avg.loadAverageInstant >=0 ? avg.loadAverageInstant : 0)));
98 cpuLoadAvg1Item->setText(1,QString("%1%").arg((avg.loadAverage1 >=0 ? avg.loadAverage1 : 0)));
99 cpuLoadAvg5Item->setText(1,QString("%1%").arg((avg.loadAverage5 >=0 ? avg.loadAverage5 : 0)));
100 cpuLoadAvg15Item->setText(1,QString("%1%").arg((avg.loadAverage15 >=0 ? avg.loadAverage15 : 0)));
101
102 yarp::manager::Storage storage = res->getStorage();
103 storageTotalItem->setText(1,QString("%1 KB").arg(storage.getTotalSpace()));
104 storageFreeItem->setText(1,QString("%1 KB").arg(storage.getFreeSpace()));
105
106 yarp::manager::Memory mem = res->getMemory();
107 memoryTotalItem->setText(1,QString("%1 KB").arg(mem.getTotalSpace()));
108 memoryFreeItem->setText(1,QString("%1 KB").arg(mem.getFreeSpace()));
109
110 for(int i=0; i<res->peripheralCount();i++){
111 QTreeWidgetItem *it = new QTreeWidgetItem(peripheralItem,QStringList() << res->getPeripheralAt(i).getName());
112 Q_UNUSED(it);
113 }
114
116
117 for(auto p : procs){
118 QTreeWidgetItem *it = new QTreeWidgetItem(processesItem,QStringList() << QString("%1").arg(p.pid));
119 Q_UNUSED(it);
120 }
121}
Generic View Widget.
yarp::manager::NodeType type
The Resource View Widget.
ResourceViewWidget(yarp::manager::Computer *res, QWidget *parent=0)
GenericResource & getPeripheralAt(int index) const
Processor & getProcessor()
ProcessContainer & getProcesses()
const char * getDescription()
Definition resource.h:30
const char * getRelease()
const char * getDistribution()
const LoadAvg & getCPULoad()
const char * getArchitecture()
Definition aboutdlg.h:11
std::vector< Process > ProcessContainer