private void WritePanes(FileWriter writer, BasePane pane, LayoutHeader header, ref int sectionCount) { WriteSection(writer, pane.Signature, pane, () => pane.Write(writer, header)); sectionCount++; if (pane is IUserDataContainer && ((IUserDataContainer)pane).UserData != null && ((IUserDataContainer)pane).UserData.Entries.Count > 0) { var userData = ((IUserDataContainer)pane).UserData; WriteSection(writer, "usd1", userData, () => userData.Write(writer, this)); sectionCount++; } if (pane.HasChildern) { sectionCount += 2; //Write start of children section WriteSection(writer, "pas1", null); foreach (var child in pane.Childern) { WritePanes(writer, child, header, ref sectionCount); } //Write pae1 of children section WriteSection(writer, "pae1", null); } }
private void WriteGroupPanes(FileWriter writer, BasePane pane, LayoutHeader header, ref int sectionCount) { WriteSection(writer, pane.Signature, pane, () => pane.Write(writer, header)); sectionCount++; if (pane.HasChildern) { sectionCount += 2; //Write start of children section WriteSection(writer, "grs1", null); foreach (var child in pane.Childern) { WriteGroupPanes(writer, child, header, ref sectionCount); } //Write pae1 of children section WriteSection(writer, "gre1", null); } }