The StyleControl class is a smart pointer that is tied to a database object. More...
#include <hps.h>
Public Member Functions | |
StyleControl (SegmentKey &in_seg) | |
Initializes a control tied to the segment in_seg. More... | |
StyleControl (StyleControl const &in_that) | |
Initializes a control tied to the same object as in_that. More... | |
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. More... | |
StyleControl & | operator= (StyleControl &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this StyleControl thereby avoiding a copy. More... | |
~StyleControl () | |
Releases a reference to the database object this control is tied to. More... | |
virtual HPS::Type | Type () const |
This function returns the true type of the underlying object. More... | |
HPS::Type | ObjectType () const |
StyleControl & | operator= (StyleControl const &in_that) |
Share the underlying smart-pointer of the StyleControl source. More... | |
size_t | GetCount () const |
Returns the number of styles set here. More... | |
StyleKey | PushNamed (char const *in_style_name) |
Adds a named style to the top of the style stack. More... | |
StyleKey | PushNamed (char const *in_style_name, ConditionalExpression const &in_conditional) |
Adds a conditional named style to the top of the style stack. More... | |
StyleKey | 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. More... | |
StyleKey | 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. More... | |
StyleKey | 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. More... | |
StyleKey | 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. More... | |
bool | Pop () |
Removes the most recent style. More... | |
bool | 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. More... | |
void | Flush (SegmentKey const &in_style_source) |
Removes any styles on the associated segment which refer to the provided style source. More... | |
void | 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. More... | |
void | Flush (char const *in_style_name) |
Removes any styles on the associated segment which refer to the provided style name. More... | |
void | 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. More... | |
StyleKey | SetNamed (char const *in_style_name) |
Sets in_style_name as the only active style, replacing any existing styles. More... | |
StyleKey | SetNamed (char const *in_style_name, ConditionalExpression const &in_conditional) |
Sets in_style_name as the only active style, replacing any existing styles. More... | |
StyleKey | SetSegment (SegmentKey const &in_style_source) |
Sets in_style_source as the only active style, replacing any existing styles. More... | |
StyleKey | SetSegment (SegmentKey const &in_style_source, ConditionalExpression const &in_conditional) |
Sets in_style_source as the only active style, replacing any existing styles. More... | |
void | 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. More... | |
void | Set (StyleTypeArray const &in_types, SegmentKeyArray const &in_segment_sources, UTF8Array const &in_style_names) |
Sets a collection of styles, replacing any existing styles. More... | |
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[]) |
Sets a collection of styles, replacing any existing styles. More... | |
void | UnsetTop () |
Unsets the most recent style on this segment. More... | |
void | UnsetAllSegment () |
Unsets all segment styles on this segment. More... | |
void | UnsetAllNamed () |
Unsets all named styles on this segment. More... | |
void | UnsetEverything () |
Unsets all styles on this segment. More... | |
bool | 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. More... | |
bool | ShowTop (StyleKey &out_style) const |
Shows the most recent style applied to this segment. More... | |
bool | Show (StyleTypeArray &out_types, SegmentKeyArray &out_segment_sources, UTF8Array &out_style_names, ConditionalExpressionArray &out_conditions) const |
Shows all styles on this segment. More... | |
bool | Show (StyleKeyArray &out_styles) const |
Shows the all styles on this segment. More... | |
bool | ShowAllSegment (SegmentKeyArray &out_segments, HPS::ConditionalExpressionArray &out_conditions) const |
Shows all segment styles on this segment. More... | |
bool | ShowAllSegment (StyleKeyArray &out_styles) const |
Shows the all segment styles on this segment. More... | |
bool | ShowAllNamed (UTF8Array &out_names, HPS::ConditionalExpressionArray &out_conditions) const |
Shows all named styles on this segment. More... | |
bool | ShowAllNamed (StyleKeyArray &out_styles) const |
Shows the all named styles on this segment. More... | |
virtual bool | Empty () const |
Indicates whether this object has any values set on it. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
bool | HasType (HPS::Type in_mask) const |
This function indicates whether this Object has the given Type mask. More... | |
intptr_t | GetClassID () const |
Returns a unique identifier that is shared by all objects of the same class. More... | |
intptr_t | GetInstanceID () const |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
Static Public Member Functions | |
template<typename T > | |
static intptr_t | ClassID () |
Unique identifier for this class. More... | |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::StyleControl |
Private Member Functions | |
StyleControl () | |
The StyleControl class is a smart pointer that is tied to a database object.
Controls are used for manipulating settings within the database.
|
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.
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.
|
private |
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.
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. |
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.
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. |
|
inlinestaticinherited |
Unique identifier for this class.
Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.
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.
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.
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.
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.
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. |
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
size_t HPS::StyleControl::GetCount | ( | ) | const |
Returns the number of styles set here.
|
inherited |
Returns an identifier that can be used to identify which instance of a class an object is.
Different keys and controls will return the same value if they are backed by the same database resource.
|
inherited |
|
inlinevirtual |
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.
in_that | An rvalue reference to a StyleControl to take the impl from. |
StyleControl& HPS::StyleControl::operator= | ( | StyleControl const & | in_that | ) |
Share the underlying smart-pointer of the StyleControl source.
in_that | The StyleControl source of the assignment. |
bool HPS::StyleControl::Pop | ( | ) |
Removes the most recent style.
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.
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. |
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.
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. |
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.
in_style_source | The segment to use as the source for the attributes that should be styled. |
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.
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. |
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
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.
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.
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.
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.
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.
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.
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.
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.
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. |
bool HPS::StyleControl::Show | ( | StyleKeyArray & | out_styles | ) | const |
Shows the all styles on this segment.
out_styles | The StyleKey for each style on this segment. |
bool HPS::StyleControl::ShowAllNamed | ( | UTF8Array & | out_names, |
HPS::ConditionalExpressionArray & | out_conditions | ||
) | const |
Shows all named styles on this segment.
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. |
bool HPS::StyleControl::ShowAllNamed | ( | StyleKeyArray & | out_styles | ) | const |
Shows the all named styles on this segment.
out_styles | The StyleKey for each named style on this segment. |
bool HPS::StyleControl::ShowAllSegment | ( | SegmentKeyArray & | out_segments, |
HPS::ConditionalExpressionArray & | out_conditions | ||
) | const |
Shows all segment styles on this segment.
out_segments | Keys to all segments styled onto this segment. |
out_conditions | The conditions, if any, set on each style when it was applied. |
bool HPS::StyleControl::ShowAllSegment | ( | StyleKeyArray & | out_styles | ) | const |
Shows the all segment styles on this segment.
out_styles | The StyleKey for each segment style on this segment. |
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.
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. |
bool HPS::StyleControl::ShowTop | ( | StyleKey & | out_style | ) | const |
Shows the most recent style applied to this segment.
out_style | The StyleKey for the most recent style applied to this segment. |
|
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.
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.
|
static |