internal HeaderInfo GenerateHeaderInfo(PSObject input, OutGridViewCommand parentCmdlet) { HeaderInfo info = new HeaderInfo(); List<MshResolvedExpressionParameterAssociation> activeAssociationList = AssociationManager.ExpandDefaultPropertySet(input, this.expressionFactory); if (activeAssociationList.Count > 0) { if (PSObjectHelper.ShouldShowComputerNameProperty(input)) { activeAssociationList.Add(new MshResolvedExpressionParameterAssociation(null, new MshExpression(RemotingConstants.ComputerNameNoteProperty))); } } else { activeAssociationList = AssociationManager.ExpandAll(input); if (activeAssociationList.Count > 0) { AssociationManager.HandleComputerNameProperties(input, activeAssociationList); this.FilterActiveAssociationList(activeAssociationList); } else { activeAssociationList = new List<MshResolvedExpressionParameterAssociation>(); } } for (int i = 0; i < activeAssociationList.Count; i++) { string staleObjectPropertyName = null; MshResolvedExpressionParameterAssociation association = activeAssociationList[i]; if (association.OriginatingParameter != null) { object entry = association.OriginatingParameter.GetEntry("label"); if (entry != AutomationNull.Value) { staleObjectPropertyName = (string) entry; } } if (staleObjectPropertyName == null) { staleObjectPropertyName = association.ResolvedExpression.ToString(); } Microsoft.PowerShell.Commands.ColumnInfo col = new OriginalColumnInfo(staleObjectPropertyName, staleObjectPropertyName, staleObjectPropertyName, parentCmdlet); info.AddColumn(col); } return info; }
internal HeaderInfo GenerateHeaderInfo(PSObject input, OutGridViewCommand parentCmdlet) { HeaderInfo headerInfo = new HeaderInfo(); List <MshResolvedExpressionParameterAssociation> activeAssociationList; // Get properties from the default property set of the object activeAssociationList = AssociationManager.ExpandDefaultPropertySet(input, _expressionFactory); if (activeAssociationList.Count > 0) { // we got a valid set of properties from the default property set..add computername for // remoteobjects (if available) if (PSObjectHelper.ShouldShowComputerNameProperty(input)) { activeAssociationList.Add(new MshResolvedExpressionParameterAssociation(null, new PSPropertyExpression(RemotingConstants.ComputerNameNoteProperty))); } } else { // We failed to get anything from the default property set activeAssociationList = AssociationManager.ExpandAll(input); if (activeAssociationList.Count > 0) { // Remove PSComputerName and PSShowComputerName from the display as needed. AssociationManager.HandleComputerNameProperties(input, activeAssociationList); FilterActiveAssociationList(activeAssociationList); } else { // We were unable to retrieve any properties, so we leave an empty list activeAssociationList = new List <MshResolvedExpressionParameterAssociation>(); } } for (int k = 0; k < activeAssociationList.Count; k++) { string propertyName = null; MshResolvedExpressionParameterAssociation association = activeAssociationList[k]; // set the label of the column if (association.OriginatingParameter != null) { object key = association.OriginatingParameter.GetEntry(FormatParameterDefinitionKeys.LabelEntryKey); if (key != AutomationNull.Value) { propertyName = (string)key; } } if (propertyName == null) { propertyName = association.ResolvedExpression.ToString(); } ColumnInfo columnInfo = new OriginalColumnInfo(propertyName, propertyName, propertyName, parentCmdlet); headerInfo.AddColumn(columnInfo); } return(headerInfo); }
internal HeaderInfo GenerateHeaderInfo(PSObject input, TableControlBody tableBody, OutGridViewCommand parentCmdlet) { HeaderInfo info = new HeaderInfo(); bool flag = typeof(FileSystemInfo).IsInstanceOfType(input.BaseObject); if (tableBody != null) { List <TableRowItemDefinition> activeTableRowDefinition = this.GetActiveTableRowDefinition(tableBody, input); int num = 0; foreach (TableRowItemDefinition definition in activeTableRowDefinition) { Microsoft.PowerShell.Commands.ColumnInfo col = null; string staleObjectPropertyName = null; TableColumnHeaderDefinition definition2 = null; if (tableBody.header.columnHeaderDefinitionList.Count >= (num - 1)) { definition2 = tableBody.header.columnHeaderDefinitionList[num]; } if ((definition2 != null) && (definition2.label != null)) { staleObjectPropertyName = this.typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(definition2.label); } FormatToken token = null; if (definition.formatTokenList.Count > 0) { token = definition.formatTokenList[0]; } if (token != null) { FieldPropertyToken token2 = token as FieldPropertyToken; if (token2 != null) { if (staleObjectPropertyName == null) { staleObjectPropertyName = token2.expression.expressionValue; } if (token2.expression.isScriptBlock) { MshExpression expression = this.expressionFactory.CreateFromExpressionToken(token2.expression); if (flag && staleObjectPropertyName.Equals("LastWriteTime", StringComparison.OrdinalIgnoreCase)) { col = new OriginalColumnInfo(staleObjectPropertyName, staleObjectPropertyName, "LastWriteTime", parentCmdlet); } else { col = new ExpressionColumnInfo(staleObjectPropertyName, staleObjectPropertyName, expression); } } else { col = new OriginalColumnInfo(token2.expression.expressionValue, staleObjectPropertyName, token2.expression.expressionValue, parentCmdlet); } } else { TextToken tt = token as TextToken; if (tt != null) { staleObjectPropertyName = this.typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(tt); col = new OriginalColumnInfo(tt.text, staleObjectPropertyName, tt.text, parentCmdlet); } } } if (col != null) { info.AddColumn(col); } num++; } } return(info); }
// Database defined types. internal void AddColumnsAndItem(PSObject liveObject, TableView tableView, TableControlBody tableBody) { _headerInfo = tableView.GenerateHeaderInfo(liveObject, tableBody, _parentCmdlet); AddColumnsAndItemEnd(liveObject); }
internal HeaderInfo GenerateHeaderInfo(PSObject input, TableControlBody tableBody, OutGridViewCommand parentCmdlet) { HeaderInfo headerInfo = new HeaderInfo(); // This verification is needed because the database returns "LastWriteTime" value for file system objects // as strings and it is used to detect this situation and use the actual field value. bool fileSystemObject = typeof(FileSystemInfo).IsInstanceOfType(input.BaseObject); if (tableBody != null) // If the tableBody is null, the TableControlBody info was not put into the database. { // Generate HeaderInfo from the type information database. List <TableRowItemDefinition> activeRowItemDefinitionList = GetActiveTableRowDefinition(tableBody, input); int col = 0; foreach (TableRowItemDefinition rowItem in activeRowItemDefinitionList) { ColumnInfo columnInfo = null; string displayName = null; TableColumnHeaderDefinition colHeader = null; // Retrieve a matching TableColumnHeaderDefinition if (col < tableBody.header.columnHeaderDefinitionList.Count) { colHeader = tableBody.header.columnHeaderDefinitionList[col]; } if (colHeader != null && colHeader.label != null) { displayName = _typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(colHeader.label); } FormatToken token = null; if (rowItem.formatTokenList.Count > 0) { token = rowItem.formatTokenList[0]; } if (token != null) { FieldPropertyToken fpt = token as FieldPropertyToken; if (fpt != null) { if (displayName == null) { // Database does not provide a label(DisplayName) for the current property, use the expression value instead. displayName = fpt.expression.expressionValue; } if (fpt.expression.isScriptBlock) { PSPropertyExpression ex = _expressionFactory.CreateFromExpressionToken(fpt.expression); // Using the displayName as a propertyName for a stale PSObject. const string LastWriteTimePropertyName = "LastWriteTime"; // For FileSystem objects "LastWriteTime" property value should be used although the database indicates that a script should be executed to get the value. if (fileSystemObject && displayName.Equals(LastWriteTimePropertyName, StringComparison.OrdinalIgnoreCase)) { columnInfo = new OriginalColumnInfo(displayName, displayName, LastWriteTimePropertyName, parentCmdlet); } else { columnInfo = new ExpressionColumnInfo(displayName, displayName, ex); } } else { columnInfo = new OriginalColumnInfo(fpt.expression.expressionValue, displayName, fpt.expression.expressionValue, parentCmdlet); } } else { TextToken tt = token as TextToken; if (tt != null) { displayName = _typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(tt); columnInfo = new OriginalColumnInfo(tt.text, displayName, tt.text, parentCmdlet); } } } if (columnInfo != null) { headerInfo.AddColumn(columnInfo); } col++; } } return(headerInfo); }
internal void AddColumnsAndItem(PSObject liveObject, TableView tableView) { this.headerInfo = tableView.GenerateHeaderInfo(liveObject, this.parentCmdlet); this.AddColumnsAndItemEnd(liveObject); }
internal void AddColumnsAndItem(PSObject liveObject) { this.headerInfo = new HeaderInfo(); this.headerInfo.AddColumn(new ScalarTypeColumnInfo(liveObject.BaseObject.GetType())); this.AddColumnsAndItemEnd(liveObject); }
internal HeaderInfo GenerateHeaderInfo(PSObject input, TableControlBody tableBody, OutGridViewCommand parentCmdlet) { HeaderInfo info = new HeaderInfo(); bool flag = typeof(FileSystemInfo).IsInstanceOfType(input.BaseObject); if (tableBody != null) { List<TableRowItemDefinition> activeTableRowDefinition = this.GetActiveTableRowDefinition(tableBody, input); int num = 0; foreach (TableRowItemDefinition definition in activeTableRowDefinition) { Microsoft.PowerShell.Commands.ColumnInfo col = null; string staleObjectPropertyName = null; TableColumnHeaderDefinition definition2 = null; if (tableBody.header.columnHeaderDefinitionList.Count >= (num - 1)) { definition2 = tableBody.header.columnHeaderDefinitionList[num]; } if ((definition2 != null) && (definition2.label != null)) { staleObjectPropertyName = this.typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(definition2.label); } FormatToken token = null; if (definition.formatTokenList.Count > 0) { token = definition.formatTokenList[0]; } if (token != null) { FieldPropertyToken token2 = token as FieldPropertyToken; if (token2 != null) { if (staleObjectPropertyName == null) { staleObjectPropertyName = token2.expression.expressionValue; } if (token2.expression.isScriptBlock) { MshExpression expression = this.expressionFactory.CreateFromExpressionToken(token2.expression); if (flag && staleObjectPropertyName.Equals("LastWriteTime", StringComparison.OrdinalIgnoreCase)) { col = new OriginalColumnInfo(staleObjectPropertyName, staleObjectPropertyName, "LastWriteTime", parentCmdlet); } else { col = new ExpressionColumnInfo(staleObjectPropertyName, staleObjectPropertyName, expression); } } else { col = new OriginalColumnInfo(token2.expression.expressionValue, staleObjectPropertyName, token2.expression.expressionValue, parentCmdlet); } } else { TextToken tt = token as TextToken; if (tt != null) { staleObjectPropertyName = this.typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(tt); col = new OriginalColumnInfo(tt.text, staleObjectPropertyName, tt.text, parentCmdlet); } } } if (col != null) { info.AddColumn(col); } num++; } } return info; }
internal void AddHeteroViewColumnsAndItem(PSObject liveObject) { this.headerInfo = new HeaderInfo(); this.headerInfo.AddColumn(new IndexColumnInfo("IndexValue", StringUtil.Format(FormatAndOut_out_gridview.IndexColumnName, new object[0]), this.index)); this.headerInfo.AddColumn(new ToStringColumnInfo("ToStringValue", StringUtil.Format(FormatAndOut_out_gridview.ValueColumnName, new object[0]), this.parentCmdlet)); this.headerInfo.AddColumn(new TypeNameColumnInfo("OriginalType", StringUtil.Format(FormatAndOut_out_gridview.TypeColumnName, new object[0]))); PSObject obj2 = this.headerInfo.AddColumnsToWindow(this, liveObject); this.graphicalHostReflectionWrapper.CallMethod("AddItem", new object[] { obj2 }); }
internal void AddColumnsAndItem(PSObject liveObject, TableView tableView, TableControlBody tableBody) { this.headerInfo = tableView.GenerateHeaderInfo(liveObject, tableBody, this.parentCmdlet); this.AddColumnsAndItemEnd(liveObject); }
// Hetero types. internal void AddHeteroViewColumnsAndItem(PSObject liveObject) { _headerInfo = new HeaderInfo(); _headerInfo.AddColumn(new IndexColumnInfo(OutWindowProxy.IndexPropertyName, StringUtil.Format(FormatAndOut_out_gridview.IndexColumnName), _index)); _headerInfo.AddColumn(new ToStringColumnInfo(OutWindowProxy.ToStringValuePropertyName, StringUtil.Format(FormatAndOut_out_gridview.ValueColumnName), _parentCmdlet)); _headerInfo.AddColumn(new TypeNameColumnInfo(OutWindowProxy.OriginalTypePropertyName, StringUtil.Format(FormatAndOut_out_gridview.TypeColumnName))); // Add columns to the underlying Management list and as a byproduct get a stale PSObject. PSObject staleObject = _headerInfo.AddColumnsToWindow(this, liveObject); // Add the stale PSObject to the underlying Management list. _graphicalHostReflectionWrapper.CallMethod("AddItem", staleObject); }
// Scalar types. internal void AddColumnsAndItem(PSObject liveObject) { _headerInfo = new HeaderInfo(); // On scalar types the type name is used as a column name. _headerInfo.AddColumn(new ScalarTypeColumnInfo(liveObject.BaseObject.GetType())); AddColumnsAndItemEnd(liveObject); }
// Types that are not defined in the database and are not scalar. internal void AddColumnsAndItem(PSObject liveObject, TableView tableView) { // Create a header using only the input object's properties. _headerInfo = tableView.GenerateHeaderInfo(liveObject, _parentCmdlet); AddColumnsAndItemEnd(liveObject); }
internal HeaderInfo GenerateHeaderInfo(PSObject input, TableControlBody tableBody, OutGridViewCommand parentCmdlet) { HeaderInfo headerInfo = new HeaderInfo(); // This verification is needed because the database returns "LastWriteTime" value for file system objects // as strings and it is used to detect this situation and use the actual field value. bool fileSystemObject = typeof(FileSystemInfo).IsInstanceOfType(input.BaseObject); if (tableBody != null) // If the tableBody is null, the TableControlBody info was not put into the database. { // Generate HeaderInfo from the type information database. List<TableRowItemDefinition> activeRowItemDefinitionList = GetActiveTableRowDefinition(tableBody, input); int col = 0; foreach (TableRowItemDefinition rowItem in activeRowItemDefinitionList) { ColumnInfo columnInfo = null; string displayName = null; TableColumnHeaderDefinition colHeader = null; // Retrieve a matching TableColumnHeaderDefinition if (col < tableBody.header.columnHeaderDefinitionList.Count) colHeader = tableBody.header.columnHeaderDefinitionList[col]; if (colHeader != null && colHeader.label != null) { displayName = _typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(colHeader.label); } FormatToken token = null; if (rowItem.formatTokenList.Count > 0) { token = rowItem.formatTokenList[0]; } if (token != null) { FieldPropertyToken fpt = token as FieldPropertyToken; if (fpt != null) { if (displayName == null) { // Database does not provide a label(DisplayName) for the current property, use the expression value instead. displayName = fpt.expression.expressionValue; } if (fpt.expression.isScriptBlock) { MshExpression ex = _expressionFactory.CreateFromExpressionToken(fpt.expression); // Using the displayName as a propertyName for a stale PSObject. const string LastWriteTimePropertyName = "LastWriteTime"; // For FileSystem objects "LastWriteTime" property value should be used although the database indicates that a script should be executed to get the value. if (fileSystemObject && displayName.Equals(LastWriteTimePropertyName, StringComparison.OrdinalIgnoreCase)) { columnInfo = new OriginalColumnInfo(displayName, displayName, LastWriteTimePropertyName, parentCmdlet); } else { columnInfo = new ExpressionColumnInfo(displayName, displayName, ex); } } else { columnInfo = new OriginalColumnInfo(fpt.expression.expressionValue, displayName, fpt.expression.expressionValue, parentCmdlet); } } else { TextToken tt = token as TextToken; if (tt != null) { displayName = _typeInfoDatabase.displayResourceManagerCache.GetTextTokenString(tt); columnInfo = new OriginalColumnInfo(tt.text, displayName, tt.text, parentCmdlet); } } } if (columnInfo != null) { headerInfo.AddColumn(columnInfo); } col++; } } return headerInfo; }
internal HeaderInfo GenerateHeaderInfo(PSObject input, OutGridViewCommand parentCmdlet) { HeaderInfo headerInfo = new HeaderInfo(); List<MshResolvedExpressionParameterAssociation> activeAssociationList; // Get properties from the default property set of the object activeAssociationList = AssociationManager.ExpandDefaultPropertySet(input, _expressionFactory); if (activeAssociationList.Count > 0) { // we got a valid set of properties from the default property set..add computername for // remoteobjects (if available) if (PSObjectHelper.ShouldShowComputerNameProperty(input)) { activeAssociationList.Add(new MshResolvedExpressionParameterAssociation(null, new MshExpression(RemotingConstants.ComputerNameNoteProperty))); } } else { // We failed to get anything from the default property set activeAssociationList = AssociationManager.ExpandAll(input); if (activeAssociationList.Count > 0) { // Remove PSComputerName and PSShowComputerName from the display as needed. AssociationManager.HandleComputerNameProperties(input, activeAssociationList); FilterActiveAssociationList(activeAssociationList); } else { // We were unable to retrieve any properties, so we leave an empty list activeAssociationList = new List<MshResolvedExpressionParameterAssociation>(); } } for (int k = 0; k < activeAssociationList.Count; k++) { string propertyName = null; MshResolvedExpressionParameterAssociation association = activeAssociationList[k]; // set the label of the column if (association.OriginatingParameter != null) { object key = association.OriginatingParameter.GetEntry(FormatParameterDefinitionKeys.LabelEntryKey); if (key != AutomationNull.Value) propertyName = (string)key; } if (propertyName == null) { propertyName = association.ResolvedExpression.ToString(); } ColumnInfo columnInfo = new OriginalColumnInfo(propertyName, propertyName, propertyName, parentCmdlet); headerInfo.AddColumn(columnInfo); } return headerInfo; }