Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }