Files
2021-06-25 16:12:29 +02:00

63 lines
1.4 KiB
Plaintext

// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.
#ifndef tools_sg_event_action
#define tools_sg_event_action
#include "matrix_action"
#include "event"
namespace tools {
namespace sg {
class event_action : public matrix_action {
TOOLS_ACTION(event_action,tools::sg::event_action,matrix_action)
public:
event_action(std::ostream& a_out,unsigned int a_ww,unsigned int a_wh,event& a_event)
:matrix_action(a_out,a_ww,a_wh)
,m_event(a_event)
,m_do_switch_children(false)
,m_done(false)
{}
virtual ~event_action(){}
public:
event_action(const event_action& a_from)
:matrix_action(a_from)
,m_event(a_from.m_event)
,m_do_switch_children(a_from.m_do_switch_children)
,m_done(false)
{}
event_action& operator=(const event_action& a_from){
matrix_action::operator=(a_from);
m_do_switch_children = a_from.m_do_switch_children;
m_done = false;
return *this;
}
public:
void reset() {
matrix_action::reset();
m_done = false;
}
const event& get_event() const {return m_event;}
event& get_event() {return m_event;}
void set_done(bool a_value) {m_done = a_value;}
bool done() const {return m_done;}
void set_do_switch_children(bool a_value) {m_do_switch_children = a_value;}
bool do_switch_children() const {return m_do_switch_children;}
protected:
event& m_event;
bool m_do_switch_children;
bool m_done;
};
}}
#endif