Пример #1
0
        public void AddEntry(string title, MarkdownHeading target, bool subtitle = false)
        {
            var entry = new TableOfContentsEntry(title, target, subtitle);

            if (subtitle)
            {
                lastMainTitle.Margin = new MarginPadding(0);

                if (lastSubTitle != null)
                {
                    lastSubTitle.Margin = new MarginPadding(0);
                }

                content.Add(lastSubTitle = entry.With(d => d.Margin = new MarginPadding {
                    Bottom = 10
                }));

                return;
            }

            lastSubTitle = null;

            content.Add(lastMainTitle = entry.With(d => d.Margin = new MarginPadding {
                Bottom = 5
            }));
        }
Пример #2
0
 public void AddEntry(HeadingBlock headingBlock, MarkdownHeading heading)
 {
     switch (headingBlock.Level)
     {
     case 2:
     case 3:
         tableOfContents.AddEntry(getTitle(headingBlock.Inline), heading, headingBlock.Level == 3);
         break;
     }
 }
Пример #3
0
            public TableOfContentsEntry(string text, MarkdownHeading target, bool subtitle = false)
            {
                this.target = target;

                RelativeSizeAxes = Axes.X;
                AutoSizeAxes     = Axes.Y;
                Child            = textFlow = new OsuTextFlowContainer(t =>
                {
                    t.Font = OsuFont.GetFont(size: subtitle ? 12 : 15);
                }).With(f =>
                {
                    f.AddText(text);
                    f.RelativeSizeAxes = Axes.X;
                    f.AutoSizeAxes     = Axes.Y;
                    f.Margin           = new MarginPadding {
                        Bottom = 2
                    };
                });
                Padding = new MarginPadding {
                    Left = subtitle ? 10 : 0
                };
            }