Class StyleInfoStore
Provides storage for the StyleInfoBase object.
Inheritance
Implements
Inherited Members
Namespace: Syncfusion.Styles
Assembly: Syncfusion.Shared.Base.dll
Syntax
public abstract class StyleInfoStore : IDisposable, IStyleInfo, ISerializable, ICloneable, IXmlSerializable
Remarks
You cannot instantiate a StyleInfoStore class directly. You have to derive a concrete class from this class that you can instantiate.
In derived classes of StyleInfoBase, you always need to implement a StyleInfoBase / StyleInfoStore pair. The StyleInfoStore holds all the data that are specific to the style object and should be persisted.
The StyleInfoBase is a wrapper around the StyleInfoStore. It provides type safe accessor properties to modify data of the underlying data store and can hold temporary information about the style object that does not need to be persisted.
In Essential Grid for example, the GridStyleInfo class holds extensive identity information about a style object such as cached base styles, row and column index, a reference to the grid model and more. These are all the information that can be discarded when the style is no longer used (because maybe the cell is not visible anymore). Only the StyleInfoStore part needs to be kept alive.
StyleInfoStore allows you to register any number of properties but keeps the data very memory efficient. Only properties that are actually used for a style object will be allocated for an object. The StyleObjectStore handles the storage of objects. For short integers, enums and Boolean values the data will be stored in a BitVector32 structure to save even more memory.
See the overview for StyleInfoBase for further discussion about style objects.
Constructors
StyleInfoStore()
Initializes an empty StyleInfoStore.
Declaration
protected StyleInfoStore()
StyleInfoStore(SerializationInfo, StreamingContext)
Initializes a new StyleInfoStore from a serialization stream.
Declaration
protected StyleInfoStore(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
System.Runtime.Serialization.SerializationInfo | info | An object that holds all the data needed to serialize or deserialize this instance. |
System.Runtime.Serialization.StreamingContext | context | Describes the source and destination of the serialized stream specified by info. |
Properties
IsChanged
Indicates whether any properties have been changed.
Declaration
public bool IsChanged { get; }
Property Value
Type |
---|
System.Boolean |
IsEmpty
Indicates whether this is an empty object and no properties have been initialized.
Declaration
public bool IsEmpty { get; }
Property Value
Type |
---|
System.Boolean |
PropertyGridSortOrder
The StyleInfoBaseConverter class checks this property to find out about the sort order of the properties in this StyleInfoStore.
Declaration
public string[] PropertyGridSortOrder { get; }
Property Value
Type |
---|
System.String[] |
StaticDataStore
Static data must be declared static in derived classes (this avoids collisions when StyleInfoStore is used in the same project for different types of style classes).
Declaration
protected abstract StaticData StaticDataStore { get; }
Property Value
Type |
---|
StaticData |
StyleInfoProperties
Returns a collection with StyleInfoProperty objects.
Declaration
public ICollection StyleInfoProperties { get; }
Property Value
Type |
---|
System.Collections.ICollection |
Methods
Clear()
Clears out all properties for this StyleInfoStore.
Declaration
public void Clear()
Clone()
Creates an exact copy of the current object.
Declaration
public virtual object Clone()
Returns
Type | Description |
---|---|
System.Object | A StyleInfoStore with same data as the current object. |
CopyTo(StyleInfoStore)
Copies all properties to another StyleInfoStore.
Declaration
public void CopyTo(StyleInfoStore target)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoStore | target | The target to copy all properties to. |
Dispose()
Releases all the resources used by the component.
Declaration
public void Dispose()
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
System.Object | obj |
Returns
Type |
---|
System.Boolean |
Overrides
FindStyleInfoProperty(String)
Searches the StyleInfoProperty with the given name.
Declaration
public StyleInfoProperty FindStyleInfoProperty(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the property to look for. |
Returns
Type | Description |
---|---|
StyleInfoProperty | A StyleInfoProperty that is associated with the specified name. |
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type |
---|
System.Int32 |
Overrides
GetSchema()
Declaration
public XmlSchema GetSchema()
Returns
Type |
---|
System.Xml.Schema.XmlSchema |
GetShortValue(StyleInfoProperty)
Queries the System.Int16 value for a specific property that has been initialized for the current object.
Declaration
public short GetShortValue(StyleInfoProperty sip)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
Returns
Type |
---|
System.Int16 |
GetValue(StyleInfoProperty)
Queries the value for a specific property that has been initialized for the current object.
Declaration
public virtual object GetValue(StyleInfoProperty sipSrc)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sipSrc | A StyleInfoProperty that identifies the property to operate on. |
Returns
Type |
---|
System.Object |
HasValue(StyleInfoProperty)
Indicates whether a specific property has been initialized for the current object.
Declaration
public virtual bool HasValue(StyleInfoProperty sip)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
Returns
Type |
---|
System.Boolean |
InheritStyle(IStyleInfo, StyleModifyType)
Applies changes to a style object as specified with
Declaration
public void InheritStyle(IStyleInfo istyle, StyleModifyType mt)
Parameters
Type | Name | Description |
---|---|---|
IStyleInfo | istyle | The other style object this style object should inherit with. |
StyleModifyType | mt | Style operation |
IsSubset(IStyleInfo)
Compares all properties with another style object and determines if the current set of initialized properties is a subset of the other style object.
Declaration
public bool IsSubset(IStyleInfo istyle)
Parameters
Type | Name | Description |
---|---|---|
IStyleInfo | istyle | The other style to compare with. |
Returns
Type | Description |
---|---|
System.Boolean | True if this style object is a subset of the other style object. |
IsValueModified(StyleInfoProperty)
Indicates whether a specific property has been modified for the current object.
Declaration
public bool IsValueModified(StyleInfoProperty sip)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
Returns
Type |
---|
System.Boolean |
MergeStyle(IStyleInfo)
Merges two styles. Resets all properties that differ among the two style objects and keeps only those properties that are equal.
Declaration
public void MergeStyle(IStyleInfo istyle)
Parameters
Type | Name | Description |
---|---|---|
IStyleInfo | istyle | The other style object this style object should merge with. |
ModifyStyle(IStyleInfo, StyleModifyType)
Applies changes to a style object as specified with StyleModifyType.
Declaration
public void ModifyStyle(IStyleInfo istyle, StyleModifyType mt)
Parameters
Type | Name | Description |
---|---|---|
IStyleInfo | istyle | The style object to be applied on the current object. |
StyleModifyType | mt | The actual operation to be performed. |
ModifyStyleKeepChanges(IStyleInfo, StyleModifyType)
Applies changes to a style object as specified with StyleModifyType. If a property is modified its Changed flag is set so that the parent style object can identify modified properties in a subsequent Changed notification.
Declaration
public void ModifyStyleKeepChanges(IStyleInfo istyle, StyleModifyType mt)
Parameters
Type | Name | Description |
---|---|---|
IStyleInfo | istyle | The style object to be applied on the current object. |
StyleModifyType | mt | The actual operation to be performed. |
ProcessReadXml(XmlReader, StyleInfoProperty)
Allows customization of serializing the StyleInfoProperty. Returns True if you override this method and do not want default serialization behavior for this property.
Declaration
protected virtual bool ProcessReadXml(XmlReader reader, StyleInfoProperty sip)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlReader | reader | |
StyleInfoProperty | sip |
Returns
Type |
---|
System.Boolean |
ProcessWriteXml(XmlWriter, StyleInfoProperty)
Allows customization of serializing the StyleInfoProperty. Returns True if you override this method and do not want default serialization behavior for this property.
Declaration
protected virtual bool ProcessWriteXml(XmlWriter writer, StyleInfoProperty sip)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlWriter | writer | |
StyleInfoProperty | sip |
Returns
Type |
---|
System.Boolean |
ReadXml(XmlReader)
Serializes all properties of this object from XML.
Declaration
public void ReadXml(XmlReader r)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlReader | r |
RegisterXmlSerializer(Type, XmlSerializer)
Registers the XmlSerializer for a specific type. This XmlSerializer will be used when a object of the specified type is read back in from an xml stream. You can for example register an "ImageHolder" serializer for a custom ImageHolder type and have that serializer be used when GridStyleInfo.CellValue contains an ImageHolder object.
Declaration
public static void RegisterXmlSerializer(Type type, XmlSerializer xmlSerializer)
Parameters
Type | Name | Description |
---|---|---|
System.Type | type | |
System.Xml.Serialization.XmlSerializer | xmlSerializer |
Examples
XmlSerializer imageHolderSerializer = new XmlSerializer(typeof(object), new Type[] { typeof(ImageHolder) });
GridStyleInfoStore.RegisterXmlSerializer(typeof(ImageHolder), imageHolderSerializer);
ResetChangedBits()
Resets all "Changed" bits that mark certain properties as modified.
Declaration
public void ResetChangedBits()
ResetValue(StyleInfoProperty)
Marks a specific property as uninitialized for the current object.
Declaration
public void ResetValue(StyleInfoProperty sip)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
SetValue(StyleInfoProperty, Int16)
Initializes the System.Int16 value for a specific property.
Declaration
public void SetValue(StyleInfoProperty sip, short value)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
System.Int16 | value | The value to be saved for the property. |
SetValue(StyleInfoProperty, Object)
Overloaded. Initializes the value for a specific property.
Declaration
public void SetValue(StyleInfoProperty sip, object value)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
System.Object | value | The value to be saved for the property. |
SetValueModified(StyleInfoProperty, Boolean)
Marks a specific property as modified or unmodified for the current object.
Declaration
public void SetValueModified(StyleInfoProperty sip, bool value)
Parameters
Type | Name | Description |
---|---|---|
StyleInfoProperty | sip | A StyleInfoProperty that identifies the property to operate on. |
System.Boolean | value | The new value. |
ToString()
Declaration
public override string ToString()
Returns
Type |
---|
System.String |
Overrides
WriteXml(XmlWriter)
Serializes all properties of this object to XML.
Declaration
public void WriteXml(XmlWriter writer)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlWriter | writer |
Explicit Interface Implementations
IStyleInfo.ParseString(String)
Declaration
void IStyleInfo.ParseString(string s)
Parameters
Type | Name | Description |
---|---|---|
System.String | s |
IStyleInfo.Store
Declaration
StyleInfoStore IStyleInfo.Store { get; }
Returns
Type |
---|
StyleInfoStore |
ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Declaration
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
System.Runtime.Serialization.SerializationInfo | info | |
System.Runtime.Serialization.StreamingContext | context |