#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 |
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 () | |
![]() | |
Control (Control const &in_that)=default | |
![]() | |
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 () |
HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
Control (Control &&in_that) | |
Control & | operator= (Control &&in_that) |
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.
|
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.
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.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
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.
in_that | An rvalue reference to a AttributeLockControl to take the impl from. |
AttributeLockControl& HPS::AttributeLockControl::operator= | ( | AttributeLockControl const & | in_that | ) |
Share the underlying smart-pointer of the AttributeLockControl source.
in_that | The AttributeLockControl source of the assignment. |
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.
in_type | The type of attribute to lock or unlock. |
in_state | Whether the attribute should be locked. |
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.
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. |
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.
in_type | The type of attribute lock that should be ignored in subsegments. |
in_state | Whether the attribute lock should override locks in subsegments. |
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.
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. |
bool HPS::AttributeLockControl::ShowLock | ( | AttributeLock::Type | in_type, |
bool & | out_state | ||
) | const |
Shows the state of a particular attribute lock.
in_type | The type of attribute lock to be queried. |
out_state | Whether the attribute is locked. |
bool HPS::AttributeLockControl::ShowLock | ( | AttributeLockTypeArray & | out_types, |
BoolArray & | out_states | ||
) | const |
Shows the state of all attribute locks.
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. |
bool HPS::AttributeLockControl::ShowSubsegmentLockOverride | ( | AttributeLock::Type | in_type, |
bool & | out_state | ||
) | const |
Shows the state of a particular subsegment lock override.
in_type | The type of attribute lock to be queried. |
out_state | Whether the attribute lock will override locks in subsegments. |
bool HPS::AttributeLockControl::ShowSubsegmentLockOverride | ( | AttributeLockTypeArray & | out_types, |
BoolArray & | out_states | ||
) | const |
Shows the state of all subsegment lock overrides.
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. |
AttributeLockControl& HPS::AttributeLockControl::UnsetEverything | ( | ) |
Removes all settings from this object.
AttributeLockControl& HPS::AttributeLockControl::UnsetLock | ( | AttributeLock::Type | in_type = AttributeLock::Type::Everything | ) |
Removes an attribute lock setting.
AttributeLockControl& HPS::AttributeLockControl::UnsetLock | ( | AttributeLockTypeArray const & | in_types | ) |
Removes a collection of attribute lock settings.
AttributeLockControl& HPS::AttributeLockControl::UnsetSubsegmentLockOverride | ( | AttributeLock::Type | in_type = AttributeLock::Type::Everything | ) |
Removes a subsegment lock override setting.
AttributeLockControl& HPS::AttributeLockControl::UnsetSubsegmentLockOverride | ( | AttributeLockTypeArray const & | in_types | ) |
Removes a collection of subsegment lock override settings.