/// <summary> /// Opens this shelf view. /// </summary> public override void Open() { IApplicationComponentView componentView = (IApplicationComponentView)ViewFactory.CreateAssociatedView(_shelf.Component.GetType()); componentView.SetComponent((IApplicationComponent)_shelf.Component); XmlDocument restoreDocument; if (DesktopViewSettings.Default.GetShelfState(_desktopView.DesktopWindowName, _shelf.Name, out restoreDocument)) { using (MemoryStream memoryStream = new MemoryStream()) { using (XmlTextWriter writer = new XmlTextWriter(memoryStream, Encoding.UTF8)) { restoreDocument.WriteContentTo(writer); writer.Flush(); memoryStream.Position = 0; _content = _desktopView.AddShelfView(this, (Control)componentView.GuiElement, _shelf.Title, _shelf.DisplayHint, memoryStream); writer.Close(); memoryStream.Close(); } } } else { _content = _desktopView.AddShelfView(this, (Control)componentView.GuiElement, _shelf.Title, _shelf.DisplayHint, null); } }
/// <summary> /// Constructor. /// </summary> /// <param name="dialogBox"></param> /// <param name="owner"></param> protected internal DialogBoxView(DialogBox dialogBox, DesktopWindowView owner) { IApplicationComponentView componentView = (IApplicationComponentView)ViewFactory.CreateAssociatedView(dialogBox.Component.GetType()); componentView.SetComponent((IApplicationComponent)dialogBox.Component); // cache the app component - we'll need it later to get the ExitCode _component = (IApplicationComponent)dialogBox.Component; _form = CreateDialogBoxForm(dialogBox, (Control)componentView.GuiElement); _form.FormClosing += new FormClosingEventHandler(_form_FormClosing); _owner = owner.DesktopForm; }