#include <hps.h>

Public Member Functions | |
AttributeLockControl (SegmentKey &in_seg) | |
AttributeLockControl (AttributeLockControl &&in_that) | |
AttributeLockControl (AttributeLockControl const &in_that) | |
HPS::Type | ObjectType () const |
AttributeLockControl & | operator= (AttributeLockControl &&in_that) |
AttributeLockControl & | operator= (AttributeLockControl const &in_that) |
AttributeLockControl & | SetLock (AttributeLock::Type in_type, bool in_state=true) |
AttributeLockControl & | SetLock (AttributeLockTypeArray const &in_types, BoolArray const &in_states) |
AttributeLockControl & | SetSubsegmentLockOverride (AttributeLock::Type in_type, bool in_state=true) |
AttributeLockControl & | SetSubsegmentLockOverride (AttributeLockTypeArray const &in_types, BoolArray const &in_states) |
bool | ShowLock (AttributeLock::Type in_type, bool &out_state) const |
bool | ShowLock (AttributeLockTypeArray &out_types, BoolArray &out_states) const |
bool | ShowSubsegmentLockOverride (AttributeLock::Type in_type, bool &out_state) const |
bool | ShowSubsegmentLockOverride (AttributeLockTypeArray &out_types, BoolArray &out_states) const |
virtual HPS::Type | Type () const |
AttributeLockControl & | UnsetEverything () |
AttributeLockControl & | UnsetLock (AttributeLock::Type in_type=AttributeLock::Type::Everything) |
AttributeLockControl & | UnsetLock (AttributeLockTypeArray const &in_types) |
AttributeLockControl & | UnsetSubsegmentLockOverride (AttributeLock::Type in_type=AttributeLock::Type::Everything) |
AttributeLockControl & | UnsetSubsegmentLockOverride (AttributeLockTypeArray const &in_types) |
~AttributeLockControl () | |
![]() | |
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) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
Control (Control &&in_that) | |
Control & | operator= (Control &&in_that) |
Detailed Description
The HPS::AttributeLockControl class provides support for attribute locking, which allows temporarily override of an attribute setting for a segment and its descendants. This control is used to set and unset attribute locks at the segment level. For more information, see Core Graphics Programming Guide, section 1.2.4 - subsection "Attribute controls". This table lists default values for the various segment attributes accessible from HPS::AttributeLockControl.
Constructor & Destructor Documentation
|
explicit |
Initializes a control tied to the segment in_seg.
HPS::AttributeLockControl::AttributeLockControl | ( | AttributeLockControl && | in_that | ) |
The move constructor creates a AttributeLockKit by transferring the underlying impl of the rvalue reference to this AttributeLockKit thereby avoiding a copy and allocation.
- Parameters
-
in_that An rvalue reference to a AttributeLockKit to take the impl from.
HPS::AttributeLockControl::AttributeLockControl | ( | AttributeLockControl const & | in_that | ) |
Initializes a control tied to the same object as in_that.
HPS::AttributeLockControl::~AttributeLockControl | ( | ) |
Releases a reference to the database object this control is tied to.
Member Function Documentation
|
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::Control.
AttributeLockControl& HPS::AttributeLockControl::operator= | ( | AttributeLockControl && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this AttributeLockControl thereby avoiding a copy.
- Parameters
-
in_that An rvalue reference to a AttributeLockControl to take the impl from.
- Returns
- A reference to this AttributeLockControl.
AttributeLockControl& HPS::AttributeLockControl::operator= | ( | AttributeLockControl const & | in_that | ) |
Share the underlying smart-pointer of the AttributeLockControl source.
- Parameters
-
in_that The AttributeLockControl source of the assignment.
- Returns
- A reference to this AttributeLockControl.
AttributeLockControl& HPS::AttributeLockControl::SetLock | ( | AttributeLock::Type | in_type, |
bool | in_state = true |
||
) |
Applies an attribute lock that prevents attributes of the chosen type from being modified in child segments.
- Parameters
-
in_type The type of attribute to lock or unlock. in_state Whether the attribute should be locked.
- Returns
- A reference to this object.
- See also
- Attribute lock default value
AttributeLockControl& HPS::AttributeLockControl::SetLock | ( | AttributeLockTypeArray const & | in_types, |
BoolArray const & | in_states | ||
) |
Applies attribute locks that prevents attributes of the chosen types from being modified in child segments.
- Parameters
-
in_types An array of attribute types that should be locked or unlocked. in_states An array of bools with each one indicating whether the corresponding type in in_types should be locked.
- Returns
- A reference to this object.
AttributeLockControl& HPS::AttributeLockControl::SetSubsegmentLockOverride | ( | AttributeLock::Type | in_type, |
bool | in_state = true |
||
) |
Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a particular lock as a "super lock" that cannot be overridden by subsegments.
- Parameters
-
in_type The type of attribute lock that should be ignored in subsegments. in_state Whether the attribute lock should override locks in subsegments.
- Returns
- A reference to this object.
AttributeLockControl& HPS::AttributeLockControl::SetSubsegmentLockOverride | ( | AttributeLockTypeArray const & | in_types, |
BoolArray const & | in_states | ||
) |
Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a collection of locks as a "super locks" that cannot be overridden by subsegments.
- Parameters
-
in_type Ann array of types of attribute locks that should be ignored in subsegments. in_state An array of bools with each one indicating whether the corresponding attribute lock in in_types should override locks in subsegments.
- Returns
- A reference to this object.
bool HPS::AttributeLockControl::ShowLock | ( | AttributeLock::Type | in_type, |
bool & | out_state | ||
) | const |
Shows the state of a particular attribute lock.
- Parameters
-
in_type The type of attribute lock to be queried. out_state Whether the attribute is locked.
- Returns
- true if the setting is valid, false otherwise.
bool HPS::AttributeLockControl::ShowLock | ( | AttributeLockTypeArray & | out_types, |
BoolArray & | out_states | ||
) | const |
Shows the state of all attribute locks.
- Parameters
-
out_types An array of types that have an attribute lock setting. out_states An array of bools with each indicating whether the corresponding entry in in_types is locked.
- Returns
- true if the setting is valid, false otherwise.
bool HPS::AttributeLockControl::ShowSubsegmentLockOverride | ( | AttributeLock::Type | in_type, |
bool & | out_state | ||
) | const |
Shows the state of a particular subsegment lock override.
- Parameters
-
in_type The type of attribute lock to be queried. out_state Whether the attribute lock will override locks in subsegments.
- Returns
- true if the setting is valid, false otherwise.
bool HPS::AttributeLockControl::ShowSubsegmentLockOverride | ( | AttributeLockTypeArray & | out_types, |
BoolArray & | out_states | ||
) | const |
Shows the state of all subsegment lock overrides.
- Parameters
-
out_types An array of types that have a subsegment lock override setting. out_states An array of bools with each indicating whether the corresponding entry in in_types is will be ignored in subsegments.
- Returns
- true if the setting is valid, false otherwise.
|
inlinevirtual |
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.
- Returns
- The true type of the object in question.
Reimplemented from HPS::Control.
AttributeLockControl& HPS::AttributeLockControl::UnsetEverything | ( | ) |
Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by AttributeLockKit::GetDefault().
- Returns
- A reference to this object.
AttributeLockControl& HPS::AttributeLockControl::UnsetLock | ( | AttributeLock::Type | in_type = AttributeLock::Type::Everything | ) |
Removes an attribute lock setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit::GetDefault().
- Returns
- A reference to this object.
AttributeLockControl& HPS::AttributeLockControl::UnsetLock | ( | AttributeLockTypeArray const & | in_types | ) |
Removes a collection of attribute lock settings. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit::GetDefault().
- Returns
- A reference to this object.
AttributeLockControl& HPS::AttributeLockControl::UnsetSubsegmentLockOverride | ( | AttributeLock::Type | in_type = AttributeLock::Type::Everything | ) |
Removes a subsegment lock override setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit::GetDefault().
- Returns
- A reference to this object.
AttributeLockControl& HPS::AttributeLockControl::UnsetSubsegmentLockOverride | ( | AttributeLockTypeArray const & | in_types | ) |
Removes a collection of subsegment lock override settings. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit::GetDefault().
- Returns
- A reference to this object.
The documentation for this class was generated from the following file:
- include/hps.h