61 QVBoxLayout* layout =
new QVBoxLayout();
63 QGroupBox* group1 =
new QGroupBox(
"Kinematics");
64 QGroupBox* group2 =
new QGroupBox(
"OMPL Planning");
68 QFont group_title_font(QFont().defaultFamily(), 12, QFont::Bold);
69 title_->setFont(group_title_font);
73 QFormLayout* form_layout =
new QFormLayout();
74 form_layout->setContentsMargins(0, 12, 0, 12);
100 QPushButton* kinematics_parameters_file_button =
new QPushButton(
"...",
this);
101 kinematics_parameters_file_button->setMaximumWidth(50);
102 connect(kinematics_parameters_file_button, SIGNAL(clicked()),
this, SLOT(selectKinematicsFile()));
103 QBoxLayout* kinematics_parameters_file_layout =
new QHBoxLayout(
this);
105 kinematics_parameters_file_layout->addWidget(kinematics_parameters_file_button);
106 kinematics_parameters_file_layout->setContentsMargins(0, 0, 0, 0);
107 QWidget* container =
new QWidget(
this);
108 container->setLayout(kinematics_parameters_file_layout);
109 form_layout->addRow(
"Kin. parameters file:", container);
111 group1->setLayout(form_layout);
115 QFormLayout* form_layout2 =
new QFormLayout();
116 form_layout2->setContentsMargins(0, 12, 0, 12);
124 group2->setLayout(form_layout2);
126 layout->addWidget(group1);
127 layout->addWidget(group2);
129 layout->setAlignment(Qt::AlignTop);
134 QVBoxLayout* new_buttons_layout_container =
new QVBoxLayout();
135 QHBoxLayout* label_layout =
new QHBoxLayout();
136 QHBoxLayout* recommended_options =
new QHBoxLayout();
137 QHBoxLayout* advanced_options =
new QHBoxLayout();
139 QLabel* save_and_add =
new QLabel(
"Next, Add Components To Group:",
this);
140 QFont save_and_add_font(QFont().defaultFamily(), 12, QFont::Bold);
141 save_and_add->setFont(save_and_add_font);
142 label_layout->addWidget(save_and_add);
145 QLabel* add_subtitle =
new QLabel(
"Recommended: ",
this);
146 QFont add_subtitle_font(QFont().defaultFamily(), 10, QFont::Bold);
147 add_subtitle->setFont(add_subtitle_font);
148 recommended_options->addWidget(add_subtitle, 0, Qt::AlignLeft);
151 QPushButton* btn_save_chain =
new QPushButton(
"Add Kin. Chain",
this);
152 btn_save_chain->setMaximumWidth(200);
153 connect(btn_save_chain, SIGNAL(clicked()),
this, SIGNAL(
saveChain()));
154 recommended_options->addWidget(btn_save_chain);
157 QPushButton* btn_save_joints =
new QPushButton(
"Add Joints",
this);
158 btn_save_joints->setMaximumWidth(200);
159 connect(btn_save_joints, SIGNAL(clicked()),
this, SIGNAL(
saveJoints()));
160 recommended_options->addWidget(btn_save_joints);
163 QLabel* add_subtitle2 =
new QLabel(
"Advanced Options:",
this);
164 add_subtitle2->setFont(add_subtitle_font);
165 advanced_options->addWidget(add_subtitle2, 0, Qt::AlignLeft);
168 QPushButton* btn_save_subgroups =
new QPushButton(
"Add Subgroups",
this);
169 btn_save_subgroups->setMaximumWidth(200);
170 connect(btn_save_subgroups, SIGNAL(clicked()),
this, SIGNAL(
saveSubgroups()));
171 advanced_options->addWidget(btn_save_subgroups);
174 QPushButton* btn_save_links =
new QPushButton(
"Add Links",
this);
175 btn_save_links->setMaximumWidth(200);
176 connect(btn_save_links, SIGNAL(clicked()),
this, SIGNAL(
saveLinks()));
177 advanced_options->addWidget(btn_save_links);
180 new_buttons_layout_container->addLayout(label_layout);
181 new_buttons_layout_container->addLayout(recommended_options);
182 new_buttons_layout_container->addLayout(advanced_options);
189 layout->addItem(
new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding));
192 QHBoxLayout* controls_layout =
new QHBoxLayout();
195 btn_delete_ =
new QPushButton(
"&Delete Group",
this);
199 controls_layout->setAlignment(
btn_delete_, Qt::AlignRight);
202 controls_layout->addItem(
new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
205 btn_save_ =
new QPushButton(
"&Save",
this);
209 controls_layout->setAlignment(
btn_save_, Qt::AlignRight);
212 QPushButton* btn_cancel =
new QPushButton(
"&Cancel",
this);
213 btn_cancel->setMaximumWidth(200);
214 connect(btn_cancel, SIGNAL(clicked()),
this, SIGNAL(
cancelEditing()));
215 controls_layout->addWidget(btn_cancel);
216 controls_layout->setAlignment(btn_cancel, Qt::AlignRight);
219 layout->addLayout(controls_layout);