C++ (Qt)bool MyWindow::ControlChanged( int id ){ switch (id) { case ID_AMOUNT: { float newVal, oldVal = mObject.amount; // текущее значение параметра amount (в данных) // проверяем что новое значение в UI валидно и не равно старому if (Editor::AcceptFloat(this, ID_AMOUNT, minAmount, maxAmount, oldVal, &newVal)) { // запоминаем старое значение для undo SaveUndo(mObject, ID_AMOUNT); // устанавливаем новое значение mObject.setAmount(newVal); // обновляем UI UpdateUI(); } break; } // и.т.д.}
C++ (Qt)switch (controlID) { case ID_ENABLED: UpdateAnimCheckbox(controlID, ANIM_ENABLED_ID, updateUI = true); break; case ID_AMOUNT: UpdateAnimFloatRange(controlID, ANIM_AMOUNT_ID, 0.0, 1.0); break;...}
C++ (Qt) case ID_COUT: if (UpdateAnimInt(controlID, ANIM_COUNT_ID)) { ... // update specific UI } break;