public override void Init(XmlTextReader xmlTextReader)
        {
            int countOfWorkspaces = Convert.ToInt32(xmlTextReader.GetAttribute("Count"), CultureInfo.InvariantCulture);
            var workSpaceArray    = new IWorkSpaceShell[countOfWorkspaces];

            for (int i = 0; i < countOfWorkspaces; ++i)
            {
                PersistorExt.MoveToNextElement(xmlTextReader);

                if (xmlTextReader.Name != "Workspace")
                {
                    throw new ArgumentException("Invalid Xml Format");
                }

                IWorkSpaceShell workSpace = WorkSpaceManager().CreateWorkSpace(string.Empty);

                workSpace.Restore(xmlTextReader);
                workSpaceArray[i] = workSpace;
            }

            for (int i = countOfWorkspaces - 1; i >= 0; --i)
            {
                WorkSpaceManager().AddWorkSpace(workSpaceArray[i]);
            }

            if (countOfWorkspaces > 0)
            {
                WorkSpaceManager().SetActiveWorkSpace(workSpaceArray[0]);
            }
        }
 public void RestoreAllItems(XmlTextReader xmlReader)
 {
     PersistorExt.MoveToNextElement(xmlReader);
     PersistorExt.RestoreDockPanel(m_DockPanel, xmlReader, m_DeserializeItemContent);
 }
 public void Restore(Stream stream, DeserializeDockContentDelegate deserializeDockContent)
 {
     PersistorExt.RestoreApplication(this, stream, deserializeDockContent);
 }
 public void Save(XmlTextWriter xmlWriter)
 {
     PersistorExt.SaveApplication(this, xmlWriter);
 }