/*..........................................................................*/ QState Calc_negated1(Calc * const me, QEvt const * const e) { QState status; switch (e->sig) { case Q_ENTRY_SIG: { BSP_message("negated1-ENTRY;"); BSP_negate(); status = Q_HANDLED(); break; } case Q_EXIT_SIG: { BSP_message("negated1-EXIT;"); status = Q_HANDLED(); break; } case OPER_SIG: { if (((CalcEvt const *)e)->key_code == KEY_MINUS) { ; /* explicitly ignore */ status = Q_HANDLED(); /* event handled */ } else { status = Q_HANDLED(); } break; } case CE_SIG: { BSP_clear(); status = Q_TRAN(&Calc_begin); break; } case DIGIT_0_SIG: { BSP_insert(((CalcEvt const *)e)->key_code); status = Q_TRAN(&Calc_zero1); break; } case DIGIT_1_9_SIG: { BSP_insert(((CalcEvt const *)e)->key_code); status = Q_TRAN(&Calc_int1); break; } case POINT_SIG: { BSP_insert(((CalcEvt const *)e)->key_code); status = Q_TRAN(&Calc_frac1); break; } default: { status = Q_SUPER(&Calc_on); break; } } return status; }
/* ${SMs::Calc::SM::on::negated2} */ static QState Calc_negated2_e(Calc * const me) { BSP_message("negated2-ENTRY;"); BSP_negate(); (void)me; /* avoid compiler warning in case 'me' is not used */ return QM_ENTRY(&Calc_negated2_s); }