/// <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(so != null, "so cannot be null"); // make sure computername property exists. Diagnostics.Assert(so.Properties[RemotingConstants.ComputerNameNoteProperty] != null, "PrepareForRemoteObjects cannot be called when the object does not contain ComputerName property."); if ((dataBaseInfo != null) && (dataBaseInfo.view != null) && (dataBaseInfo.view.mainControl != null)) { // dont change the original format definition in the database..just make a copy and work // with the copy _tableBody = (TableControlBody)this.dataBaseInfo.view.mainControl.Copy(); TableRowItemDefinition cnRowDefinition = new TableRowItemDefinition(); PropertyTokenBase propToken = new FieldPropertyToken(); propToken.expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false); cnRowDefinition.formatTokenList.Add(propToken); _tableBody.defaultDefinition.rowItemDefinitionList.Add(cnRowDefinition); // add header only if there are other header definitions if (_tableBody.header.columnHeaderDefinitionList.Count > 0) { TableColumnHeaderDefinition cnHeaderDefinition = new TableColumnHeaderDefinition(); cnHeaderDefinition.label = new TextToken(); cnHeaderDefinition.label.text = RemotingConstants.ComputerNameNoteProperty; _tableBody.header.columnHeaderDefinitionList.Add(cnHeaderDefinition); } } }
private void LoadHeadersSection(TableControlBody tableBody, XmlNode headersNode) { using (this.StackFrame(headersNode)) { int columnIndex = 0; foreach (XmlNode n in headersNode.ChildNodes) { if (MatchNodeName(n, XmlTags.TableColumnHeaderNode)) { TableColumnHeaderDefinition chd = LoadColumnHeaderDefinition(n, columnIndex++); if (chd != null) { tableBody.header.columnHeaderDefinitionList.Add(chd); } else { //Error at XPath {0} in file {1}: Column header definition is invalid; all headers are discarded. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.InvalidColumnHeader, ComputeCurrentXPath(), FilePath)); tableBody.header.columnHeaderDefinitionList = null; return; // fatal error } } else { this.ProcessUnknownNode(n); } } // NOTICE: the list can be empty if no entries were found } }
internal TableControlColumnHeader(TableColumnHeaderDefinition colheaderdefinition) { if (colheaderdefinition.label != null) { this._label = colheaderdefinition.label.text; } this._alignment = (System.Management.Automation.Alignment) colheaderdefinition.alignment; this._width = colheaderdefinition.width; }
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.tableBody = (TableControlBody)base.dataBaseInfo.view.mainControl.Copy(); TableRowItemDefinition item = new TableRowItemDefinition(); PropertyTokenBase base2 = new FieldPropertyToken { expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false) }; item.formatTokenList.Add(base2); this.tableBody.defaultDefinition.rowItemDefinitionList.Add(item); if (this.tableBody.header.columnHeaderDefinitionList.Count > 0) { TableColumnHeaderDefinition definition2 = new TableColumnHeaderDefinition { label = new TextToken() }; definition2.label.text = RemotingConstants.ComputerNameNoteProperty; this.tableBody.header.columnHeaderDefinitionList.Add(definition2); } } }
private TableColumnHeaderDefinition LoadColumnHeaderDefinition(XmlNode columnHeaderNode, int index) { using (this.StackFrame(columnHeaderNode, index)) { TableColumnHeaderDefinition chd = new TableColumnHeaderDefinition(); bool labelNodeFound = false; // cardinality 0..1 bool widthNodeFound = false; // cardinality 0..1 bool alignmentNodeFound = false; // cardinality 0..1 foreach (XmlNode n in columnHeaderNode.ChildNodes) { if (MatchNodeNameWithAttributes(n, XmlTags.LabelNode)) { if (labelNodeFound) { this.ProcessDuplicateNode(n); return(null); // fatal error } labelNodeFound = true; chd.label = LoadLabel(n); if (chd.label == null) { return(null); // fatal error } } else if (MatchNodeName(n, XmlTags.WidthNode)) { if (widthNodeFound) { this.ProcessDuplicateNode(n); return(null); // fatal error } widthNodeFound = true; int wVal; if (ReadPositiveIntegerValue(n, out wVal)) { chd.width = wVal; } else { //Error at XPath {0} in file {1}: Invalid {2} value. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.InvalidNodeValue, ComputeCurrentXPath(), FilePath, XmlTags.WidthNode)); return(null); //fatal error } } else if (MatchNodeName(n, XmlTags.AlignmentNode)) { if (alignmentNodeFound) { this.ProcessDuplicateNode(n); return(null); // fatal error } alignmentNodeFound = true; if (!LoadAlignmentValue(n, out chd.alignment)) { return(null); // fatal error } } else { this.ProcessUnknownNode(n); } } return(chd); } }
private TableColumnHeaderDefinition LoadColumnHeaderDefinition(System.Xml.XmlNode columnHeaderNode, int index) { using (base.StackFrame(columnHeaderNode, index)) { TableColumnHeaderDefinition definition = new TableColumnHeaderDefinition(); bool flag = false; bool flag2 = false; bool flag3 = false; foreach (System.Xml.XmlNode node in columnHeaderNode.ChildNodes) { if (base.MatchNodeNameWithAttributes(node, "Label")) { if (flag) { base.ProcessDuplicateNode(node); return null; } flag = true; definition.label = this.LoadLabel(node); if (definition.label == null) { return null; } } else if (base.MatchNodeName(node, "Width")) { int num; if (flag2) { base.ProcessDuplicateNode(node); return null; } flag2 = true; if (!this.ReadPositiveIntegerValue(node, out num)) { base.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.InvalidNodeValue, new object[] { base.ComputeCurrentXPath(), base.FilePath, "Width" })); return null; } definition.width = num; } else if (base.MatchNodeName(node, "Alignment")) { if (flag3) { base.ProcessDuplicateNode(node); return null; } flag3 = true; if (!this.LoadAlignmentValue(node, out definition.alignment)) { return null; } } else { base.ProcessUnknownNode(node); } } return definition; } }
private void LoadHeadersSectionFromObjectModel(TableControlBody tableBody, List<TableControlColumnHeader> headers) { foreach (TableControlColumnHeader header in headers) { TableColumnHeaderDefinition item = new TableColumnHeaderDefinition(); if (!string.IsNullOrEmpty(header.Label)) { TextToken token = new TextToken { text = header.Label }; item.label = token; } item.width = header.Width; item.alignment = (int) header.Alignment; tableBody.header.columnHeaderDefinitionList.Add(item); } }
/// <summary> /// Load the headers defined for columns /// </summary> /// <param name="tableBody"></param> /// <param name="headers"></param> private void LoadHeadersSectionFromObjectModel(TableControlBody tableBody, List<TableControlColumnHeader> headers) { foreach (TableControlColumnHeader header in headers) { TableColumnHeaderDefinition chd = new TableColumnHeaderDefinition(); // Contains: // Label --- Label cardinality 0..1 // Width --- Width cardinality 0..1 // Alignment --- Alignment cardinality 0..1 if (!String.IsNullOrEmpty(header.Label)) { TextToken tt = new TextToken(); tt.text = header.Label; chd.label = tt; } chd.width = header.Width; chd.alignment = (int)header.Alignment; tableBody.header.columnHeaderDefinitionList.Add(chd); } }
internal TableControlColumnHeader(TableColumnHeaderDefinition colheaderdefinition) { if (colheaderdefinition.label != null) { Label = colheaderdefinition.label.text; } Alignment = (Alignment)colheaderdefinition.alignment; Width = colheaderdefinition.width; }
private TableHeaderInfo GenerateTableHeaderInfoFromDataBaseInfo(PSObject so) { TableHeaderInfo thi = new TableHeaderInfo(); bool dummy; List <TableRowItemDefinition> activeRowItemDefinitionList = GetActiveTableRowDefinition(_tableBody, so, out dummy); thi.hideHeader = this.HideHeaders; thi.repeatHeader = this.RepeatHeader; int col = 0; foreach (TableRowItemDefinition rowItem in activeRowItemDefinitionList) { TableColumnInfo ci = new TableColumnInfo(); TableColumnHeaderDefinition colHeader = null; if (_tableBody.header.columnHeaderDefinitionList.Count > 0) { colHeader = _tableBody.header.columnHeaderDefinitionList[col]; } if (colHeader != null) { ci.width = colHeader.width; ci.alignment = colHeader.alignment; if (colHeader.label != null) { ci.label = this.dataBaseInfo.db.displayResourceManagerCache.GetTextTokenString(colHeader.label); } } if (ci.alignment == TextAlignment.Undefined) { ci.alignment = rowItem.alignment; } if (ci.label == null) { FormatToken token = null; if (rowItem.formatTokenList.Count > 0) { token = rowItem.formatTokenList[0]; } if (token != null) { FieldPropertyToken fpt = token as FieldPropertyToken; if (fpt != null) { ci.label = fpt.expression.expressionValue; } else { TextToken tt = token as TextToken; if (tt != null) { ci.label = this.dataBaseInfo.db.displayResourceManagerCache.GetTextTokenString(tt); } } } else { ci.label = string.Empty; } } thi.tableColumnInfoList.Add(ci); col++; } return(thi); }
/// <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)) { // dont change the original format definition in the database..just make a copy and work // with the copy _tableBody = (TableControlBody)this.dataBaseInfo.view.mainControl.Copy(); TableRowItemDefinition cnRowDefinition = new TableRowItemDefinition(); PropertyTokenBase propToken = new FieldPropertyToken(); propToken.expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false); cnRowDefinition.formatTokenList.Add(propToken); _tableBody.defaultDefinition.rowItemDefinitionList.Add(cnRowDefinition); // add header only if there are other header definitions if (_tableBody.header.columnHeaderDefinitionList.Count > 0) { TableColumnHeaderDefinition cnHeaderDefinition = new TableColumnHeaderDefinition(); cnHeaderDefinition.label = new TextToken(); cnHeaderDefinition.label.text = RemotingConstants.ComputerNameNoteProperty; _tableBody.header.columnHeaderDefinitionList.Add(cnHeaderDefinition); } } }
private TableHeaderInfo GenerateTableHeaderInfoFromDataBaseInfo(PSObject so) { bool flag; TableHeaderInfo info = new TableHeaderInfo(); List <TableRowItemDefinition> list = this.GetActiveTableRowDefinition(this.tableBody, so, out flag); info.hideHeader = this.HideHeaders; int num = 0; foreach (TableRowItemDefinition definition in list) { TableColumnInfo item = new TableColumnInfo(); TableColumnHeaderDefinition definition2 = null; if (this.tableBody.header.columnHeaderDefinitionList.Count > 0) { definition2 = this.tableBody.header.columnHeaderDefinitionList[num]; } if (definition2 != null) { item.width = definition2.width; item.alignment = definition2.alignment; if (definition2.label != null) { item.label = base.dataBaseInfo.db.displayResourceManagerCache.GetTextTokenString(definition2.label); } } if (item.alignment == 0) { item.alignment = definition.alignment; } if (item.label == null) { FormatToken token = null; if (definition.formatTokenList.Count > 0) { token = definition.formatTokenList[0]; } if (token != null) { FieldPropertyToken token2 = token as FieldPropertyToken; if (token2 != null) { item.label = token2.expression.expressionValue; } else { TextToken tt = token as TextToken; if (tt != null) { item.label = base.dataBaseInfo.db.displayResourceManagerCache.GetTextTokenString(tt); } } } else { item.label = ""; } } info.tableColumnInfoList.Add(item); num++; } return(info); }
private TableColumnHeaderDefinition LoadColumnHeaderDefinition(XmlNode columnHeaderNode, int index) { using (this.StackFrame(columnHeaderNode, index)) { TableColumnHeaderDefinition chd = new TableColumnHeaderDefinition(); bool labelNodeFound = false; // cardinality 0..1 bool widthNodeFound = false; // cardinality 0..1 bool alignmentNodeFound = false; // cardinality 0..1 foreach (XmlNode n in columnHeaderNode.ChildNodes) { if (MatchNodeNameWithAttributes(n, XmlTags.LabelNode)) { if (labelNodeFound) { this.ProcessDuplicateNode(n); return null; // fatal error } labelNodeFound = true; chd.label = LoadLabel(n); if (chd.label == null) { return null; // fatal error } } else if (MatchNodeName(n, XmlTags.WidthNode)) { if (widthNodeFound) { this.ProcessDuplicateNode(n); return null; // fatal error } widthNodeFound = true; int wVal; if (ReadPositiveIntegerValue(n, out wVal)) { chd.width = wVal; } else { //Error at XPath {0} in file {1}: Invalid {2} value. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.InvalidNodeValue, ComputeCurrentXPath(), FilePath, XmlTags.WidthNode)); return null; //fatal error } } else if (MatchNodeName(n, XmlTags.AlignmentNode)) { if (alignmentNodeFound) { this.ProcessDuplicateNode(n); return null; // fatal error } alignmentNodeFound = true; if (!LoadAlignmentValue(n, out chd.alignment)) { return null; // fatal error } } else { this.ProcessUnknownNode(n); } } // foreach return chd; } // using }
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.tableBody = (TableControlBody) base.dataBaseInfo.view.mainControl.Copy(); TableRowItemDefinition item = new TableRowItemDefinition(); PropertyTokenBase base2 = new FieldPropertyToken { expression = new ExpressionToken(RemotingConstants.ComputerNameNoteProperty, false) }; item.formatTokenList.Add(base2); this.tableBody.defaultDefinition.rowItemDefinitionList.Add(item); if (this.tableBody.header.columnHeaderDefinitionList.Count > 0) { TableColumnHeaderDefinition definition2 = new TableColumnHeaderDefinition { label = new TextToken() }; definition2.label.text = RemotingConstants.ComputerNameNoteProperty; this.tableBody.header.columnHeaderDefinitionList.Add(definition2); } } }