YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
startdlg.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 */
6
7#include "startdlg.h"
8#include "ui_startdlg.h"
9#include "flowlayout.h"
10
11
12
13
14StartDlg::StartDlg(QWidget *parent) :
15 QDialog(parent),
16 ui(new Ui::StartDlg)
17{
18 ui->setupUi(this);
19
20
21 setWindowTitle("Qt Robot Motor GUI V2.0 - Select Parts");
22}
23
25{
26 delete ui;
27}
28
29
30void StartDlg::init(std::vector<std::string> partsName)
31{
32 auto* layout = new FlowLayout(ui->groupBox);
33
34 for(int i=0;i<partsName.size();i++)
35 {
36 auto* check = new QCheckBox(QString(partsName[i].c_str()), ui->groupBox);
37 check->setChecked(true);
38 check->setMinimumSize(QSize(100, check->height()));
39 layout->addWidget(check);
40 checkList.append(check);
41 }
42
43 auto* button = new QPushButton("Deselect All",ui->groupBox);
44 connect(button,SIGNAL(clicked()),this,SLOT(onSelDesel()));
45
46 button->setFixedSize(QSize(100, button->height()));
47 layout->addWidget(button);
48 adjustSize();
49
50 ui->groupBox->setLayout(layout);
51
52 auto bb = this->findChildren<QDialogButtonBox *>();
53 QPushButton* okBtn = bb[0]->button(QDialogButtonBox::Ok);
54 okBtn->setAutoDefault(true);
55 okBtn->setDefault(true);
56 QPushButton* cancelBtn = bb[0]->button(QDialogButtonBox::Cancel);
57 cancelBtn->setAutoDefault(false);
58 cancelBtn->setDefault(false);
59
60}
61
62
63std::vector<bool> StartDlg::getEnabledParts()
64{
65 std::vector<bool> enabled;
66
67 for(int i = 0; i < checkList.count(); i++)
68 {
69 enabled.push_back(checkList.at(i)->isChecked());
70 }
71
72 return enabled;
73}
74
75void StartDlg::onSelDesel()
76{
77 auto checkboxes = this->findChildren<QCheckBox *>();
78 auto btn = this->findChildren<QPushButton *>();
79 bool sel;
80
81 if(btn[0]->text() == "Deselect All"){
82 btn[0]->setText("Select All");
83 sel = false;
84 }
85 else{
86 btn[0]->setText("Deselect All");
87 sel = true;
88 }
89
90 for (auto child : checkboxes) {
91 child->setChecked(sel);
92 }
93}
int SIGNAL(int pid, int signum)
Original license follows:
Definition flowlayout.h:59
std::vector< bool > getEnabledParts()
Definition startdlg.cpp:63
void init(std::vector< std::string > partsName)
Definition startdlg.cpp:30
StartDlg(QWidget *parent=0)
Definition startdlg.cpp:14
std::vector< std::string > partsName
Definition main.cpp:31
Definition aboutdlg.h:11