The EventDispatcher class is used for injecting any events and dealing with event handlers which handle those events. More...
#include <hps.h>
Public Member Functions | |
EventDispatcher () | |
The default constructor creates an uninitialized EventDispatcher object which cannot be subscribed to. More... | |
EventDispatcher (EventDispatcher const &in_that) | |
The copy constructor creates an EventDispatcher object that points to the same underlying impl as the source EventDispatcher. More... | |
EventDispatcher (EventDispatcher &&in_that) | |
The move constructor creates a EventDispatcher by transferring the underlying impl of the rvalue reference to this EventDispatcher thereby avoiding a copy and allocation. More... | |
EventDispatcher & | operator= (EventDispatcher &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this EventDispatcher thereby avoiding a copy. More... | |
virtual | ~EventDispatcher () |
HPS::Type | ObjectType () const |
EventDispatcher & | operator= (EventDispatcher const &in_that) |
Associate this EventDispatcher with the same underlying impl as the source EventDispatcher. More... | |
bool | Equals (EventDispatcher const &in_that) const |
Check if the source EventDispatcher is equivalent to this object. More... | |
bool | operator== (EventDispatcher const &in_that) const |
Check if the source EventDispatcher is equivalent to this object. More... | |
bool | operator!= (EventDispatcher const &in_that) const |
Check if the source EventDispatcher is not equivalent to this object. More... | |
bool | Subscribe (EventHandler const &in_handler, intptr_t in_type) const |
Add the specified event handler to the list of subscribers for events of the specified type on this EventDispatcher. More... | |
bool | UnSubscribe (EventHandler const &in_handler, intptr_t in_type) const |
Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher. More... | |
bool | UnSubscribe (EventHandler const &in_handler) const |
Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher. More... | |
bool | UnSubscribe (intptr_t in_type) const |
Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher. More... | |
bool | InjectEvent (Event const &in_event) const |
Inject the specified event and propagate it to all subscribed handlers in the order of subscription. More... | |
EventNotifier | InjectEventWithNotifier (Event const &in_event) const |
Inject the specified event and propagate it to all subscribed handlers in the order of subscription and return an EventNotifier associated with the injected event. More... | |
void | Shutdown () const |
Shutdown this EventDispatcher asynchronously. More... | |
bool | IsShutdown () const |
Query whether the asynchronous shutdown has completed. More... | |
void | SetName (char const *in_name) const |
Sets the EventDispatcher's name. More... | |
void | ShowName (UTF8 &out_name) const |
Shows the EventDispatcher's name. More... | |
virtual HPS::Type | Type () const |
This function returns the true type of the underlying object. More... | |
virtual bool | Empty () const |
Indicates whether this object has any values set on it. More... | |
bool | HasType (HPS::Type in_mask) const |
This function indicates whether this Object has the given Type mask. More... | |
intptr_t | GetClassID () const |
Returns a unique identifier that is shared by all objects of the same class. More... | |
intptr_t | GetInstanceID () const |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
Static Public Member Functions | |
template<typename T > | |
static intptr_t | ClassID () |
Unique identifier for this class. More... | |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::EventDispatcher |
Private Member Functions | |
virtual void | Reset () |
Not available here. More... | |
The EventDispatcher class is used for injecting any events and dealing with event handlers which handle those events.
HPS::EventDispatcher::EventDispatcher | ( | ) |
The default constructor creates an uninitialized EventDispatcher object which cannot be subscribed to.
HPS::EventDispatcher::EventDispatcher | ( | EventDispatcher const & | in_that | ) |
The copy constructor creates an EventDispatcher object that points to the same underlying impl as the source EventDispatcher.
in_that | The source EventHandler to point to. |
HPS::EventDispatcher::EventDispatcher | ( | EventDispatcher && | in_that | ) |
The move constructor creates a EventDispatcher by transferring the underlying impl of the rvalue reference to this EventDispatcher thereby avoiding a copy and allocation.
in_that | An rvalue reference to a EventDispatcher to take the impl from. |
|
virtual |
|
inlinestaticinherited |
Unique identifier for this class.
Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.
bool HPS::EventDispatcher::Equals | ( | EventDispatcher const & | in_that | ) | const |
Check if the source EventDispatcher is equivalent to this object.
in_that | The source EventDispatcher to compare to this object. |
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
inherited |
Returns an identifier that can be used to identify which instance of a class an object is.
Different keys and controls will return the same value if they are backed by the same database resource.
|
inherited |
bool HPS::EventDispatcher::InjectEvent | ( | Event const & | in_event | ) | const |
Inject the specified event and propagate it to all subscribed handlers in the order of subscription.
in_event | Event to inject and propagate. |
EventNotifier HPS::EventDispatcher::InjectEventWithNotifier | ( | Event const & | in_event | ) | const |
Inject the specified event and propagate it to all subscribed handlers in the order of subscription and return an EventNotifier associated with the injected event.
in_event | Event to inject and propagate. |
bool HPS::EventDispatcher::IsShutdown | ( | ) | const |
Query whether the asynchronous shutdown has completed.
|
inlinevirtual |
bool HPS::EventDispatcher::operator!= | ( | EventDispatcher const & | in_that | ) | const |
Check if the source EventDispatcher is not equivalent to this object.
in_that | The source EventDispatcher to compare to this object. |
EventDispatcher& HPS::EventDispatcher::operator= | ( | EventDispatcher && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this EventDispatcher thereby avoiding a copy.
in_that | An rvalue reference to an EventDispatcher to take the impl from. |
EventDispatcher& HPS::EventDispatcher::operator= | ( | EventDispatcher const & | in_that | ) |
Associate this EventDispatcher with the same underlying impl as the source EventDispatcher.
in_that | The source EventDispatcher for the assignment. |
bool HPS::EventDispatcher::operator== | ( | EventDispatcher const & | in_that | ) | const |
Check if the source EventDispatcher is equivalent to this object.
in_that | The source EventDispatcher to compare to this object. |
|
inlineprivatevirtual |
Not available here.
Reimplemented from HPS::Object.
void HPS::EventDispatcher::SetName | ( | char const * | in_name | ) | const |
Sets the EventDispatcher's name.
in_name | Name to set. |
void HPS::EventDispatcher::ShowName | ( | UTF8 & | out_name | ) | const |
Shows the EventDispatcher's name.
out_name | Current name of this EventDispatcher. |
void HPS::EventDispatcher::Shutdown | ( | ) | const |
Shutdown this EventDispatcher asynchronously.
Any pending events injected into this EventDispatcher will be processed prior to shutdown, but no new events can be injected.
bool HPS::EventDispatcher::Subscribe | ( | EventHandler const & | in_handler, |
intptr_t | in_type | ||
) | const |
Add the specified event handler to the list of subscribers for events of the specified type on this EventDispatcher.
in_handler | Event handler to add to the subscriber list for events of the given type. |
in_type | Type of event to add the handler for. |
|
virtualinherited |
This function returns the true type of the underlying object.
This function is useful for finding the type of smart pointer objects that have been cast to more generic types.
Reimplemented in HPS::UpdateOptionsControl, HPS::HighlightControl, HPS::SelectionOptionsControl, HPS::OffScreenWindowOptionsControl, HPS::ApplicationWindowOptionsControl, HPS::StandAloneWindowOptionsControl, HPS::AttributeLockControl, HPS::WindowInfoControl, HPS::DebuggingControl, HPS::SubwindowControl, HPS::ContourLineControl, HPS::VisualEffectsControl, HPS::TransformMaskControl, HPS::PostProcessEffectsControl, HPS::DrawingAttributeControl, HPS::HiddenLineAttributeControl, HPS::PerformanceControl, HPS::NURBSSurfaceAttributeControl, HPS::ConditionControl, HPS::StyleControl, HPS::PortfolioControl, HPS::MaterialMappingControl, HPS::TextureMatrixControl, HPS::ModellingMatrixControl, HPS::CurveAttributeControl, HPS::EdgeAttributeControl, HPS::LineAttributeControl, HPS::TextAttributeControl, HPS::CuttingSectionAttributeControl, HPS::CylinderAttributeControl, HPS::LightingAttributeControl, HPS::SphereAttributeControl, HPS::MarkerAttributeControl, HPS::CullingControl, HPS::ColorInterpolationControl, HPS::TransparencyControl, HPS::SelectabilityControl, HPS::CameraControl, HPS::VisibilityControl, HPS::BoundingControl, HPS::Kit, and HPS::Control.
bool HPS::EventDispatcher::UnSubscribe | ( | EventHandler const & | in_handler, |
intptr_t | in_type | ||
) | const |
Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher.
in_handler | Event handler to remove from the subscriber list for events of the given type. |
in_type | Type of event to remove the handler for. |
bool HPS::EventDispatcher::UnSubscribe | ( | EventHandler const & | in_handler | ) | const |
Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher.
in_handler | Event handler to remove from the subscriber list for events of the given type. |
in_type | Type of event to remove the handler for. |
bool HPS::EventDispatcher::UnSubscribe | ( | intptr_t | in_type | ) | const |
Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher.
in_type | Type of event to remove the handler for. |
|
static |