﻿<?xml version="1.0" encoding="utf-8" ?>
<Configuration>

  <SelectionSets>
    <SelectionSet>
      <Name>TSProviderTypes</Name>
      <Types>
        <TypeName>Microsoft.TerminalServices.TSObject</TypeName>
      </Types>
    </SelectionSet>
    
    <SelectionSet>
      <Name>GetVirtualDesktopTypes</Name>
      <Types>
        <TypeName>Microsoft.TerminalServices.PScmdlets.VirtualDesktop</TypeName>
      </Types>
    </SelectionSet>
    
  </SelectionSets>

  <Controls>
    <Control>
      <Name>TSProviderTypes-GroupingFormat</Name>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <Frame>
                <LeftIndent>4</LeftIndent>
                <CustomItem>
                  <Text AssemblyName="System.Management.Automation" BaseName="FileSystemProviderStrings" ResourceId="DirectoryDisplayGrouping"/>
                  <ExpressionBinding>
                    <ScriptBlock>$_.ParentPath</ScriptBlock>
                  </ExpressionBinding>
                  <NewLine/>
                </CustomItem>
              </Frame>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </Control>
  </Controls>
  
  
  <ViewDefinitions>

    <View>

      <Name>GetVirtualDesktopTable</Name>

      <ViewSelectedBy>
        <SelectionSetName>GetVirtualDesktopTypes</SelectionSetName>
      </ViewSelectedBy>

      <TableControl>

        <TableHeaders>

          <TableColumnHeader>
            <Label>Name</Label>
            <Width>50</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

          <TableColumnHeader>
            <Label>AssignedTo</Label>
            <Width>20</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

          <TableColumnHeader>
            <Label>Host</Label>
            <Width>50</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

        </TableHeaders>

        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>

              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>

              <TableColumnItem>
                <PropertyName>AssignedTo</PropertyName>
              </TableColumnItem>

              <TableColumnItem>
                <PropertyName>Host</PropertyName>
              </TableColumnItem>

            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>

      </TableControl>

    </View>
    
    <View>

      <Name>TSObjectTable</Name>

      <ViewSelectedBy>
        <SelectionSetName>TSProviderTypes</SelectionSetName>
      </ViewSelectedBy>

      <GroupBy>
        <PropertyName>ParentPath</PropertyName>
        <CustomControlName>TSProviderTypes-GroupingFormat</CustomControlName>
      </GroupBy>

      <TableControl>

        <TableHeaders>
          
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>
          
          <TableColumnHeader>
            <Label>Type</Label>
            <Width>9</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

          <TableColumnHeader>
            <Label>CurrentValue</Label>
            <Width>20</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

          <TableColumnHeader>
            <Label>GP</Label>
            <Width>4</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

          <TableColumnHeader>
            <Label>PermissibleValues</Label>
            <Width>17</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

          <TableColumnHeader>
            <Label>PermissibleOperations</Label>
            <Width>40</Width>
            <Alignment>left</Alignment>
          </TableColumnHeader>

        </TableHeaders>

        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>

              <TableColumnItem>
                <PropertyName>CurrentValue</PropertyName>
              </TableColumnItem>

              <TableColumnItem>
                <PropertyName>GroupPolicy</PropertyName>
              </TableColumnItem>

              <TableColumnItem>
                <PropertyName>PermissibleValues</PropertyName>
              </TableColumnItem>

              <TableColumnItem>
                <PropertyName>PermissibleOperations</PropertyName>
              </TableColumnItem>

            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>

      </TableControl>

    </View>

    <View>

      <Name>TSObjectList</Name>

      <ViewSelectedBy>
        <SelectionSetName>TSProviderTypes</SelectionSetName>
      </ViewSelectedBy>

      <GroupBy>
        <PropertyName>ParentPath</PropertyName>
        <CustomControlName>TSProviderTypes-GroupingFormat</CustomControlName>
      </GroupBy>

      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Type</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>CurrentValue</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>GroupPolicy</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>PermissibleValues</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>PermissibleOperations</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Description</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>          
        </ListEntries>
      </ListControl>

    </View>

    <View>

      <Name>TSObjectList</Name>

      <ViewSelectedBy>
        <SelectionSetName>TSProviderTypes</SelectionSetName>
      </ViewSelectedBy>

      <GroupBy>
        <PropertyName>ParentPath</PropertyName>
        <CustomControlName>TSProviderTypes-GroupingFormat</CustomControlName>
      </GroupBy>

      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>Name</PropertyName>
            </WideItem>
          </WideEntry>          
        </WideEntries>
      </WideControl>

    </View>
    
  </ViewDefinitions>
</Configuration>
