summaryrefslogtreecommitdiff
path: root/redo/proposals/imagelist.md
blob: 612c45b4e24bcd8c9132febee7a2d8ca2ef14304 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Images in Tables and Trees

In yet another "blame Windows" moment:

```go
type ImageList interface {
	Add(image *image.Image)
	Remove(index int)
	Len() int
}
func NewImageList() ImageList

type Table/Tree interface {
	// ...
	LoadImageList(ImageList)
}

type ImageIndex int
```

For Table, a field of type ImageIndex represents an index into the ImageList.

For Tree, there is a field ImageIndex which contains the index of the entry.

Note the name of the methods on both being LoadImageList(): the image list is copied, and any future changes will **not** be reflected. (This is to accomodate check boxes in Table, which must be done manually.)

TODO appropriate size of images in an ImageList