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);
            }
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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));
        }
Example #6
0
        /// <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));
        }
Example #7
0
 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));
            }
        }
Example #9
0
        /// <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);
        }
Example #10
0
        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);
            }
        }
Example #11
0
        /// <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);
        }
Example #13
0
 internal bool CompatibleWithOldPowerShell()
 {
     // Old versions of PowerShell don't know anything about FormatString or conditions in EntrySelectedBy.
     return(FormatString == null &&
            (EntrySelectedBy == null || EntrySelectedBy.CompatibleWithOldPowerShell()));
 }
Example #14
0
 internal bool SafeForExport()
 {
     return(DisplayEntry.SafeForExport() && (EntrySelectedBy == null || EntrySelectedBy.SafeForExport()));
 }