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 ()})"); }
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; }
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 ()})"); }
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); }