AttributeLockControl
-
class HPS::AttributeLockControl : public HPS::Control
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.
Public Functions
-
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.
-
AttributeLockControl(AttributeLockControl const &in_that)
Initializes a control tied to the same object as in_that.
-
explicit AttributeLockControl(SegmentKey &in_seg)
Initializes a control tied to the segment in_seg.
-
inline virtual HPS::Type ObjectType() const
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.
-
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 &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 &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.
- See
Attribute lock default value
- 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.
-
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 &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 &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 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 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 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 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.
-
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 &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 &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 &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 &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.
-
~AttributeLockControl()
Releases a reference to the database object this control is tied to.
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::AttributeLockControl
-
AttributeLockControl(AttributeLockControl &&in_that)