DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Windows.Forms.Design;
|
||||
using DevComponents.DotNetBar.Controls;
|
||||
using System.ComponentModel.Design;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DevComponents.DotNetBar.Design
|
||||
{
|
||||
public class PageSliderPageDesigner : ScrollableControlDesigner
|
||||
{
|
||||
#region Internal Implementation
|
||||
public override DesignerVerbCollection Verbs
|
||||
{
|
||||
get
|
||||
{
|
||||
DesignerVerb[] verbs = null;
|
||||
verbs = new DesignerVerb[]
|
||||
{
|
||||
new DesignerVerb("Move Forward", new EventHandler(MovePageForward)),
|
||||
new DesignerVerb("Move Backward", new EventHandler(MovePageBackward)),
|
||||
new DesignerVerb("Make First", new EventHandler(MakeFirstPage)),
|
||||
new DesignerVerb("Make Last", new EventHandler(MakeLastPage))
|
||||
};
|
||||
return new DesignerVerbCollection(verbs);
|
||||
}
|
||||
}
|
||||
|
||||
private void MovePageTo(PageSliderPage page, PageSlider slider, int newIndex)
|
||||
{
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
ISelectionService ss = this.GetService(typeof(ISelectionService)) as ISelectionService;
|
||||
|
||||
DesignerTransaction dt = dh.CreateTransaction("Moving page");
|
||||
if (cc != null)
|
||||
cc.OnComponentChanging(slider, TypeDescriptor.GetProperties(slider)["Controls"]);
|
||||
slider.Controls.SetChildIndex(page, newIndex);
|
||||
if (cc != null)
|
||||
cc.OnComponentChanged(slider, TypeDescriptor.GetProperties(slider)["Controls"], null, null);
|
||||
dt.Commit();
|
||||
}
|
||||
private void MovePageForward(object sender, EventArgs e)
|
||||
{
|
||||
PageSliderPage page = this.Control as PageSliderPage;
|
||||
if (page == null) return;
|
||||
PageSlider slider = page.Parent as PageSlider;
|
||||
if (slider == null) return;
|
||||
int newIndex = slider.Controls.IndexOf(page);
|
||||
if (newIndex < slider.PageCount - 1)
|
||||
newIndex++;
|
||||
else
|
||||
newIndex = 0;
|
||||
|
||||
MovePageTo(page, slider, newIndex);
|
||||
}
|
||||
private void MovePageBackward(object sender, EventArgs e)
|
||||
{
|
||||
PageSliderPage page = this.Control as PageSliderPage;
|
||||
if (page == null) return;
|
||||
PageSlider slider = page.Parent as PageSlider;
|
||||
if (slider == null) return;
|
||||
int newIndex = slider.Controls.IndexOf(page);
|
||||
if (newIndex > 0)
|
||||
newIndex--;
|
||||
else
|
||||
newIndex = slider.PageCount - 1;
|
||||
|
||||
MovePageTo(page, slider, newIndex);
|
||||
}
|
||||
private void MakeFirstPage(object sender, EventArgs e)
|
||||
{
|
||||
PageSliderPage page = this.Control as PageSliderPage;
|
||||
if (page == null) return;
|
||||
PageSlider slider = page.Parent as PageSlider;
|
||||
if (slider == null) return;
|
||||
MovePageTo(page, slider, 0);
|
||||
}
|
||||
private void MakeLastPage(object sender, EventArgs e)
|
||||
{
|
||||
PageSliderPage page = this.Control as PageSliderPage;
|
||||
if (page == null) return;
|
||||
PageSlider slider = page.Parent as PageSlider;
|
||||
if (slider == null) return;
|
||||
MovePageTo(page, slider, slider.PageCount - 1);
|
||||
}
|
||||
public override SelectionRules SelectionRules
|
||||
{
|
||||
get { return SelectionRules.Locked; }
|
||||
}
|
||||
|
||||
protected override void OnPaintAdornments(PaintEventArgs pe)
|
||||
{
|
||||
PageSliderPage p;
|
||||
p = this.Component as PageSliderPage;
|
||||
if (p != null)
|
||||
{
|
||||
this.DrawBorder(pe.Graphics);
|
||||
}
|
||||
base.OnPaintAdornments(pe);
|
||||
}
|
||||
|
||||
|
||||
private void DrawBorder(Graphics g)
|
||||
{
|
||||
PageSliderPage panel = this.Control as PageSliderPage;
|
||||
Color border = SystemColors.ControlDarkDark;
|
||||
Rectangle rClient = this.Control.ClientRectangle;
|
||||
Color backColor = Color.Empty;
|
||||
|
||||
Helpers.DrawDesignTimeSelection(g, rClient, backColor, border, 1);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user