void TestController::unload() { //Inputs QLayout* layout = getView().getUi().grx_test_inputs->layout(); for (int i = layout->count() - 1; i >= 0; --i) { QLayoutItem* item = layout->itemAt(i); GuiGrapher* g = dynamic_cast<GuiGrapher*> (item->widget()); if (g) { QObject::disconnect(g, SIGNAL(onChangeInputValue()), this, SLOT(onInputValueChanged())); } layout->removeItem(item); delete item->widget(); delete item; } //Rules getView().getUi().lsw_test_rules->clear(); getView().getUi().lsw_test_rules_activation->clear(); //Outputs layout = getView().getUi().grx_test_outputs->layout(); for (int i = layout->count() - 1; i >= 0; --i) { QLayoutItem* item = layout->itemAt(i); GuiGrapher* g = dynamic_cast<GuiGrapher*> (item->widget()); if (g) { QObject::disconnect(this, SIGNAL(forceUpdate()), g, SLOT(updateUi())); } layout->removeItem(item); delete item->widget(); delete item; } }
int fl_gui::TestController::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: forceUpdate(); break; case 1: load(); break; case 2: unload(); break; case 3: onInputValueChanged(); break; default: ; } _id -= 4; } return _id; }
void TestController::load() { unload(); //Inputs QLayout* layout = getView().getUi().grx_test_inputs->layout(); for (int i = 0; i < getModel().numberOfInputLVars(); ++i) { GuiGrapher* g = new GuiGrapher(*getModel().inputLVar(i)); g->setup(); // layout->insertWidget(i, g); layout->addWidget(g); QObject::connect(g, SIGNAL(onChangeInputValue()), this, SLOT(onInputValueChanged())); } layout->addItem(new QSpacerItem(20, 40, QSizePolicy::Ignored, QSizePolicy::Expanding)); //Rules for (int i = 0; i < getModel().ruleBlock(0)->numberOfRules(); ++i) { QString rule = QString::fromStdString(getModel().ruleBlock(0)->rule(i)->toString()); getView().getUi().lsw_test_rules->addItem(rule); QListWidgetItem* item = new QListWidgetItem; item->setText("-"); item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); getView().getUi().lsw_test_rules_activation->addItem(item); } for (int i = 0; i < getModel().ruleBlock(0)->numberOfRules(); ++i) { QListWidgetItem* rule = getView().getUi().lsw_test_rules->item(i); QListWidgetItem* act = getView().getUi().lsw_test_rules_activation->item(i); QRect rect = getView().getUi().lsw_test_rules->visualItemRect(rule); act->setSizeHint(rect.size()); } layout = getView().getUi().grx_test_outputs->layout(); //Outputs for (int i = 0; i < getModel().numberOfOutputLVars(); ++i) { GuiGrapher* g = new GuiGrapher(*getModel().outputLVar(i)); g->setup(); layout->addWidget(g); QObject::connect(this, SIGNAL(forceUpdate()), g, SLOT(updateUi())); } layout->addItem(new QSpacerItem(20, 40, QSizePolicy::Ignored, QSizePolicy::Expanding)); getView().getUi().tab_container->setCurrentIndex(1); }
void Stage::inputValueChanged(AbstractSlot * slot) { inputChanged(slot); onInputValueChanged(slot); }