综合平台编程器项目的远程存储
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

44 líneas
994 B

  1. #pragma once
  2. #include "domain/control_logic_model.h"
  3. #include <QDialog>
  4. #include <memory>
  5. class QComboBox;
  6. class QSpinBox;
  7. namespace Ui {
  8. class LogicInstructionDialog;
  9. }
  10. class LogicInstructionDialog final : public QDialog
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit LogicInstructionDialog(
  15. const LogicNodeConfig &config,
  16. QWidget *parent = nullptr);
  17. ~LogicInstructionDialog() override;
  18. LogicNodeConfig config() const;
  19. private:
  20. void configureCounter(const CounterNodeConfig &config);
  21. void configureMove(const MoveNodeConfig &config);
  22. void configureArithmetic(const ArithmeticNodeConfig &config);
  23. void updateOperandRanges();
  24. static void setOperand(
  25. QComboBox *kind_combo,
  26. QSpinBox *value_spin,
  27. const WordOperand &operand);
  28. static WordOperand operandFrom(
  29. const QComboBox *kind_combo,
  30. const QSpinBox *value_spin);
  31. std::unique_ptr<Ui::LogicInstructionDialog> ui_;
  32. LogicNodeConfig original_config_;
  33. };