ComponentPath
- class HPS.ComponentPath : public HPS.Sprocket
The ComponentPath contains an array of components, organized from leaf to root. It allows the user to perform queries and operations along that path.
Public Types
- enum PathType
Enumerates the types of ComponentPaths.
Values:
- Complete
The ComponentPath contains all components between leaf and root.
- Unique
The ComponentPath contains only components which are unique to this request, omitting ambiguous entries.
Public Functions
- HPS.ComponentPath Append (HPS.Component in_component)
Appends the supplied Component into this object. Same as operator+= function.
- Deprecated:
This function exists for compatibility. Use ComponentPath.PushBack instead.
- Param in_component
The Component to be appended to this.
- Return
A reference to this object.
- HPS.ComponentPath Append (HPS.Component[] in_components)
Appends the supplied key into this object. Same as operator+= function.
- Deprecated:
This function exists for compatibility. Use ComponentPath.PushBack instead.
- Param in_components
The ComponentArray to be appended to this.
- Return
A reference to this object.
- HPS.ComponentPath Append (HPS.ComponentPath in_path)
Appends the supplied key into this object. Same as operator+= function.
- Deprecated:
This function exists for compatibility. Use ComponentPath.PushBack instead.
- Param in_path
The ComponentPath to be appended to this.
- Return
A reference to this object.
- HPS.Component At (ulong in_index)
Access a Component in this ComponentPath object. An HPS.IndexOutOfRangeException exception is thrown if in_index is out of range.
- Param in_index
The index of the Component to access, zero based.
- Return
The Component at position in_index in this ComponentPath.
- HPS.Component Back ()
Returns the last component of this ComponentPath. An HPS.IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
- Return
The last component of this ComponentPath.
- ComponentPath ()
Creates an uninitialized ComponentPath that refers to no database objects.
- ComponentPath (HPS.Component[] in_components)
Creates a new ComponentPath object based on the supplied path.
- Param in_components
An array of components arranged from leaf to root.
- ComponentPath (HPS.ComponentPath in_that)
Copies in_that into this ComponentPath.
- override void Dispose ()
- override bool Empty ()
Indicates whether this ComponentPath is empty.
- Return
true if no components are set on the path, false otherwise.
- bool Equals (HPS.ComponentPath in_that)
Check if the source ComponentPath is equivalent to this object.
- Param in_that
The source ComponentPath to compare to this object.
- Return
true if the objects are equivalent, false otherwise.
- override bool Equals (Object obj)
- HPS.Component Front ()
Returns the first component of this ComponentPath. An HPS.IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
- Return
The first component of this ComponentPath.
- HPS.Component[] GetComponents ()
Gets the components defining this ComponentPath.
- Return
The components defining this ComponentPath.
- override int GetHashCode ()
- HPS.KeyPath[] GetKeyPaths ()
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.
- Return
All KeyPath objects for this ComponentPath.
- HPS.KeyPath[] GetKeyPaths (HPS.Canvas in_canvas)
Gets the KeyPath objects corresponding to this ComponentPath which are included by the specified Canvas and layer.
- Param in_canvas
- Return
The KeyPath objects for this ComponentPath which are included by the specified Canvas and layer.
- HPS.KeyPath[] GetKeyPaths (HPS.Canvas in_canvas, ulong in_layer)
Gets the KeyPath objects corresponding to this ComponentPath which are included by the specified Canvas and layer.
- void Hide (HPS.Canvas in_canvas)
Hides this ComponentPath under the given Canvas in the specified layer. This forces the visibility of the selected ComponentPath and all components under this path to invisible. Any visibility changes made previously at or below this path are flushed. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to hide the ComponentPath.
- void Hide (HPS.Canvas in_canvas, ulong in_layer)
Hides this ComponentPath under the given Canvas in the specified layer. This forces the visibility of the selected ComponentPath and all components under this path to invisible. Any visibility changes made previously at or below this path are flushed. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to hide the ComponentPath.
- Param in_layer
The layer under the provided Canvas in which to hide the ComponentPath.
- void Highlight (HPS.Canvas in_canvas, HPS.HighlightOptionsKit in_options)
Highlights this ComponentPath with the provided options under the given Canvas in layer zero.
- Param in_canvas
The Canvas in which to perform the highlight.
- Param in_options
The options to use to perform the highlight.
- void Highlight (HPS.Canvas in_canvas, HPS.HighlightOptionsKit in_options, bool in_remove_existing)
Highlights this ComponentPath with the provided options under the given Canvas in layer zero.
- Param in_canvas
The Canvas in which to perform the highlight.
- Param in_options
The options to use to perform the highlight.
- Param in_remove_existing
Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type. If HPS.ComponentPath.Isolate(), HPS.ComponentPath.Hide(), or HPS.ComponentPath.Show() have been called on this ComponentPath, in_remove_existing should be set to false so that it doesn’t override those visibility states.
- void Highlight (HPS.Canvas in_canvas, ulong in_layer, HPS.HighlightOptionsKit in_options)
Highlights this ComponentPath with the provided options under the given Canvas in the specified layer.
- Param in_canvas
The Canvas in which to perform the highlight.
- Param in_layer
The layer under the provided Canvas in which to perform the highlight.
- Param in_options
The options to use to perform the highlight. If HPS.ComponentPath.Isolate(), HPS.ComponentPath.Hide(), or HPS.ComponentPath.Show() have been called on this ComponentPath, in_remove_existing should be set to false so that it doesn’t override those visibility states.
- void Highlight (HPS.Canvas in_canvas, ulong in_layer, HPS.HighlightOptionsKit in_options, bool in_remove_existing)
Highlights this ComponentPath with the provided options under the given Canvas in the specified layer.
- Param in_canvas
The Canvas in which to perform the highlight.
- Param in_layer
The layer under the provided Canvas in which to perform the highlight.
- Param in_options
The options to use to perform the highlight. If HPS.ComponentPath.Isolate(), HPS.ComponentPath.Hide(), or HPS.ComponentPath.Show() have been called on this ComponentPath, in_remove_existing should be set to false so that it doesn’t override those visibility states.
- void Insert (ulong in_index, HPS.Component in_item)
Inserts in_item in the ComponentPath before the element at position in_index, increasing the size of the ComponentPath by one. An HPS.IndexOutOfRangeException exception is thrown if in_index is out of range.
- Param in_index
The index where in_item will be inserted
- Param in_item
The component to insert in this key path.
- bool IsHidden (HPS.Canvas in_canvas)
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.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to check whether the specified path is hidden.
- Return
true if this path is hidden, false otherwise.
- bool IsHidden (HPS.Canvas in_canvas, ulong in_layer)
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.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- void Isolate (HPS.Canvas in_canvas)
Shows only this ComponentPath and hides all other Component objects under the given Canvas in the specified layer. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to isolate the ComponentPath.
- void Isolate (HPS.Canvas in_canvas, ulong in_layer)
Shows only this ComponentPath and hides all other Component objects under the given Canvas in the specified layer. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to isolate the ComponentPath.
- Param in_layer
The layer under the provided Canvas in which to isolate the ComponentPath.
- override HPS.Type ObjectType ()
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Return
The declared type of the object in question, which may differ from the true, underlying type.
- HPS.Component PopBack ()
Returns the last component of this ComponentPath and returns it. An HPS.IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
- Return
The last component of this ComponentPath.
- HPS.Component PopFront ()
Returns the first component of this ComponentPath and returns it. An HPS.IndexOutOfRangeException exception is thrown if the ComponentPath is empty.
- Return
The first component of this ComponentPath.
- HPS.ComponentPath PushBack (HPS.Component in_component)
Adds in_component to the end of the ComponentPath.
- Param in_component
The component to add to the end of the ComponentPath.
- Return
A reference to this object.
- HPS.ComponentPath PushBack (HPS.Component[] in_components)
Appends the supplied key into this object. Same as operator+= function.
- Param in_components
The ComponentArray to be appended to this.
- Return
A reference to this object.
- HPS.ComponentPath PushBack (HPS.ComponentPath in_path)
Appends the supplied key into this object. Same as operator+= function.
- Param in_path
The ComponentPath to be appended to this.
- Return
A reference to this object.
- HPS.ComponentPath PushFront (HPS.Component in_component)
Adds in_component to the front of the ComponentPath.
- Param in_component
The component to add to the front of the ComponentPath.
- Return
A reference to this object.
- void Remove (HPS.Component in_item)
Traverses the components in this ComponentPath and removes the first one which matches in_item NOTE: A useful ComponentPath should not contain duplicate components.
- Param in_item
The item to remove from the ComponentPath.
- void Remove (ulong in_index)
Removes the the component at position in_index from this ComponentPath. An HPS.IndexOutOfRangeException exception is thrown if in_index is out of range.
- Param in_index
The index of the component to remove, zero based.
- void ResetVisibility (HPS.Canvas in_canvas)
Resets the visibility of all components at or below this ComponentPath back to the visibility state defined by their model & view. See this section for limitations and details on managing component visibility.
- Param in_canvas
The Canvas in which to isolate the ComponentPath.
- void ResetVisibility (HPS.Canvas in_canvas, ulong in_layer)
Resets the visibility of all components at or below this ComponentPath back to the visibility state defined by their model & view. See this section for limitations and details on managing component visibility.
- Param in_canvas
The Canvas in which to isolate the ComponentPath.
- Param in_layer
The layer under the provided Canvas in which to isolate the ComponentPath.
- HPS.ComponentPath Reverse ()
Creates and returns a new ComponentPath object, with the components organized in the reverse order.
- Return
A new ComponentPath object, containing components organized in the reverse order.
- void Set (HPS.ComponentPath in_that)
Copies the supplied path into this object.
- Param in_that
The source of the copy.
- HPS.ComponentPath SetComponents (HPS.Component[] in_components)
Copies an array of components into this object.
- Param in_components
The source array, assumed to be arranged from leaf to root.
- Return
A reference to this object.
- void Show (HPS.Canvas in_canvas)
Shows this ComponentPath under the given Canvas in the specified layer. This makes the selected path visibile but preserves the model-defined visibility of any components that exist underneath the chosen path. Any visibility changes made subsequently at or below this path are honored unless they are redundant. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to show the ComponentPath.
- void Show (HPS.Canvas in_canvas, ulong in_layer)
Shows this ComponentPath under the given Canvas in the specified layer. This makes the selected path visibile but preserves the model-defined visibility of any components that exist underneath the chosen path. Any visibility changes made subsequently at or below this path are honored unless they are redundant. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_canvas
The Canvas in which to show the ComponentPath.
- Param in_layer
The layer under the provided Canvas in which to show the ComponentPath.
- ulong Size ()
Returns the number of Components contained in this ComponentPath object.
- Return
the number of Components in this ComponentPath.
- void Unhighlight (HPS.Canvas in_canvas)
Unhighlights this ComponentPath with the provided options under the given Canvas in layer zero.
- Param in_canvas
The Canvas in which to perform the unhighlight.
- void Unhighlight (HPS.Canvas in_canvas, HPS.HighlightOptionsKit in_options)
Unhighlights this ComponentPath with the provided options under the given Canvas in layer zero.
- Param in_canvas
The Canvas in which to perform the unhighlight.
- Param in_options
The options to use to perform the unhighlight.
- void Unhighlight (HPS.Canvas in_canvas, ulong in_layer)
Unhighlights this ComponentPath with the provided options under the given Canvas in the specified layer.
- void Unhighlight (HPS.Canvas in_canvas, ulong in_layer, HPS.HighlightOptionsKit in_options)
Unhighlights this ComponentPath with the provided options under the given Canvas in the specified layer.
Public Static Functions
- void Isolate (HPS.ComponentPath[] in_component_paths, HPS.Canvas in_canvas)
Shows only the objects in the supplied ComponentPathArray and hides all other Component objects under the given Canvas in the specified layer. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- Param in_component_paths
A ComponentPathArray containing paths to isolate.
- Param in_canvas
The Canvas in which to isolate the supplied paths.
- void Isolate (HPS.ComponentPath[] in_component_paths, HPS.Canvas in_canvas, ulong in_layer)
Shows only the objects in the supplied ComponentPathArray and hides all other Component objects under the given Canvas in the specified layer. When performing a highlight in combination with this function the highlight must be applied with Drawing.Overlay.InPlace to display properly. See this section for limitations and details on managing component visibility.
- See
- See
- See
- See
- See
Programming Guide: Managing Component Visibility
- bool operator!= (HPS.ComponentPath a, HPS.ComponentPath b)
- bool operator== (HPS.ComponentPath a, HPS.ComponentPath b)
- void ResetVisibility (HPS.ComponentPath[] in_component_paths, HPS.Canvas in_canvas)
Resets the visibility of all components at or below the given paths back to the visibility state defined by their model & view. See this section for limitations and details on managing component visibility.
- Param in_component_paths
A ComponentPathArray containing paths to reset.
- Param in_canvas
The Canvas in which to isolate the supplied paths.
- void ResetVisibility (HPS.ComponentPath[] in_component_paths, HPS.Canvas in_canvas, ulong in_layer)
Resets the visibility of all components at or below the given paths back to the visibility state defined by their model & view. See this section for limitations and details on managing component visibility.