func (tv TableView) Create(builder *Builder) error { var w *walk.TableView var err error if tv.NotSortableByHeaderClick { w, err = walk.NewTableViewWithStyle(builder.Parent(), win.LVS_NOSORTHEADER) } else { w, err = walk.NewTableView(builder.Parent()) } if err != nil { return err } return builder.InitWidget(tv, w, func() error { for i := range tv.Columns { if err := tv.Columns[i].Create(w); err != nil { return err } } if err := w.SetModel(tv.Model); err != nil { return err } if tv.AlternatingRowBGColor != 0 { w.SetAlternatingRowBGColor(tv.AlternatingRowBGColor) } w.SetCheckBoxes(tv.CheckBoxes) w.SetItemStateChangedEventDelay(tv.ItemStateChangedEventDelay) if err := w.SetLastColumnStretched(tv.LastColumnStretched); err != nil { return err } if err := w.SetSingleItemSelection(tv.SingleItemSelection); err != nil { return err } if tv.OnCurrentIndexChanged != nil { w.CurrentIndexChanged().Attach(tv.OnCurrentIndexChanged) } if tv.OnSelectedIndexesChanged != nil { w.SelectedIndexesChanged().Attach(tv.OnSelectedIndexesChanged) } if tv.OnItemActivated != nil { w.ItemActivated().Attach(tv.OnItemActivated) } if tv.AssignTo != nil { *tv.AssignTo = w } return nil }) }