AttributeLockControl
-
class
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 also
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.
-