36 mScrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
37 mScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
44 QWidget * m_scroll_widget =
new QWidget;
93 if (module ==
nullptr)
98 QWidget* mWidget =
new QWidget;
100 std::string mLabel[2] = { {
" Control Variables" }, {
" State Variables" } };
105 for (
int i = 0; i < n; i++) {
108 mPropertyLabel[i]->SetTextLabel(QString::fromStdString(mLabel[i]));
109 mPropertyLabel[i]->SetImageLabel(QPixmap((getAssetPath() +
"/icon/arrow_down_pressed.png").c_str()));
110 mPropertyLabel[i]->GetTextHandle()->setAttribute(Qt::WA_TransparentForMouseEvents,
true);
111 mPropertyLabel[i]->GetImageHandle()->setAttribute(Qt::WA_TransparentForMouseEvents,
true);
122 std::vector<FBase*>& fields =
module->getAllFields();
123 for (
FBase * var : fields)
125 if (var !=
nullptr) {
128 if (var->getClassName() == std::string(
"FVar"))
137 QVBoxLayout* vlayout =
new QVBoxLayout;
139 for (
int i = 0; i < n; i++) {
142 if (propertyNum[i] != 0) {
157 connect(
mPropertyLabel[i], &LockerButton::clicked, [
this, i, vlayout]() {
160 mPropertyLabel[i]->SetImageLabel(QPixmap((getAssetPath() +
"/icon/arrow_right_pressed.png").c_str()));
165 mPropertyLabel[i]->SetImageLabel(QPixmap((getAssetPath() +
"/icon/arrow_down_pressed.png").c_str()));
171 vlayout->setContentsMargins(0, 0, 0, 0);
172 vlayout->setSpacing(0);
173 mWidget->setLayout(vlayout);
187 QWidget* mWidget =
new QWidget;
189 std::string mLabel[2] = { {
" Control Variables" }, {
" State Variables" } };
194 for (
int i = 0; i < n; i++) {
197 mPropertyLabel[i]->SetTextLabel(QString::fromStdString(mLabel[i]));
198 mPropertyLabel[i]->SetImageLabel(QPixmap((getAssetPath() +
"/icon/arrow_down_pressed.png").c_str()));
199 mPropertyLabel[i]->GetTextHandle()->setAttribute(Qt::WA_TransparentForMouseEvents,
true);
200 mPropertyLabel[i]->GetImageHandle()->setAttribute(Qt::WA_TransparentForMouseEvents,
true);
214 QGroupBox* title =
new QGroupBox;
216 QGridLayout* layout =
new QGridLayout;
217 layout->setContentsMargins(0, 0, 0, 0);
218 layout->setSpacing(0);
220 title->setLayout(layout);
222 QLabel* name =
new QLabel();
224 name->setFixedHeight(25);
225 name->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
226 name->setText(
"Name");
227 layout->addWidget(name, 0, 0);
229 QLabel* output =
new QLabel();
231 output->setFixedSize(64, 25);
232 output->setText(
"Output");
233 layout->addWidget(output, 0, 1, Qt::AlignRight);
238 std::vector<FBase*>& fields = node->getAllFields();
239 for (
FBase * var : fields)
241 if (var !=
nullptr) {
244 if (var->getClassName() == std::string(
"FVar"))
257 QVBoxLayout* vlayout =
new QVBoxLayout;
259 for (
int i = 0; i < n; i++) {
262 if (propertyNum[i] != 0) {
268 connect(
mPropertyLabel[i], &LockerButton::clicked, [
this, i, vlayout]() {
271 mPropertyLabel[i]->SetImageLabel(QPixmap((getAssetPath() +
"/icon/arrow_right_pressed.png").c_str()));
276 mPropertyLabel[i]->SetImageLabel(QPixmap((getAssetPath() +
"/icon/arrow_down_pressed.png").c_str()));
282 vlayout->setContentsMargins(0, 0, 0, 0);
283 vlayout->setSpacing(0);
284 mWidget->setLayout(vlayout);