internal static EntrySelectedBy Get(IEnumerable <string> entrySelectedByType, IEnumerable <DisplayEntry> entrySelectedByCondition) { EntrySelectedBy result = null; if (entrySelectedByType != null || entrySelectedByCondition != null) { result = new EntrySelectedBy(); bool isEmpty = true; if (entrySelectedByType != null) { result.TypeNames = new List <string>(entrySelectedByType); if (result.TypeNames.Count > 0) { isEmpty = false; } } if (entrySelectedByCondition != null) { result.SelectionCondition = new List <DisplayEntry>(entrySelectedByCondition); if (result.SelectionCondition.Count > 0) { isEmpty = false; } } if (isEmpty) { return(null); } } return(result); }
internal TableControlRow(TableRowDefinition rowdefinition) : this() { Wrap = rowdefinition.multiLine; if (rowdefinition.appliesTo != null) { SelectedBy = EntrySelectedBy.Get(rowdefinition.appliesTo.referenceList); } foreach (TableRowItemDefinition itemdef in rowdefinition.rowItemDefinitionList) { FieldPropertyToken fpt = itemdef.formatTokenList[0] as FieldPropertyToken; TableControlColumn column; if (fpt != null) { column = new TableControlColumn(fpt.expression.expressionValue, itemdef.alignment, fpt.expression.isScriptBlock, fpt.fieldFormattingDirective.formatString); } else { column = new TableControlColumn(); } Columns.Add(column); } }
/// <summary/> public WideControlBuilder AddPropertyEntry(string propertyName, string format = null, IEnumerable <string> entrySelectedByType = null, IEnumerable <DisplayEntry> entrySelectedByCondition = null) { var entry = new WideControlEntryItem(new DisplayEntry(propertyName, DisplayEntryValueType.Property)) { EntrySelectedBy = EntrySelectedBy.Get(entrySelectedByType, entrySelectedByCondition) }; _control.Entries.Add(entry); return(this); }
/// <summary/> public WideControlBuilder AddScriptBlockEntry(string scriptBlock, string format = null, IEnumerable <string> entrySelectedByType = null, IEnumerable <DisplayEntry> entrySelectedByCondition = null) { var entry = new WideControlEntryItem(new DisplayEntry(scriptBlock, DisplayEntryValueType.ScriptBlock)) { EntrySelectedBy = EntrySelectedBy.Get(entrySelectedByType, entrySelectedByCondition) }; _control.Entries.Add(entry); return(this); }
/// <summary/> public CustomEntryBuilder StartEntry(IEnumerable <string> entrySelectedByType = null, IEnumerable <DisplayEntry> entrySelectedByCondition = null) { var entry = new CustomControlEntry { SelectedBy = EntrySelectedBy.Get(entrySelectedByType, entrySelectedByCondition) }; _control.Entries.Add(entry); return(new CustomEntryBuilder(this, entry)); }
/// <summary></summary> public ListEntryBuilder StartEntry(IEnumerable <string> entrySelectedByType = null, IEnumerable <DisplayEntry> entrySelectedByCondition = null) { var listEntry = new ListControlEntry { EntrySelectedBy = EntrySelectedBy.Get(entrySelectedByType, entrySelectedByCondition) }; _list.Entries.Add(listEntry); return(new ListEntryBuilder(this, listEntry)); }
internal ListControlEntry(ListControlEntryDefinition entrydefn) : this() { if (entrydefn.appliesTo != null) { EntrySelectedBy = EntrySelectedBy.Get(entrydefn.appliesTo.referenceList); } foreach (ListControlItemDefinition itemdefn in entrydefn.itemDefinitionList) { Items.Add(new ListControlEntryItem(itemdefn)); } }
internal CustomControlEntry(ComplexControlEntryDefinition entry) { if (entry.appliesTo != null) { SelectedBy = EntrySelectedBy.Get(entry.appliesTo.referenceList); } CustomItems = new List <CustomItemBase>(); foreach (var tok in entry.itemDefinition.formatTokenList) { CustomItems.Add(CustomItemBase.Create(tok)); } }
/// <summary> /// Public constructor for WideControlEntryItem. /// </summary> public WideControlEntryItem(DisplayEntry entry, IEnumerable <string> selectedBy) : this() { if (entry == null) { throw PSTraceSource.NewArgumentNullException("entry"); } if (selectedBy == null) { throw PSTraceSource.NewArgumentNullException("selectedBy"); } this.DisplayEntry = entry; this.EntrySelectedBy = EntrySelectedBy.Get(selectedBy, null); }
internal WideControlEntryItem(WideControlEntryDefinition definition) : this() { FieldPropertyToken fpt = definition.formatTokenList[0] as FieldPropertyToken; if (fpt != null) { DisplayEntry = new DisplayEntry(fpt.expression); FormatString = fpt.fieldFormattingDirective.formatString; } if (definition.appliesTo != null) { EntrySelectedBy = EntrySelectedBy.Get(definition.appliesTo.referenceList); } }
/// <summary>Public constructor for ListControlEntry</summary> public ListControlEntry(IEnumerable <ListControlEntryItem> listItems, IEnumerable <string> selectedBy) { if (listItems == null) { throw PSTraceSource.NewArgumentNullException("listItems"); } if (selectedBy == null) { throw PSTraceSource.NewArgumentNullException("selectedBy"); } EntrySelectedBy = new EntrySelectedBy { TypeNames = new List <string>(selectedBy) }; foreach (ListControlEntryItem item in listItems) { this.Items.Add(item); } }
internal static EntrySelectedBy Get(List <TypeOrGroupReference> references) { EntrySelectedBy result = null; if (references != null && references.Count > 0) { result = new EntrySelectedBy(); foreach (TypeOrGroupReference tr in references) { if (tr.conditionToken != null) { if (result.SelectionCondition == null) { result.SelectionCondition = new List <DisplayEntry>(); } result.SelectionCondition.Add(new DisplayEntry(tr.conditionToken)); continue; } if (tr is TypeGroupReference) { continue; } if (result.TypeNames == null) { result.TypeNames = new List <string>(); } result.TypeNames.Add(tr.name); } } return(result); }
internal bool CompatibleWithOldPowerShell() { // Old versions of PowerShell don't know anything about FormatString or conditions in EntrySelectedBy. return(FormatString == null && (EntrySelectedBy == null || EntrySelectedBy.CompatibleWithOldPowerShell())); }
internal bool SafeForExport() { return(DisplayEntry.SafeForExport() && (EntrySelectedBy == null || EntrySelectedBy.SafeForExport())); }