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);