#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.5 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Windows.Media.Imaging;
using System.Windows.Media;
using System.ComponentModel;
namespace SharpDevelop.XamlDesigner.Palette
{
public class PaletteItem : PaletteNode
{
public Type Type { get; internal set; }
public string TypeName { get; set; }
public PaletteAssembly ParentAssembly { get; private set; }
public string Name
{
get { return Type != null ? Type.Name : null; }
}
public object Icon
{
get
{
if (Type != null) {
var stream = DesignResources.GetStream("Palette/Icons/" + Type.Name + ".png");
if (stream != null) {
return BitmapFrame.Create(stream);
}
return "Icons/ElementGray.png";
}
return null;
}
}
bool isIncluded = true;
[DefaultValue(true)]
public bool IsIncluded
{
get
{
return isIncluded;
}
set
{
if (isIncluded != value) {
isIncluded = value;
RaisePropertyChanged("IsIncluded");
}
}
}
CreateTool createTool;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public CreateTool CreateTool
{
get
{
if (createTool == null) {
createTool = new CreateTool(Type);
}
return createTool;
}
}
internal void SetParent(PaletteAssembly parent)
{
ParentAssembly = parent;
if (Type == null && ParentAssembly.Assembly != null) {
Type = ParentAssembly.Assembly.GetType(TypeName);
}
}
}
}