#include <sprk.h>
|
static const HPS::Type | staticType = HPS::Type::SceneTreeItem |
|
static const HPS::Type | staticType = HPS::Type::None |
|
|
template<typename T > |
static intptr_t | ClassID () |
|
The SceneTreeItem 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 scene graph or segment browser.
◆ SceneTreeItem() [1/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
| ) |
|
The default constructor creates an uninitialized SceneTreeItem object. The Type() function will return Type::None.
◆ SceneTreeItem() [2/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
SceneTreeItem const & |
in_that | ) |
|
The copy constructor creates a SceneTreeItem object that shares the underlying smart-pointer of the source SceneTreeItem.
- Parameters
-
◆ SceneTreeItem() [3/8]
The move constructor creates a SceneTreeItem by transferring the underlying object of the rvalue reference to this SceneTreeItem.
- Parameters
-
in_that | An rvalue reference to a SceneTreeItem to take the underlying object from. |
◆ SceneTreeItem() [4/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
SceneTreePtr const & |
in_tree, |
|
|
Model const & |
in_model |
|
) |
| |
◆ SceneTreeItem() [5/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
SceneTreePtr const & |
in_tree, |
|
|
View const & |
in_view |
|
) |
| |
◆ SceneTreeItem() [6/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
SceneTreePtr const & |
in_tree, |
|
|
Layout const & |
in_layout |
|
) |
| |
◆ SceneTreeItem() [7/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
SceneTreePtr const & |
in_tree, |
|
|
Canvas const & |
in_canvas |
|
) |
| |
◆ SceneTreeItem() [8/8]
HPS::SceneTreeItem::SceneTreeItem |
( |
SceneTreePtr const & |
in_tree, |
|
|
Key const & |
in_key, |
|
|
SceneTree::ItemType |
in_type, |
|
|
char const * |
in_title = nullptr |
|
) |
| |
This constructor creates a SceneTreeItem which is not suitable for acting as a root in a SceneTree, but is suitable to be a SceneTreeItem under the root of the SceneTree. This constructor should be the one invoked in the overridden AddChild function.
- Parameters
-
in_tree | The SceneTree with which to associate this new SceneTreeItem. |
in_key | The Key for this SceneTreeItem. This value should come from the corresponding argument to AddChild. |
in_type | The type of this SceneTreeItem. This value should come from the corresponding argument to AddChild. |
in_title | The title for this SceneTreeItem. This value should come from the corresponding argument to AddChild. |
- See also
- AddChild
◆ AddChild()
virtual SceneTreeItemPtr HPS::SceneTreeItem::AddChild |
( |
Key const & |
in_key, |
|
|
SceneTree::ItemType |
in_type, |
|
|
char const * |
in_title = nullptr |
|
) |
| |
|
pure virtual |
This function is used to create a new SceneTreeItem to be the child of this SceneTreeItem. This function will be invoked if this SceneTreeItem 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, e.g., see the implementations in the mfc_sandbox or wpf_sandbox. Additionally, since this function requires the creation of a derived SceneTreeItem, that derived SceneTreeItem should use the base constructor which takes the same arguments this function.
- Parameters
-
in_key | The Key for this SceneTreeItem. Should be passed to as the corresponding argument to the base constructor. |
in_type | The type for this SceneTreeItem. Should be passed to as the corresponding argument to the base constructor. |
in_title | The title for this SceneTreeItem. Should be passed to as the corresponding argument to the base constructor. |
- Returns
- A newly created object derived from SceneTreeItem.
◆ Assign()
virtual void HPS::SceneTreeItem::Assign |
( |
SceneTreeItem const & |
in_that | ) |
|
|
virtual |
◆ Collapse()
virtual void HPS::SceneTreeItem::Collapse |
( |
| ) |
|
|
virtual |
This function should be invoked when this SceneTreeItem 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 SceneTreeItem when invoked.
◆ Equals()
bool HPS::SceneTreeItem::Equals |
( |
SceneTreeItem const & |
in_that | ) |
const |
Check if the source SceneTreeItem points to the same underlying impl as this SceneTreeItem.
- Parameters
-
- Returns
- true if the objects reference the same impl, false otherwise.
◆ Expand()
virtual void HPS::SceneTreeItem::Expand |
( |
| ) |
|
|
virtual |
This function should be invoked when this SceneTreeItem 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 SceneTreeItem when invoked.
◆ GetItemType()
◆ GetKey()
Key HPS::SceneTreeItem::GetKey |
( |
| ) |
const |
◆ GetKeyPath()
KeyPath HPS::SceneTreeItem::GetKeyPath |
( |
| ) |
const |
◆ GetTitle()
UTF8 HPS::SceneTreeItem::GetTitle |
( |
| ) |
const |
◆ GetTree()
SceneTreePtr HPS::SceneTreeItem::GetTree |
( |
| ) |
const |
◆ HasChildren()
bool HPS::SceneTreeItem::HasChildren |
( |
| ) |
const |
◆ HasItemType()
Indicates whether this SceneTreeItem has the given ItemType mask.
- Parameters
-
- Returns
- true if this SceneTreeItem has the given ItemType mask, false otherwise.
◆ Highlight() [1/2]
void HPS::SceneTreeItem::Highlight |
( |
size_t |
in_highlight_options_index = 0 | ) |
|
This function will cause this SceneTreeItem to be highlighted with the options specified in the associated SceneTree. This will cause elements along the path to this item (and this item itself) to be marked as selected if they aren't already. Depending on the type of the SceneTreeItem, sometimes a highlight is nonsensical. In this case, no highlight will be performed.
- Parameters
-
in_higlight_options_index | The index in the highlight options array held by the associated SceneTree. Defaults to 0. |
- See also
- Select
◆ Highlight() [2/2]
This function will cause this SceneTreeItem to be highlighted with the options specified in the associated SceneTree. This will cause elements along the path to this item (and this item itself) to be marked as selected if they aren't already. Depending on the type of the SceneTreeItem, sometimes a highlight is nonsensical. In this case, no highlight will be performed. If the options requested is not part of the associated SceneTree highlight options, it will be added to them.
- Parameters
-
in_highlight_options | The highlight options used during highlighting |
- See also
- Select
◆ IsExpanded()
bool HPS::SceneTreeItem::IsExpanded |
( |
| ) |
const |
◆ IsHighlightable()
bool HPS::SceneTreeItem::IsHighlightable |
( |
| ) |
const |
◆ IsHighlighted()
bool HPS::SceneTreeItem::IsHighlighted |
( |
| ) |
const |
◆ IsSelected()
bool HPS::SceneTreeItem::IsSelected |
( |
| ) |
const |
◆ ObjectType()
HPS::Type HPS::SceneTreeItem::ObjectType |
( |
| ) |
const |
|
inlinevirtual |
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).
- Returns
- The declared type of the object in question, which may differ from the true, underlying type.
Reimplemented from HPS::Object.
◆ operator!=()
bool HPS::SceneTreeItem::operator!= |
( |
SceneTreeItem const & |
in_that | ) |
const |
Check if the source SceneTreeItem points to a different impl than this SceneTreeItem.
- Parameters
-
- Returns
- true if the objects reference different impls, false otherwise.
◆ operator=() [1/2]
◆ operator=() [2/2]
The move assignment operator transfers the underlying object of the rvalue reference to this SceneTreeItem.
- Parameters
-
in_that | An rvalue reference to a SceneTreeItem to take the underlying object from. |
- Returns
- A reference to this SceneTreeItem.
◆ operator==()
bool HPS::SceneTreeItem::operator== |
( |
SceneTreeItem const & |
in_that | ) |
const |
Check if the source SceneTreeItem points to the same underlying impl as this SceneTreeItem.
- Parameters
-
- Returns
- true if the objects reference the same impl, false otherwise.
◆ ReExpand()
void HPS::SceneTreeItem::ReExpand |
( |
| ) |
|
Collapses this SceneTreeItem and then re-expands the tree. It will try to preserve the original expansion state, however, if the underlying scene structure has changed, the resulting expansion may look different.
◆ Select()
virtual void HPS::SceneTreeItem::Select |
( |
| ) |
|
|
virtual |
This function will be invoked when this SceneTreeItem should be marked as selected. Marking an item as selected means that the key backing this SceneTreeItem has been highlighted with the options specified in the associated SceneTree or is along a path in which a highlight has occurred. This highlighting may have come as a result of the Highlight function on a SceneTreeItem being invoked (not necessarily this SceneTreeItem), or potentially due to the HighlightOperator or HighlightAreaOperator highlighting the key backing this SceneTreeItem or highlighting some path which includes the key backing this SceneTreeItem. This function is meant to be overridden to allow one to change the appearance of a selected SceneTreeItem, 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.
◆ Unhighlight() [1/2]
void HPS::SceneTreeItem::Unhighlight |
( |
size_t |
in_highlight_options_index = 0 | ) |
|
This function will remove the highlight with the options specified in the associated SceneTree from this SceneTreeItem. This can cause elements along the path to this item (and this item itself) to be marked as unselected unless those items lie along a path which is still highlighted. Depending on the type of the SceneTreeItem, sometimes an unhighlight is nonsensical. In this case, no unhighlight will be performed.
- Parameters
-
in_higlight_options_index | The index in the highlight options array held by the associated SceneTree. Defaults to 0. |
- See also
- Unselect
◆ Unhighlight() [2/2]
This function will remove the highlight with the options specified in the associated SceneTree from this SceneTreeItem. This can cause elements along the path to this item (and this item itself) to be marked as unselected unless those items lie along a path which is still highlighted. Depending on the type of the SceneTreeItem, sometimes an unhighlight is nonsensical. In this case, no unhighlight will be performed. If the options requested is not part of the associated SceneTree highlight options, it will be added to them.
- Parameters
-
in_higlight_options_index | The index in the highlight options array held by the associated SceneTree. Defaults to 0. |
- See also
- Unselect
◆ Unselect()
virtual void HPS::SceneTreeItem::Unselect |
( |
| ) |
|
|
virtual |
This function will be invoked when this SceneTreeItem should be marked as unselected. Marking an item as unselected means that the key backing this SceneTreeItem is no longer highlighted with the options specified in the associated SceneTree or is no longer along a path in which a highlight has occurred. This unhighlighting may have come as a result of the Unhighlight function on a SceneTreeItem being invoked (not necessarily this SceneTreeItem), or potentially due to the HighlightOperator or HighlightAreaOperator unhighlighting the key backing this SceneTreeItem. or unhighlighting some path which includes the key backing this SceneTreeItem. This function is meant to be overridden to allow one to change the appearance of a selected SceneTreeItem, 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.
The documentation for this class was generated from the following file: