void StateWidget::StateSelected(BaseState * state) { if(edited) { if ( !StateNameOK()) { return; } //if(edited->getType()==this->stateTypeCombo->currentIndex()) BaseState * toInsertState = this->getState(); if(toInsertState==NULL)return; if(!edited->equals(toInsertState)) { AcceptState(); return; } } if(state->getName().toLower()==QString("_end_")||state->getName().toLower()==QString("_stop_"))return; edited = state; OKButton->setDisabled(false); stateNameEdit->setText(state->getName()); paramEdit->setText(state->getParameters()); if(state->getType()==SYSTEM_INITIALIZATION) { stateTypeCombo->clear(); stateTypeCombo->addItem(QString().fromStdString(STATE_TYPE_TABLE[SYSTEM_INITIALIZATION])); } else { QStringList list = getStateTypeTable(); list.removeOne(QString().fromStdString(STATE_TYPE_TABLE[SYSTEM_INITIALIZATION])); stateTypeCombo->clear(); stateTypeCombo->addItems(list); } stateTypeCombo->setVisible(true); stateTypeCombo->setCurrentIndex(state->getType()==SYSTEM_INITIALIZATION?SYSTEM_INITIALIZATION:(state->getType()-1)); StateWidgets[tmpWidget]->setVisible(false); if(isProper(state->getType())) { tmpWidget = state->getType(); StateWidgets[tmpWidget]->setVisible(true); StateWidgets[tmpWidget]->setState(state); } }
void StateWidget::AcceptState() { if(edited==NULL) { emit reportError(QString("Please, select a state to edit, edit it and then press OK.")); return; } if ( !StateNameOK()) { return; } BaseState * toInsertState = this->getState(); if(toInsertState==NULL)return; OKButton->setDisabled(true); BaseState * tmp = edited; edited = NULL; emit ReplaceState(tmp, toInsertState); StateSelected(toInsertState); }
void StateWidget::refreshData() { if(edited) { if ( !StateNameOK()) { return; } //if(edited->getType()==this->stateTypeCombo->currentIndex()) BaseState * toInsertState = this->getState(); if(toInsertState==NULL)return; if(!edited->equals(toInsertState)) { AcceptState(); return; } } }
void StateWidget::AcceptState() { if(edited==NULL) { emit reportError(QString("Please, select a state to edit, edit it and then press OK.")); return; } if ( !StateNameOK()) { return; } BaseState * toInsertState = StateWidgets[tmpWidget]->getStateObject(); if(toInsertState==NULL) return; toInsertState->setName(this->stateNameEdit->text()); toInsertState->setType(StateType(stateTypeCombo->currentIndex())); toInsertState->setParameters(paramEdit->text()); OKButton->setDisabled(true); BaseState * tmp = edited; edited = NULL; emit ReplaceState(tmp, toInsertState); }