using System;
using System.Text;
using System.Collections;
using System.ComponentModel;
namespace DevComponents.DotNetBar
{
///
/// Provides context information for serialization.
///
public class ItemSerializationContext
{
///
/// Gets or sets reference to context XmlElement an item is being serialized to.
///
public System.Xml.XmlElement ItemXmlElement = null;
///
/// Gets or sets whether SerializeItem event handler has been defined and whether event should be fired.
///
public bool HasSerializeItemHandlers = false;
///
/// Gets or sets whether DeserializeItem event handler has been defined and whether event should be fired.
///
public bool HasDeserializeItemHandlers = false;
///
/// Provides access to serializer.
///
public ICustomSerialization Serializer = null;
[EditorBrowsable(EditorBrowsableState.Never)]
public System.ComponentModel.Design.IDesignerHost _DesignerHost = null;
internal Hashtable DockControls = null;
[EditorBrowsable(EditorBrowsableState.Never)]
public BaseItem CreateItemFromXml(System.Xml.XmlElement xmlItem)
{
if (_DesignerHost != null)
{
BaseItem item = null;
string name = "";
if (xmlItem.HasAttribute("name")) name = xmlItem.GetAttribute("name");
try
{
item = BarFunctions.CreateItemFromXml(xmlItem, _DesignerHost, name);
}
catch { }
if (item == null) item = BarFunctions.CreateItemFromXml(xmlItem, _DesignerHost, "");
if (name != "") item.GlobalName = name;
return item;
}
else
return BarFunctions.CreateItemFromXml(xmlItem);
}
}
}