168 lines
5.7 KiB
C#
168 lines
5.7 KiB
C#
#if FRAMEWORK20
|
|
using System;
|
|
using System.Text;
|
|
using System.Windows.Forms.Design;
|
|
using DevComponents.DotNetBar.Controls;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.ComponentModel.Design;
|
|
|
|
namespace DevComponents.DotNetBar.Design
|
|
{
|
|
/// <summary>
|
|
/// Represents the designer for WarningBox control.
|
|
/// </summary>
|
|
public class WarningBoxDesigner : ControlDesigner
|
|
{
|
|
#region Internal Implementation
|
|
public override void InitializeNewComponent(System.Collections.IDictionary defaultValues)
|
|
{
|
|
base.InitializeNewComponent(defaultValues);
|
|
SetDefaults();
|
|
}
|
|
|
|
private void SetDefaults()
|
|
{
|
|
WarningBox box = this.Control as WarningBox;
|
|
if (box == null) return;
|
|
|
|
TypeDescriptor.GetProperties(box)["Text"].SetValue(box, "<b>Warning Box</b> control with <i>text-markup</i> support.");
|
|
Image image = GetDefaultImage();
|
|
if (image != null)
|
|
TypeDescriptor.GetProperties(box)["Image"].SetValue(box, image);
|
|
}
|
|
|
|
private Image GetDefaultImage()
|
|
{
|
|
string imageName = "images\\Warning.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 + imageName))
|
|
path += imageName;
|
|
else
|
|
path = "";
|
|
}
|
|
|
|
if (path != "")
|
|
{
|
|
return new Bitmap(path);
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private DesignerActionListCollection _ActionLists = null;
|
|
public override DesignerActionListCollection ActionLists
|
|
{
|
|
get
|
|
{
|
|
if (_ActionLists == null)
|
|
{
|
|
_ActionLists = new DesignerActionListCollection();
|
|
_ActionLists.Add(new WarningBoxActionList(this));
|
|
}
|
|
return _ActionLists;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
#region WarningBoxActionList
|
|
public class WarningBoxActionList : DesignerActionList
|
|
{
|
|
private WarningBoxDesigner _Designer = null;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the AdvTreeActionList class.
|
|
/// </summary>
|
|
/// <param name="designer"></param>
|
|
public WarningBoxActionList(WarningBoxDesigner designer)
|
|
: base(designer.Component)
|
|
{
|
|
_Designer = designer;
|
|
}
|
|
|
|
public override DesignerActionItemCollection GetSortedActionItems()
|
|
{
|
|
DesignerActionItemCollection items = new DesignerActionItemCollection();
|
|
items.Add(new DesignerActionHeaderItem("Appearance"));
|
|
items.Add(new DesignerActionHeaderItem("Information"));
|
|
|
|
items.Add(new DesignerActionPropertyItem("OptionsButtonVisible", "Show Options button?", "Appearance", "Controls visibility of Options button in WarningBox"));
|
|
items.Add(new DesignerActionPropertyItem("CloseButtonVisible", "Show Close button?", "Appearance", "Controls visibility of Close button in WarningBox"));
|
|
items.Add(new DesignerActionPropertyItem("Image", "Image", "Appearance", "Image that is displayed on Warning Box"));
|
|
|
|
items.Add(new DesignerActionTextItem("See Office2007ColorTable.WarningBox members to customize colors.", "Information"));
|
|
items.Add(new DesignerActionMethodItem(this, "OpenKB", "How to customize color table?", "Information", "Opens online Knowledge Base article which shows how to customize Office2007ColorTable", true));
|
|
items.Add(new DesignerActionMethodItem(this, "OpenTextMarkupRef", "Text Markup Reference...", "Information", "Opens online Text Markup reference. Markup can be used in Text property.", true));
|
|
|
|
return items;
|
|
}
|
|
|
|
public void OpenKB()
|
|
{
|
|
System.Diagnostics.Process.Start("http://www.devcomponents.com/kb2/");
|
|
}
|
|
public void OpenTextMarkupRef()
|
|
{
|
|
System.Diagnostics.Process.Start("http://www.devcomponents.com/kb2/?p=515");
|
|
}
|
|
|
|
public bool OptionsButtonVisible
|
|
{
|
|
get
|
|
{
|
|
return ((WarningBox)base.Component).OptionsButtonVisible;
|
|
}
|
|
set
|
|
{
|
|
TypeDescriptor.GetProperties(base.Component)["OptionsButtonVisible"].SetValue(base.Component, value);
|
|
}
|
|
}
|
|
|
|
public bool CloseButtonVisible
|
|
{
|
|
get
|
|
{
|
|
return ((WarningBox)base.Component).CloseButtonVisible;
|
|
}
|
|
set
|
|
{
|
|
TypeDescriptor.GetProperties(base.Component)["CloseButtonVisible"].SetValue(base.Component, value);
|
|
}
|
|
}
|
|
|
|
public Image Image
|
|
{
|
|
get
|
|
{
|
|
return ((WarningBox)base.Component).Image;
|
|
}
|
|
set
|
|
{
|
|
TypeDescriptor.GetProperties(base.Component)["Image"].SetValue(base.Component, value);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
#endif |