33class EXPCL_PANDA_EVENT Event :
public TypedReferenceCount {
35 Event(
const std::string &event_name,
EventReceiver *receiver =
nullptr);
36 Event(
const Event ©);
37 void operator = (
const Event ©);
40 INLINE
void set_name(
const std::string &name);
43 INLINE
const std::string &get_name()
const;
47 int get_num_parameters()
const;
49 MAKE_SEQ(get_parameters, get_num_parameters, get_parameter);
51 bool has_receiver()
const;
54 void clear_receiver();
56 void output(std::ostream &out)
const;
58 MAKE_PROPERTY(name, get_name, set_name);
59 MAKE_SEQ_PROPERTY(parameters, get_num_parameters, get_parameter);
60 MAKE_PROPERTY2(receiver, has_receiver, get_receiver, set_receiver, clear_receiver);
63 typedef pvector<EventParameter> ParameterList;
64 ParameterList _parameters;
74 static void init_type() {
75 TypedReferenceCount::init_type();
77 TypedReferenceCount::get_class_type());
80 return get_class_type();
82 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...