diff options
Diffstat (limited to 'ui/types.go')
-rw-r--r-- | ui/types.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ui/types.go b/ui/types.go new file mode 100644 index 00000000..a7918b5b --- /dev/null +++ b/ui/types.go @@ -0,0 +1,47 @@ +package ui + +const ( + Valid = 0 + InvalidateTabs = 1 << iota + InvalidateSidebar + InvalidateStatusBar +) + +const ( + InvalidateAll = InvalidateTabs | InvalidateSidebar | InvalidateStatusBar +) + +type Geometry struct { + row int + col int + width int + height int +} + +type AercTab interface { + Name() string + Invalid() bool + Render(at Geometry) +} + +type UIState struct { + Exit bool + InvalidPanes uint + + Panes struct { + TabList Geometry + TabView Geometry + Sidebar Geometry + StatusBar Geometry + } + + Tabs []AercTab + SelectedTab int + + Prompt struct { + Prompt *string + Text *string + Index int + Scroll int + } +} |