/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Gem-graph client * * * * Finite State Machine (fsm) header * * * * Copyright © 2021 Libre en Communs * * Copyright © 2021 Adrien Bourmault * * Copyright © 2021 Jean Sirmai * * * * This file is part of Gem-graph. * * * * This program is free software: you can redistribute it and/or modify it * * under the terms of the GNU Affero General Public License * * as published by the Free Software Foundation, * * either version 3 of the License, * * or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; * * without even the implied warranty of MERCHANTABILITY * * or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU Affero General Public License for more details. * * * * You should have received a copy of the GNU Affero General Public License * * along with this program. If not, see . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #pragma once #include /******************************************************************************/ /* S T A T E M A C H I N E */ /******************************************************************************/ // called by widgets through signal functions enum fsm_choice_EXEC_EDIT { EXEC, EDIT }; // xor enum fsm_choice_STATE_RULES_DATA { STATE, RULES, DATA }; // xor int fsm_get_exec_edit (); int fsm_get_state_rules_data (); int fsm_get_objects_box_reset_value (); int fsm_get_situations_box_reset_value (); void fsm_set_exec_edit (int value); void fsm_set_state_rules_data (int value); void fsm_reset_all_objects_transparencies_at_value (int value); void fsm_memorize_all_objects_transparencies_current_values (int value); void fsm_reset_all_objects_transparencies_from_mem (int value); void fsm_reset_all_situations_transparencies_at_value (int value);