@@ -28,24 +28,25 @@ bool LogicToucher::press(const Event* event) {
2828 switch (block->type ()) {
2929 case BlockType::CONSTANT_OFF: {
3030 circuit->setType (block->getPosition (), BlockType::CONSTANT_ON);
31- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, true ));
31+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::HIGH ));
3232 } break ;
3333 case BlockType::CONSTANT_ON: {
3434 circuit->setType (block->getPosition (), BlockType::CONSTANT_OFF);
35- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
35+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
3636 } break ;
3737 case BlockType::CONSTANT_Z: {
3838 circuit->setType (block->getPosition (), BlockType::CONSTANT_OFF);
39- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
39+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
4040 } break ;
4141 case BlockType::CONSTANT_X: {
4242 circuit->setType (block->getPosition (), BlockType::CONSTANT_OFF);
43- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
43+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
4444 } break ;
4545 default :
4646 Address address = circuitView->getAddress ();
4747 address.addBlockId (clickPosition);
48- bool state = !evaluator->getBoolState (address);
48+ logic_state_t state = evaluator->getState (address);
49+ state = (state == logic_state_t ::HIGH) ? logic_state_t ::LOW : logic_state_t ::HIGH;
4950 evaluator->setState (address, state);
5051 sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, state));
5152 }
@@ -65,8 +66,8 @@ bool LogicToucher::unpress(const Event* event) {
6566 if (block && block->type () == BlockType::BUTTON) {
6667 Address address = circuitView->getAddress ();
6768 address.addBlockId (clickPosition);
68- evaluator->setState (address, false );
69- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
69+ evaluator->setState (address, logic_state_t ::LOW );
70+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
7071 }
7172 clicked = false ;
7273 return true ;
@@ -84,32 +85,33 @@ bool LogicToucher::pointerMove(const Event* event) {
8485 if (block && block->type () == BlockType::BUTTON) {
8586 Address address = circuitView->getAddress ();
8687 address.addBlockId (clickPosition);
87- evaluator->setState (address, false );
88+ evaluator->setState (address, logic_state_t ::LOW );
8889 }
8990 clickPosition = lastPointerPosition;
9091 block = circuit->getBlockContainer ().getBlock (clickPosition);
9192 if (block) {
9293 switch (block->type ()) {
9394 case BlockType::CONSTANT_OFF: {
9495 circuit->setType (block->getPosition (), BlockType::CONSTANT_ON);
95- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, true ));
96+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::HIGH ));
9697 } break ;
9798 case BlockType::CONSTANT_ON: {
9899 circuit->setType (block->getPosition (), BlockType::CONSTANT_OFF);
99- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
100+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
100101 } break ;
101102 case BlockType::CONSTANT_Z: {
102103 circuit->setType (block->getPosition (), BlockType::CONSTANT_OFF);
103- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
104+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
104105 } break ;
105106 case BlockType::CONSTANT_X: {
106107 circuit->setType (block->getPosition (), BlockType::CONSTANT_OFF);
107- sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, false ));
108+ sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, logic_state_t ::LOW ));
108109 } break ;
109110 default :
110111 Address address = circuitView->getAddress ();
111112 address.addBlockId (clickPosition);
112- bool state = !evaluator->getBoolState (address);
113+ logic_state_t state = evaluator->getState (address);
114+ state = (state == logic_state_t ::HIGH) ? logic_state_t ::LOW : logic_state_t ::HIGH;
113115 evaluator->setState (address, state);
114116 sendEventToCircuitView (StateSetEvent (" CircuitStateSet" , clickPosition, state));
115117 }
0 commit comments