Skip to content

Repository files navigation

iUI

0.29GitHubvlang

Cross-platform GUI library for V. Inspired by the syntax of Java's Swing/FX & Fluent/WinUI3 Style.

Example: (examples/demo/)

Example

fnmain() {
mutwindow:= ui.Window.new(
title: 'My App'
width: 640
height: 480
)
// Create Buttonmutbtn:= ui.Button.new(
text: 'My Button'
on_click: on_click_event
)
// Add Button to Window & Run
window.add_child(btn)
window.gg.run()
}
fnon_click_event(e &ui.MouseEvent) {
println('Button clicked!')
}

Install

Install via VPM:

v install https://github.com/pisaiah/ui

then

importiuiasui

Components, Containers, & Layouts

ComponentsContainersPanel Layouts
ButtonWindowFlow Layout
CheckboxPanelBorder Layout
HyperlinkTabboxBox Layout
ImageModalGrid Layout
InternalFramePageCard Layout
LabelButtonGroup
MenubarScrollView
MenuItemSplitview
NavPaneItemTitleGroup
ProgressBarPopup
SelectboxDesktopPane
SliderNavPane
Switch
Textbox
TextField
Treeview
  • Components are the elements of the UI (buttons, inputs, etc).
  • Containers are components that are designed to contain other components (known as children).
  • Layouts define how the Panel container positions it's children.

More details about Layout: A Visual Guide to Layout Managers - docs.oracle.com

Themes

Light:
- Default, Minty, Ocean, Seven.
Dark:
- Dark (with Blue/Red/Green/or RGB Accent), Seven Dark.

Included Examples

BorderLayout DemoInternal FramesNavigation Pane
Border Layout DemoInternal FramesNavigation Pane
NotepadCalculatorClockVideo Player
See: NotepadCalculatorClockVideo Player(requires libmpv)
Mines(Tic Tac Toe)^2Snake
Code: 1-Minesweeper
Demo: Play online (via WASM)
2-Tic-Tac-Toe-Squared
Play online (WASM)
3-Snake

Used in

image

License

This project is licensed under MIT OR Boost.


Veasel (v mascot) on a Swing

Releases

Used by

Contributors

Languages