C# Class SIL.FieldWorks.SharpViews.AssembledStyles

AssembledStyles (roughly equivalent to the old VwPropertyStore) represents the results of applying various styles (and explicit formatting). It is designed to be especially efficient when the same properties are independently derived for different parts of the display; for example, if parts of several lexical entries are independently marked bold, only a single AssembledStyles object is created to represent the effect of adding 'Bold' to whatever the context AssembledStyles was. Enhance JohnT: this is only a skeleton at present, it eventually needs most if not all the properties in VwPropertyStore.
Show file Open project: sillsdev/FieldWorks Class Usage Examples

Private Properties

Property Type Description
ApplyCharacterStyleInfo void
ApplyParagraphStyleInfo void
AssembledStyles System
AssembledStyles System
AssembledStyles System
CanonicalInstance AssembledStyles
ResetNonInherited AssembledStyles
SetFaceName void
SetFaceName void
SetNonInheritedDefaults void

Public Methods

Method Description
ApplyTextProps ( ITsTextProps props ) : AssembledStyles

Compute the assembled styles that results from applying the properties specified in the text props to this. We might start with a root assembled styles that says to use a 10-point font, then apply a paragraph style which says to use a 12-point font, except for French use 14-point. Then in another text props we may tell it the writing system is French, and must get 14-point as the result. Or, in a single TsTextProps, we may tell it the WS is French and to apply a character style which says to use 16-point, except for French 18-point; the result needs to be 18-point. It's also theoretically possible that the same text props again says directly to use 20-point; that should win over all the others. We achieve most of this by simply looking for the ws, then the named style, then everything else (and when we process a style, if we already know a ws we include the overrides for that ws). However, when we process the paragraph style, we don't know what ws a run in that paragraph will have.

AssembledStyles ( ) : System

Default constructor sets initial state

AssembledStyles ( IStylesheet stylesheet ) : System

Default constructor sets initial state

BackColorSetter ( Color backColor ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified foreground color.

BaselineOffsetSetter ( int height ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified baseline offset.

BorderColorSetter ( Color backColor ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified foreground color.

BordersSetter ( Thickness margins ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified borders. Enhance JohnT: may want a mechanism to allow only certain borders to be modified.

Equals ( AssembledStyles other ) : bool
Equals ( object obj ) : bool
FaceNameFromChrp ( LgCharRenderProps chrp ) : string
FaceNameSetter ( string name ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified font face.

FirstLineIndentSetter ( int indent ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified first line indent.

FontItalicSetter ( FwTextToggleVal ttv ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified (or possibly inverted) italic setting.

FontSizeSetter ( int height ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified font size.

FontWeightSetter ( int weight ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified font weight.

ForeColorSetter ( Color foreColor ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified foreground color.

GetHashCode ( ) : int
LineHeightSetter ( int height ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified line height.

MarginsSetter ( Thickness margins ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified margins (space in the color of the containing box, outside the border, allowed to overlap with adjacent boxes top and bottom). Enhance JohnT: may want a mechanism to allow only certain margins to be modified.

PadsSetter ( Thickness margins ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified pads (space in the box's own background color, if any, inside the border). Enhance JohnT: may want a mechanism to allow only certain margins to be modified.

RtlSetter ( bool rtl ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified RTL value.

StyleSetter ( string name ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified style.

UnderlineColorSetter ( Color underlineColor ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified underline color.

UnderlineSetter ( FwUnderlineType unt ) : PropSetter

Return an object which, when passed to WithProperties, will return an assembled styles with the specified underline type.

WithBackColor ( Color backColor ) : AssembledStyles
WithBaselineOffset ( int mp ) : AssembledStyles
WithBorderColor ( Color borderColor ) : AssembledStyles
WithBorders ( Thickness borders ) : AssembledStyles

Return a new styles (or existing canonical one) like the current one but with the specified margins.

WithFaceName ( string faceName ) : AssembledStyles
WithFirstLineIndent ( int mp ) : AssembledStyles
WithFontBold ( FwTextToggleVal ttv ) : AssembledStyles
WithFontItalic ( FwTextToggleVal ttv ) : AssembledStyles
WithFontSize ( int mp ) : AssembledStyles
WithFontWeight ( int weight ) : AssembledStyles
WithForeColor ( Color foreColor ) : AssembledStyles
WithLineHeight ( int mp ) : AssembledStyles
WithMargins ( Thickness margins ) : AssembledStyles

Return a new styles (or existing canonical one) like the current one but with the specified margins.

WithNamedStyle ( string styleName ) : AssembledStyles
WithPads ( Thickness pads ) : AssembledStyles

Return a new styles (or existing canonical one) like the current one but with the specified pads.

WithParaAlignment ( FwTextAlign alignment ) : AssembledStyles
WithProperties ( PropSetter setter ) : AssembledStyles

Return an AssembledStyles that has the properties of the recipient, modified as specified by the given setter (and any that have been appended to it).

WithRightToLeft ( bool rtl ) : AssembledStyles
WithUnderline ( FwUnderlineType underlineType ) : AssembledStyles
WithUnderlineColor ( Color clrUnder ) : AssembledStyles
WithWs ( int ws ) : AssembledStyles

Private Methods

Method Description
ApplyCharacterStyleInfo ( ICharacterStyleInfo fontInfo ) : void
ApplyParagraphStyleInfo ( IParaStyleInfo paraInfo ) : void
AssembledStyles ( AssembledStyles basedOn ) : System

Intended for use only by AssembledStylesCache to make derived styles.

AssembledStyles ( AssembledStyles basedOn, PropSetter setter ) : System
AssembledStyles ( AssembledStyles basedOn, bool inheritedOnly ) : System

Intended for use only by AssembledStylesCache to make derived styles. If inheritedOnly is true, only those properties are copied which should be inherited by nested boxes.

CanonicalInstance ( AssembledStyles astyles ) : AssembledStyles
ResetNonInherited ( ) : AssembledStyles

Return an assembled styles with inherited properties the same as this, but non-inherited ones reset to defaults.

SetFaceName ( LgCharRenderProps &chrp, string fontName ) : void
SetFaceName ( string fontName ) : void
SetNonInheritedDefaults ( ) : void

Method Details

ApplyTextProps() public method

Compute the assembled styles that results from applying the properties specified in the text props to this. We might start with a root assembled styles that says to use a 10-point font, then apply a paragraph style which says to use a 12-point font, except for French use 14-point. Then in another text props we may tell it the writing system is French, and must get 14-point as the result. Or, in a single TsTextProps, we may tell it the WS is French and to apply a character style which says to use 16-point, except for French 18-point; the result needs to be 18-point. It's also theoretically possible that the same text props again says directly to use 20-point; that should win over all the others. We achieve most of this by simply looking for the ws, then the named style, then everything else (and when we process a style, if we already know a ws we include the overrides for that ws). However, when we process the paragraph style, we don't know what ws a run in that paragraph will have.
public ApplyTextProps ( ITsTextProps props ) : AssembledStyles
props ITsTextProps
return AssembledStyles

AssembledStyles() public method

Default constructor sets initial state
public AssembledStyles ( ) : System
return System

AssembledStyles() public method

Default constructor sets initial state
public AssembledStyles ( IStylesheet stylesheet ) : System
stylesheet IStylesheet
return System

BackColorSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified foreground color.
public static BackColorSetter ( Color backColor ) : PropSetter
backColor Color
return PropSetter

BaselineOffsetSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified baseline offset.
public static BaselineOffsetSetter ( int height ) : PropSetter
height int
return PropSetter

BorderColorSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified foreground color.
public static BorderColorSetter ( Color backColor ) : PropSetter
backColor Color
return PropSetter

BordersSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified borders. Enhance JohnT: may want a mechanism to allow only certain borders to be modified.
public static BordersSetter ( Thickness margins ) : PropSetter
margins Thickness
return PropSetter

Equals() public method

public Equals ( AssembledStyles other ) : bool
other AssembledStyles
return bool

Equals() public method

public Equals ( object obj ) : bool
obj object
return bool

FaceNameFromChrp() public static method

public static FaceNameFromChrp ( LgCharRenderProps chrp ) : string
chrp LgCharRenderProps
return string

FaceNameSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified font face.
public static FaceNameSetter ( string name ) : PropSetter
name string
return PropSetter

FirstLineIndentSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified first line indent.
public static FirstLineIndentSetter ( int indent ) : PropSetter
indent int
return PropSetter

FontItalicSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified (or possibly inverted) italic setting.
public static FontItalicSetter ( FwTextToggleVal ttv ) : PropSetter
ttv FwTextToggleVal
return PropSetter

FontSizeSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified font size.
public static FontSizeSetter ( int height ) : PropSetter
height int
return PropSetter

FontWeightSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified font weight.
public static FontWeightSetter ( int weight ) : PropSetter
weight int
return PropSetter

ForeColorSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified foreground color.
public static ForeColorSetter ( Color foreColor ) : PropSetter
foreColor Color
return PropSetter

GetHashCode() public method

public GetHashCode ( ) : int
return int

LineHeightSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified line height.
public static LineHeightSetter ( int height ) : PropSetter
height int
return PropSetter

MarginsSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified margins (space in the color of the containing box, outside the border, allowed to overlap with adjacent boxes top and bottom). Enhance JohnT: may want a mechanism to allow only certain margins to be modified.
public static MarginsSetter ( Thickness margins ) : PropSetter
margins Thickness
return PropSetter

PadsSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified pads (space in the box's own background color, if any, inside the border). Enhance JohnT: may want a mechanism to allow only certain margins to be modified.
public static PadsSetter ( Thickness margins ) : PropSetter
margins Thickness
return PropSetter

RtlSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified RTL value.
public static RtlSetter ( bool rtl ) : PropSetter
rtl bool
return PropSetter

StyleSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified style.
public static StyleSetter ( string name ) : PropSetter
name string
return PropSetter

UnderlineColorSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified underline color.
public static UnderlineColorSetter ( Color underlineColor ) : PropSetter
underlineColor Color
return PropSetter

UnderlineSetter() public static method

Return an object which, when passed to WithProperties, will return an assembled styles with the specified underline type.
public static UnderlineSetter ( FwUnderlineType unt ) : PropSetter
unt FwUnderlineType
return PropSetter

WithBackColor() public method

public WithBackColor ( Color backColor ) : AssembledStyles
backColor Color
return AssembledStyles

WithBaselineOffset() public method

public WithBaselineOffset ( int mp ) : AssembledStyles
mp int
return AssembledStyles

WithBorderColor() public method

public WithBorderColor ( Color borderColor ) : AssembledStyles
borderColor Color
return AssembledStyles

WithBorders() public method

Return a new styles (or existing canonical one) like the current one but with the specified margins.
public WithBorders ( Thickness borders ) : AssembledStyles
borders Thickness
return AssembledStyles

WithFaceName() public method

public WithFaceName ( string faceName ) : AssembledStyles
faceName string
return AssembledStyles

WithFirstLineIndent() public method

public WithFirstLineIndent ( int mp ) : AssembledStyles
mp int
return AssembledStyles

WithFontBold() public method

public WithFontBold ( FwTextToggleVal ttv ) : AssembledStyles
ttv FwTextToggleVal
return AssembledStyles

WithFontItalic() public method

public WithFontItalic ( FwTextToggleVal ttv ) : AssembledStyles
ttv FwTextToggleVal
return AssembledStyles

WithFontSize() public method

public WithFontSize ( int mp ) : AssembledStyles
mp int
return AssembledStyles

WithFontWeight() public method

public WithFontWeight ( int weight ) : AssembledStyles
weight int
return AssembledStyles

WithForeColor() public method

public WithForeColor ( Color foreColor ) : AssembledStyles
foreColor Color
return AssembledStyles

WithLineHeight() public method

public WithLineHeight ( int mp ) : AssembledStyles
mp int
return AssembledStyles

WithMargins() public method

Return a new styles (or existing canonical one) like the current one but with the specified margins.
public WithMargins ( Thickness margins ) : AssembledStyles
margins Thickness
return AssembledStyles

WithNamedStyle() public method

public WithNamedStyle ( string styleName ) : AssembledStyles
styleName string
return AssembledStyles

WithPads() public method

Return a new styles (or existing canonical one) like the current one but with the specified pads.
public WithPads ( Thickness pads ) : AssembledStyles
pads Thickness
return AssembledStyles

WithParaAlignment() public method

public WithParaAlignment ( FwTextAlign alignment ) : AssembledStyles
alignment FwTextAlign
return AssembledStyles

WithProperties() public method

Return an AssembledStyles that has the properties of the recipient, modified as specified by the given setter (and any that have been appended to it).
public WithProperties ( PropSetter setter ) : AssembledStyles
setter PropSetter
return AssembledStyles

WithRightToLeft() public method

public WithRightToLeft ( bool rtl ) : AssembledStyles
rtl bool
return AssembledStyles

WithUnderline() public method

public WithUnderline ( FwUnderlineType underlineType ) : AssembledStyles
underlineType FwUnderlineType
return AssembledStyles

WithUnderlineColor() public method

public WithUnderlineColor ( Color clrUnder ) : AssembledStyles
clrUnder Color
return AssembledStyles

WithWs() public method

public WithWs ( int ws ) : AssembledStyles
ws int
return AssembledStyles