示例#1
0
    public static void ShowWindow()
    {
        var window = GetWindow <UFrameHelp>();

        //window.minSize = new Vector2(800,500);
        window.title = "uFrame Help";
        Instance     = window;
        //   window.minSize = new Vector2(400, 500);
        window.ShowUtility();
    }
示例#2
0
 public void ShowHelpWindow(string helpProviderName, Type graphItemType)
 {
     UFrameHelp.ShowWindow(graphItemType);
 }
示例#3
0
    public void OnGUI()
    {
        Instance = this;
        //if (disposer == null)
        //{
        //    disposer = InvertApplication.ListenFor<ICommandEvents>(this);
        //}

        //if (disposer2 == null)
        //{
        //    disposer2 = InvertApplication.ListenFor<INodeItemEvents>(this);
        //}
        GUIHelpers.IsInsepctor = false;
        // DrawTitleBar("uFrame Help");

        if (DocumentationProvider == null)
        {
            EditorGUILayout.HelpBox(string.Format("No Help Found"), MessageType.Info);
            return;
        }
        EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);
        if (GUILayout.Button("Sidebar", EditorStyles.toolbarButton))
        {
            EditorPrefs.SetBool("uFrameHelpSidebar", !EditorPrefs.GetBool("uFrameHelpSidebar", true));
        }
        if (PageStack.Count > 0)
        {
            if (GUILayout.Button("Back", EditorStyles.toolbarButton))
            {
                PageStack.Pop();
            }
        }
        GUILayout.FlexibleSpace();
        if (GUILayout.Button("Export To Html", EditorStyles.toolbarButton))
        {
            var folder = EditorUtility.SaveFolderPanel("Documentation Output Path", null, null);

            if (folder != null)
            {
                var tocDocs = new HtmlDocsBuilder(Pages, "toc", "Screenshots");
#if DEBUG
                tocDocs.PageLinkHandler = page =>
                {
                    return(string.Format("<a href=\"/docs/mvvm/{0}.html\">{1}</a>", page.Name.Replace(" ", ""), page.Name));
                };
#endif
                tocDocs.Output.AppendFormat("<div class='toc'>");
                foreach (var page in Pages.OrderBy(p => p.Order))
                {
                    tocDocs.OutputTOC(page, tocDocs.Output);
                }
                tocDocs.Output.Append("</div>");
                File.WriteAllText(Path.Combine(folder, "toc.html"), tocDocs.ToString());

                foreach (var page in AllPages())
                {
                    var docsBuilder = new HtmlDocsBuilder(Pages, "content", "Screenshots");
                    tocDocs.Output.AppendFormat("<div class='content'>");
                    page.GetContent(docsBuilder);
                    tocDocs.Output.Append("</div>");


                    File.WriteAllText(Path.Combine(folder, page.Name.Replace(" ", "") + ".html"), docsBuilder.ToString());
                }
            }
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal();
        if (EditorPrefs.GetBool("uFrameHelpSidebar", true))
        {
            tocScrollPosition = EditorGUILayout.BeginScrollView(tocScrollPosition, GUILayout.Width(260));
            EditorGUI.DrawRect(new Rect(tocScrollPosition.x, tocScrollPosition.y, Screen.width, Screen.height), new Color(0.3f, 0.3f, 0.4f));
            ShowPages(Pages);
            EditorGUILayout.EndScrollView();
        }


        pageScrollPosition = EditorGUILayout.BeginScrollView(pageScrollPosition);
        EditorGUI.DrawRect(new Rect(pageScrollPosition.x, pageScrollPosition.y, Screen.width, Screen.height), new Color(0.8f, 0.8f, 0.8f));


        EditorGUILayout.BeginHorizontal();
        GUILayout.Space(15f);
        EditorGUILayout.BeginVertical();
        if (CurrentPage != null)
        {
            GUILayout.BeginVertical(new GUIStyle()
            {
                padding   = new RectOffset(0, 20, 10, 50),
                alignment = TextAnchor.MiddleCenter
            });
            CurrentPage.GetContent(this);

            if (CurrentPage.ChildPages.Any())
            {
                Title2("Pages:");
            }
            foreach (var pages in CurrentPage.ChildPages.OrderBy(x => x.Order))
            {
                LinkToPage(pages);
            }

            if (false)
            {
                foreach (var childPage in CurrentPage.ChildPages)
                {
                    childPage.PageContent(this);
                }
            }
            GUILayout.EndVertical();
        }
        EditorGUILayout.EndVertical();
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.EndScrollView();



        EditorGUILayout.EndHorizontal();
    }