private ListControlEntryDefinition GetActiveListControlEntryDefinition(ListControlBody listBody, PSObject so) { ConsolidatedString internalTypeNames = so.InternalTypeNames; TypeMatch match = new TypeMatch(base.expressionFactory, base.dataBaseInfo.db, internalTypeNames); foreach (ListControlEntryDefinition definition in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(definition, definition.appliesTo, so))) { return(definition); } } if (match.BestMatch != null) { return(match.BestMatch as ListControlEntryDefinition); } Collection <string> typeNames = Deserializer.MaskDeserializationPrefix(internalTypeNames); if (typeNames != null) { match = new TypeMatch(base.expressionFactory, base.dataBaseInfo.db, typeNames); foreach (ListControlEntryDefinition definition2 in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(definition2, definition2.appliesTo))) { return(definition2); } } if (match.BestMatch != null) { return(match.BestMatch as ListControlEntryDefinition); } } return(listBody.defaultEntryDefinition); }
internal override void Initialize(TerminatingErrorContext terminatingErrorContext, PSPropertyExpressionFactory mshExpressionFactory, TypeInfoDataBase db, ViewDefinition view, FormattingCommandLineParameters formatParameters) { base.Initialize(terminatingErrorContext, mshExpressionFactory, db, view, formatParameters); if ((null != this.dataBaseInfo) && (null != this.dataBaseInfo.view)) { _listBody = (ListControlBody)this.dataBaseInfo.view.mainControl; } }
internal override void Initialize(TerminatingErrorContext terminatingErrorContext, MshExpressionFactory mshExpressionFactory, TypeInfoDataBase db, ViewDefinition view, FormattingCommandLineParameters formatParameters) { base.Initialize(terminatingErrorContext, mshExpressionFactory, db, view, formatParameters); if ((null != this.dataBaseInfo) && (null != this.dataBaseInfo.view)) { _listBody = (ListControlBody)this.dataBaseInfo.view.mainControl; } }
internal ListControl(ListControlBody listcontrolbody) { this._entries = new List<ListControlEntry>(); this._entries.Add(new ListControlEntry(listcontrolbody.defaultEntryDefinition)); foreach (ListControlEntryDefinition definition in listcontrolbody.optionalEntryList) { this._entries.Add(new ListControlEntry(definition)); } }
internal override void Initialize(TerminatingErrorContext errorContext, MshExpressionFactory expressionFactory, PSObject so, TypeInfoDataBase db, FormattingCommandLineParameters parameters) { base.Initialize(errorContext, expressionFactory, so, db, parameters); if ((base.dataBaseInfo != null) && (base.dataBaseInfo.view != null)) { this.listBody = (ListControlBody)base.dataBaseInfo.view.mainControl; } base.inputParameters = parameters; this.SetUpActiveProperties(so); }
internal override void Initialize(TerminatingErrorContext errorContext, PSPropertyExpressionFactory expressionFactory, PSObject so, TypeInfoDataBase db, FormattingCommandLineParameters parameters) { base.Initialize(errorContext, expressionFactory, so, db, parameters); if ((null != this.dataBaseInfo) && (null != this.dataBaseInfo.view)) { _listBody = (ListControlBody)this.dataBaseInfo.view.mainControl; } this.inputParameters = parameters; SetUpActiveProperties(so); }
internal override void Initialize(TerminatingErrorContext errorContext, MshExpressionFactory expressionFactory, PSObject so, TypeInfoDataBase db, FormattingCommandLineParameters parameters) { base.Initialize(errorContext, expressionFactory, so, db, parameters); if ((null != this.dataBaseInfo) && (null != this.dataBaseInfo.view)) { _listBody = (ListControlBody)this.dataBaseInfo.view.mainControl; } this.inputParameters = parameters; SetUpActiveProperties(so); }
private void LoadListControlEntries(XmlNode listViewEntriesNode, ListControlBody listBody) { using (this.StackFrame(listViewEntriesNode)) { int entryIndex = 0; foreach (XmlNode n in listViewEntriesNode.ChildNodes) { if (MatchNodeName(n, XmlTags.ListEntryNode)) { ListControlEntryDefinition lved = LoadListControlEntryDefinition(n, entryIndex++); if (lved == null) { //Error at XPath {0} in file {1}: {2} failed to load. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.LoadTagFailed, ComputeCurrentXPath(), FilePath, XmlTags.ListEntryNode)); listBody.defaultEntryDefinition = null; return; // fatal error } // determine if we have a default entry and if it's already set if (lved.appliesTo == null) { if (listBody.defaultEntryDefinition == null) { listBody.defaultEntryDefinition = lved; } else { //Error at XPath {0} in file {1}: There cannot be more than one default {2}. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.TooManyDefaultShapeEntry, ComputeCurrentXPath(), FilePath, XmlTags.ListEntryNode)); listBody.defaultEntryDefinition = null; return; // fatal error } } else { listBody.optionalEntryList.Add(lved); } } else { this.ProcessUnknownNode(n); } } if (listBody.optionalEntryList == null) { //Error at XPath {0} in file {1}: There must be at least one default {2}. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.NoDefaultShapeEntry, ComputeCurrentXPath(), FilePath, XmlTags.ListEntryNode)); } } }
private void LoadListControlEntries(XmlNode listViewEntriesNode, ListControlBody listBody) { using (this.StackFrame(listViewEntriesNode)) { int entryIndex = 0; foreach (XmlNode n in listViewEntriesNode.ChildNodes) { if (MatchNodeName(n, XmlTags.ListEntryNode)) { ListControlEntryDefinition lved = LoadListControlEntryDefinition(n, entryIndex++); if (lved == null) { //Error at XPath {0} in file {1}: {2} failed to load. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.LoadTagFailed, ComputeCurrentXPath(), FilePath, XmlTags.ListEntryNode)); listBody.defaultEntryDefinition = null; return; // fatal error } // determine if we have a default entry and if it's already set if (lved.appliesTo == null) { if (listBody.defaultEntryDefinition == null) { listBody.defaultEntryDefinition = lved; } else { //Error at XPath {0} in file {1}: There cannot be more than one default {2}. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.TooManyDefaultShapeEntry, ComputeCurrentXPath(), FilePath, XmlTags.ListEntryNode)); listBody.defaultEntryDefinition = null; return; // fatal error } } else { listBody.optionalEntryList.Add(lved); } } else { this.ProcessUnknownNode(n); } } if (listBody.optionalEntryList == null) { //Error at XPath {0} in file {1}: There must be at least one default {2}. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.NoDefaultShapeEntry, ComputeCurrentXPath(), FilePath, XmlTags.ListEntryNode)); } } }
internal override ControlBase Copy() { ListControlBody listControlBody = new ListControlBody(); listControlBody.autosize = this.autosize; if (this.defaultEntryDefinition != null) { listControlBody.defaultEntryDefinition = this.defaultEntryDefinition.Copy(); } foreach (ListControlEntryDefinition optionalEntry in this.optionalEntryList) { listControlBody.optionalEntryList.Add(optionalEntry); } return((ControlBase)listControlBody); }
internal override ControlBase Copy() { ListControlBody body = new ListControlBody { autosize = base.autosize }; if (this.defaultEntryDefinition != null) { body.defaultEntryDefinition = this.defaultEntryDefinition.Copy(); } foreach (ListControlEntryDefinition definition in this.optionalEntryList) { body.optionalEntryList.Add(definition); } return body; }
internal override ControlBase Copy() { ListControlBody body = new ListControlBody { autosize = base.autosize }; if (this.defaultEntryDefinition != null) { body.defaultEntryDefinition = this.defaultEntryDefinition.Copy(); } foreach (ListControlEntryDefinition definition in this.optionalEntryList) { body.optionalEntryList.Add(definition); } return(body); }
internal override ControlBase Copy() { ListControlBody result = new ListControlBody(); result.autosize = this.autosize; if (null != defaultEntryDefinition) { result.defaultEntryDefinition = this.defaultEntryDefinition.Copy(); } foreach (ListControlEntryDefinition lced in this.optionalEntryList) { result.optionalEntryList.Add(lced); } return result; }
internal override ControlBase Copy() { ListControlBody result = new ListControlBody(); result.autosize = this.autosize; if (defaultEntryDefinition != null) { result.defaultEntryDefinition = this.defaultEntryDefinition.Copy(); } foreach (ListControlEntryDefinition lced in this.optionalEntryList) { result.optionalEntryList.Add(lced); } return(result); }
internal override void PrepareForRemoteObjects(PSObject so) { PSPropertyInfo local1 = so.Properties[RemotingConstants.ComputerNameNoteProperty]; if (((base.dataBaseInfo != null) && (base.dataBaseInfo.view != null)) && (base.dataBaseInfo.view.mainControl != null)) { this.listBody = (ListControlBody)base.dataBaseInfo.view.mainControl.Copy(); ListControlItemDefinition item = new ListControlItemDefinition { label = new TextToken() }; item.label.text = RemotingConstants.ComputerNameNoteProperty; FieldPropertyToken token = new FieldPropertyToken { expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false) }; item.formatTokenList.Add(token); this.listBody.defaultEntryDefinition.itemDefinitionList.Add(item); } }
private ListControlBody LoadListControl(XmlNode controlNode) { using (this.StackFrame(controlNode)) { ListControlBody listBody = new ListControlBody(); bool listViewEntriesFound = false; foreach (XmlNode n in controlNode.ChildNodes) { if (MatchNodeName(n, XmlTags.ListEntriesNode)) { if (listViewEntriesFound) { this.ProcessDuplicateNode(n); continue; } listViewEntriesFound = true; // now read the columns section LoadListControlEntries(n, listBody); if (listBody.defaultEntryDefinition == null) { return(null); // fatal error } } else { this.ProcessUnknownNode(n); } } if (!listViewEntriesFound) { this.ReportMissingNode(XmlTags.ListEntriesNode); return(null); // fatal error } return(listBody); } }
private ListControlEntryDefinition GetActiveListControlEntryDefinition(ListControlBody listBody, PSObject so) { // see if we have an override that matches var typeNames = so.InternalTypeNames; TypeMatch match = new TypeMatch(expressionFactory, this.dataBaseInfo.db, typeNames); foreach (ListControlEntryDefinition x in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(x, x.appliesTo, so))) { return(x); } } if (match.BestMatch != null) { return(match.BestMatch as ListControlEntryDefinition); } else { Collection <string> typesWithoutPrefix = Deserializer.MaskDeserializationPrefix(typeNames); if (typesWithoutPrefix != null) { match = new TypeMatch(expressionFactory, this.dataBaseInfo.db, typesWithoutPrefix); foreach (ListControlEntryDefinition x in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(x, x.appliesTo))) { return(x); } } if (match.BestMatch != null) { return(match.BestMatch as ListControlEntryDefinition); } } // we do not have any override, use default return(listBody.defaultEntryDefinition); } }
private ListControlBody LoadListControl(XmlNode controlNode) { using (this.StackFrame(controlNode)) { ListControlBody listBody = new ListControlBody(); bool listViewEntriesFound = false; foreach (XmlNode n in controlNode.ChildNodes) { if (MatchNodeName(n, XmlTags.ListEntriesNode)) { if (listViewEntriesFound) { this.ProcessDuplicateNode(n); continue; } listViewEntriesFound = true; // now read the columns section LoadListControlEntries(n, listBody); if (listBody.defaultEntryDefinition == null) { return null; // fatal error } } else { this.ProcessUnknownNode(n); } } if (!listViewEntriesFound) { this.ReportMissingNode(XmlTags.ListEntriesNode); return null; // fatal error } return listBody; } }
/// <summary> /// Let the view prepare itself for RemoteObjects. This will add "ComputerName" to the /// table columns. /// </summary> /// <param name="so"></param> internal override void PrepareForRemoteObjects(PSObject so) { Diagnostics.Assert(null != so, "so cannot be null"); // make sure computername property exists. Diagnostics.Assert(null != so.Properties[RemotingConstants.ComputerNameNoteProperty], "PrepareForRemoteObjects cannot be called when the object does not contain ComputerName property."); if ((dataBaseInfo != null) && (dataBaseInfo.view != null) && (dataBaseInfo.view.mainControl != null)) { _listBody = (ListControlBody)this.dataBaseInfo.view.mainControl.Copy(); // build up the definition for computer name. ListControlItemDefinition cnListItemDefinition = new ListControlItemDefinition(); cnListItemDefinition.label = new TextToken(); cnListItemDefinition.label.text = RemotingConstants.ComputerNameNoteProperty; FieldPropertyToken fpt = new FieldPropertyToken(); fpt.expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false); cnListItemDefinition.formatTokenList.Add(fpt); _listBody.defaultEntryDefinition.itemDefinitionList.Add(cnListItemDefinition); } }
/// <summary> /// Let the view prepare itself for RemoteObjects. This will add "ComputerName" to the /// table columns. /// </summary> /// <param name="so"></param> internal override void PrepareForRemoteObjects(PSObject so) { Diagnostics.Assert(null != so, "so cannot be null"); // make sure computername property exists. Diagnostics.Assert(null != so.Properties[RemotingConstants.ComputerNameNoteProperty], "PrepareForRemoteObjects cannot be called when the object does not contain ComputerName property."); if ((dataBaseInfo != null) && (dataBaseInfo.view != null) && (dataBaseInfo.view.mainControl != null)) { _listBody = (ListControlBody)this.dataBaseInfo.view.mainControl.Copy(); // build up the definition for computer name. ListControlItemDefinition cnListItemDefinition = new ListControlItemDefinition(); cnListItemDefinition.label = new TextToken(); cnListItemDefinition.label.text = RemotingConstants.ComputerNameNoteProperty; FieldPropertyToken fpt = new FieldPropertyToken(); fpt.expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false); cnListItemDefinition.formatTokenList.Add(fpt); _listBody.defaultEntryDefinition.itemDefinitionList.Add(cnListItemDefinition); } }
private void LoadListControlEntriesFromObjectModel(ListControlBody listBody, List<ListControlEntry> entries, int viewIndex, string typeName) { // Contains: // Entries --- ListEntries cardinality 1 foreach (ListControlEntry listEntry in entries) { ListControlEntryDefinition lved = LoadListControlEntryDefinitionFromObjectModel(listEntry, viewIndex, typeName); if (lved == null) { this.ReportErrorForLoadingFromObjectModel( StringUtil.Format(FormatAndOutXmlLoadingStrings.LoadTagFailedInFormattingData, typeName, viewIndex, XmlTags.ListEntryNode), typeName); listBody.defaultEntryDefinition = null; return; } // determine if we have a default entry and if it's already set if (lved.appliesTo == null) { if (listBody.defaultEntryDefinition == null) { listBody.defaultEntryDefinition = lved; } else { //Error at XPath {0} in file {1}: There cannot be more than one default {2}. this.ReportErrorForLoadingFromObjectModel( StringUtil.Format(FormatAndOutXmlLoadingStrings.TooManyDefaultShapeEntryInFormattingData, typeName, viewIndex, XmlTags.ListEntryNode), typeName); listBody.defaultEntryDefinition = null; return; // fatal error } } else { listBody.optionalEntryList.Add(lved); } } // list entries is empty if (listBody.defaultEntryDefinition == null) { // Error: there must be at least one default this.ReportErrorForLoadingFromObjectModel( StringUtil.Format(FormatAndOutXmlLoadingStrings.NoDefaultShapeEntryInFormattingData, typeName, viewIndex, XmlTags.ListEntryNode), typeName); } }
/// <summary> /// Load LoisControl into the ListControlBody /// </summary> /// <param name="list"></param> /// <param name="viewIndex"></param> /// <param name="typeName"></param> /// <returns></returns> private ListControlBody LoadListControlFromObjectModel(ListControl list, int viewIndex, string typeName) { ListControlBody listBody = new ListControlBody(); // load the list entries section LoadListControlEntriesFromObjectModel(listBody, list.Entries, viewIndex, typeName); if (listBody.defaultEntryDefinition == null) { return null; // fatal error } return listBody; }
internal override void PrepareForRemoteObjects(PSObject so) { PSPropertyInfo local1 = so.Properties[RemotingConstants.ComputerNameNoteProperty]; if (((base.dataBaseInfo != null) && (base.dataBaseInfo.view != null)) && (base.dataBaseInfo.view.mainControl != null)) { this.listBody = (ListControlBody) base.dataBaseInfo.view.mainControl.Copy(); ListControlItemDefinition item = new ListControlItemDefinition { label = new TextToken() }; item.label.text = RemotingConstants.ComputerNameNoteProperty; FieldPropertyToken token = new FieldPropertyToken { expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false) }; item.formatTokenList.Add(token); this.listBody.defaultEntryDefinition.itemDefinitionList.Add(item); } }
private ListControlEntryDefinition GetActiveListControlEntryDefinition(ListControlBody listBody, PSObject so) { ConsolidatedString internalTypeNames = so.InternalTypeNames; TypeMatch match = new TypeMatch(base.expressionFactory, base.dataBaseInfo.db, internalTypeNames); foreach (ListControlEntryDefinition definition in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(definition, definition.appliesTo, so))) { return definition; } } if (match.BestMatch != null) { return (match.BestMatch as ListControlEntryDefinition); } Collection<string> typeNames = Deserializer.MaskDeserializationPrefix(internalTypeNames); if (typeNames != null) { match = new TypeMatch(base.expressionFactory, base.dataBaseInfo.db, typeNames); foreach (ListControlEntryDefinition definition2 in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(definition2, definition2.appliesTo))) { return definition2; } } if (match.BestMatch != null) { return (match.BestMatch as ListControlEntryDefinition); } } return listBody.defaultEntryDefinition; }
private void LoadListControlEntriesFromObjectModel(ListControlBody listBody, List<ListControlEntry> entries, int viewIndex, string typeName) { foreach (ListControlEntry entry in entries) { ListControlEntryDefinition item = this.LoadListControlEntryDefinitionFromObjectModel(entry, viewIndex, typeName); if (item == null) { base.ReportErrorForLoadingFromObjectModel(StringUtil.Format(FormatAndOutXmlLoadingStrings.LoadTagFailedInFormattingData, new object[] { typeName, viewIndex, "ListEntry" }), typeName); listBody.defaultEntryDefinition = null; return; } if (item.appliesTo == null) { if (listBody.defaultEntryDefinition == null) { listBody.defaultEntryDefinition = item; continue; } base.ReportErrorForLoadingFromObjectModel(StringUtil.Format(FormatAndOutXmlLoadingStrings.TooManyDefaultShapeEntryInFormattingData, new object[] { typeName, viewIndex, "ListEntry" }), typeName); listBody.defaultEntryDefinition = null; return; } listBody.optionalEntryList.Add(item); } if (listBody.defaultEntryDefinition == null) { base.ReportErrorForLoadingFromObjectModel(StringUtil.Format(FormatAndOutXmlLoadingStrings.NoDefaultShapeEntryInFormattingData, new object[] { typeName, viewIndex, "ListEntry" }), typeName); } }
private ListControlBody LoadListControl(System.Xml.XmlNode controlNode) { using (base.StackFrame(controlNode)) { ListControlBody listBody = new ListControlBody(); bool flag = false; foreach (System.Xml.XmlNode node in controlNode.ChildNodes) { if (base.MatchNodeName(node, "ListEntries")) { if (!flag) { flag = true; this.LoadListControlEntries(node, listBody); if (listBody.defaultEntryDefinition == null) { return null; } } else { base.ProcessDuplicateNode(node); } } else { base.ProcessUnknownNode(node); } } if (!flag) { base.ReportMissingNode("ListEntries"); return null; } return listBody; } }
private void LoadListControlEntries(System.Xml.XmlNode listViewEntriesNode, ListControlBody listBody) { using (base.StackFrame(listViewEntriesNode)) { int num = 0; foreach (System.Xml.XmlNode node in listViewEntriesNode.ChildNodes) { if (base.MatchNodeName(node, "ListEntry")) { ListControlEntryDefinition item = this.LoadListControlEntryDefinition(node, num++); if (item == null) { base.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.LoadTagFailed, new object[] { base.ComputeCurrentXPath(), base.FilePath, "ListEntry" })); listBody.defaultEntryDefinition = null; return; } if (item.appliesTo == null) { if (listBody.defaultEntryDefinition == null) { listBody.defaultEntryDefinition = item; continue; } base.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.TooManyDefaultShapeEntry, new object[] { base.ComputeCurrentXPath(), base.FilePath, "ListEntry" })); listBody.defaultEntryDefinition = null; return; } listBody.optionalEntryList.Add(item); } else { base.ProcessUnknownNode(node); } } if (listBody.optionalEntryList == null) { base.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.NoDefaultShapeEntry, new object[] { base.ComputeCurrentXPath(), base.FilePath, "ListEntry" })); } } }
private ListControlEntryDefinition GetActiveListControlEntryDefinition(ListControlBody listBody, PSObject so) { // see if we have an override that matches var typeNames = so.InternalTypeNames; TypeMatch match = new TypeMatch(expressionFactory, this.dataBaseInfo.db, typeNames); foreach (ListControlEntryDefinition x in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(x, x.appliesTo, so))) { return x; } } if (match.BestMatch != null) { return match.BestMatch as ListControlEntryDefinition; } else { Collection<string> typesWithoutPrefix = Deserializer.MaskDeserializationPrefix(typeNames); if (null != typesWithoutPrefix) { match = new TypeMatch(expressionFactory, this.dataBaseInfo.db, typesWithoutPrefix); foreach (ListControlEntryDefinition x in listBody.optionalEntryList) { if (match.PerfectMatch(new TypeMatchItem(x, x.appliesTo))) { return x; } } if (match.BestMatch != null) { return match.BestMatch as ListControlEntryDefinition; } } // we do not have any override, use default return listBody.defaultEntryDefinition; } }
private ListControlBody LoadListControlFromObjectModel(ListControl list, int viewIndex, string typeName) { ListControlBody listBody = new ListControlBody(); this.LoadListControlEntriesFromObjectModel(listBody, list.Entries, viewIndex, typeName); if (listBody.defaultEntryDefinition == null) { return null; } return listBody; }
/// <summary>To go from internal representation to external - for Get-FormatData</summary> internal ListControl(ListControlBody listcontrolbody, ViewDefinition viewDefinition) : this() { this.GroupBy = PSControlGroupBy.Get(viewDefinition.groupBy); this.OutOfBand = viewDefinition.outOfBand; Entries.Add(new ListControlEntry(listcontrolbody.defaultEntryDefinition)); foreach (ListControlEntryDefinition lced in listcontrolbody.optionalEntryList) { Entries.Add(new ListControlEntry(lced)); } }