StyleKey
-
class HPS::StyleKey : public HPS::Key
The StyleKey class is a smart pointer to a database object. It is a handle to a style key created by StyleControl::PushSegment.
Public Functions
-
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.
-
StyleKey &operator=(StyleKey &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this StyleKey thereby avoiding a copy.
-
StyleKey &operator=(StyleKey const &other)
Associate this StyleKey with the same underlying impl as the source StyleKey.
-
StyleKey &SetConditionalExpression(ConditionalExpression const &in_conditional)
Sets a conditional expression on this StyleKey. This will either make an unconditional style into a conditional style, or modify the condition for an existing conditional style. The target segment referenced by this style will only be styled in if a condition satisfying the given conditional expression is set above this style in the tree.
-
StyleKey &SetFilter(AttributeLock::Type in_type)
Sets an attribute filter on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
StyleKey &SetFilter(AttributeLockTypeArray const &in_types)
Sets an array of attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
StyleKey &SetFilter(size_t in_count, AttributeLock::Type const in_types[])
Sets an array of attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
bool ShowConditionalExpression(ConditionalExpression &out_conditional) const
Shows the conditional expression for this StyleKey.
-
bool ShowFilter(AttributeLockTypeArray &out_types) const
Shows an array of the current attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
- Parameters
out_types – The array of attribute filters currently set on this StyleKey.
- Returns
true if there are attribute filters, false otherwise.
-
bool ShowFilter(HPS::AttributeLock::Type in_type) const
Tests if a specific attribute filter is set on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
bool ShowSource(Style::Type &out_type, SegmentKey &out_segment, UTF8 &out_name) const
Shows the source for this StyleKey.
- Parameters
out_type – The type of source for this StyleKey. This field indicates which of the following arguments are valid.
out_segment – The segment source for this StyleKey. This is only valid if out_type is Style::Type::Segment.
out_name – The name source for this StyleKey. This is only valid if out_type is Style::Type::Named.
- Returns
true if there is a source for this StyleKey, false otherwise.
-
StyleKey()
The default constructor creates an uninitialized StyleKey object. The Type() function will return Type::None.
-
explicit StyleKey(Key const &in_that)
This constructor creates an StyleKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a style key. Otherwise the copy will fail and the resulting StyleKey will be invalid.
- Parameters
in_key – The source Key to copy.
-
StyleKey(StyleKey &&in_that)
The move constructor creates a StyleKey by transferring the underlying impl of the rvalue reference to this StyleKey thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to a StyleKey to take the impl from.
-
StyleKey(StyleKey const &in_that)
The copy constructor creates a StyleKey object that shares the underlying smart-pointer of the source StyleKey.
- Parameters
in_that – The source StyleKey to copy.
-
StyleKey &UnsetConditionalExpression()
Removes the conditional expression on this StyleKey. This will turn a conditional style into an unconditional style.
- Returns
A reference to this StyleKey.
-
StyleKey &UnsetFilter(AttributeLock::Type in_type)
Removes an attribute filter from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
StyleKey &UnsetFilter(AttributeLockTypeArray const &in_types)
Removes an array of attribute filters from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
StyleKey &UnsetFilter(size_t in_count, AttributeLock::Type const in_types[])
Removes an array of attribute filters from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.
-
~StyleKey()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::StyleKey
-
inline virtual HPS::Type ObjectType() const