33 lines
605 B
Markdown
33 lines
605 B
Markdown
|
# Sidebar Control
|
||
|
|
||
|
```go
|
||
|
type Sidebar interface {
|
||
|
Control
|
||
|
|
||
|
AppendCategory(text string)
|
||
|
DeleteCategory(index int)
|
||
|
|
||
|
AppendItem(category int, name string)
|
||
|
DeleteItem(category int, index int)
|
||
|
|
||
|
Selection() (category int, index int) // or Selected()?
|
||
|
Select(category int, index int)
|
||
|
|
||
|
OnSelected(func())
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Simple two-level sidebars.
|
||
|
|
||
|
Could have images on each item in the future.
|
||
|
|
||
|
## Mac OS X
|
||
|
Source List NSTableView (need to see how this will work)
|
||
|
|
||
|
## GTK+
|
||
|
GTK_STYLE_CLASS_SIDEBAR (available in 3.4); see how GtkPlacesSidebar implements this
|
||
|
- other programs that do: Rhythmbox
|
||
|
|
||
|
## Windows
|
||
|
????
|