DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,757 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.ComponentModel.Design;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Collections;
|
||||
using System.Drawing;
|
||||
|
||||
namespace DevComponents.DotNetBar.Design
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents Windows Forms Designer for Wizard control.
|
||||
/// </summary>
|
||||
public class WizardDesigner : System.Windows.Forms.Design.ControlDesigner
|
||||
{
|
||||
#region Internal Implementation
|
||||
WizardPageNavigationControl m_NavigationControl=null;
|
||||
|
||||
public override void Initialize(IComponent component)
|
||||
{
|
||||
base.Initialize(component);
|
||||
if (!component.Site.DesignMode)
|
||||
return;
|
||||
|
||||
IComponentChangeService cc = (IComponentChangeService)GetService(typeof(IComponentChangeService));
|
||||
if (cc != null)
|
||||
{
|
||||
cc.ComponentRemoved += new ComponentEventHandler(this.OnComponentRemoved);
|
||||
}
|
||||
|
||||
// Setup navigation box in lower left corner
|
||||
Wizard w=component as Wizard;
|
||||
if(w!=null)
|
||||
{
|
||||
WizardPageNavigationControl wpn=new WizardPageNavigationControl();
|
||||
wpn.Location=new Point(4, w.panelFooter.Height - wpn.Height - 4);
|
||||
w.panelFooter.Controls.Add(wpn);
|
||||
wpn.BackColor=SystemColors.Control;
|
||||
m_NavigationControl=wpn;
|
||||
}
|
||||
|
||||
#if !TRIAL
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
if (dh != null)
|
||||
dh.LoadComplete += new EventHandler(dh_LoadComplete);
|
||||
#endif
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
IComponentChangeService cc = (IComponentChangeService)GetService(typeof(IComponentChangeService));
|
||||
if (cc != null)
|
||||
{
|
||||
cc.ComponentRemoved -= new ComponentEventHandler(this.OnComponentRemoved);
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void OnComponentRemoved(object sender, ComponentEventArgs e)
|
||||
{
|
||||
if (e.Component is WizardPage)
|
||||
{
|
||||
WizardPage page = e.Component as WizardPage;
|
||||
Wizard w = this.Control as Wizard;
|
||||
|
||||
if (page != null && w.WizardPages.Contains(page))
|
||||
{
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
if (cc != null)
|
||||
cc.OnComponentChanging(w, TypeDescriptor.GetProperties(w)["WizardPages"]);
|
||||
|
||||
w.WizardPages.Remove(page);
|
||||
|
||||
if (cc != null)
|
||||
cc.OnComponentChanged(w, TypeDescriptor.GetProperties(w)["WizardPages"], null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void DoDefaultAction()
|
||||
{
|
||||
}
|
||||
|
||||
public override DesignerVerbCollection Verbs
|
||||
{
|
||||
get
|
||||
{
|
||||
DesignerVerb[] verbs = null;
|
||||
verbs = new DesignerVerb[]
|
||||
{
|
||||
new DesignerVerb("Create Inner Page", new EventHandler(CreatePage)),
|
||||
new DesignerVerb("Create Welcome Page", new EventHandler(CreateWelcomePage)),
|
||||
new DesignerVerb("Create Outer Page", new EventHandler(CreateOuterPage)),
|
||||
new DesignerVerb("Delete Page", new EventHandler(DeletePage)),
|
||||
new DesignerVerb("Next Page", new EventHandler(NextPage)),
|
||||
new DesignerVerb("Previous Page", new EventHandler(PreviousPage)),
|
||||
new DesignerVerb("Goto Page/Change Order", new EventHandler(GotoPage))
|
||||
};
|
||||
return new DesignerVerbCollection(verbs);
|
||||
}
|
||||
}
|
||||
|
||||
#if FRAMEWORK20
|
||||
public override void InitializeNewComponent(IDictionary defaultValues)
|
||||
{
|
||||
base.InitializeNewComponent(defaultValues);
|
||||
SetDesignTimeDefaults();
|
||||
}
|
||||
#else
|
||||
public override void OnSetComponentDefaults()
|
||||
{
|
||||
base.OnSetComponentDefaults();
|
||||
SetDesignTimeDefaults();
|
||||
}
|
||||
#endif
|
||||
|
||||
private void SetDesignTimeDefaults()
|
||||
{
|
||||
Wizard w = this.Control as Wizard;
|
||||
if (w == null)
|
||||
return;
|
||||
TypeDescriptor.GetProperties(w)["HeaderImageVisible"].SetValue(w, true);
|
||||
TypeDescriptor.GetProperties(w)["Dock"].SetValue(w,DockStyle.Fill);
|
||||
|
||||
SetDefaultFooterStyle(w);
|
||||
#if !TRIAL
|
||||
string key = GetLicenseKey();
|
||||
w.LicenseKey = key;
|
||||
#endif
|
||||
}
|
||||
|
||||
private void GotoPage(object sender, EventArgs e)
|
||||
{
|
||||
Wizard w = this.Control as Wizard;
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
ISelectionService ss = this.GetService(typeof(ISelectionService)) as ISelectionService;
|
||||
GotoPage(w, cc, ss);
|
||||
}
|
||||
|
||||
internal static void GotoPage(Wizard w, IComponentChangeService cc, ISelectionService ss)
|
||||
{
|
||||
if (w == null)
|
||||
return;
|
||||
|
||||
WizardPageOrderDialog d = new WizardPageOrderDialog();
|
||||
d.SetWizard(w);
|
||||
d.StartPosition = FormStartPosition.CenterScreen;
|
||||
if (d.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string pageName = d.SelectedPageName;
|
||||
|
||||
if (d.OrderChanged)
|
||||
{
|
||||
if (cc != null)
|
||||
cc.OnComponentChanging(w, TypeDescriptor.GetProperties(w)["WizardPages"]);
|
||||
|
||||
string[] newOrder = d.OrderedPageNames;
|
||||
w.WizardPages.IgnoreEvents = true;
|
||||
try
|
||||
{
|
||||
WizardPageCollection col = new WizardPageCollection();
|
||||
w.WizardPages.CopyTo(col);
|
||||
w.WizardPages.Clear();
|
||||
foreach (string pn in newOrder)
|
||||
w.WizardPages.Add(col[pn]);
|
||||
}
|
||||
finally
|
||||
{
|
||||
w.WizardPages.IgnoreEvents = false;
|
||||
}
|
||||
|
||||
if (cc != null)
|
||||
cc.OnComponentChanged(w, TypeDescriptor.GetProperties(w)["WizardPages"], null, null);
|
||||
}
|
||||
|
||||
if (pageName != "")
|
||||
w.SelectedPage = w.WizardPages[pageName];
|
||||
else if (d.OrderChanged)
|
||||
w.SelectedPageIndex = 0;
|
||||
|
||||
if (ss != null && (pageName!="" || d.OrderChanged))
|
||||
ss.SetSelectedComponents(new WizardPage[] { w.SelectedPage }, SelectionTypes.Replace);
|
||||
}
|
||||
d.Dispose();
|
||||
}
|
||||
|
||||
private void CreatePage(object sender, EventArgs e)
|
||||
{
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
ISelectionService ss = this.GetService(typeof(ISelectionService)) as ISelectionService;
|
||||
|
||||
CreatePage(this.Control as Wizard, true, dh, cc, ss, m_WizardStyle);
|
||||
}
|
||||
|
||||
private void CreateWelcomePage(object sender, EventArgs e)
|
||||
{
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
ISelectionService ss = this.GetService(typeof(ISelectionService)) as ISelectionService;
|
||||
|
||||
CreateWelcomePage(this.Control as Wizard, dh, cc, ss, this.WizardStyle);
|
||||
}
|
||||
|
||||
private void CreateOuterPage(object sender, EventArgs e)
|
||||
{
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
ISelectionService ss = this.GetService(typeof(ISelectionService)) as ISelectionService;
|
||||
|
||||
CreatePage(this.Control as Wizard, false, dh, cc, ss, m_WizardStyle);
|
||||
}
|
||||
|
||||
private void DeletePage(object sender, EventArgs e)
|
||||
{
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
Wizard w = this.Control as Wizard;
|
||||
if (w == null)
|
||||
return;
|
||||
DeletePage(w.SelectedPage, dh, cc);
|
||||
}
|
||||
|
||||
internal static void DeletePage(WizardPage page, IDesignerHost dh, IComponentChangeService cc)
|
||||
{
|
||||
if (page == null || !(page.Parent is Wizard))
|
||||
return;
|
||||
|
||||
Wizard w = page.Parent as Wizard;
|
||||
|
||||
DesignerTransaction dt = dh.CreateTransaction();
|
||||
|
||||
try
|
||||
{
|
||||
if (cc != null)
|
||||
cc.OnComponentChanging(w, TypeDescriptor.GetProperties(w)["WizardPages"]);
|
||||
|
||||
w.WizardPages.Remove(page);
|
||||
|
||||
if (cc != null)
|
||||
cc.OnComponentChanged(w, TypeDescriptor.GetProperties(w)["WizardPages"], null, null);
|
||||
|
||||
dh.DestroyComponent(page);
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt.Cancel();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (!dt.Canceled)
|
||||
dt.Commit();
|
||||
}
|
||||
}
|
||||
|
||||
private void NextPage(object sender, EventArgs e)
|
||||
{
|
||||
SelectNextPage(this.Control as Wizard);
|
||||
}
|
||||
|
||||
private void PreviousPage(object sender, EventArgs e)
|
||||
{
|
||||
SelectPreviousPage(this.Control as Wizard);
|
||||
}
|
||||
|
||||
internal static bool SelectNextPage(Wizard w)
|
||||
{
|
||||
if (w == null)
|
||||
return false;
|
||||
|
||||
WizardPage page = w.GetNextPage();
|
||||
if (page != null)
|
||||
{
|
||||
w.SelectedPage = page;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
internal static bool SelectPreviousPage(Wizard w)
|
||||
{
|
||||
if (w == null)
|
||||
return false;
|
||||
|
||||
WizardPage page = w.GetBackPage();
|
||||
if (page != null)
|
||||
{
|
||||
w.SelectedPage = page;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private enum eWizardImages
|
||||
{
|
||||
WelcomeDefault,
|
||||
BackgroundOffice2007
|
||||
}
|
||||
|
||||
private static Image LoadWizardImage(eWizardImages wizardImage)
|
||||
{
|
||||
string wizardImageName = "WizardWelcomeImage.png";
|
||||
if (wizardImage == eWizardImages.BackgroundOffice2007)
|
||||
wizardImageName = "WizardOffice2007Background.png";
|
||||
try
|
||||
{
|
||||
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine;
|
||||
string path = "";
|
||||
try
|
||||
{
|
||||
if (key != null)
|
||||
key = key.OpenSubKey("Software\\DevComponents\\DotNetBar");
|
||||
if (key != null)
|
||||
path = key.GetValue("InstallationFolder", "").ToString();
|
||||
}
|
||||
finally { if (key != null) key.Close(); }
|
||||
|
||||
if (path != "")
|
||||
{
|
||||
if (path.Substring(path.Length - 1, 1) != "\\")
|
||||
path += "\\";
|
||||
|
||||
if (System.IO.File.Exists(path + wizardImageName))
|
||||
path += wizardImageName;
|
||||
else
|
||||
path = "";
|
||||
}
|
||||
|
||||
if (path != "")
|
||||
{
|
||||
return new Bitmap(path);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
internal static void ApplyOffice2007WelcomePageStyle(WizardPage page, IDesignerHost dh, IComponentChangeService cc)
|
||||
{
|
||||
DesignerTransaction dt = null;
|
||||
if (dh != null) dt = dh.CreateTransaction();
|
||||
|
||||
try
|
||||
{
|
||||
if (cc != null) cc.OnComponentChanging(page, null);
|
||||
page.BackColor = Color.Transparent;
|
||||
page.Style.Reset();
|
||||
//page.BackColor = ColorScheme.GetColor(0xBBDBF7);
|
||||
//page.CanvasColor = page.BackColor;
|
||||
//page.Style.BackColor = Color.Empty;
|
||||
//page.Style.BackColor2 = Color.Empty;
|
||||
//page.Style.BackColorBlend.Clear();
|
||||
//page.Style.BackColorBlend.AddRange(new BackgroundColorBlend[] {
|
||||
//new BackgroundColorBlend(ColorScheme.GetColor(0xBBDBF7), 0f),
|
||||
//new BackgroundColorBlend(ColorScheme.GetColor(0xBBDBF7), .3f),
|
||||
//new BackgroundColorBlend(ColorScheme.GetColor(0xF3F9FE), .9f),
|
||||
//new BackgroundColorBlend(ColorScheme.GetColor(0xFEFFFF), 1f)});
|
||||
//page.Style.BackColorGradientAngle = 90;
|
||||
//page.Style.BackgroundImage = GetWelcomeImage(eWizardImages.BackgroundOffice2007);
|
||||
//page.Style.BackgroundImagePosition = eStyleBackgroundImage.TopLeft;
|
||||
|
||||
if (cc != null) cc.OnComponentChanged(page, null, null, null);
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt.Cancel();
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (dt != null && !dt.Canceled)
|
||||
dt.Commit();
|
||||
}
|
||||
}
|
||||
|
||||
internal static void ApplyOffice2007InnerPageStyle(WizardPage page, IDesignerHost dh, IComponentChangeService cc)
|
||||
{
|
||||
if (cc != null) cc.OnComponentChanging(page, null);
|
||||
|
||||
page.BackColor = Color.Transparent;
|
||||
page.Style.Reset();
|
||||
|
||||
if (cc != null) cc.OnComponentChanged(page, null, null, null);
|
||||
}
|
||||
|
||||
internal static void ApplyDefaultInnerPageStyle(WizardPage page, IDesignerHost dh, IComponentChangeService cc)
|
||||
{
|
||||
if (cc != null) cc.OnComponentChanging(page, null);
|
||||
|
||||
page.BackColor = SystemColors.Control;
|
||||
if (!page.InteriorPage)
|
||||
{
|
||||
TypeDescriptor.GetProperties(page.Style)["BackColor"].SetValue(page.Style, Color.White);
|
||||
}
|
||||
|
||||
if (cc != null) cc.OnComponentChanged(page, null, null, null);
|
||||
}
|
||||
|
||||
internal static void ApplyDefaultWelcomePageStyle(WizardPage page, IDesignerHost dh, IComponentChangeService cc)
|
||||
{
|
||||
DesignerTransaction dt = null;
|
||||
if (dh != null) dt = dh.CreateTransaction();
|
||||
|
||||
try
|
||||
{
|
||||
page.BackColor = Color.White;
|
||||
page.Style.BackColorBlend.Clear();
|
||||
TypeDescriptor.GetProperties(page)["InteriorPage"].SetValue(page, false);
|
||||
TypeDescriptor.GetProperties(page)["BackColor"].SetValue(page, Color.White);
|
||||
TypeDescriptor.GetProperties(page)["CanvasColor"].SetValue(page, Color.White);
|
||||
TypeDescriptor.GetProperties(page.Style)["BackColor"].SetValue(page.Style, Color.White);
|
||||
TypeDescriptor.GetProperties(page.Style)["BackColor2"].SetValue(page.Style, Color.Empty);
|
||||
TypeDescriptor.GetProperties(page.Style)["BackgroundImage"].SetValue(page.Style, LoadWizardImage(eWizardImages.WelcomeDefault));
|
||||
TypeDescriptor.GetProperties(page.Style)["BackgroundImagePosition"].SetValue(page.Style, eStyleBackgroundImage.TopLeft);
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt.Cancel();
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (dt != null && !dt.Canceled)
|
||||
dt.Commit();
|
||||
}
|
||||
}
|
||||
|
||||
internal static WizardPage CreateWelcomePage(Wizard parent, IDesignerHost dh, IComponentChangeService cc, ISelectionService ss, eWizardStyle style)
|
||||
{
|
||||
DesignerTransaction dt = dh.CreateTransaction();
|
||||
WizardPage page = null;
|
||||
try
|
||||
{
|
||||
page = dh.CreateComponent(typeof(WizardPage)) as WizardPage;
|
||||
|
||||
if(style == eWizardStyle.Default)
|
||||
ApplyDefaultWelcomePageStyle(page, null, null);
|
||||
else
|
||||
ApplyOffice2007WelcomePageStyle(page, null, null);
|
||||
//TypeDescriptor.GetProperties(page)["InteriorPage"].SetValue(page, false);
|
||||
//TypeDescriptor.GetProperties(page)["BackColor"].SetValue(page, Color.White);
|
||||
//TypeDescriptor.GetProperties(page)["CanvasColor"].SetValue(page, Color.White);
|
||||
//TypeDescriptor.GetProperties(page.Style)["BackColor"].SetValue(page.Style, Color.White);
|
||||
//TypeDescriptor.GetProperties(page.Style)["BackgroundImage"].SetValue(page.Style, GetWelcomeImage(false));
|
||||
//TypeDescriptor.GetProperties(page.Style)["BackgroundImagePosition"].SetValue(page.Style, eStyleBackgroundImage.TopLeft);
|
||||
page.Size = new Size(534, 289);
|
||||
|
||||
// Load labels onto the page, first Welcome to the Wizard...
|
||||
System.Windows.Forms.Label label = dh.CreateComponent(typeof(System.Windows.Forms.Label)) as System.Windows.Forms.Label;
|
||||
page.Controls.Add(label);
|
||||
label.Location = new Point(210, 18);
|
||||
label.Text = "Welcome to the <Wizard Name> Wizard";
|
||||
label.BackColor = Color.Transparent;
|
||||
try
|
||||
{
|
||||
label.Font = new Font("Tahoma", 16);
|
||||
TypeDescriptor.GetProperties(label)["AutoSize"].SetValue(label, false);
|
||||
}
|
||||
catch { }
|
||||
label.Size = new Size(310, 66);
|
||||
label.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||
|
||||
// Wizard description label...
|
||||
label = dh.CreateComponent(typeof(System.Windows.Forms.Label)) as System.Windows.Forms.Label;
|
||||
page.Controls.Add(label);
|
||||
label.Location = new Point(210, 100);
|
||||
label.Text = "This wizard will guide you through the <Enter Process Name>.\r\n\r\n<Enter brief description of the process wizard is covering.>";
|
||||
label.BackColor = Color.Transparent;
|
||||
try
|
||||
{
|
||||
TypeDescriptor.GetProperties(label)["AutoSize"].SetValue(label, false);
|
||||
}
|
||||
catch { }
|
||||
label.Size = new Size(309, 157);
|
||||
label.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom;
|
||||
|
||||
// Click Next to Continue label...
|
||||
label = dh.CreateComponent(typeof(System.Windows.Forms.Label)) as System.Windows.Forms.Label;
|
||||
page.Controls.Add(label);
|
||||
label.Location = new Point(210, 266);
|
||||
label.Text = "To continue, click Next.";
|
||||
label.Size = new Size(120, 13);
|
||||
label.Anchor = AnchorStyles.Left | AnchorStyles.Bottom;
|
||||
label.BackColor = Color.Transparent;
|
||||
|
||||
if (cc != null)
|
||||
cc.OnComponentChanging(parent, TypeDescriptor.GetProperties(parent)["WizardPages"]);
|
||||
parent.WizardPages.Add(page);
|
||||
if (cc != null)
|
||||
cc.OnComponentChanged(parent, TypeDescriptor.GetProperties(parent)["WizardPages"], null, null);
|
||||
|
||||
|
||||
if (ss != null)
|
||||
ss.SetSelectedComponents(new WizardPage[] { page }, SelectionTypes.Replace);
|
||||
|
||||
TypeDescriptor.GetProperties(parent)["SelectedPageIndex"].SetValue(parent, parent.WizardPages.IndexOf(page));
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt.Cancel();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (!dt.Canceled)
|
||||
dt.Commit();
|
||||
}
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
internal static WizardPage CreatePage(Wizard parent, bool innerPage, IDesignerHost dh, IComponentChangeService cc, ISelectionService ss, eWizardStyle wizardStyle)
|
||||
{
|
||||
DesignerTransaction dt = dh.CreateTransaction();
|
||||
WizardPage page=null;
|
||||
try
|
||||
{
|
||||
page = dh.CreateComponent(typeof(WizardPage)) as WizardPage;
|
||||
|
||||
page.AntiAlias=false;
|
||||
page.InteriorPage = innerPage;
|
||||
if (innerPage)
|
||||
{
|
||||
page.PageTitle = "< Wizard step title >";
|
||||
page.PageDescription = "< Wizard step description >";
|
||||
}
|
||||
if (wizardStyle == eWizardStyle.Default)
|
||||
ApplyDefaultInnerPageStyle(page, dh, cc);
|
||||
else if (wizardStyle == eWizardStyle.Office2007)
|
||||
ApplyOffice2007InnerPageStyle(page, dh, cc);
|
||||
//else
|
||||
//{
|
||||
// TypeDescriptor.GetProperties(page.Style)["BackColor"].SetValue(page.Style, Color.White);
|
||||
//}
|
||||
|
||||
if (cc != null)
|
||||
cc.OnComponentChanging(parent, TypeDescriptor.GetProperties(parent)["WizardPages"]);
|
||||
parent.WizardPages.Add(page);
|
||||
if (cc != null)
|
||||
cc.OnComponentChanged(parent, TypeDescriptor.GetProperties(parent)["WizardPages"], null, null);
|
||||
|
||||
if (ss != null)
|
||||
ss.SetSelectedComponents(new WizardPage[] { page }, SelectionTypes.Replace);
|
||||
|
||||
TypeDescriptor.GetProperties(parent)["SelectedPageIndex"].SetValue(parent, parent.WizardPages.IndexOf(page));
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt.Cancel();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (!dt.Canceled)
|
||||
dt.Commit();
|
||||
}
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
protected override void OnMouseDragBegin(int x, int y)
|
||||
{
|
||||
Wizard w = this.Control as Wizard;
|
||||
|
||||
if (w != null)
|
||||
{
|
||||
Point p = w.NextButtonControl.Parent.PointToClient(new Point(x, y));
|
||||
if (w.NextButtonControl.Enabled && w.NextButtonControl.Visible && w.NextButtonControl.Bounds.Contains(p))
|
||||
{
|
||||
SelectNextPage(w);
|
||||
return;
|
||||
}
|
||||
else if (w.BackButtonControl.Enabled && w.BackButtonControl.Visible && w.BackButtonControl.Bounds.Contains(p))
|
||||
{
|
||||
SelectPreviousPage(w);
|
||||
return;
|
||||
}
|
||||
if(m_NavigationControl!=null)
|
||||
{
|
||||
p = m_NavigationControl.PointToClient(new Point(x, y));
|
||||
if(m_NavigationControl.LinkNext.Bounds.Contains(p))
|
||||
{
|
||||
SelectNextPage(w);
|
||||
return;
|
||||
}
|
||||
else if(m_NavigationControl.LinkBack.Bounds.Contains(p))
|
||||
{
|
||||
SelectPreviousPage(w);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
base.OnMouseDragBegin(x, y);
|
||||
}
|
||||
|
||||
protected override void PreFilterProperties(System.Collections.IDictionary properties)
|
||||
{
|
||||
base.PreFilterProperties(properties);
|
||||
|
||||
properties["WizardStyle"] = TypeDescriptor.CreateProperty(
|
||||
this.GetType(),
|
||||
"WizardStyle",
|
||||
typeof(eWizardStyle),
|
||||
new Attribute[] {
|
||||
new BrowsableAttribute(true),
|
||||
new DesignOnlyAttribute(true),
|
||||
new DefaultValueAttribute(eWizardStyle.Default),
|
||||
new DescriptionAttribute("Indicates the visual appearance style of the Wizard")});
|
||||
}
|
||||
|
||||
private eWizardStyle m_WizardStyle = eWizardStyle.Default;
|
||||
public eWizardStyle WizardStyle
|
||||
{
|
||||
get { return m_WizardStyle; }
|
||||
set
|
||||
{
|
||||
if(m_WizardStyle!=value)
|
||||
{
|
||||
m_WizardStyle = value;
|
||||
((Wizard)this.Control).ButtonStyle = m_WizardStyle;
|
||||
|
||||
IDesignerHost dh = GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
if(dh!=null && !dh.Loading)
|
||||
ChangeWizardStyle(m_WizardStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetDefaultFooterStyle(Wizard w)
|
||||
{
|
||||
w.FooterStyle.BackColor = System.Drawing.SystemColors.Control;
|
||||
w.FooterStyle.BackColorGradientAngle = 90;
|
||||
w.FooterStyle.BorderBottomWidth = 1;
|
||||
w.FooterStyle.BorderColor = System.Drawing.SystemColors.Control;
|
||||
w.FooterStyle.BorderLeftWidth = 1;
|
||||
w.FooterStyle.BorderRightWidth = 1;
|
||||
w.FooterStyle.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Etched;
|
||||
w.FooterStyle.BorderTopColor = System.Drawing.SystemColors.Control;
|
||||
w.FooterStyle.BorderTopWidth = 1;
|
||||
w.FooterStyle.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center;
|
||||
w.FooterStyle.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
}
|
||||
|
||||
private void ChangeWizardStyle(eWizardStyle style)
|
||||
{
|
||||
IComponentChangeService cc = GetService(typeof(IComponentChangeService)) as IComponentChangeService;
|
||||
IDesignerHost dh = GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
|
||||
DesignerTransaction dt = dh.CreateTransaction();
|
||||
try
|
||||
{
|
||||
Wizard w = this.Control as Wizard;
|
||||
|
||||
w.FooterStyle.Reset();
|
||||
if (style == eWizardStyle.Office2007)
|
||||
{
|
||||
w.FooterStyle.BackColor = Color.Transparent;
|
||||
w.BackColor = Color.FromArgb(205, 229, 253);
|
||||
w.ForeColor = ColorScheme.GetColor(0x0F3981);
|
||||
w.BackgroundImage = LoadWizardImage(eWizardImages.BackgroundOffice2007);
|
||||
w.HeaderStyle.Reset();
|
||||
w.HeaderStyle.BackColor = Color.Transparent;// ColorScheme.GetColor(0xBFD7F3);
|
||||
w.HeaderStyle.BackColor2 = Color.Empty; // ColorScheme.GetColor(0xDBF1FE);
|
||||
w.HeaderStyle.BackColorGradientAngle = 90;
|
||||
w.HeaderStyle.BorderBottomColor = ColorScheme.GetColor(0x799DB6);
|
||||
w.HeaderStyle.BorderBottomWidth = 1;
|
||||
w.HeaderStyle.BorderBottom = eStyleBorderType.Solid;
|
||||
w.HeaderHeight = 90;
|
||||
w.HeaderDescriptionVisible = false;
|
||||
w.HeaderImageAlignment = eWizardTitleImageAlignment.Left;
|
||||
w.HeaderCaptionFont = new Font(w.Font.FontFamily, 12, FontStyle.Bold);
|
||||
}
|
||||
else if (style == eWizardStyle.Default)
|
||||
{
|
||||
SetDefaultFooterStyle(w);
|
||||
w.BackgroundImage = null;
|
||||
w.BackColor = SystemColors.Control;
|
||||
w.ForeColor = SystemColors.ControlText;
|
||||
w.HeaderStyle.Reset();
|
||||
w.HeaderStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
w.HeaderStyle.BackColorGradientAngle = 90;
|
||||
w.HeaderStyle.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Etched;
|
||||
w.HeaderStyle.BorderBottomWidth = 1;
|
||||
w.HeaderStyle.BorderColor = System.Drawing.SystemColors.Control;
|
||||
w.HeaderStyle.BorderLeftWidth = 1;
|
||||
w.HeaderStyle.BorderRightWidth = 1;
|
||||
w.HeaderStyle.BorderTopWidth = 1;
|
||||
w.HeaderStyle.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center;
|
||||
w.HeaderStyle.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
w.HeaderHeight = 60;
|
||||
w.HeaderDescriptionVisible = true;
|
||||
w.HeaderCaptionFont = new Font(w.Font, FontStyle.Bold);
|
||||
w.HeaderImageAlignment = eWizardTitleImageAlignment.Right;
|
||||
}
|
||||
|
||||
for (int i = 0; i < w.WizardPages.Count; i++)
|
||||
{
|
||||
WizardPage p = w.WizardPages[i];
|
||||
if (!p.InteriorPage && i==0)
|
||||
{
|
||||
if (style == eWizardStyle.Default)
|
||||
ApplyDefaultWelcomePageStyle(p, null, cc);
|
||||
else if (style == eWizardStyle.Office2007)
|
||||
ApplyOffice2007WelcomePageStyle(p, null, cc);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (style == eWizardStyle.Default)
|
||||
ApplyDefaultInnerPageStyle(p, null, cc);
|
||||
else if (style == eWizardStyle.Office2007)
|
||||
ApplyOffice2007InnerPageStyle(p, null, cc);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt.Cancel();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if(!dt.Canceled)
|
||||
dt.Commit();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Licensing Stuff
|
||||
#if !TRIAL
|
||||
private string GetLicenseKey()
|
||||
{
|
||||
string key = "";
|
||||
Microsoft.Win32.RegistryKey regkey = Microsoft.Win32.Registry.LocalMachine;
|
||||
regkey = regkey.OpenSubKey("Software\\DevComponents\\Licenses", false);
|
||||
if (regkey != null)
|
||||
{
|
||||
object keyValue = regkey.GetValue("DevComponents.DotNetBar.DotNetBarManager2");
|
||||
if (keyValue != null)
|
||||
key = keyValue.ToString();
|
||||
}
|
||||
return key;
|
||||
}
|
||||
private void dh_LoadComplete(object sender, EventArgs e)
|
||||
{
|
||||
IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
|
||||
if (dh != null)
|
||||
dh.LoadComplete -= new EventHandler(dh_LoadComplete);
|
||||
|
||||
string key = GetLicenseKey();
|
||||
Wizard w = this.Control as Wizard;
|
||||
if (key != "" && w != null && w.LicenseKey == "" && w.LicenseKey != key)
|
||||
TypeDescriptor.GetProperties(w)["LicenseKey"].SetValue(w, key);
|
||||
}
|
||||
#endif
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user