Skip to content

code-numericoverflow/UIfied

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UIfied

A unified PowerShell DSL for multiple UIs.

Simple DSL

Write complex UIs the easy way with the UIfied DSL

$sample = {
    $wsb = {
        UIWindow -Caption "Title" -Components {
            UIStackPanel -Orientation Vertical -Components {
                UILabel    -Caption "Hello"
                UIButton   -Caption "Button" -Action {
                    param($this)
                    $this.Control.Caption = Get-Date
                }
            }
        }
    }
    $h = Get-UIHost
    $h.ShowFrame($wsb)
}

Set-UIWpf
Invoke-Command -ScriptBlock $sample

Six UI types supported

UIFied supports six UI flavors

Write once and use it accross differents UIs. You can switch the target UI framework by simply using a command.

Set-UICF              # Switch to console UI
Set-UIWPF             # Switch to Windows Presentation Foundation UI
Set-UIOoui            # Switch to Web UI
Set-UIMaterialCF      # Switch to Material Design console UI
Set-UIMaterialWPF     # Switch to Material Design WPF UI
Set-UIMaterialOoui    # Switch to Material Design Web UI

A simple sample running on different UIs

Controls

We have implemented these controls:

  • Button
  • CheckBox
  • Label
  • List
  • ListColumn
  • ListItem
  • RadioButton
  • RadioGroup
  • StackPanel
  • TabControl
  • TabItem
  • TextBox
  • Modal
  • Timer
  • DatePicker
  • TimePicker
  • Browser
  • Autocomplete
  • Icon
  • Card
  • Image
  • TextEditor
  • Expander
  • ComboBox
  • Expander

Screenshots

Material Design console sample Material Design console sample

Material Design windows sample Material Design windows sample

Material Design web sample Material Design web sample

Releases

No releases published

Packages

No packages published