#include <hps.h>
|
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 () |
|
|
static const HPS::Type | staticType = HPS::Type::StyleControl |
|
static const HPS::Type | staticType = HPS::Type::Control |
|
static const HPS::Type | staticType = HPS::Type::None |
|
The StyleControl class is a smart pointer that is tied to a database object. Controls are used for manipulating settings within the database.
◆ StyleControl() [1/3]
HPS::StyleControl::StyleControl |
( |
SegmentKey & |
in_seg | ) |
|
|
explicit |
Initializes a control tied to the segment in_seg.
◆ StyleControl() [2/3]
HPS::StyleControl::StyleControl |
( |
StyleControl const & |
in_that | ) |
|
Initializes a control tied to the same object as in_that.
◆ StyleControl() [3/3]
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. |
◆ ~StyleControl()
HPS::StyleControl::~StyleControl |
( |
| ) |
|
Releases a reference to the database object this control is tied to.
◆ AppendNamed()
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.
◆ AppendSegment()
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.
◆ Flush() [1/4]
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. |
◆ Flush() [2/4]
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. |
◆ Flush() [3/4]
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. |
◆ Flush() [4/4]
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. |
◆ GetCount()
size_t HPS::StyleControl::GetCount |
( |
| ) |
const |
Returns the number of styles set here.
◆ ObjectType()
HPS::Type HPS::StyleControl::ObjectType |
( |
| ) |
const |
|
inlinevirtual |
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.
Reimplemented from HPS::Control.
◆ operator=() [1/2]
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.
◆ operator=() [2/2]
◆ Pop() [1/2]
bool HPS::StyleControl::Pop |
( |
| ) |
|
Removes the most recent style.
- Returns
- true if a style was present, false otherwise.
◆ Pop() [2/2]
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.
◆ PushNamed() [1/2]
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.
◆ PushNamed() [2/2]
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.
◆ PushSegment() [1/2]
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.
◆ PushSegment() [2/2]
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.
◆ Set() [1/3]
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. |
◆ Set() [2/3]
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). |
◆ Set() [3/3]
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. |
◆ SetNamed() [1/2]
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. |
◆ SetNamed() [2/2]
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. |
◆ SetSegment() [1/2]
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. |
◆ SetSegment() [2/2]
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. |
◆ Show() [1/2]
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.
◆ Show() [2/2]
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.
◆ ShowAllNamed() [1/2]
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.
◆ ShowAllNamed() [2/2]
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.
◆ ShowAllSegment() [1/2]
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.
◆ ShowAllSegment() [2/2]
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.
◆ ShowTop() [1/2]
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.
◆ ShowTop() [2/2]
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.
◆ Type()
virtual HPS::Type HPS::StyleControl::Type |
( |
| ) |
const |
|
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.
- Warning
- This function must synchronize the database (by waiting for all pending database operations to complete) in order to know the type status of this object with certainty. Therefore this function can negatively impact performance. You should vigorously avoid using this function in high-traffic or peformance-critical areas of your code.
- Returns
- The true type of the object in question.
Reimplemented from HPS::Control.
◆ UnsetAllNamed()
void HPS::StyleControl::UnsetAllNamed |
( |
| ) |
|
Unsets all named styles on this segment.
◆ UnsetAllSegment()
void HPS::StyleControl::UnsetAllSegment |
( |
| ) |
|
Unsets all segment styles on this segment.
◆ UnsetEverything()
void HPS::StyleControl::UnsetEverything |
( |
| ) |
|
Unsets all styles on this segment.
◆ UnsetTop()
void HPS::StyleControl::UnsetTop |
( |
| ) |
|
Unsets the most recent style on this segment.
The documentation for this class was generated from the following file: