protected override void doReadXml(System.Xml.XmlReader reader) { paned1.Position = Convert.ToInt32(reader["Position"]); base.doReadXml(reader); while ((reader.LocalName != "dock1") && reader.Read()) { ; } if ((reader.LocalName == "dock1") && !reader.IsEmptyElement) { reader.Read(); //skip dock1 dock1.ReadXml(reader); dock1.Visible = true; } while ((reader.LocalName != "dock2") && reader.Read()) { ; } if ((reader.LocalName == "dock2") && !reader.IsEmptyElement) { reader.Read(); //skip dock2 dock2.ReadXml(reader); dock2.Visible = true; } while ((reader.LocalName != "positions") && reader.Read()) { ; } if ((reader.LocalName == "positions") && (!reader.IsEmptyElement)) { reader.Read(); //skip positions node do { String type = reader["type"]; String val = reader["position"]; DockFramePosition pos = DockFramePosition.None; Enum.TryParse <DockFramePosition>(val, out pos); lastposition.Add(type, pos); reader.Read(); } while ((reader.LocalName != "positions")); } reader.Read(); //skip positions node }
public void addItem(DockItemContainer item, ItemAlignment align, bool left = false) { items.Add(item); DockFramePosition pos = DockFramePosition.None; if (lastposition.ContainsKey(item.CurrentWidget.GetType().ToString())) { pos = lastposition[item.CurrentWidget.GetType().ToString()]; } switch (pos) { case DockFramePosition.Left: left = true; break; case DockFramePosition.Right: left = false; break; } if (left) { if (dock1.Mode == ViewMode.Notebook) { dock1.addPage(item, align); } else { dock1.addItem(item, align); } } else { if (dock2.Mode == ViewMode.Notebook) { dock2.addPage(item, align); } else { dock2.addItem(item, align); } } }