tableviewcolumn.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // Copyright 2013 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 Alignment1D uint
  10. const (
  11. AlignNear Alignment1D = iota
  12. AlignCenter
  13. AlignFar
  14. )
  15. type TableViewColumn struct {
  16. Name string
  17. DataMember string
  18. Format string
  19. Title string
  20. Alignment Alignment1D
  21. Precision int
  22. Width int
  23. Hidden bool
  24. }
  25. func (tvc TableViewColumn) Create(tv *walk.TableView) error {
  26. w := walk.NewTableViewColumn()
  27. if err := w.SetAlignment(walk.Alignment1D(tvc.Alignment)); err != nil {
  28. return err
  29. }
  30. w.SetDataMember(tvc.DataMember)
  31. if tvc.Format != "" {
  32. if err := w.SetFormat(tvc.Format); err != nil {
  33. return err
  34. }
  35. }
  36. if err := w.SetPrecision(tvc.Precision); err != nil {
  37. return err
  38. }
  39. w.SetName(tvc.Name)
  40. if err := w.SetTitle(tvc.Title); err != nil {
  41. return err
  42. }
  43. if err := w.SetVisible(!tvc.Hidden); err != nil {
  44. return err
  45. }
  46. if err := w.SetWidth(tvc.Width); err != nil {
  47. return err
  48. }
  49. return tv.Columns().Add(w)
  50. }