#include <hps.h>

Public Member Functions | |
StyleKey | AppendNamed (char const *in_style_name, ConditionalExpression const &in_conditional, Style::AppendMode in_mode=Style::AppendMode::Or) |
StyleKey | AppendSegment (SegmentKey const &in_style_source, ConditionalExpression const &in_conditional, Style::AppendMode in_mode=Style::AppendMode::Or) |
void | Flush (SegmentKey const &in_style_source) |
void | Flush (SegmentKey const &in_style_source, ConditionalExpression const &in_conditional) |
void | Flush (char const *in_style_name) |
void | Flush (char const *in_style_name, ConditionalExpression const &in_conditional) |
size_t | GetCount () const |
HPS::Type | ObjectType () const |
StyleControl & | operator= (StyleControl &&in_that) |
StyleControl & | operator= (StyleControl const &in_that) |
bool | Pop () |
bool | Pop (Style::Type &out_type, SegmentKey &out_segment_source, UTF8 &out_style_name, ConditionalExpression &out_conditional) |
StyleKey | PushNamed (char const *in_style_name) |
StyleKey | PushNamed (char const *in_style_name, ConditionalExpression const &in_conditional) |
StyleKey | PushSegment (SegmentKey const &in_style_source) |
StyleKey | PushSegment (SegmentKey const &in_style_source, ConditionalExpression const &in_conditional) |
void | Set (StyleTypeArray const &in_types, SegmentKeyArray const &in_segment_sources, UTF8Array const &in_style_names, ConditionalExpressionArray const &in_conditions) |
void | Set (StyleTypeArray const &in_types, SegmentKeyArray const &in_segment_sources, UTF8Array const &in_style_names) |
void | Set (size_t in_count, Style::Type const in_types[], SegmentKey const in_segment_sources[], UTF8 const in_style_names[], ConditionalExpression const in_conditions[]) |
StyleKey | SetNamed (char const *in_style_name) |
StyleKey | SetNamed (char const *in_style_name, ConditionalExpression const &in_conditional) |
StyleKey | SetSegment (SegmentKey const &in_style_source) |
StyleKey | SetSegment (SegmentKey const &in_style_source, ConditionalExpression const &in_conditional) |
bool | Show (StyleTypeArray &out_types, SegmentKeyArray &out_segment_sources, UTF8Array &out_style_names, ConditionalExpressionArray &out_conditions) const |
bool | Show (StyleKeyArray &out_styles) const |
bool | ShowAllNamed (UTF8Array &out_names, HPS::ConditionalExpressionArray &out_conditions) const |
bool | ShowAllNamed (StyleKeyArray &out_styles) const |
bool | ShowAllSegment (SegmentKeyArray &out_segments, HPS::ConditionalExpressionArray &out_conditions) const |
bool | ShowAllSegment (StyleKeyArray &out_styles) const |
bool | ShowTop (Style::Type &out_type, SegmentKey &out_segment_source, UTF8 &out_style_name, ConditionalExpression &out_conditional) const |
bool | ShowTop (StyleKey &out_style) const |
StyleControl (SegmentKey &in_seg) | |
StyleControl (StyleControl const &in_that) | |
StyleControl (StyleControl &&in_that) | |
virtual HPS::Type | Type () const |
void | UnsetAllNamed () |
void | UnsetAllSegment () |
void | UnsetEverything () |
void | UnsetTop () |
~StyleControl () | |
![]() | |
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 StyleControl class is a smart pointer that is tied to a database object. Controls are used for manipulating settings within the database.
Constructor & Destructor Documentation
|
explicit |
Initializes a control tied to the segment in_seg.
HPS::StyleControl::StyleControl | ( | StyleControl const & | in_that | ) |
Initializes a control tied to the same object as in_that.
HPS::StyleControl::StyleControl | ( | StyleControl && | in_that | ) |
The move constructor creates a StyleControl by transferring the underlying impl of the rvalue reference to this StyleControl thereby avoiding a copy and allocation.
- Parameters
-
in_that An rvalue reference to a StyleControl to take the impl from.
HPS::StyleControl::~StyleControl | ( | ) |
Releases a reference to the database object this control is tied to.
Member Function Documentation
StyleKey HPS::StyleControl::AppendNamed | ( | char const * | in_style_name, |
ConditionalExpression const & | in_conditional, | ||
Style::AppendMode | in_mode = Style::AppendMode::Or |
||
) |
Appends a conditional expression to an existing style or conditional style. If the style does not currently exist, a new conditional style is pushed. Conditional styles are only applied if their condition(s) are satisfied.
- Parameters
-
in_style_name The name of the named style which should be defined in an accessible portfolio. in_conditional A conditional expression that must be satisfied in order for the style to be applied. in_mode The behavior of the conditional expression if another conditional style is currently applied with the same style.
- Returns
- a StyleKey that can be used to interact with the style.
StyleKey HPS::StyleControl::AppendSegment | ( | SegmentKey const & | in_style_source, |
ConditionalExpression const & | in_conditional, | ||
Style::AppendMode | in_mode = Style::AppendMode::Or |
||
) |
Appends a conditional expression to an existing style or conditional style. If the style does not currently exist, a new conditional style is pushed. Conditional styles are only applied if their condition(s) are satisfied.
- Parameters
-
in_style_source The segment to use as the source for the attributes that should be styled. in_conditional A conditional expression that must be satisfied in order for the style to be applied. in_mode The behavior of the conditional expression if another conditional style is currently applied with the same style.
- Returns
- a StyleKey that can be used to interact with the style.
void HPS::StyleControl::Flush | ( | SegmentKey const & | in_style_source | ) |
Removes any styles on the associated segment which refer to the provided style source. The styles will be removed regardless if there is a conditional expression associated with the style or not.
- Parameters
-
in_style_source The style source used to identify which styles to remove.
void HPS::StyleControl::Flush | ( | SegmentKey const & | in_style_source, |
ConditionalExpression const & | in_conditional | ||
) |
Removes any styles on the associated segment which refer to the provided style source with the provided condition. If a style is found which references the style source and has an associated conditional expression which contains the provided conditional expression, the provided conditional expression will be removed from the conditional expression associated with the style. If removing the provided conditional expression from the style results in the complete removal of the conditional expression for the style, the style itself will be completely removed.
- Parameters
-
in_style_source The style source used to identify which styles to remove or modify. in_conditional The conditional expression to remove from styles which refer to the provided style source.
void HPS::StyleControl::Flush | ( | char const * | in_style_name | ) |
Removes any styles on the associated segment which refer to the provided style name. The styles will be removed regardless if there is a conditional expression associated with the style or not.
- Parameters
-
in_style_name The style name used to identify which styles to remove.
void HPS::StyleControl::Flush | ( | char const * | in_style_name, |
ConditionalExpression const & | in_conditional | ||
) |
Removes any styles on the associated segment which refer to the provided style name with the provided condition. If a style is found which references the style name and has an associated conditional expression which contains the provided conditional expression, the provided conditional expression will be removed from the conditional expression associated with the style. If removing the provided conditional expression from the style results in the complete removal of the conditional expression for the style, the style itself will be completely removed.
- Parameters
-
in_style_name The style name used to identify which styles to remove or modify. in_conditional The conditional expression to remove from styles which refer to the provided style name.
size_t HPS::StyleControl::GetCount | ( | ) | const |
Returns the number of styles set here.
|
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.
StyleControl& HPS::StyleControl::operator= | ( | StyleControl && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this StyleControl thereby avoiding a copy.
- Parameters
-
in_that An rvalue reference to a StyleControl to take the impl from.
- Returns
- A reference to this StyleControl.
StyleControl& HPS::StyleControl::operator= | ( | StyleControl const & | in_that | ) |
Share the underlying smart-pointer of the StyleControl source.
- Parameters
-
in_that The StyleControl source of the assignment.
- Returns
- A reference to this StyleControl.
bool HPS::StyleControl::Pop | ( | ) |
Removes the most recent style.
- Returns
- true if a style was present, false otherwise.
bool HPS::StyleControl::Pop | ( | Style::Type & | out_type, |
SegmentKey & | out_segment_source, | ||
UTF8 & | out_style_name, | ||
ConditionalExpression & | out_conditional | ||
) |
Removes the most recent style and gives information about it to the user.
- Parameters
-
out_type Indicates the type of the style. out_segment_source If out_type was Segment, this value contains the source segment for the style. out_style_name If out_type was Named, this value contains the name of the style (defined in a portfolio). out_conditional The conditions, if any, set on the style when it was applied.
- Returns
- true if a style was present, false otherwise.
StyleKey HPS::StyleControl::PushNamed | ( | char const * | in_style_name | ) |
Adds a named style to the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings.
StyleKey HPS::StyleControl::PushNamed | ( | char const * | in_style_name, |
ConditionalExpression const & | in_conditional | ||
) |
Adds a conditional named style to the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings. Conditional styles are only applied if their condition(s) are satisfied.
- Parameters
-
in_style_name The name of the named style which should be defined in an accessible portfolio. in_conditional A conditional expression that must be satisfied in order for the style to be applied.
- Returns
- a StyleKey that can be used to interact with the style.
StyleKey HPS::StyleControl::PushSegment | ( | SegmentKey const & | in_style_source | ) |
Creates a new style based on in_style_source and places it on the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings.
- Parameters
-
in_style_source The segment to use as the source for the attributes that should be styled.
- Returns
- a StyleKey that can be used to interact with the style.
StyleKey HPS::StyleControl::PushSegment | ( | SegmentKey const & | in_style_source, |
ConditionalExpression const & | in_conditional | ||
) |
Creates a new style based on in_style_source and places it on the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings.
- Parameters
-
in_style_source The segment to use as the source for the attributes that should be styled. in_conditional A conditional expression that must be satisfied in order for the style to be applied.
- Returns
- a StyleKey that can be used to interact with the style.
void HPS::StyleControl::Set | ( | StyleTypeArray const & | in_types, |
SegmentKeyArray const & | in_segment_sources, | ||
UTF8Array const & | in_style_names, | ||
ConditionalExpressionArray const & | in_conditions | ||
) |
Sets a collection of styles, replacing any existing styles.
- Parameters
-
in_types Indicates the type of each style. in_segment_sources For each entry, if in_type was Segment, this value must contain the source segment for the style. in_style_names For each entry, if in_type was Named, this value must contain the name of the style (defined in a portfolio). in_conditions The conditions to set on each style.
void HPS::StyleControl::Set | ( | StyleTypeArray const & | in_types, |
SegmentKeyArray const & | in_segment_sources, | ||
UTF8Array const & | in_style_names | ||
) |
Sets a collection of styles, replacing any existing styles.
- Parameters
-
in_types Indicates the type of each style. in_segment_sources For each entry, if in_type was Segment, this value must contain the source segment for the style. in_style_names For each entry, if in_type was Named, this value must contain the name of the style (defined in a portfolio).
void HPS::StyleControl::Set | ( | size_t | in_count, |
Style::Type const | in_types[], | ||
SegmentKey const | in_segment_sources[], | ||
UTF8 const | in_style_names[], | ||
ConditionalExpression const | in_conditions[] | ||
) |
Sets a collection of styles, replacing any existing styles.
- Parameters
-
in_count The length of all arrays in_types Indicates the type of each style. in_segment_sources For each entry, if in_type was Segment, this value must contain the source segment for the style. in_style_names For each entry, if in_type was Named, this value must contain the name of the style (defined in a portfolio). in_conditions The conditions, if any, to set on each style. Passing a null pointer indicates no conditions are requested.
StyleKey HPS::StyleControl::SetNamed | ( | char const * | in_style_name | ) |
Sets in_style_name as the only active style, replacing any existing styles.
- Parameters
-
in_style_name The name of the style to apply. If the name does not exist in the active portfolio, no style is applied.
StyleKey HPS::StyleControl::SetNamed | ( | char const * | in_style_name, |
ConditionalExpression const & | in_conditional | ||
) |
Sets in_style_name as the only active style, replacing any existing styles.
- Parameters
-
in_style_name The name of the style to apply. If the name does not exist in the active portfolio, no style is applied. in_conditional A condition or conditions that must be met for a style to be activated.
StyleKey HPS::StyleControl::SetSegment | ( | SegmentKey const & | in_style_source | ) |
Sets in_style_source as the only active style, replacing any existing styles.
- Parameters
-
in_style_source A segment containing attributes that should be styled.
StyleKey HPS::StyleControl::SetSegment | ( | SegmentKey const & | in_style_source, |
ConditionalExpression const & | in_conditional | ||
) |
Sets in_style_source as the only active style, replacing any existing styles.
- Parameters
-
in_style_source A segment containing attributes that should be styled. in_conditional A condition or conditions that must be met for a style to be activated.
bool HPS::StyleControl::Show | ( | StyleTypeArray & | out_types, |
SegmentKeyArray & | out_segment_sources, | ||
UTF8Array & | out_style_names, | ||
ConditionalExpressionArray & | out_conditions | ||
) | const |
Shows all styles on this segment.
- Parameters
-
out_types Indicates the type of each style. out_segment_sources For each entry, if out_type was Style::Type::Segment, this value contains the source segment for the style. out_style_names For each entry, if out_type was Style::Type::Named, this value contains the name of the style (defined in a portfolio). out_conditions The conditions, if any, set on each style when it was applied.
- Returns
- true if any style was present, false otherwise.
bool HPS::StyleControl::Show | ( | StyleKeyArray & | out_styles | ) | const |
Shows the all styles on this segment.
- Parameters
-
out_styles The StyleKey for each style on this segment.
- Returns
- true if any style was present, false otherwise.
bool HPS::StyleControl::ShowAllNamed | ( | UTF8Array & | out_names, |
HPS::ConditionalExpressionArray & | out_conditions | ||
) | const |
Shows all named styles on this segment.
- Parameters
-
out_names Names of all named styles set on this segment. out_conditions The conditions, if any, set on each style when it was applied.
- Returns
- true if any style of the correct type was present, false otherwise.
bool HPS::StyleControl::ShowAllNamed | ( | StyleKeyArray & | out_styles | ) | const |
Shows the all named styles on this segment.
- Parameters
-
out_styles The StyleKey for each named style on this segment.
- Returns
- true if any named style was present, false otherwise.
bool HPS::StyleControl::ShowAllSegment | ( | SegmentKeyArray & | out_segments, |
HPS::ConditionalExpressionArray & | out_conditions | ||
) | const |
Shows all segment styles on this segment.
- Parameters
-
out_segments Keys to all segments styled onto this segment. out_conditions The conditions, if any, set on each style when it was applied.
- Returns
- true if any style of the correct type was present, false otherwise.
bool HPS::StyleControl::ShowAllSegment | ( | StyleKeyArray & | out_styles | ) | const |
Shows the all segment styles on this segment.
- Parameters
-
out_styles The StyleKey for each segment style on this segment.
- Returns
- true if any segment style was present, false otherwise.
bool HPS::StyleControl::ShowTop | ( | Style::Type & | out_type, |
SegmentKey & | out_segment_source, | ||
UTF8 & | out_style_name, | ||
ConditionalExpression & | out_conditional | ||
) | const |
Shows the most recent style applied to this segment.
- Parameters
-
out_type Indicates the type of the style. out_segment_source If out_type was Style::Type::Segment, this value contains the source segment for the style. out_style_name If out_type was Style::Type::Named, this value contains the name of the style (defined in a portfolio). out_conditional The conditions, if any, set on the style when it was applied.
- Returns
- true if a style was present, false otherwise.
bool HPS::StyleControl::ShowTop | ( | StyleKey & | out_style | ) | const |
Shows the most recent style applied to this segment.
- Parameters
-
out_style The StyleKey for the most recent style applied to this segment.
- Returns
- true if a style was present, 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.
void HPS::StyleControl::UnsetAllNamed | ( | ) |
Unsets all named styles on this segment.
void HPS::StyleControl::UnsetAllSegment | ( | ) |
Unsets all segment styles on this segment.
void HPS::StyleControl::UnsetEverything | ( | ) |
Unsets all styles on this segment.
void HPS::StyleControl::UnsetTop | ( | ) |
Unsets the most recent style on this segment.
The documentation for this class was generated from the following file:
- include/hps.h