Exemple #1
0
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);
    }
}
Exemple #2
0
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);
}
Exemple #3
0
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;
        }

    }
}
Exemple #4
0
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);
}