DougFinke

ShowUI

Jul 21st, 2011
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Get-ProcessControl {
  2.     param($Row, $Column, $Margin, [Switch]$Show, [Switch]$AsJob)
  3.  
  4.     $UIParameters = @{} + $PSBoundParameters
  5.     Border @UIParameters -On_Loaded {
  6.         $this.Child = New-ListView -DataContext {Get-Process} -DataBinding @{
  7.             ItemsSource = "." } -View {
  8.                 New-GridView -AllowsColumnReorder -Columns {
  9.                     New-GridViewColumn "Handles"
  10.                     New-GridViewColumn "NPM"
  11.                     New-GridViewColumn "WS"
  12.                     New-GridViewColumn "VM"
  13.                     New-GridViewColumn "CPU"
  14.                     New-GridViewColumn "Id"
  15.                     New-GridViewColumn "ProcessName"
  16.                 }
  17.             }
  18.     } -On_Initialized {
  19.         if($window) {
  20.             $Window.WindowStartupLocation="CenterScreen"
  21.         }
  22.     }
  23. }
  24.  
  25. function Get-ServiceControl {
  26.     param($Row, $Column, $Margin, [Switch]$Show, [Switch]$AsJob)
  27.  
  28.     $UIParameters = @{} + $PSBoundParameters
  29.     Border @UIParameters -On_Loaded {
  30.         $this.Child = New-ListView -DataContext {Get-Service} -DataBinding @{
  31.             ItemsSource = "." } -View {
  32.                 New-GridView -AllowsColumnReorder -Columns {
  33.                     New-GridViewColumn "Status"
  34.                     New-GridViewColumn "Name"
  35.                     New-GridViewColumn "DisplayName"
  36.                 }
  37.             }
  38.     } -On_Initialized {
  39.         if($window) {
  40.             $Window.WindowStartupLocation="CenterScreen"
  41.         }
  42.     }
  43. }
  44.  
  45. function New-TabbedView {
  46.     param($Row, $Column, $Margin, [Switch]$Show, [Switch]$AsJob)
  47.    
  48.     $UIParameters = @{} + $PSBoundParameters
  49.     New-TabControl @UIParameters {
  50.         New-TabItem -Header Processes { Get-ProcessControl }
  51.         New-TabItem -Header Services  { Get-ServiceControl }
  52.     }
  53. }
  54.  
  55. function New-UniformView {
  56.     param($Row, $Column, $Margin, [Switch]$Show, [Switch]$AsJob)
  57.    
  58.     $UIParameters = @{} + $PSBoundParameters
  59.    
  60.     UniformGrid @UIParameters -Columns 2 -Row 0 {
  61.         Get-ServiceControl -Margin 5
  62.         Get-ProcessControl -Margin 5
  63.     }
  64. }
  65.  
  66. New-Window -WindowStartupLocation "CenterScreen" -Width 800 -Height 500 -Show {
  67.  
  68.     Grid -Rows 75, Auto {
  69.        
  70.         New-StackPanel -Orientation Horizontal -Margin 5 -Row 0 {
  71.        
  72.             New-RadioButton "_Tabs" -Margin 5 -On_Checked {  
  73.                 $TheGrid.Children.Clear()
  74.                 $TheGrid.Children.Add( (New-TabbedView -Row 0) )
  75.             }
  76.            
  77.             New-RadioButton "_UniformGrid" -Margin 5 -On_Checked {
  78.                 $TheGrid.Children.Clear()
  79.                
  80.                 $TheGrid.Children.Add( (New-UniformView) )
  81.             }
  82.         }
  83.        
  84.         New-Grid -Rows 1 -Name TheGrid -Margin 2 -Row 1
  85.         #UniformGrid -Name TheGrid -Margin 2 -Row 1
  86.         #New-Canvas -Name TheGrid -Margin 2 -Row 1
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment