Esempio n. 1
0
            public override string ToString()
            {
                string tside;

                switch (side)
                {
                case 0: tside = "Height"; break;

                case 1: tside = "Width"; break;

                default: tside = "unknown"; break;
                }
                return($"DimView(side={tside}, target={Target.ToString ()})");
            }
Esempio n. 2
0
        internal void CloseMenu(bool reopen = false, bool isSubMenu = false)
        {
            isMenuClosing = true;
            switch (isSubMenu)
            {
            case false:
                if (openMenu != null)
                {
                    SuperView.Remove(openMenu);
                }
                SetNeedsDisplay();
                if (previousFocused != null && openMenu != null && previousFocused.ToString() != openCurrentMenu.ToString())
                {
                    previousFocused?.SuperView?.SetFocus(previousFocused);
                }
                openMenu = null;
                if (lastFocused is Menu)
                {
                    lastFocused = null;
                }
                LastFocused = lastFocused;
                lastFocused = null;
                if (LastFocused != null)
                {
                    if (!reopen)
                    {
                        selected = -1;
                    }
                    LastFocused.SuperView?.SetFocus(LastFocused);
                }
                else
                {
                    SuperView.SetFocus(this);
                    isMenuClosed = true;
                    PositionCursor();
                }
                isMenuClosed = true;
                break;

            case true:
                selectedSub = -1;
                SetNeedsDisplay();
                RemoveAllOpensSubMenus();
                openCurrentMenu.previousSubFocused?.SuperView?.SetFocus(openCurrentMenu.previousSubFocused);
                openSubMenu = null;
                break;
            }
            isMenuClosing = false;
        }
Esempio n. 3
0
            public override string ToString()
            {
                string tside;

                switch (side)
                {
                case 0: tside = "x"; break;

                case 1: tside = "y"; break;

                case 2: tside = "right"; break;

                case 3: tside = "bottom"; break;

                default: tside = "unknown"; break;
                }
                return($"Pos.View(side={tside}, target={Target.ToString ()})");
            }
Esempio n. 4
0
        public void New_Initializes()
        {
            // Parameterless
            var r = new View();

            Assert.NotNull(r);
            Assert.Equal(LayoutStyle.Computed, r.LayoutStyle);
            Assert.Equal("View()({X=0,Y=0,Width=0,Height=0})", r.ToString());
            Assert.False(r.CanFocus);
            Assert.False(r.HasFocus);
            Assert.Equal(new Rect(0, 0, 0, 0), r.Bounds);
            Assert.Equal(new Rect(0, 0, 0, 0), r.Frame);
            Assert.Null(r.Focused);
            Assert.Null(r.ColorScheme);
            Assert.Equal(Dim.Sized(0), r.Width);
            Assert.Equal(Dim.Sized(0), r.Height);
            // BUGBUG: Pos needs eqality implemented
            //Assert.Equal (Pos.At (0), r.X);
            //Assert.Equal (Pos.At (0), r.Y);
            Assert.False(r.IsCurrentTop);
            Assert.Empty(r.Id);
            Assert.Empty(r.Subviews);
            Assert.False(r.WantContinuousButtonPressed);
            Assert.False(r.WantMousePositionReports);
            Assert.Null(r.GetEnumerator().Current);
            Assert.Null(r.SuperView);
            Assert.Null(r.MostFocused);

            // Empty Rect
            r = new View(Rect.Empty);
            Assert.NotNull(r);
            Assert.Equal(LayoutStyle.Absolute, r.LayoutStyle);
            Assert.Equal("View()({X=0,Y=0,Width=0,Height=0})", r.ToString());
            Assert.False(r.CanFocus);
            Assert.False(r.HasFocus);
            Assert.Equal(new Rect(0, 0, 0, 0), r.Bounds);
            Assert.Equal(new Rect(0, 0, 0, 0), r.Frame);
            Assert.Null(r.Focused);
            Assert.Null(r.ColorScheme);
            Assert.Null(r.Height);
            Assert.Null(r.Height);
            Assert.Null(r.X);
            Assert.Null(r.Y);
            Assert.False(r.IsCurrentTop);
            Assert.Empty(r.Id);
            Assert.Empty(r.Subviews);
            Assert.False(r.WantContinuousButtonPressed);
            Assert.False(r.WantMousePositionReports);
            Assert.Null(r.GetEnumerator().Current);
            Assert.Null(r.SuperView);
            Assert.Null(r.MostFocused);

            // Rect with values
            r = new View(new Rect(1, 2, 3, 4));
            Assert.NotNull(r);
            Assert.Equal(LayoutStyle.Absolute, r.LayoutStyle);
            Assert.Equal("View()({X=1,Y=2,Width=3,Height=4})", r.ToString());
            Assert.False(r.CanFocus);
            Assert.False(r.HasFocus);
            Assert.Equal(new Rect(0, 0, 3, 4), r.Bounds);
            Assert.Equal(new Rect(1, 2, 3, 4), r.Frame);
            Assert.Null(r.Focused);
            Assert.Null(r.ColorScheme);
            Assert.Null(r.Height);
            Assert.Null(r.Height);
            Assert.Null(r.X);
            Assert.Null(r.Y);
            Assert.False(r.IsCurrentTop);
            Assert.Empty(r.Id);
            Assert.Empty(r.Subviews);
            Assert.False(r.WantContinuousButtonPressed);
            Assert.False(r.WantMousePositionReports);
            Assert.Null(r.GetEnumerator().Current);
            Assert.Null(r.SuperView);
            Assert.Null(r.MostFocused);
        }