Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Event Class Reference

A named event, possibly with parameters. More...

#include <event.h>

Inheritance diagram for Event:

TypedReferenceCount TypedObject ReferenceCount List of all members.

Public Member Functions

 Event (const string &event_name, EventReceiver *receiver=NULL)
 Event (const Event &copy)
void operator= (const Event &copy)
 ~Event ()
void set_name (const string &name)
void clear_name ()
 Resets the Event's name to empty.

bool has_name () const
 Returns true if the Event has a nonempty name set, false if the name is empty.

const string & get_name () const
void add_parameter (const EventParameter &obj)
int get_num_parameters () const
EventParameter get_parameter (int n) const
bool has_receiver () const
EventReceiverget_receiver () const
void set_receiver (EventReceiver *receiver)
void clear_receiver ()
void output (ostream &out) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.

bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.

int get_ref_count () const
 Returns the current reference count.

int ref () const
 Explicitly increments the reference count.

int unref () const
 Explicitly decrements the reference count.

void test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus.


Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Protected Types

typedef pvector< EventParameterParameterList

Protected Attributes

ParameterList _parameters
EventReceiver_receiver

Private Attributes

string _name

Static Private Attributes

TypeHandle _type_handle

Detailed Description

A named event, possibly with parameters.

Anyone in any thread may throw an event at any time; there will be one process responsible for reading and dispacting on the events (but not necessarily immediately).

This function use to inherit from Namable, but that makes it too expensive to get its name the Python code. Now it just copies the Namable interface in.

Definition at line 54 of file event.h.


Member Typedef Documentation

typedef pvector<EventParameter> Event::ParameterList [protected]
 

Definition at line 79 of file event.h.


Constructor & Destructor Documentation

Event::Event const string &  event_name,
EventReceiver receiver = NULL
 

Definition at line 35 of file event.cxx.

Event::Event const Event &  copy  ) 
 

Definition at line 49 of file event.cxx.

References _name, _parameters, and _receiver.

Event::~Event  ) 
 

Definition at line 78 of file event.cxx.


Member Function Documentation

void Event::add_parameter const EventParameter obj  ) 
 

Definition at line 89 of file event.cxx.

Referenced by throw_event(), and throw_event_directly().

void Event::clear_name  )  [inline]
 

Resets the Event's name to empty.

Definition at line 44 of file event.I.

References _name, and INLINE.

void Event::clear_receiver  ) 
 

Definition at line 164 of file event.cxx.

virtual TypeHandle Event::force_init_type void   )  [inline, virtual]
 

Reimplemented from TypedReferenceCount.

Definition at line 98 of file event.h.

TypeHandle Event::get_class_type void   )  [inline, static]
 

Reimplemented from TypedReferenceCount.

Definition at line 87 of file event.h.

const string & Event::get_name  )  const [inline]
 

Definition at line 71 of file event.I.

int Event::get_num_parameters  )  const
 

Definition at line 102 of file event.cxx.

References _receiver, and NULL.

EventParameter Event::get_parameter int  n  )  const
 

Definition at line 114 of file event.cxx.

References _receiver.

EventReceiver * Event::get_receiver  )  const
 

Definition at line 140 of file event.cxx.

References _receiver, and NULL.

int ReferenceCount::get_ref_count  )  const [inline, inherited]
 

Returns the current reference count.

Definition at line 183 of file referenceCount.I.

Referenced by RenderState::determine_bin_index(), RenderEffects::determine_show_bounds(), FontPool::ns_garbage_collect(), TexturePool::ns_garbage_collect(), MaterialPool::ns_get_material(), and TexturePool::ns_release_texture().

virtual TypeHandle Event::get_type void   )  const [inline, virtual]
 

Reimplemented from TypedReferenceCount.

Definition at line 95 of file event.h.

int TypedObject::get_type_index  )  const [inline, inherited]
 

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 71 of file typedObject.I.

References TypeHandle::get_name(), TypedObject::get_type(), and INLINE.

bool Event::has_name  )  const [inline]
 

Returns true if the Event has a nonempty name set, false if the name is empty.

Definition at line 59 of file event.I.

bool Event::has_receiver  )  const
 

Definition at line 128 of file event.cxx.

References _receiver.

void Event::init_type void   )  [inline, static]
 

Reimplemented from TypedReferenceCount.

Definition at line 90 of file event.h.

References INLINE.

bool TypedObject::is_exact_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is the indicated type exactly.

Definition at line 101 of file typedObject.I.

Referenced by PT(), and CollisionNode::xform().

bool TypedObject::is_of_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is or derives from the indicated type.

Definition at line 86 of file typedObject.I.

Referenced by EggMaterialCollection::collapse_equivalent_materials(), EggTextureCollection::collapse_equivalent_textures(), DeferredNodeProperty::compose(), AnimBundleMaker::create_s_channel(), CharacterMaker::create_slider(), ProjectionScreen::cull_callback(), DataNode::define_output(), EggNode::determine_draw_order(), CharacterMaker::egg_to_index(), EggGroupUniquifier::EggGroupUniquifier(), EggPoolUniquifier::EggPoolUniquifier(), EggGroupNode::find_textures(), StaticTextFont::get_glyph(), EggMaterialCollection::insert_materials(), EggTextureCollection::insert_textures(), CharacterJoint::make_copy(), PT(), EggGroupNode::r_flatten_transforms(), EggGroupNode::r_transform_vertices(), EggGroupNode::recompute_polygon_normals(), CollisionLevelState::reserve(), PandaFramework::reset_frame_rate(), PandaFramework::set_texture(), EggGroupNode::steal_children(), and DataGraphTraverser::traverse().

void Event::operator= const Event &  copy  ) 
 

Definition at line 64 of file event.cxx.

void Event::output ostream &  out  )  const
 

Definition at line 176 of file event.cxx.

int ReferenceCount::ref  )  const [inline, inherited]
 

Explicitly increments the reference count.

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is the new reference count.

Definition at line 225 of file referenceCount.I.

Referenced by ClientDevice::ClientDevice(), EggGroupNode::find_textures(), EggGroupNode::r_apply_texmats(), EggGroupNode::r_flatten_transforms(), and EggGroupNode::reverse_vertex_ordering().

void Event::set_name const string &  name  )  [inline]
 

Definition at line 31 of file event.I.

References _name, and INLINE.

void Event::set_receiver EventReceiver receiver  ) 
 

Definition at line 152 of file event.cxx.

void ReferenceCount::test_ref_count_integrity  )  const [inline, inherited]
 

Does some easy checks to make sure that the reference count isn't completely bogus.

Definition at line 328 of file referenceCount.I.

References INLINE.

Referenced by EggNode::determine_bin(), and ReferenceCount::~ReferenceCount().

int ReferenceCount::unref  )  const [inline, inherited]
 

Explicitly decrements the reference count.

Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is the new reference count.

Definition at line 293 of file referenceCount.I.

References INLINE.

Referenced by RenderState::determine_bin_index(), and RenderEffects::determine_show_bounds().


Member Data Documentation

string Event::_name [private]
 

Definition at line 84 of file event.h.

Referenced by clear_name(), Event(), and set_name().

ParameterList Event::_parameters [protected]
 

Definition at line 80 of file event.h.

Referenced by Event().

EventReceiver* Event::_receiver [protected]
 

Definition at line 81 of file event.h.

Referenced by Event(), get_num_parameters(), get_parameter(), get_receiver(), and has_receiver().

TypeHandle Event::_type_handle [static, private]
 

Reimplemented from TypedReferenceCount.

Definition at line 25 of file event.cxx.


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:50:33 2003 for Panda by doxygen1.3