(XmlWriter writer, DockPanel panel)
| 395 | } |
| 396 | |
| 397 | private void SavePanel(XmlWriter writer, DockPanel panel) |
| 398 | { |
| 399 | writer.WriteAttributeString("SelectedTab", panel.SelectedTabIndex.ToString()); |
| 400 | |
| 401 | for (int i = 0; i < panel.TabsCount; i++) |
| 402 | { |
| 403 | var win = panel.Tabs[i]; |
| 404 | writer.WriteStartElement("Window"); |
| 405 | |
| 406 | writer.WriteAttributeString("Typename", win.SerializationTypename); |
| 407 | |
| 408 | if (win.UseLayoutData) |
| 409 | { |
| 410 | writer.WriteStartElement("Data"); |
| 411 | win.OnLayoutSerialize(writer); |
| 412 | writer.WriteEndElement(); |
| 413 | } |
| 414 | |
| 415 | writer.WriteEndElement(); |
| 416 | } |
| 417 | |
| 418 | for (int i = 0; i < panel.ChildPanelsCount; i++) |
| 419 | { |
| 420 | var p = panel.ChildPanels[i]; |
| 421 | |
| 422 | // Skip empty panels |
| 423 | if (p.TabsCount == 0) |
| 424 | continue; |
| 425 | |
| 426 | writer.WriteStartElement("Panel"); |
| 427 | |
| 428 | DockState state = p.TryGetDockState(out float splitterValue); |
| 429 | |
| 430 | writer.WriteAttributeString("DockState", ((int)state).ToString()); |
| 431 | writer.WriteAttributeString("SplitterValue", splitterValue.ToString(CultureInfo.InvariantCulture)); |
| 432 | |
| 433 | SavePanel(writer, p); |
| 434 | |
| 435 | writer.WriteEndElement(); |
| 436 | } |
| 437 | } |
| 438 | |
| 439 | private void LoadPanel(XmlElement node, DockPanel panel) |
| 440 | { |
nothing calls this directly
no test coverage detected