fix nil itemForIndex map in initialization of GridView from state
This commit is contained in:
+13
-11
@@ -99,16 +99,20 @@ type GridViewState struct {
|
|||||||
|
|
||||||
var _ fyne.Widget = (*GridView)(nil)
|
var _ fyne.Widget = (*GridView)(nil)
|
||||||
|
|
||||||
|
func newGridView() *GridView {
|
||||||
|
return &GridView{
|
||||||
|
itemWidth: NewGridViewItem(nil).MinSize().Width,
|
||||||
|
itemForIndex: make(map[int]*GridViewItem),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func NewFixedGridView(items []GridViewItemModel, fetch util.ImageFetcher, placeholder fyne.Resource) *GridView {
|
func NewFixedGridView(items []GridViewItemModel, fetch util.ImageFetcher, placeholder fyne.Resource) *GridView {
|
||||||
g := &GridView{
|
g := newGridView()
|
||||||
GridViewState: GridViewState{
|
g.GridViewState = GridViewState{
|
||||||
items: items,
|
items: items,
|
||||||
done: true,
|
done: true,
|
||||||
imageFetcher: fetch,
|
imageFetcher: fetch,
|
||||||
Placeholder: placeholder,
|
Placeholder: placeholder,
|
||||||
},
|
|
||||||
itemWidth: NewGridViewItem(nil).MinSize().Width,
|
|
||||||
itemForIndex: make(map[int]*GridViewItem),
|
|
||||||
}
|
}
|
||||||
g.ExtendBaseWidget(g)
|
g.ExtendBaseWidget(g)
|
||||||
g.createGridWrap()
|
g.createGridWrap()
|
||||||
@@ -116,14 +120,11 @@ func NewFixedGridView(items []GridViewItemModel, fetch util.ImageFetcher, placeh
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewGridView(iter GridViewIterator, fetch util.ImageFetcher, placeholder fyne.Resource) *GridView {
|
func NewGridView(iter GridViewIterator, fetch util.ImageFetcher, placeholder fyne.Resource) *GridView {
|
||||||
g := &GridView{
|
g := newGridView()
|
||||||
GridViewState: GridViewState{
|
g.GridViewState = GridViewState{
|
||||||
iter: iter,
|
iter: iter,
|
||||||
imageFetcher: fetch,
|
imageFetcher: fetch,
|
||||||
Placeholder: placeholder,
|
Placeholder: placeholder,
|
||||||
},
|
|
||||||
itemWidth: NewGridViewItem(nil).MinSize().Width,
|
|
||||||
itemForIndex: make(map[int]*GridViewItem),
|
|
||||||
}
|
}
|
||||||
g.ExtendBaseWidget(g)
|
g.ExtendBaseWidget(g)
|
||||||
g.createGridWrap()
|
g.createGridWrap()
|
||||||
@@ -142,7 +143,8 @@ func (g *GridView) SaveToState() *GridViewState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewGridViewFromState(state *GridViewState) *GridView {
|
func NewGridViewFromState(state *GridViewState) *GridView {
|
||||||
g := &GridView{GridViewState: *state}
|
g := newGridView()
|
||||||
|
g.GridViewState = *state
|
||||||
g.ExtendBaseWidget(g)
|
g.ExtendBaseWidget(g)
|
||||||
g.createGridWrap()
|
g.createGridWrap()
|
||||||
g.Refresh() // needed to initialize the widget
|
g.Refresh() // needed to initialize the widget
|
||||||
|
|||||||
Reference in New Issue
Block a user