/// <summary> /// Create parse item of any type as long as it is derived from ParseItem /// </summary> /// <typeparam name="T">Type of item to create</typeparam> /// <param name="parent">Parent element</param> /// <param name="type">Suggested type to create</param> /// <returns></returns> internal ParseItem Create <T>(ComplexItem parent, Type type) where T : ParseItem, new() { ParseItem item = null; if (ExternalFactory != null) { item = ExternalFactory.CreateItem(this, TextProvider, TokenStream, parent, type); } if (item == null) { item = new T(); } return(item); }
public AntennaConextMenuManager(IAntennas<AntennaEntity> Antennacollection) { this.components = null; this.m_externalFactory = new ExternalFactory(); this.InitializeComponent(); this.m_iantennas = Antennacollection; this.AntManage = new AntennaDataVerify(this.m_iantennas); this.contextMenuStrip_Child.Opening += new CancelEventHandler(this.contextMenuStrip_Child_Opening); this.m_ToolStripItemClick = new Dictionary<ToolStripItem, ToolStripItemClickedEventHandler>(); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_CreateNew, new ToolStripItemClickedEventHandler(this.CreateNew_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_ImportItem, new ToolStripItemClickedEventHandler(this.ImportAntenna_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_ParentExport, new ToolStripItemClickedEventHandler(this.ParentExport_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_properties, new ToolStripItemClickedEventHandler(this.PropertiesAntenna_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_delete, new ToolStripItemClickedEventHandler(this.DeleteAntenna_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_rename, new ToolStripItemClickedEventHandler(this.ModifyAntenna_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_OpenTable, new ToolStripItemClickedEventHandler(this.OpenTable_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_export, new ToolStripItemClickedEventHandler(this.Export_Click)); this.m_ToolStripItemClick.Add(this.ToolStripMenuItem_duplicate, new ToolStripItemClickedEventHandler(this.Duplicate_Click)); }
/// <summary> /// Create specific item. Called when parser cannot accept random type and rather /// needs a specific type. Returned item can be derived from type T. /// </summary> /// <typeparam name="T">Type of item to create</typeparam> /// <param name="parent">Parent element</param> /// <param name="type">Suggested item type</param> /// <returns></returns> internal T CreateSpecific <T>(ComplexItem parent, Type type) where T : ParseItem, new() { T item = default; if (ExternalFactory != null) { ParseItem pi = ExternalFactory.CreateItem(this, TextProvider, TokenStream, parent, type); if (pi != null) { item = pi as T; Debug.Assert(item != null); } } if (item == null) { item = new T(); } return(item); }
public AntennaConextMenuManager(IBaseService service) { this.components = null; this.m_externalFactory = new ExternalFactory(); this.service = service; }