protected override void DrawPropertyLayout(GUIContent label)
    {
        if (this.Property.ValueEntry.WeakSmartValue == null)
        {
            this.CallNextDrawer(label);
            return;
        }

        this.UpdateBreadcrumbLabel(label);

        if (currentSlider == null)
        {
            this.DrawPageSlider(label);
        }
        else if (currentDrawingPageProperty == this.Property)
        {
            this.CallNextDrawer(null);
        }
        else
        {
            if (GUILayout.Button(new GUIContent(this.GetLabelText(label)), titleStyle))
            {
                currentSlider.PushPage(this.Property, Guid.NewGuid().ToString());
                currentSlider.EnumeratePages.Last();
                this.page = currentSlider.EnumeratePages.Last();
                this.page.Name = this.GetLabelText(label);
                this.pageLabel = label;
            }
        }
    }
    private void DrawPageSlider(GUIContent label)
    {
        try
        {
            if (this.slider == null)
            {
                this.slider = new SlidePageNavigationHelper<InspectorProperty>();
                this.slider.PushPage(this.Property, Guid.NewGuid().ToString());
                this.page = this.slider.EnumeratePages.Last();
                this.page.Name = this.GetLabelText(label);
            }

            currentSlider = this.slider;

            SirenixEditorGUI.BeginBox();
            SirenixEditorGUI.BeginToolbarBoxHeader();
            {
                var rect = GUILayoutUtility.GetRect(0, 20);
                rect.x -= 5;
                this.slider.DrawPageNavigation(rect);
            }
            SirenixEditorGUI.EndToolbarBoxHeader();
            {
                this.slider.BeginGroup();
                foreach (var p in this.slider.EnumeratePages)
                {
                    if (p.BeginPage())
                    {
                        if (p.Value == this.Property)
                        {
                            this.CallNextDrawer(null);
                        }
                        else
                        {
                            currentDrawingPageProperty = p.Value;
                            if (p.Value.Tree != this.Property.Tree)
                            {
                                InspectorUtilities.BeginDrawPropertyTree(p.Value.Tree, true);
                            }
                            p.Value.Draw(null);

                            if (p.Value.Tree != this.Property.Tree)
                            {
                                InspectorUtilities.EndDrawPropertyTree(p.Value.Tree);
                            }
                            currentDrawingPageProperty = null;
                        }
                    }
                    p.EndPage();
                }
                this.slider.EndGroup();
            }
            SirenixEditorGUI.EndBox();

        }
        finally
        {
            currentSlider = null;
        }
    }
 /// <summary>
 /// Initialize get called by OnEnable and by OnGUI after assembly reloads
 /// which often happens when you recompile or enter and exit play mode.
 /// </summary>
 protected override void Initialize()
 {
     this.pager = new SlidePageNavigationHelper <OdinGettingStartedWindowData.Page>();
     this.pager.TabGroup.ExpandHeight = false;
     this.pager.PushPage(OdinGettingStartedWindowData.MainPage, "Overview");
     this.WindowPadding = new Vector4(0, 0, 0, 0);
 }
예제 #4
0
 protected override void Initialize()
 {
     this.WindowPadding = new Vector4(0, 0, 0, 0);
     if (this.pager == null)
     {
         this.pager = new SlidePageNavigationHelper <object>();
         this.pager.PushPage(new ValidationProfileManagerOverview(this.pager), "Overview");
     }
 }
예제 #5
0
 protected override void Initialize()
 {
     this.pager = new SlidePageNavigationHelper <Page>();
     this.pager.TabGroup.ExpandHeight = false;
     this.InitMainPage();
     this.Header = new CaomaoCallbackHeader("Caomao Framework", this.DrawPaging);
     this.pager.PushPage(MainPage, "预览");
     this.WindowPadding = Vector4.zero;
     this.InitStyles();
 }
예제 #6
0
        private void DrawPageSlider(GUIContent label)
        {
            try
            {
                if (slider == null)
                {
                    slider = new SlidePageNavigationHelper <InspectorProperty>();
                    slider.PushPage(Property, Guid.NewGuid().ToString());
                    page      = slider.EnumeratePages.Last();
                    page.Name = GetLabelText(label);
                }

                currentSlider = slider;

                SirenixEditorGUI.BeginBox();
                SirenixEditorGUI.BeginToolbarBoxHeader();
                {
                    Rect rect = GUILayoutUtility.GetRect(0, 20);
                    rect.x -= 5;
                    slider.DrawPageNavigation(rect);
                }
                SirenixEditorGUI.EndToolbarBoxHeader();
                {
                    slider.BeginGroup();
                    foreach (SlidePageNavigationHelper <InspectorProperty> .Page p in slider.EnumeratePages)
                    {
                        if (p.BeginPage())
                        {
                            if (p.Value == Property)
                            {
                                CallNextDrawer(null);
                            }
                            else
                            {
                                currentDrawingPageProperty = p.Value;
                                if (p.Value.Tree != Property.Tree)
                                {
                                    p.Value.Tree.BeginDraw(true);
                                }

                                p.Value.Draw(null);

                                if (p.Value.Tree != Property.Tree)
                                {
                                    p.Value.Tree.EndDraw();
                                }

                                currentDrawingPageProperty = null;
                            }
                        }

                        p.EndPage();
                    }

                    slider.EndGroup();
                }
                SirenixEditorGUI.EndBox();
            }
            finally
            {
                currentSlider = null;
            }
        }
예제 #7
0
 public ValidationProfileManagerOverview(SlidePageNavigationHelper <object> pager)
 {
     this.pager = pager;
 }