scrollview.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Copyright 2014 The Walk Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. // +build windows
  5. package declarative
  6. import (
  7. "github.com/lxn/walk"
  8. )
  9. type ScrollView struct {
  10. AssignTo **walk.ScrollView
  11. Name string
  12. Enabled Property
  13. Visible Property
  14. Font Font
  15. ToolTipText Property
  16. MinSize Size
  17. MaxSize Size
  18. StretchFactor int
  19. Row int
  20. RowSpan int
  21. Column int
  22. ColumnSpan int
  23. AlwaysConsumeSpace bool
  24. ContextMenuItems []MenuItem
  25. OnKeyDown walk.KeyEventHandler
  26. OnKeyPress walk.KeyEventHandler
  27. OnKeyUp walk.KeyEventHandler
  28. OnMouseDown walk.MouseEventHandler
  29. OnMouseMove walk.MouseEventHandler
  30. OnMouseUp walk.MouseEventHandler
  31. OnSizeChanged walk.EventHandler
  32. DataBinder DataBinder
  33. Layout Layout
  34. Children []Widget
  35. }
  36. func (sv ScrollView) Create(builder *Builder) error {
  37. w, err := walk.NewScrollView(builder.Parent())
  38. if err != nil {
  39. return err
  40. }
  41. w.SetSuspended(true)
  42. builder.Defer(func() error {
  43. w.SetSuspended(false)
  44. return nil
  45. })
  46. return builder.InitWidget(sv, w, func() error {
  47. if sv.AssignTo != nil {
  48. *sv.AssignTo = w
  49. }
  50. return nil
  51. })
  52. }
  53. func (w ScrollView) WidgetInfo() (name string, disabled, hidden bool, font *Font, toolTipText string, minSize, maxSize Size, stretchFactor, row, rowSpan, column, columnSpan int, alwaysConsumeSpace bool, contextMenuItems []MenuItem, OnKeyDown walk.KeyEventHandler, OnKeyPress walk.KeyEventHandler, OnKeyUp walk.KeyEventHandler, OnMouseDown walk.MouseEventHandler, OnMouseMove walk.MouseEventHandler, OnMouseUp walk.MouseEventHandler, OnSizeChanged walk.EventHandler) {
  54. return w.Name, false, false, &w.Font, "", w.MinSize, w.MaxSize, w.StretchFactor, w.Row, w.RowSpan, w.Column, w.ColumnSpan, w.AlwaysConsumeSpace, w.ContextMenuItems, w.OnKeyDown, w.OnKeyPress, w.OnKeyUp, w.OnMouseDown, w.OnMouseMove, w.OnMouseUp, w.OnSizeChanged
  55. }
  56. func (sv ScrollView) ContainerInfo() (DataBinder, Layout, []Widget) {
  57. return sv.DataBinder, sv.Layout, sv.Children
  58. }