/// <summary>Creates a window.</summary> /// <param name="Animated"></param> /// <param name="Shadowed"></param> /// <param name="Length"></param> /// <param name="Height"></param> /// <param name="LeftPos">Left Position (Specify -1 for centered)</param> /// <param name="TopPos">Top Position (Specify -1 for centered</param> public Window(Boolean Animated, Boolean Shadowed, ConsoleColor MainBG, ConsoleColor HeaderBG, ConsoleColor HeaderFG, HeaderPosition HeadPos, String Title, int Length, int Height, int LeftPos, int TopPos) { this.Animated = Animated; this.Shadowed = Shadowed; this.MainBG = MainBG; this.HeaderBG = HeaderBG; this.HeaderFG = HeaderFG; this.HeadPos = HeadPos; this.Title = Title; this.Length = Length; this.Height = Height; if (LeftPos == -1) { this.LeftPos = ((Console.WindowWidth) - Length) / 2; } else { this.LeftPos = LeftPos; } if (TopPos == -1) { this.TopPos = ((Console.WindowHeight) - Height) / 2; } else { this.TopPos = TopPos; } AllElements = new ArrayList(); }
private void AdjustGridPosition(HeaderPosition fromPosition, HeaderPosition toPosition) { if (_grid == null || _Header == null || fromPosition == toPosition) return; if (_initializing) return; int newTop = _grid.Top; int newHeight = _grid.Height; switch (fromPosition) { case HeaderPosition.Bottom: newHeight += _Header.Height; break; case HeaderPosition.Top: newTop -= _Header.Height; newHeight += _Header.Height; break; } switch (toPosition) { case HeaderPosition.Bottom: newHeight -= _Header.Height; break; case HeaderPosition.Top: newTop += _Header.Height; newHeight -= _Header.Height; break; } AnchorStyles oldStyle = _grid.Anchor; _grid.Anchor = AnchorStyles.Top | AnchorStyles.Left; _grid.SetBounds(0, newTop, 0, newHeight, BoundsSpecified.Y | BoundsSpecified.Height); _grid.Anchor = oldStyle; }
private static void HeaderPositionPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { CustomizedTabControl ctrl = d as CustomizedTabControl; if (ctrl.HeaderPanel == null) { return; } HeaderPosition position = (HeaderPosition)e.NewValue; switch (ctrl.TabStripPlacement) { case Dock.Top: case Dock.Bottom: switch (position) { case HeaderPosition.Start: ctrl.HeaderPanel.HorizontalAlignment = HorizontalAlignment.Left; break; case HeaderPosition.End: ctrl.HeaderPanel.HorizontalAlignment = HorizontalAlignment.Right; break; case HeaderPosition.Center: ctrl.HeaderPanel.HorizontalAlignment = HorizontalAlignment.Center; break; case HeaderPosition.Stretch: ctrl.HeaderPanel.HorizontalAlignment = HorizontalAlignment.Stretch; break; } break; case Dock.Left: case Dock.Right: switch (position) { case HeaderPosition.Start: ctrl.HeaderPanel.VerticalAlignment = VerticalAlignment.Top; break; case HeaderPosition.End: ctrl.HeaderPanel.VerticalAlignment = VerticalAlignment.Bottom; break; case HeaderPosition.Center: ctrl.HeaderPanel.VerticalAlignment = VerticalAlignment.Center; break; case HeaderPosition.Stretch: ctrl.HeaderPanel.VerticalAlignment = VerticalAlignment.Stretch; break; } break; } if (ctrl.MainLine != null) { ctrl.ReloadMainLine(); } if (ctrl.SelectionLine != null) { ctrl.ReloadSelectionLine(); } }
/// <summary> /// Creates a Tickable Window. You get basically full control of everything with base constructor. /// </summary> /// <param name="Animated"></param> /// <param name="Shadowed"></param> /// <param name="MainBG"></param> /// <param name="HeaderBG"></param> /// <param name="HeaderFG"></param> /// <param name="HeadPos"></param> /// <param name="Title"></param> /// <param name="Length"></param> /// <param name="Height"></param> /// <param name="LeftPos"></param> /// <param name="TopPos"></param> public TickableWindow(Boolean Animated, Boolean Shadowed, ConsoleColor MainBG, ConsoleColor HeaderBG, ConsoleColor HeaderFG, HeaderPosition HeadPos, String Title, int Length, int Height, int LeftPos, int TopPos) : base(Animated, Shadowed, MainBG, HeaderBG, HeaderFG, HeadPos, Title, Length, Height, LeftPos, TopPos) { }
/// <summary>Creates a window centered on the screen</summary> /// <param name="Animated"></param> /// <param name="Shadowed"></param> /// <param name="MainBG"></param> /// <param name="HeaderBG"></param> /// <param name="HeaderFG"></param> /// <param name="HeadPos"></param> /// <param name="Title"></param> /// <param name="Length"></param> /// <param name="Height"></param> public Window(Boolean Animated, Boolean Shadowed, ConsoleColor MainBG, ConsoleColor HeaderBG, ConsoleColor HeaderFG, HeaderPosition HeadPos, String Title, int Length, int Height) : this(Animated, Shadowed, MainBG, HeaderBG, HeaderFG, HeadPos, Title, Length, Height, -1, -1) { }