Exemplo n.º 1
0
        private static string RenderingItems(PartPackage partPack, PackageBase[] itemPacks)
        {
            string result = "";

            if (itemPacks.Length > 0)
            {
                result += RenderItemAsIfRenderSection(itemPacks[0], partPack);
                for (int i = 1; i < itemPacks.Length; i++)
                {
                    string indent = "";
                    if (partPack.ContainsKey("Depth"))
                    {
                        int depth = int.Parse(partPack["Depth"]);
                        indent = AddIndent(depth);
                        indent += "    ";
                    }
                    result += "\n" + indent + Properties.Resources.Separate;
                    result += RenderItemAsIfRenderSection(itemPacks[i], partPack);
                }
            }

            return result;
        }
Exemplo n.º 2
0
        private static ItemPackage MakeInner(PartPackage partPack, SectionPackage[] sectionPacks)
        {
            int depth = 0;
            if (partPack.ContainsKey("Depth"))
            {
                depth = int.Parse(partPack["Depth"]) + 1;
            }

            ItemPackage inner_pack = new ItemPackage(partPack["ClassIdentifier"]);
            inner_pack["Contents"] = SectionPart.RenderSection(sectionPacks, depth);
            return inner_pack;
        }
Exemplo n.º 3
0
        // AddIndentとは互換性のない処理なので$Indent$を挿入してもうまくいかないので注意
        private static string DepthForIndent(PartPackage partPack)
        {
            // subsection以降のインデントを整える
            if (partPack.ContainsKey("Depth"))
            {
                int depth = int.Parse(partPack["Depth"]);
                switch (depth)
                {
                    case 1:
                        return "                    ";

                    case 2:
                        return "                        ";
                }
            }
            return "";
        }