#include <sprk.h>

Inheritance diagram for HPS::ComponentPath:
HPS::Sprocket HPS::Object

Public Member Functions

ComponentPathAppend (Component const &in_component)
 
ComponentPathAppend (ComponentPath const &in_path)
 
ComponentPathAppend (ComponentArray const &in_components)
 
 ComponentPath ()
 
 ComponentPath (ComponentArray const &in_components)
 
 ComponentPath (size_t in_count, Component const in_components[])
 
 ComponentPath (ComponentPath const &in_that)
 
 ComponentPath (ComponentPath &&in_that)
 
bool Equals (ComponentPath const &in_that) const
 
ComponentArray GetComponents () const
 
KeyPathArray GetKeyPaths () const
 
KeyPathArray GetKeyPaths (Canvas const &in_canvas, size_t in_layer=0) const
 
void Hide (Canvas const &in_canvas, size_t in_layer=0)
 
void Highlight (Canvas const &in_canvas, HighlightOptionsKit const &in_options) const
 
void Highlight (Canvas const &in_canvas, size_t in_layer, HighlightOptionsKit const &in_options) const
 
bool IsHidden (Canvas const &in_canvas, size_t in_layer=0)
 
void Isolate (Canvas const &in_canvas, size_t in_layer=0)
 
HPS::Type ObjectType () const
 
bool operator!= (ComponentPath const &in_that) const
 
ComponentPathoperator+= (Component const &in_component)
 
ComponentPathoperator+= (ComponentPath const &in_path)
 
ComponentPathoperator+= (ComponentArray const &in_components)
 
ComponentPathoperator= (ComponentPath &&in_that)
 
ComponentPathoperator= (ComponentPath const &in_that)
 
ComponentPathoperator= (ComponentArray const &in_path)
 
bool operator== (ComponentPath const &in_that) const
 
void Set (ComponentPath const &in_that)
 
ComponentPathSetComponents (ComponentArray const &in_components)
 
ComponentPathSetComponents (size_t in_count, Component const in_components[])
 
void Show (Canvas const &in_canvas, size_t in_layer=0)
 
void Unhighlight (Canvas const &in_canvas, HighlightOptionsKit const &in_options=HighlightOptionsKit()) const
 
void Unhighlight (Canvas const &in_canvas, size_t in_layer, HighlightOptionsKit const &in_options=HighlightOptionsKit()) const
 
virtual ~ComponentPath ()
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Member Functions

static void Isolate (HPS::ComponentPathArray &in_components_to_be_isolated, Canvas const &in_canvas, size_t in_layer=0)
 
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The ComponentPath contains an array of components, organized from leaf to root. It allows the user to perform queries and operations along that path.

Constructor & Destructor Documentation

HPS::ComponentPath::ComponentPath ( )

Creates an uninitialized Component path that refers to no database objects.

HPS::ComponentPath::ComponentPath ( ComponentArray const &  in_components)

Creates a new ComponentPath object based on the supplied path.

Parameters
in_componentsAn array of components arranged from leaf to root.
HPS::ComponentPath::ComponentPath ( size_t  in_count,
Component const  in_components[] 
)

Creates a new ComponentPath object based on the supplied path.

Parameters
in_countThe number of keys in the array.
in_componentsAn array of components arranged from leaf to root.
HPS::ComponentPath::ComponentPath ( ComponentPath const &  in_that)

Copies in_that into this component path.

HPS::ComponentPath::ComponentPath ( ComponentPath &&  in_that)

The move constructor creates a ComponentPath by transferring the underlying impl of the rvalue reference to this ComponentPath thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a ComponentPath to take the impl from.
virtual HPS::ComponentPath::~ComponentPath ( )
virtual

Releases a reference to the database object this object is tied to.

Member Function Documentation

ComponentPath& HPS::ComponentPath::Append ( Component const &  in_component)

Appends the supplied Component into this object. Same as operator+= function.

Parameters
in_componentThe Component to be appended to this.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::Append ( ComponentPath const &  in_path)

Appends the supplied key into this object. Same as operator+= function.

Parameters
in_pathThe ComponentPath to be appended to this.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::Append ( ComponentArray const &  in_components)

Appends the supplied key into this object. Same as operator+= function.

Parameters
in_componentsThe ComponentArray to be appended to this.
Returns
A reference to this object.
bool HPS::ComponentPath::Equals ( ComponentPath const &  in_that) const

Check if the source ComponentPath is equivalent to this object.

Parameters
in_thatThe source ComponentPath to compare to this object.
Returns
true if the objects are equivalent, false otherwise.
ComponentArray HPS::ComponentPath::GetComponents ( ) const

Gets the components defining this ComponentPath.

Returns
The components defining this ComponentPath.
KeyPathArray HPS::ComponentPath::GetKeyPaths ( ) const

Gets the KeyPath objects corresponding to this ComponentPath. These key paths will include all possible paths which include the path components and all Canvas, Layout and View paths which include the Model which contains the path components.

Returns
All KeyPath objects for this component path.
KeyPathArray HPS::ComponentPath::GetKeyPaths ( Canvas const &  in_canvas,
size_t  in_layer = 0 
) const

Gets the KeyPath objects corresponding to this ComponentPath which are included by the specified Canvas and layer.

Returns
The KeyPath objects for this component path which are included by the specified Canvas and layer.
Parameters
in_canvasThe Canvas the returned KeyPath objects should reference.
in_layerThe layer under the provided Canvas the returned KeyPath objects should reference.
void HPS::ComponentPath::Hide ( Canvas const &  in_canvas,
size_t  in_layer = 0 
)

Hides this ComponentPath under the given Canvas in the specified layer.

Parameters
in_canvasThe Canvas in which to hide the ComponentPath.
in_layerThe layer under the provided Canvas in which to hide the ComponentPath.
void HPS::ComponentPath::Highlight ( Canvas const &  in_canvas,
HighlightOptionsKit const &  in_options 
) const

Highlights this ComponentPath with the provided options under the given Canvas in layer zero.

Parameters
in_canvasThe Canvas in which to perform the highlight.
in_optionsThe options to use to perform the highlight.
void HPS::ComponentPath::Highlight ( Canvas const &  in_canvas,
size_t  in_layer,
HighlightOptionsKit const &  in_options 
) const

Highlights this ComponentPath with the provided options under the given Canvas in the specified layer.

Parameters
in_canvasThe Canvas in which to perform the highlight.
in_layerThe layer under the provided Canvas in which to perform the highlight.
in_optionsThe options to use to perform the highlight.
bool HPS::ComponentPath::IsHidden ( Canvas const &  in_canvas,
size_t  in_layer = 0 
)

Indicates whether this ComponentPath under the given Canvas in the specified layer is hidden. Note that even if a path is hidden, it's possible that paths descending from this path may not be hidden.

Parameters
in_canvasThe Canvas in which to check whether the specified path is hidden.
in_layerThe layer under the provided Canvas in which to check whether the specified path is hidden.
Returns
true if this path is hidden, false otherwise.
void HPS::ComponentPath::Isolate ( Canvas const &  in_canvas,
size_t  in_layer = 0 
)

Shows only this ComponentPath and hides all other Component objects under the given Canvas in the specified layer. As this is implemented using a style applied with Drawing::Overlay::OverlayWithZ, a future highlight of this isolated ComponentPath must be applied with Drawing::Overlay::OverlayWithZ or Drawing::Overlay::Overlay so that the highlight appears on top of the isolated ComponentPath.

Parameters
in_canvasThe Canvas in which to isolate the ComponentPath.
in_layerThe layer under the provided Canvas in which to isolate the ComponentPath.
static void HPS::ComponentPath::Isolate ( HPS::ComponentPathArray &  in_components_to_be_isolated,
Canvas const &  in_canvas,
size_t  in_layer = 0 
)
static

Shows only the objects in the supplied ComponentPathArray and hides all other Component objects under the given Canvas in the specified layer. As this is implemented using a style applied with Drawing::Overlay::OverlayWithZ, a future highlight of any ComponentPath in the supplied ComponentPathArray must be applied with Drawing::Overlay::OverlayWithZ or Drawing::Overlay::Overlay so that the highlight appears on top of the isolated ComponentPath.

Parameters
in_components_to_be_isolatedThe ComponentPathArray to isolate.
in_canvasThe Canvas in which to isolate the ComponentPath.
in_layerThe layer under the provided Canvas in which to isolate the ComponentPath.
HPS::Type HPS::ComponentPath::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Object.

bool HPS::ComponentPath::operator!= ( ComponentPath const &  in_that) const

Check if the source ComponentPath is not equivalent to this object.

Parameters
in_thatThe source ComponentPath to compare to this object.
Returns
true if the objects are not equivalent, false otherwise.
ComponentPath& HPS::ComponentPath::operator+= ( Component const &  in_component)

Appends the supplied Component into this object. Same as Append function.

Parameters
in_keyThe key to be appended to this.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::operator+= ( ComponentPath const &  in_path)

Appends the supplied ComponentPath into this object. Same as Append function.

Parameters
in_key_pathThe ComponentPath to be appended to this.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::operator+= ( ComponentArray const &  in_components)

Appends the supplied ComponentArray into this object. Same as Append function.

Parameters
in_componentsThe ComponentArray to be appended to this.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::operator= ( ComponentPath &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this ComponentPath thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to a ComponentPath to take the impl from.
Returns
A reference to this ComponentPath.
ComponentPath& HPS::ComponentPath::operator= ( ComponentPath const &  in_that)

Copies the supplied path into this object.

Parameters
in_thatThe source of the copy.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::operator= ( ComponentArray const &  in_path)

Copies an array of components into this object.

Parameters
in_pathThe source array, assumed to be arranged from leaf to root.
Returns
A reference to this object.
bool HPS::ComponentPath::operator== ( ComponentPath const &  in_that) const

Check if the source ComponentPath is equivalent to this object.

Parameters
in_thatThe source ComponentPath to compare to this object.
Returns
true if the objects are equivalent, false otherwise.
void HPS::ComponentPath::Set ( ComponentPath const &  in_that)

Copies the supplied path into this object.

Parameters
in_thatThe source of the copy.
ComponentPath& HPS::ComponentPath::SetComponents ( ComponentArray const &  in_components)

Copies an array of components into this object.

Parameters
in_componentsThe source array, assumed to be arranged from leaf to root.
Returns
A reference to this object.
ComponentPath& HPS::ComponentPath::SetComponents ( size_t  in_count,
Component const  in_components[] 
)

Copies an array of components into this object.

Parameters
in_countthe number of components in the array.
in_componentsThe source array, assumed to arranged from leaf to root.
Returns
A reference to this object.
void HPS::ComponentPath::Show ( Canvas const &  in_canvas,
size_t  in_layer = 0 
)

Shows this ComponentPath under the given Canvas in the specified layer.

Parameters
in_canvasThe Canvas in which to show the ComponentPath.
in_layerThe layer under the provided Canvas in which to show the ComponentPath.
void HPS::ComponentPath::Unhighlight ( Canvas const &  in_canvas,
HighlightOptionsKit const &  in_options = HighlightOptionsKit() 
) const

Unhighlights this ComponentPath with the provided options under the given Canvas in layer zero.

Parameters
in_canvasThe Canvas in which to perform the unhighlight.
in_optionsThe options to use to perform the unhighlight.
void HPS::ComponentPath::Unhighlight ( Canvas const &  in_canvas,
size_t  in_layer,
HighlightOptionsKit const &  in_options = HighlightOptionsKit() 
) const

Unhighlights this ComponentPath with the provided options under the given Canvas in the specified layer.

Parameters
in_canvasThe Canvas in which to perform the unhighlight.
in_layerThe layer under the provided Canvas in which to perform the unhighlight.
in_optionsThe options to use to perform the unhighlight.

The documentation for this class was generated from the following file: