/******** * @version : 1.6.0 - Ext.NET Pro License * @author : Ext.NET, Inc. http://www.ext.net/ * @date : 2012-11-21 * @copyright : Copyright (c) 2007-2012, Ext.NET, Inc. (http://www.ext.net/). All rights reserved. * @license : See license.txt and http://www.ext.net/license/. ********/ using System.ComponentModel; using System.Web.UI; namespace Ext.Net { /// /// /// /// [Meta] [ToolboxItem(false)] [ToolboxData("<{0}:GenericComponent runat=\"server\" />")] [Description("A generic Component.")] public partial class GenericComponent : Component where T : Component, new() { /// /// /// [Category("0. About")] [Description("")] public override string XType { get { return this.GenericXType ?? ""; } } /// /// /// [Category("0. About")] [Description("")] public override string InstanceOf { get { return this.GenericInstanceOf ?? ""; } } /// /// /// [Category("0. About")] [DefaultValue(null)] public virtual string GenericXType { get; set; } /// /// /// [Category("0. About")] [DefaultValue(null)] [Description("")] public virtual string GenericInstanceOf { get; set; } private T component; /// /// /// [ConfigOption(JsonMode.UnrollObject)] [DefaultValue(null)] [Description("")] public virtual T Component { get { if (this.component == null) { this.component = new T(); this.component.ID = this.ID; this.component.IsProxy = true; this.component.AutoRender = false; } return this.component; } } } }