Advertisement
Guest User

PowerShell Custom Type Formatting

a guest
Oct 16th, 2023
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 4.38 KB | Source Code | 0 0
  1. <Configuration>
  2.     <SelectionSets>
  3.         <SelectionSet>
  4.             <Name>MethodTypes</Name>
  5.             <Types>
  6.                 <TypeName>PSTypeMethod</TypeName>
  7.             </Types>
  8.         </SelectionSet>
  9.     </SelectionSets>
  10.  
  11.     <Controls>
  12.         <Control>
  13.             <Name>MethodTypes-GroupingFormat</Name>
  14.                     <CustomControl>
  15.                         <CustomEntries>
  16.                             <CustomEntry>
  17.                                 <CustomItem>
  18.                                     <Frame>
  19.                                         <LeftIndent>4</LeftIndent>
  20.                                         <CustomItem>
  21.                                             <Text>Type: </Text>
  22.                                             <ExpressionBinding>
  23.                                                 <ScriptBlock>
  24.                                                     $_.Type
  25.                                                 </ScriptBlock>
  26.                                             </ExpressionBinding>
  27.                                             <NewLine/>
  28.                                         </CustomItem>
  29.                                     </Frame>
  30.                                 </CustomItem>
  31.                             </CustomEntry>
  32.                         </CustomEntries>
  33.             </CustomControl>
  34.         </Control>
  35.     </Controls>
  36.  
  37.     <ViewDefinitions>
  38.         <View>
  39.             <Name>default</Name>
  40.             <ViewSelectedBy>
  41.                 <SelectionSetName>MethodTypes</SelectionSetName>
  42.             </ViewSelectedBy>
  43.             <GroupBy>
  44.                 <PropertyName>Type</PropertyName>
  45.                 <CustomControlName>MethodTypes-GroupingFormat</CustomControlName>
  46.             </GroupBy>
  47.             <TableControl>
  48.                 <AutoSize />
  49.                 <TableHeaders>
  50.                    <TableColumnHeader>
  51.                       <Label>MethodType</Label>
  52.                       <Width>10</Width>
  53.                       <Alignment>left</Alignment>
  54.                    </TableColumnHeader>
  55.                     <TableColumnHeader>
  56.                         <Label>Name</Label>
  57.                         <Width>20</Width>
  58.                         <Alignment>left</Alignment>
  59.                     </TableColumnHeader>
  60.                     <TableColumnHeader>
  61.                         <Label>Definition</Label>
  62.                         <Width>100</Width>
  63.                         <Alignment>left</Alignment>
  64.                     </TableColumnHeader>
  65.                 </TableHeaders>
  66.                 <TableRowEntries>
  67.                     <TableRowEntry>
  68.                         <Wrap/>
  69.                         <TableColumnItems>
  70.                             <TableColumnItem>
  71.                                 <ScriptBlock>
  72.                                     if ($_.IsOverLoad) {
  73.                                         $e = [char] 27
  74.                                         "$e[90m{0}$e[0m" -f $_.MethodType
  75.                                     } else {
  76.                                         $_.MethodType
  77.                                     }
  78.                                 </ScriptBlock>
  79.                             </TableColumnItem>
  80.                             <TableColumnItem>
  81.                                 <ScriptBlock>
  82.                                     if ($_.IsOverLoad) {
  83.                                         $e = [char] 27
  84.                                         "$e[90m{0}$e[0m" -f $_.Name
  85.                                     } else {
  86.                                         $_.Name
  87.                                     }
  88.                                 </ScriptBlock>
  89.                             </TableColumnItem>
  90.                             <TableColumnItem>
  91.                                 <ScriptBlock>
  92.                                     if ($_.IsOverLoad) {
  93.                                         $e = [char] 27
  94.                                         "$e[90m{0}$e[0m" -f $_.Definition
  95.                                     } else {
  96.                                         $_.Definition
  97.                                     }
  98.                                 </ScriptBlock>
  99.                             </TableColumnItem>
  100.                         </TableColumnItems>
  101.                     </TableRowEntry>
  102.                 </TableRowEntries>
  103.             </TableControl>
  104.         </View>
  105.     </ViewDefinitions>
  106. </Configuration>
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement