Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::ComponentTreeItem Class Referenceabstract

The ComponentTreeItem class is a smart pointer which corresponds to an item or node in a tree object in a GUI toolkit, e.g., a TreeViewItem in WPF or an HTREEITEM in MFC. More...

#include <sprk.h>

Inheritance diagram for HPS::ComponentTreeItem:
Collaboration diagram for HPS::ComponentTreeItem:

Public Member Functions

 ComponentTreeItem ()
 The default constructor creates an uninitialized ComponentTreeItem object. More...
 
 ComponentTreeItem (ComponentTreeItem const &in_that)
 The copy constructor creates a ComponentTreeItem object that shares the underlying smart-pointer of the source ComponentTreeItem. More...
 
 ComponentTreeItem (ComponentTreeItem &&in_that)
 The move constructor creates a ComponentTreeItem by transferring the underlying object of the rvalue reference to this ComponentTreeItem. More...
 
 ComponentTreeItem (ComponentTreePtr const &in_tree, CADModel const &in_cad_model)
 This constructor creates a ComponentTreeItem suitable for acting as a root in a ComponentTree. More...
 
 ComponentTreeItem (ComponentTreePtr const &in_tree, Component const &in_component, ComponentTree::ItemType in_type)
 This constructor creates a ComponentTreeItem which is not suitable for acting as a root in a ComponentTree, but is suitable to be a ComponentTreeItem under the root of the ComponentTree. More...
 
virtual ~ComponentTreeItem ()
 
HPS::Type ObjectType () const
 
ComponentTreeItemoperator= (ComponentTreeItem const &in_that)
 Share the underlying smart-pointer of the ComponentTreeItem source. More...
 
ComponentTreeItemoperator= (ComponentTreeItem &&in_that)
 The move assignment operator transfers the underlying object of the rvalue reference to this ComponentTreeItem. More...
 
virtual void Assign (ComponentTreeItem const &in_that)
 Share the underlying smart-pointer of the ComponentTreeItem source. More...
 
bool Equals (ComponentTreeItem const &in_that) const
 Check if the source ComponentTreeItem points to the same underlying impl as this ComponentTreeItem. More...
 
bool operator!= (ComponentTreeItem const &in_that) const
 Check if the source ComponentTreeItem points to a different impl than this ComponentTreeItem. More...
 
bool operator== (ComponentTreeItem const &in_that) const
 Check if the source ComponentTreeItem points to the same underlying impl as this ComponentTreeItem. More...
 
ComponentTreePtr GetTree () const
 Gets the ComponentTree associated with this ComponentTreeItem. More...
 
UTF8 GetTitle () const
 Gets the title for this ComponentTreeItem. More...
 
ComponentTree::ItemType GetItemType () const
 Gets the item type for this ComponentTreeItem. More...
 
Component GetComponent () const
 Gets the Component for this ComponentTreeItem. More...
 
bool HasChildren () const
 Indicates whether this ComponentTreeItem has any children. More...
 
ComponentPath GetPath () const
 Gets the ComponentPath corresponding to this ComponentTreeItem. More...
 
virtual ComponentTreeItemPtr AddChild (Component const &in_component, ComponentTree::ItemType in_type)=0
 This function is used to create a new ComponentTreeItem to be the child of this ComponentTreeItem. More...
 
virtual void Expand ()
 This function should be invoked when this ComponentTreeItem needs to expand. More...
 
virtual void Collapse ()
 This function should be invoked when this ComponentTreeItem needs to collapse. More...
 
bool IsHighlighted () const
 Indicates whether this ComponentTreeItem is currently highlighted with the options specified in the associated ComponentTree. More...
 
virtual void OnHighlight (HighlightOptionsKit const &in_options)
 This function will be invoked when this ComponentTreeItem should be marked as highlighted. More...
 
virtual void OnUnhighlight (HighlightOptionsKit const &in_options)
 This function will be invoked when this ComponentTreeItem should be marked as unhighlighted. More...
 
void Highlight (size_t in_highlight_options_index=0)
 This function will cause this ComponentTreeItem to be highlighted with the nth option specified in the associated ComponentTree. More...
 
void Highlight (HighlightOptionsKit const &in_highlight_options)
 This function will cause this ComponentTreeItem to be highlighted with the options specified. More...
 
void Unhighlight (size_t in_highlight_options_index=0)
 This function will cause this ComponentTreeItem to be unhighlighted with the nth option specified in the associated ComponentTree. More...
 
void Unhighlight (HighlightOptionsKit const &in_highlight_options)
 This function will cause this ComponentTreeItem to be unhighlighted with the options specified. More...
 
bool IsHidden () const
 Indicates whether this ComponentTreeItem is currently hidden. More...
 
virtual void OnHide ()
 This function will be invoked when this ComponentTreeItem should be marked as hidden. More...
 
virtual void OnShow ()
 This function will be invoked when this ComponentTreeItem should be marked as visible. More...
 
void Hide ()
 This function will cause this ComponentTreeItem to be hidden if it isn't already. More...
 
void Show (Component::Visibility in_subtree_visibility=Component::Visibility::PreserveNone)
 This function will cause this ComponentTreeItem to be visible if it isn't already. More...
 
void Isolate (Component::Visibility in_subtree_visibility=Component::Visibility::PreserveNone)
 This function will cause this ComponentTreeItem to be isolated, i.e., all other items will be hidden and this item will be shown. More...
 
bool IsExpanded () const
 Indicates whether this ComponentTreeItem is currently expanded. More...
 
void ReExpand ()
 Collapses this ComponentTreeItem and then re-expands the tree. 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...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. 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::ComponentTreeItem
 

Detailed Description

The ComponentTreeItem class is a smart pointer which corresponds to an item or node in a tree object in a GUI toolkit, e.g., a TreeViewItem in WPF or an HTREEITEM in MFC.

This class must be derived from to facilitate tree creation in the various GUI toolkits. It is used to represent items in a component or model browser.

Constructor & Destructor Documentation

◆ ComponentTreeItem() [1/5]

HPS::ComponentTreeItem::ComponentTreeItem ( )

The default constructor creates an uninitialized ComponentTreeItem object.

The Type() function will return Type::None.

◆ ComponentTreeItem() [2/5]

HPS::ComponentTreeItem::ComponentTreeItem ( ComponentTreeItem const &  in_that)

The copy constructor creates a ComponentTreeItem object that shares the underlying smart-pointer of the source ComponentTreeItem.

Parameters
in_thatThe source ComponentTreeItem to copy.

◆ ComponentTreeItem() [3/5]

HPS::ComponentTreeItem::ComponentTreeItem ( ComponentTreeItem &&  in_that)

The move constructor creates a ComponentTreeItem by transferring the underlying object of the rvalue reference to this ComponentTreeItem.

Parameters
in_thatAn rvalue reference to a ComponentTreeItem to take the underlying object from.

◆ ComponentTreeItem() [4/5]

HPS::ComponentTreeItem::ComponentTreeItem ( ComponentTreePtr const &  in_tree,
CADModel const &  in_cad_model 
)

This constructor creates a ComponentTreeItem suitable for acting as a root in a ComponentTree.

The CADModel provided to this constructor should be accessible from the Canvas and layer associated with the ComponentTree, otherwise an exception will be thrown.

Parameters
in_treeThe ComponentTree with which to associate this new root ComponentTreeItem.
in_cad_modelThe CADModel for this root ComponentTreeItem.
See also
ComponentTree::SetRoot

◆ ComponentTreeItem() [5/5]

HPS::ComponentTreeItem::ComponentTreeItem ( ComponentTreePtr const &  in_tree,
Component const &  in_component,
ComponentTree::ItemType  in_type 
)

This constructor creates a ComponentTreeItem which is not suitable for acting as a root in a ComponentTree, but is suitable to be a ComponentTreeItem under the root of the ComponentTree.

This constructor should be the one invoked in the overridden AddChild function.

Parameters
in_treeThe ComponentTree with which to associate this new ComponentTreeItem.
in_componentThe Component for this ComponentTreeItem. This value should come from the corresponding argument to AddChild.
in_typeThe type of this ComponentTreeItem. This value should come from the corresponding argument to AddChild.
See also
AddChild

◆ ~ComponentTreeItem()

virtual HPS::ComponentTreeItem::~ComponentTreeItem ( )
virtual

Member Function Documentation

◆ AddChild()

virtual ComponentTreeItemPtr HPS::ComponentTreeItem::AddChild ( Component const &  in_component,
ComponentTree::ItemType  in_type 
)
pure virtual

This function is used to create a new ComponentTreeItem to be the child of this ComponentTreeItem.

This function will be invoked if this ComponentTreeItem has children and Expand has been invoked on it. This function should contain any necessary calls to GUI toolkits to create the appropriate GUI elements. Additionally, since this function requires the creation of a derived ComponentTreeItem, that derived ComponentTreeItem should use the base constructor which takes the same arguments this function.

Parameters
in_componentThe Component for this ComponentTreeItem. Should be passed to as the corresponding argument to the base constructor.
in_typeThe type for this ComponentTreeItem. Should be passed to as the corresponding argument to the base constructor.
Returns
A newly created object derived from ComponentTreeItem.

◆ Assign()

virtual void HPS::ComponentTreeItem::Assign ( ComponentTreeItem const &  in_that)
virtual

Share the underlying smart-pointer of the ComponentTreeItem source.

Parameters
in_thatThe ComponentTreeItem source of the assignment.
Returns
A reference to this ComponentTreeItem.

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
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.

◆ Collapse()

virtual void HPS::ComponentTreeItem::Collapse ( )
virtual

This function should be invoked when this ComponentTreeItem needs to collapse.

If this function is overridden, the overriding function should invoke this base function. Additionally, this function will always release all children for this ComponentTreeItem when invoked.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

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.

◆ Equals()

bool HPS::ComponentTreeItem::Equals ( ComponentTreeItem const &  in_that) const

Check if the source ComponentTreeItem points to the same underlying impl as this ComponentTreeItem.

Parameters
in_thatThe source ComponentTreeItem to compare to this ComponentTreeItem.
Returns
true if the objects reference the same impl, false otherwise.

◆ Expand()

virtual void HPS::ComponentTreeItem::Expand ( )
virtual

This function should be invoked when this ComponentTreeItem needs to expand.

If this function is overridden, the overriding function should invoke this base function. Additionally, this function will always repopulate the children for this ComponentTreeItem when invoked.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetComponent()

Component HPS::ComponentTreeItem::GetComponent ( ) const

Gets the Component for this ComponentTreeItem.

The type of the Component depends on the ComponentTree::ItemType for this ComponentTreeItem.

Returns
The Component for this ComponentTreeItem.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
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.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ GetItemType()

ComponentTree::ItemType HPS::ComponentTreeItem::GetItemType ( ) const

Gets the item type for this ComponentTreeItem.

This is used to determine what type of data this ComponentTreeItem represents in the ComponentTree.

Returns
The item type for this ComponentTreeItem.

◆ GetPath()

ComponentPath HPS::ComponentTreeItem::GetPath ( ) const

Gets the ComponentPath corresponding to this ComponentTreeItem.

Returns
The ComponentPath corresponding to this ComponentTreeItem.

◆ GetTitle()

UTF8 HPS::ComponentTreeItem::GetTitle ( ) const

Gets the title for this ComponentTreeItem.

This is the text that should be displayed for this ComponentTreeItem in the ComponentTree.

Returns
The title for this ComponentTreeItem.

◆ GetTree()

ComponentTreePtr HPS::ComponentTreeItem::GetTree ( ) const

Gets the ComponentTree associated with this ComponentTreeItem.

This provides a means of accessing the derived ComponentTree by this ComponentTreeItem if necessary.

Returns
The ComponentTree associated with this ComponentTreeItem.

◆ HasChildren()

bool HPS::ComponentTreeItem::HasChildren ( ) const

Indicates whether this ComponentTreeItem has any children.

Returns
Whether this ComponentTreeItem has any children.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ Hide()

void HPS::ComponentTreeItem::Hide ( )

This function will cause this ComponentTreeItem to be hidden if it isn't already.

This will cause this item to be marked as hidden if it isn't already. Depending on the type of the ComponentTreeItem, sometimes a hide is nonsensical. In this case, no hide will be performed.

See also
OnHide

◆ Highlight() [1/2]

void HPS::ComponentTreeItem::Highlight ( size_t  in_highlight_options_index = 0)

This function will cause this ComponentTreeItem to be highlighted with the nth option specified in the associated ComponentTree.

This will cause this item to be marked as highlighted if it isn't already. Depending on the type of the ComponentTreeItem, sometimes a highlight is nonsensical. In this case, no highlight will be performed.

Parameters
in_higlight_options_indexThe index in the highlight options array held by the associated ComponentTree. Defaults to 0.
See also
OnHighlight

◆ Highlight() [2/2]

void HPS::ComponentTreeItem::Highlight ( HighlightOptionsKit const &  in_highlight_options)

This function will cause this ComponentTreeItem to be highlighted with the options specified.

If the options requested is not part of the associated ComponentTree highlight options, it will be added to them. This will cause this item to be marked as highlighted if it isn't already. Depending on the type of the ComponentTreeItem, sometimes a highlight is nonsensical. In this case, no highlight will be performed.

Parameters
in_highlight_optionsThe highlight options used during highlighting
See also
OnHighlight

◆ IsExpanded()

bool HPS::ComponentTreeItem::IsExpanded ( ) const

Indicates whether this ComponentTreeItem is currently expanded.

Returns
Whether this ComponentTreeItem is currently expanded.

◆ IsHidden()

bool HPS::ComponentTreeItem::IsHidden ( ) const

Indicates whether this ComponentTreeItem is currently hidden.

This may mean that the Hide function on this ComponentTreeItem was invoked, or that the Component backing this ComponentTreeItem was hidden via ComponentPath::Hide or ComponentPath::Isolate.

Note
The state of this ComponentTreeItem may not yet mirror the state of the underlying ComponentPath as the notification is asynchronous. In order for this ComponentTreeItem to mirror the state of the underlying ComponentPath, a synchronous update needs to be performed on the associated view.
Returns
Whether this ComponentTreeItem is currently hidden.
See also
Hide
Show
Isolate
ComponentPath::Hide
ComponentPath::Show
ComponentPath::Isolate

◆ IsHighlighted()

bool HPS::ComponentTreeItem::IsHighlighted ( ) const

Indicates whether this ComponentTreeItem is currently highlighted with the options specified in the associated ComponentTree.

This may mean that the Highlight function on this ComponentTreeItem was invoked, or that the Component backing this ComponentTreeItem was highlighted by ComponentPath::Highlight.

Note
The state of this ComponentTreeItem may not yet mirror the state of the underlying ComponentPath as the notification is asynchronous. In order for this ComponentTreeItem to mirror the state of the underlying ComponentPath, a synchronous update needs to be performed on the associated view.
Returns
Whether this ComponentTreeItem is currently highlighted with the options specified in the associated ComponentTree.
See also
Highlight
Unhighlight

◆ Isolate()

void HPS::ComponentTreeItem::Isolate ( Component::Visibility  in_subtree_visibility = Component::Visibility::PreserveNone)

This function will cause this ComponentTreeItem to be isolated, i.e., all other items will be hidden and this item will be shown.

This will cause this item to be marked as visible if it isn't already, and all other items to be marked as hidden. Depending on the type of the ComponentTreeItem, sometimes an isolate is nonsensical. In this case, no isolate will be performed.

Parameters
in_subtree_visibilityDictates how Isolate will interact with the visibility of components in the tree under this item.
See also
OnHide
OnShow

◆ ObjectType()

HPS::Type HPS::ComponentTreeItem::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ OnHide()

virtual void HPS::ComponentTreeItem::OnHide ( )
virtual

This function will be invoked when this ComponentTreeItem should be marked as hidden.

This hiding may have come as a result of the Hide or Isolate function on a ComponentTreeItem being invoked, or due to ComponentPath::Hide being invoked on the Component backing this ComponentTreeItem. This function is meant to be overridden to allow one to change the appearance of a hidden ComponentTreeItem, e.g., by graying the text or changing an icon, to signify this new state. If this function is overridden, the overriding function should invoke this base function.

◆ OnHighlight()

virtual void HPS::ComponentTreeItem::OnHighlight ( HighlightOptionsKit const &  in_options)
virtual

This function will be invoked when this ComponentTreeItem should be marked as highlighted.

This highlighting may have come as a result of the Highlight function on a ComponentTreeItem being invoked, or due to ComponentPath::Highlight being invoked on the Component backing this ComponentTreeItem. This function is meant to be overridden to allow one to change the appearance of a highlighted ComponentTreeItem, e.g., by bolding the text or changing an icon, to signify this new state. If this function is overridden, the overriding function should invoke this base function.

Parameters
in_optionsThe HighlightOptionsKit for the associated highlight.

◆ OnShow()

virtual void HPS::ComponentTreeItem::OnShow ( )
virtual

This function will be invoked when this ComponentTreeItem should be marked as visible.

This visibility may have come as a result of the Show or Isolate function on a ComponentTreeItem being invoked, or due to ComponentPath::Show or ComponentPath::Isolate being invoked on the Component backing this ComponentTreeItem. This function is meant to be overridden to allow one to change the appearance of a visible ComponentTreeItem, e.g., by no longer graying out the text or changing an icon, to signify this new state. If this function is overridden, the overriding function should invoke this base function.

◆ OnUnhighlight()

virtual void HPS::ComponentTreeItem::OnUnhighlight ( HighlightOptionsKit const &  in_options)
virtual

This function will be invoked when this ComponentTreeItem should be marked as unhighlighted.

This unhighlighting may have come as a result of the Unhighlight function on a ComponentTreeItem being invoked, or due to ComponentPath::Unhighlight being invoked on the Component backing this ComponentTreeItem. This function is meant to be overridden to allow one to change the appearance of a unhighlighted ComponentTreeItem, e.g., by no longer bolding the text or changing an icon, to signify this new state. If this function is overridden, the overriding function should invoke this base function.

Parameters
in_optionsThe HighlightOptionsKit for the associated unhighlight.

◆ operator!=()

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

Check if the source ComponentTreeItem points to a different impl than this ComponentTreeItem.

Parameters
in_thatThe source ComponentTreeItem to compare to this ComponentTreeItem.
Returns
true if the objects reference different impls, false otherwise.

◆ operator=() [1/2]

ComponentTreeItem& HPS::ComponentTreeItem::operator= ( ComponentTreeItem const &  in_that)

Share the underlying smart-pointer of the ComponentTreeItem source.

Parameters
in_thatThe ComponentTreeItem source of the assignment.
Returns
A reference to this ComponentTreeItem.

◆ operator=() [2/2]

ComponentTreeItem& HPS::ComponentTreeItem::operator= ( ComponentTreeItem &&  in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this ComponentTreeItem.

Parameters
in_thatAn rvalue reference to a ComponentTreeItem to take the underlying object from.
Returns
A reference to this ComponentTreeItem.

◆ operator==()

bool HPS::ComponentTreeItem::operator== ( ComponentTreeItem const &  in_that) const

Check if the source ComponentTreeItem points to the same underlying impl as this ComponentTreeItem.

Parameters
in_thatThe source ComponentTreeItem to compare to this ComponentTreeItem.
Returns
true if the objects reference the same impl, false otherwise.

◆ ReExpand()

void HPS::ComponentTreeItem::ReExpand ( )

Collapses this ComponentTreeItem and then re-expands the tree.

It will try to preserve the original expansion state, however, if the underlying component structure has changed, the resulting expansion may look different.

◆ Reset()

◆ Show()

void HPS::ComponentTreeItem::Show ( Component::Visibility  in_subtree_visibility = Component::Visibility::PreserveNone)

This function will cause this ComponentTreeItem to be visible if it isn't already.

This will cause this item to be marked as visible if it isn't already. Depending on the type of the ComponentTreeItem, sometimes a show is nonsensical. In this case, no show will be performed.

Parameters
in_subtree_visibilityDictates how Isolate will interact with the visibility of components in the tree under this item.
See also
OnShow

◆ Type()

◆ Unhighlight() [1/2]

void HPS::ComponentTreeItem::Unhighlight ( size_t  in_highlight_options_index = 0)

This function will cause this ComponentTreeItem to be unhighlighted with the nth option specified in the associated ComponentTree.

This will cause this item to be marked as unhighlighted if it isn't already. Depending on the type of the ComponentTreeItem, sometimes an unhighlight is nonsensical. In this case, no unhighlight will be performed.

Parameters
in_higlight_options_indexThe index in the highlight options array held by the associated ComponentTree. Defaults to 0.
See also
OnUnhighlight

◆ Unhighlight() [2/2]

void HPS::ComponentTreeItem::Unhighlight ( HighlightOptionsKit const &  in_highlight_options)

This function will cause this ComponentTreeItem to be unhighlighted with the options specified.

If the options requested is not part of the associated ComponentTree highlight options, it will be added to them. This will cause this item to be marked as unhighlighted if it isn't already. Depending on the type of the ComponentTreeItem, sometimes a highlight is nonsensical. In this case, no unhighlight will be performed.

Parameters
in_highlight_optionsThe highlight options used during unhighlighting
See also
OnUnhighlight

Member Data Documentation

◆ staticType

const HPS::Type HPS::ComponentTreeItem::staticType = HPS::Type::ComponentTreeItem
static

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