Skip to content

Commit

Permalink
Merge pull request #544 from okratitan/scrollerImprovements
Browse files Browse the repository at this point in the history
Scroller Improvements - Add horizontal scrolling and mobile scrolling.

Fixes #132, #465
  • Loading branch information
andydotxyz committed Nov 20, 2019
2 parents 4b7a8fa + b19804e commit 18f06e1
Show file tree
Hide file tree
Showing 6 changed files with 486 additions and 155 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ Luca Corbo <lu.corbo@gmail.com>
Paul Hovey <paul@paulhovey.org>
Charles Corbett <nafredy@gmail.com>
Tilo Prütz <tilo@pruetz.net>
Stephen Houston <smhouston88@gmail.com>
25 changes: 22 additions & 3 deletions cmd/fyne_demo/screens/widget.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,19 +105,37 @@ func makeFormTab() fyne.Widget {
return form
}

func makeScrollTab() fyne.Widget {
func makeScrollTab() fyne.CanvasObject {
logo := canvas.NewImageFromResource(theme.FyneLogo())
logo.SetMinSize(fyne.NewSize(320, 320))
list := widget.NewVBox()
list := widget.NewHBox()
list2 := widget.NewVBox()

for i := 1; i <= 20; i++ {
index := i // capture
list.Append(widget.NewButton(fmt.Sprintf("Button %d", index), func() {
fmt.Println("Tapped", index)
}))
list2.Append(widget.NewButton(fmt.Sprintf("Button %d", index), func() {
fmt.Println("Tapped", index)
}))
}

scroll := widget.NewScrollContainer(list)
scroll.Resize(fyne.NewSize(200, 200))
scroll.Resize(fyne.NewSize(200, 300))

scroll2 := widget.NewScrollContainer(list2)
scroll2.Resize(fyne.NewSize(200, 100))

return fyne.NewContainerWithLayout(layout.NewGridLayout(1), scroll, scroll2)
}

func makeScrollBothTab() fyne.CanvasObject {
logo := canvas.NewImageFromResource(theme.FyneLogo())
logo.SetMinSize(fyne.NewSize(800, 800))

scroll := widget.NewScrollContainer(logo)
scroll.Resize(fyne.NewSize(400, 400))

return scroll
}
Expand All @@ -140,6 +158,7 @@ func WidgetScreen() fyne.CanvasObject {
widget.NewTabItem("Progress", makeProgressTab()),
widget.NewTabItem("Form", makeFormTab()),
widget.NewTabItem("Scroll", makeScrollTab()),
widget.NewTabItem("Full Scroll", makeScrollBothTab()),
),
)
}
1 change: 0 additions & 1 deletion internal/driver/glfw/window.go
Original file line number Diff line number Diff line change
Expand Up @@ -678,7 +678,6 @@ func (w *window) mouseScrolled(viewport *glfw.Window, xoff float64, yoff float64
_, ok := object.(fyne.Scrollable)
return ok
})

switch wid := co.(type) {
case fyne.Scrollable:
ev := &fyne.ScrollEvent{}
Expand Down
Loading

0 comments on commit 18f06e1

Please sign in to comment.