/// <summary> /// Initializes a new instance of the <see cref="FieldControl"/> class. /// </summary> /// <param name="fieldControl"> /// The field control. /// </param> /// <param name="mode"> /// The mode. /// </param> public FieldControl(FieldControl fieldControl, FieldDetailsMode mode) { this.UnitName = fieldControl.UnitName; this.InfoAreaId = fieldControl.InfoAreaId; this.ControlName = fieldControl.ControlName; var _tabArray = new List <FieldControlTab>(fieldControl.NumberOfTabs); _tabArray.AddRange(fieldControl.Tabs.Select(tab => new FieldControlTab(tab, (int)mode, this))); this.Tabs = _tabArray; this.sortFields = fieldControl.SortFields(); this.Attributes = fieldControl.Attributes; }
/// <summary> /// Needses the specific field control tab for mode. /// </summary> /// <param name="mode"> /// The mode. /// </param> /// <returns> /// true if need secific control /// </returns> public bool NeedsSpecificFieldControlTabForMode(FieldDetailsMode mode) { if (this.AllFields == null) { return(false); } foreach (var field in this.AllFields) { if (field.NeedsSpecificFieldControlFieldForMode(mode)) { return(true); } } return(false); }
/// <summary> /// Needses the specific field control field for mode. /// </summary> /// <param name="mode"> /// The mode. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool NeedsSpecificFieldControlFieldForMode(FieldDetailsMode mode) { return(this.Attributes.NeedSpecificFieldControlAttributesForMode((int)mode)); }
/// <summary> /// Needses the specific field control for mode. /// </summary> /// <param name="mode"> /// The mode. /// </param> /// <returns> /// true if specific control required; else false /// </returns> public bool NeedsSpecificFieldControlForMode(FieldDetailsMode mode) { return(this.Tabs != null && this.Tabs.Any(tab => tab.NeedsSpecificFieldControlTabForMode(mode))); }
/// <summary> /// Fields the control with mode. /// </summary> /// <param name="mode"> /// The mode. /// </param> /// <returns> /// Fied control instance /// </returns> public FieldControl FieldControlWithMode(FieldDetailsMode mode) { return(this.NeedsSpecificFieldControlForMode(mode) ? new FieldControl(this, mode) : this); }