/// <summary> /// Initialize a new instance of the KryptonSeparator class. /// </summary> public KryptonSeparator() { // The label cannot take the focus SetStyle(ControlStyles.Selectable, false); // Create the palette storage StateCommon = new PaletteSplitContainerRedirect(Redirector, PaletteBackStyle.PanelClient, PaletteBorderStyle.ControlClient, PaletteBackStyle.SeparatorHighProfile, PaletteBorderStyle.SeparatorHighProfile, NeedPaintDelegate) { BorderRedirect = { OverrideBorderToFalse = true } }; // Never draw the border around the background StateDisabled = new PaletteSplitContainer(StateCommon, StateCommon.Separator, StateCommon.Separator, NeedPaintDelegate); StateNormal = new PaletteSplitContainer(StateCommon, StateCommon.Separator, StateCommon.Separator, NeedPaintDelegate); StateTracking = new PaletteSeparatorPadding(StateCommon.Separator, StateCommon.Separator, NeedPaintDelegate); StatePressed = new PaletteSeparatorPadding(StateCommon.Separator, StateCommon.Separator, NeedPaintDelegate); // Our view contains just a simple canvas that covers entire client area and a separator view _drawSeparator = new ViewDrawSeparator(StateDisabled.Separator, StateNormal.Separator, StateTracking, StatePressed, StateDisabled.Separator, StateNormal.Separator, StateTracking, StatePressed, PaletteMetricPadding.SeparatorPaddingLowProfile, Orientation.Vertical); // Get the separator to fill the entire client area _drawDocker = new ViewDrawDocker(StateNormal.Back, StateNormal.Border) { IgnoreAllBorderAndPadding = true }; _drawDocker.Add(_drawSeparator, ViewDockStyle.Fill); // Create a separator controller to handle separator style behaviour _separatorController = new SeparatorController(this, _drawSeparator, true, true, NeedPaintDelegate); // Assign the controller to the view element to treat as a separator _drawSeparator.MouseController = _separatorController; _drawSeparator.KeyController = _separatorController; _drawSeparator.SourceController = _separatorController; // Create the view manager instance ViewManager = new ViewManager(this, _drawDocker); // Use timer to redraw after windows messages are processed _redrawTimer = new Timer { Interval = 1 }; _redrawTimer.Tick += OnRedrawTick; // Set other internal starting values _style = SeparatorStyle.HighProfile; _orientation = Orientation.Vertical; AllowMove = true; SplitterIncrements = 1; _splitterWidth = 5; }
/// <summary> /// Initialize a new instance of the PaletteSplitContainer class. /// </summary> /// <param name="inheritSplitContainer">Source for inheriting back/border defaulted values.</param> /// <param name="inheritSeparator">Source for inheriting separator defaulted values.</param> /// <param name="inheritMetric">Source for inheriting separator metric values.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> public PaletteSplitContainer(IPaletteDouble inheritSplitContainer, IPaletteDouble inheritSeparator, IPaletteMetric inheritMetric, NeedPaintHandler needPaint) : base(inheritSplitContainer, needPaint) { // Create the embedded separator palette information Separator = new PaletteSeparatorPadding(inheritSeparator, inheritMetric, needPaint); }
/// <summary> /// Initialize a new instance of the KryptonPaletteSeparator class. /// </summary> /// <param name="redirect">Redirector to inherit values from.</param> /// <param name="backStyle">Background style.</param> /// <param name="borderStyle">Border style.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> public KryptonPaletteSeparator(PaletteRedirect redirect, PaletteBackStyle backStyle, PaletteBorderStyle borderStyle, NeedPaintHandler needPaint) { // Create the storage objects StateCommon = new PaletteSeparatorPaddingRedirect(redirect, backStyle, borderStyle, needPaint); StateDisabled = new PaletteSeparatorPadding(StateCommon, StateCommon, needPaint); StateNormal = new PaletteSeparatorPadding(StateCommon, StateCommon, needPaint); StateTracking = new PaletteSeparatorPadding(StateCommon, StateCommon, needPaint); StatePressed = new PaletteSeparatorPadding(StateCommon, StateCommon, needPaint); }