Revise Help/Markdown page spacing, add support for internal links

- Issue MatterHackers/MCCentral#3729
Add Markdown internal link support
This commit is contained in:
John Lewin 2018-07-09 18:07:53 -07:00
parent 9130adc178
commit f13e0ebf29
2 changed files with 24 additions and 9 deletions

View file

@ -228,7 +228,8 @@ namespace MatterHackers.MatterControl
#else
var markdownWidget = new MarkdownWidget()
{
BackgroundColor = theme.ResolveColor(theme.ActiveTabColor, new Color(Color.White, 20))
BackgroundColor = theme.ResolveColor(theme.ActiveTabColor, new Color(Color.White, 20)),
Padding = new BorderDouble(left: theme.DefaultContainerPadding)
};
#endif
@ -271,6 +272,12 @@ namespace MatterHackers.MatterControl
}
}
}
if (treeView.SelectedNode == null)
{
treeView.SelectedNode = rootNode;
}
};
double maxMenuItemWidth = 0;
@ -289,6 +296,8 @@ namespace MatterHackers.MatterControl
SplitterBackground = theme.SplitterBackground
};
splitter.SplitterDistance = maxMenuItemWidth + 130;
splitter.Panel1.Padding = new BorderDouble(theme.DefaultContainerPadding).Clone(right: 2);
splitter.Panel1.AddChild(treeView);
splitter.Panel2.AddChild(markdownWidget);
guideContainer.AddChild(splitter);

View file

@ -5,6 +5,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using Markdig.Agg;
@ -20,16 +21,18 @@ namespace Markdig.Renderers.Agg.Inlines
public class TextLinkX : FlowLayoutWidget
{
private LinkInline linkInline;
private string url;
private AggRenderer aggRenderer;
public TextLinkX(LinkInline linkInline)
public TextLinkX(AggRenderer renderer, string url, LinkInline linkInline)
{
this.HAnchor = HAnchor.Fit;
this.VAnchor = VAnchor.Fit;
this.Cursor = Cursors.Hand;
this.linkInline = linkInline;
this.url = url;
this.aggRenderer = renderer;
}
public override void OnClick(MouseEventArgs mouseEvent)
{
if (linkInline.Url.StartsWith("http", StringComparison.OrdinalIgnoreCase))
@ -38,8 +41,10 @@ namespace Markdig.Renderers.Agg.Inlines
}
else
{
// Inline link?
Debugger.Break();
if (aggRenderer.RootWidget.Parents<MarkdownWidget>().FirstOrDefault() is MarkdownWidget markdownWidget)
{
markdownWidget.LoadUri(new Uri(url));
}
}
base.OnClick(mouseEvent);
@ -204,13 +209,14 @@ namespace Markdig.Renderers.Agg.Inlines
});
}
if (link.IsImage) //link.IsImage)
if (link.IsImage)
{
renderer.WriteInline(new ImageLinkSimpleX(url)); // new ImageLinkAdvancedX(url)); //new InlineUIContainer(image));
renderer.WriteInline(new ImageLinkSimpleX(url));
}
else
{
renderer.Push(new TextLinkX(link)); // hyperlink);
renderer.Push(new TextLinkX(renderer, url, link));
renderer.WriteChildren(link);
renderer.Pop();
}