summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-02-28 08:11:13 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-08 10:52:27 +0200
commit0be6669944ff8e28fc352bd4714661917abca0b3 (patch)
tree55b6f75acc5cc805f7d106818ccc04517bb7b63b
parentMerge pull request #510 from zx2c4-forks/jd/forgottableviewcolumn (diff)
downloadwireguard-windows-0be6669944ff8e28fc352bd4714661917abca0b3.tar.xz
wireguard-windows-0be6669944ff8e28fc352bd4714661917abca0b3.zip
declarative: remove
-rw-r--r--declarative/action.go223
-rw-r--r--declarative/brush.go73
-rw-r--r--declarative/builder.go750
-rw-r--r--declarative/checkbox.go103
-rw-r--r--declarative/combobox.go120
-rw-r--r--declarative/composite.go97
-rw-r--r--declarative/customwidget.go86
-rw-r--r--declarative/databinder.go62
-rw-r--r--declarative/dateedit.go96
-rw-r--r--declarative/datelabel.go79
-rw-r--r--declarative/dialog.go180
-rw-r--r--declarative/font.go43
-rw-r--r--declarative/gradientcomposite.go100
-rw-r--r--declarative/groupbox.go87
-rw-r--r--declarative/imageview.go82
-rw-r--r--declarative/interfaces.go124
-rw-r--r--declarative/label.go75
-rw-r--r--declarative/layouts.go170
-rw-r--r--declarative/lineedit.go109
-rw-r--r--declarative/lineerrorpresenter.go66
-rw-r--r--declarative/linklabel.go72
-rw-r--r--declarative/listbox.go110
-rw-r--r--declarative/mainwindow.go214
-rw-r--r--declarative/nonwin.go7
-rw-r--r--declarative/numberedit.go101
-rw-r--r--declarative/numberlabel.go80
-rw-r--r--declarative/progressbar.go79
-rw-r--r--declarative/pushbutton.go81
-rw-r--r--declarative/radiobutton.go83
-rw-r--r--declarative/radiobuttongroup.go104
-rw-r--r--declarative/radiobuttongroupbox.go101
-rw-r--r--declarative/scrollview.go82
-rw-r--r--declarative/separator.go116
-rw-r--r--declarative/slider.go95
-rw-r--r--declarative/spacer.go89
-rw-r--r--declarative/splitbutton.go84
-rw-r--r--declarative/splitter.go154
-rw-r--r--declarative/tableview.go190
-rw-r--r--declarative/tableviewcolumn.go69
-rw-r--r--declarative/tabpage.go80
-rw-r--r--declarative/tabwidget.go93
-rw-r--r--declarative/textedit.go97
-rw-r--r--declarative/textlabel.go93
-rw-r--r--declarative/toolbar.go102
-rw-r--r--declarative/toolbutton.go76
-rw-r--r--declarative/treeview.go91
-rw-r--r--declarative/validators.go75
-rw-r--r--declarative/webview.go158
-rw-r--r--expression.go2
49 files changed, 0 insertions, 5503 deletions
diff --git a/declarative/action.go b/declarative/action.go
deleted file mode 100644
index ca8e2465..00000000
--- a/declarative/action.go
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "fmt"
-)
-
-import (
- "strconv"
-
- "github.com/lxn/walk"
-)
-
-type Shortcut struct {
- Modifiers walk.Modifiers
- Key walk.Key
-}
-
-type Action struct {
- AssignTo **walk.Action
- Text string
- Image interface{}
- Checked Property
- Enabled Property
- Visible Property
- Shortcut Shortcut
- OnTriggered walk.EventHandler
- Checkable bool
-}
-
-func (a Action) createAction(builder *Builder, menu *walk.Menu) (*walk.Action, error) {
- action := walk.NewAction()
-
- if a.AssignTo != nil {
- *a.AssignTo = action
- }
-
- if err := action.SetText(a.Text); err != nil {
- return nil, err
- }
- if err := setActionImage(action, a.Image); err != nil {
- return nil, err
- }
-
- if err := setActionBoolOrCondition(action.SetChecked, action.SetCheckedCondition, a.Checked, "Action.Checked", builder); err != nil {
- return nil, err
- }
- if err := setActionBoolOrCondition(action.SetEnabled, action.SetEnabledCondition, a.Enabled, "Action.Enabled", builder); err != nil {
- return nil, err
- }
- if err := setActionBoolOrCondition(action.SetVisible, action.SetVisibleCondition, a.Visible, "Action.Visible", builder); err != nil {
- return nil, err
- }
-
- if err := action.SetCheckable(a.Checkable || action.CheckedCondition() != nil); err != nil {
- return nil, err
- }
-
- s := a.Shortcut
- if err := action.SetShortcut(walk.Shortcut{s.Modifiers, s.Key}); err != nil {
- return nil, err
- }
-
- if a.OnTriggered != nil {
- action.Triggered().Attach(a.OnTriggered)
- }
-
- if menu != nil {
- if err := menu.Actions().Add(action); err != nil {
- return nil, err
- }
- }
-
- return action, nil
-}
-
-type ActionRef struct {
- Action **walk.Action
-}
-
-func (ar ActionRef) createAction(builder *Builder, menu *walk.Menu) (*walk.Action, error) {
- if menu != nil {
- if err := menu.Actions().Add(*ar.Action); err != nil {
- return nil, err
- }
- }
-
- return *ar.Action, nil
-}
-
-type Menu struct {
- AssignTo **walk.Menu
- AssignActionTo **walk.Action
- Text string
- Image interface{}
- Enabled Property
- Visible Property
- Items []MenuItem
- OnTriggered walk.EventHandler
-}
-
-func (m Menu) createAction(builder *Builder, menu *walk.Menu) (*walk.Action, error) {
- subMenu, err := walk.NewMenu()
- if err != nil {
- return nil, err
- }
-
- var action *walk.Action
- if menu == nil {
- action = walk.NewMenuAction(subMenu)
- } else if action, err = menu.Actions().AddMenu(subMenu); err != nil {
- return nil, err
- }
-
- if err := action.SetText(m.Text); err != nil {
- return nil, err
- }
- if err := setActionImage(action, m.Image); err != nil {
- return nil, err
- }
-
- if err := setActionBoolOrCondition(action.SetEnabled, action.SetEnabledCondition, m.Enabled, "Menu.Enabled", builder); err != nil {
- return nil, err
- }
- if err := setActionBoolOrCondition(action.SetVisible, action.SetVisibleCondition, m.Visible, "Menu.Visible", builder); err != nil {
- return nil, err
- }
-
- for _, item := range m.Items {
- if _, err := item.createAction(builder, subMenu); err != nil {
- return nil, err
- }
- }
-
- if m.OnTriggered != nil {
- action.Triggered().Attach(m.OnTriggered)
- }
-
- if m.AssignActionTo != nil {
- *m.AssignActionTo = action
- }
- if m.AssignTo != nil {
- *m.AssignTo = subMenu
- }
-
- return action, nil
-}
-
-type Separator struct {
-}
-
-func (s Separator) createAction(builder *Builder, menu *walk.Menu) (*walk.Action, error) {
- action := walk.NewSeparatorAction()
-
- if menu != nil {
- if err := menu.Actions().Add(action); err != nil {
- return nil, err
- }
- }
-
- return action, nil
-}
-
-func addToActionList(list *walk.ActionList, actions []*walk.Action) error {
- for _, a := range actions {
- if err := list.Add(a); err != nil {
- return err
- }
- }
-
- return nil
-}
-
-func setActionImage(action *walk.Action, image interface{}) (err error) {
- var bm *walk.Bitmap
-
- switch image := image.(type) {
- case nil:
- return nil
-
- case *walk.Bitmap:
- bm = image
-
- case int:
- var err error
- if bm, err = walk.Resources.Bitmap(strconv.Itoa(image)); err != nil {
- return err
- }
-
- case string:
- if bm, err = walk.Resources.Bitmap(image); err != nil {
- return
- }
-
- default:
- return walk.ErrInvalidType
- }
-
- return action.SetImage(bm)
-}
-
-func setActionBoolOrCondition(setBool func(bool) error, setCond func(walk.Condition), value Property, path string, builder *Builder) error {
- if value != nil {
- if b, ok := value.(bool); ok {
- if err := setBool(b); err != nil {
- return err
- }
- } else if s := builder.conditionOrProperty(value); s != nil {
- if c, ok := s.(walk.Condition); ok {
- setCond(c)
- } else {
- return fmt.Errorf("value of invalid type bound to %s: %T", path, s)
- }
- }
- }
-
- return nil
-}
diff --git a/declarative/brush.go b/declarative/brush.go
deleted file mode 100644
index 46152802..00000000
--- a/declarative/brush.go
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2017 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
- "strconv"
-)
-
-type TransparentBrush struct {
-}
-
-func (TransparentBrush) Create() (walk.Brush, error) {
- return walk.NullBrush(), nil
-}
-
-type SolidColorBrush struct {
- Color walk.Color
-}
-
-func (scb SolidColorBrush) Create() (walk.Brush, error) {
- return walk.NewSolidColorBrush(scb.Color)
-}
-
-type SystemColorBrush struct {
- Color walk.SystemColor
-}
-
-func (scb SystemColorBrush) Create() (walk.Brush, error) {
- return walk.NewSystemColorBrush(scb.Color)
-}
-
-type BitmapBrush struct {
- Image interface{}
-}
-
-func (bb BitmapBrush) Create() (walk.Brush, error) {
- var bmp *walk.Bitmap
- var err error
-
- switch img := bb.Image.(type) {
- case *walk.Bitmap:
- bmp = img
-
- case string:
- if bmp, err = walk.Resources.Bitmap(img); err != nil {
- return nil, err
- }
-
- case int:
- if bmp, err = walk.Resources.Bitmap(strconv.Itoa(img)); err != nil {
- return nil, err
- }
-
- default:
- return nil, walk.ErrInvalidType
- }
-
- return walk.NewBitmapBrush(bmp)
-}
-
-type GradientBrush struct {
- Vertexes []walk.GradientVertex
- Triangles []walk.GradientTriangle
-}
-
-func (gb GradientBrush) Create() (walk.Brush, error) {
- return walk.NewGradientBrush(gb.Vertexes, gb.Triangles)
-}
diff --git a/declarative/builder.go b/declarative/builder.go
deleted file mode 100644
index da0a7788..00000000
--- a/declarative/builder.go
+++ /dev/null
@@ -1,750 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "fmt"
- "reflect"
- "regexp"
-)
-
-import (
- "log"
- "strings"
-
- "github.com/lxn/walk"
- "gopkg.in/Knetic/govaluate.v3"
-)
-
-var (
- conditionsByName = make(map[string]walk.Condition)
- propertyRE = regexp.MustCompile("[A-Za-z]+[0-9A-Za-z]*(\\.[A-Za-z]+[0-9A-Za-z]*)+")
-)
-
-func MustRegisterCondition(name string, condition walk.Condition) {
- if name == "" {
- panic(`name == ""`)
- }
- if condition == nil {
- panic("condition == nil")
- }
- if _, ok := conditionsByName[name]; ok {
- panic("name already registered")
- }
-
- conditionsByName[name] = condition
-}
-
-type declWidget struct {
- d Widget
- w walk.Window
-}
-
-type Builder struct {
- level int
- rows int
- columns int
- row int
- col int
- widgetValue reflect.Value
- parent walk.Container
- declWidgets []declWidget
- name2Window map[string]walk.Window
- name2DataBinder map[string]*walk.DataBinder
- deferredFuncs []func() error
- knownCompositeConditions map[string]walk.Condition
- expressions map[string]walk.Expression
- functions map[string]govaluate.ExpressionFunction
-}
-
-func NewBuilder(parent walk.Container) *Builder {
- return &Builder{
- parent: parent,
- name2Window: make(map[string]walk.Window),
- name2DataBinder: make(map[string]*walk.DataBinder),
- knownCompositeConditions: make(map[string]walk.Condition),
- expressions: make(map[string]walk.Expression),
- functions: make(map[string]govaluate.ExpressionFunction),
- }
-}
-
-func (b *Builder) Parent() walk.Container {
- return b.parent
-}
-
-func (b *Builder) Defer(f func() error) {
- b.deferredFuncs = append(b.deferredFuncs, f)
-}
-
-func (b *Builder) deferBuildMenuActions(menu *walk.Menu, items []MenuItem) {
- if len(items) > 0 {
- b.Defer(func() error {
- for _, item := range items {
- if _, err := item.createAction(b, menu); err != nil {
- return err
- }
- }
-
- return nil
- })
- }
-}
-
-func (b *Builder) deferBuildActions(actionList *walk.ActionList, items []MenuItem) {
- if len(items) > 0 {
- b.Defer(func() error {
- for _, item := range items {
- action, err := item.createAction(b, nil)
- if err != nil {
- return err
- }
- if err := actionList.Add(action); err != nil {
- return err
- }
- }
-
- return nil
- })
- }
-}
-
-func (b *Builder) InitWidget(d Widget, w walk.Window, customInit func() error) error {
- oldWidgetValue := b.widgetValue
- b.widgetValue = reflect.ValueOf(d)
- b.level++
- defer func() {
- b.widgetValue = oldWidgetValue
- b.level--
- }()
-
- var succeeded bool
- defer func() {
- if !succeeded {
- w.Dispose()
- }
- }()
-
- b.declWidgets = append(b.declWidgets, declWidget{d, w})
-
- // Widget
- if name := b.string("Name"); name != "" {
- w.SetName(name)
- b.name2Window[name] = w
- }
-
- if val := b.widgetValue.FieldByName("Background"); val.IsValid() {
- if brush := val.Interface(); brush != nil {
- bg, err := brush.(Brush).Create()
- if err != nil {
- return err
- }
-
- w.SetBackground(bg)
- }
- }
-
- if val := b.widgetValue.FieldByName("Font"); val.IsValid() {
- if f, err := val.Interface().(Font).Create(); err != nil {
- return err
- } else if f != nil {
- w.SetFont(f)
- }
- }
-
- if err := w.SetMinMaxSize(b.size("MinSize").toW(), b.size("MaxSize").toW()); err != nil {
- return err
- }
-
- if contextMenuItems := b.menuItems("ContextMenuItems"); len(contextMenuItems) > 0 {
- cm, err := walk.NewMenu()
- if err != nil {
- return err
- }
-
- b.deferBuildMenuActions(cm, contextMenuItems)
-
- w.SetContextMenu(cm)
- }
-
- if handler := b.eventHandler("OnBoundsChanged"); handler != nil {
- w.BoundsChanged().Attach(handler)
- }
-
- if handler := b.keyEventHandler("OnKeyDown"); handler != nil {
- w.KeyDown().Attach(handler)
- }
-
- if handler := b.keyEventHandler("OnKeyPress"); handler != nil {
- w.KeyPress().Attach(handler)
- }
-
- if handler := b.keyEventHandler("OnKeyUp"); handler != nil {
- w.KeyUp().Attach(handler)
- }
-
- if handler := b.mouseEventHandler("OnMouseDown"); handler != nil {
- w.MouseDown().Attach(handler)
- }
-
- if handler := b.mouseEventHandler("OnMouseMove"); handler != nil {
- w.MouseMove().Attach(handler)
- }
-
- if handler := b.mouseEventHandler("OnMouseUp"); handler != nil {
- w.MouseUp().Attach(handler)
- }
-
- if handler := b.eventHandler("OnSizeChanged"); handler != nil {
- w.SizeChanged().Attach(handler)
- }
-
- if db := b.bool("DoubleBuffering"); db {
- w.SetDoubleBuffering(true)
- }
-
- if rtl := b.bool("RightToLeftReading"); rtl {
- w.SetRightToLeftReading(true)
- }
-
- row := b.int("Row")
- rowSpan := b.int("RowSpan")
- column := b.int("Column")
- columnSpan := b.int("ColumnSpan")
-
- rowBackup := row
- columnBackup := column
-
- if widget, ok := w.(walk.Widget); ok {
- if alignment := b.alignment(); alignment != AlignHVDefault {
- if err := widget.SetAlignment(walk.Alignment2D(alignment)); err != nil {
- return err
- }
- }
-
- if err := widget.SetAlwaysConsumeSpace(b.bool("AlwaysConsumeSpace")); err != nil {
- return err
- }
-
- if field := b.widgetValue.FieldByName("GraphicsEffects"); field.IsValid() {
- for _, effect := range field.Interface().([]walk.WidgetGraphicsEffect) {
- widget.GraphicsEffects().Add(effect)
- }
- }
-
- if p := widget.Parent(); p != nil {
- type SetStretchFactorer interface {
- SetStretchFactor(widget walk.Widget, factor int) error
- }
-
- stretchFactor := b.int("StretchFactor")
-
- if stretchFactor < 1 {
- stretchFactor = 1
- }
-
- switch l := p.Layout().(type) {
- case SetStretchFactorer:
- if err := l.SetStretchFactor(widget, stretchFactor); err != nil {
- return err
- }
-
- case *walk.GridLayout:
- csf := l.ColumnStretchFactor(column)
- if csf < stretchFactor {
- csf = stretchFactor
- }
- l.SetColumnStretchFactor(column, csf)
-
- rsf := l.RowStretchFactor(row)
- if rsf < stretchFactor {
- rsf = stretchFactor
- }
- l.SetRowStretchFactor(row, rsf)
-
- if rowSpan < 1 {
- rowSpan = 1
- }
- if columnSpan < 1 {
- columnSpan = 1
- }
-
- if b.rows > 0 && column == 0 && row == 0 {
- if b.row+rowSpan > b.rows {
- b.col++
- b.row = 0
- }
-
- column = b.col
- row = b.row
-
- b.row += rowSpan
- }
-
- if b.columns > 0 && row == 0 && column == 0 {
- if b.col+columnSpan > b.columns {
- b.row++
- b.col = 0
- }
-
- row = b.row
- column = b.col
-
- b.col += columnSpan
- }
-
- r := walk.Rectangle{column, row, columnSpan, rowSpan}
-
- if err := l.SetRange(widget, r); err != nil {
- return err
- }
- }
- }
- }
-
- oldParent := b.parent
-
- // Container
- var db *walk.DataBinder
- if wc, ok := w.(walk.Container); ok {
- var layout Layout
- if val := b.widgetValue.FieldByName("Layout"); val.IsValid() {
- layout, _ = val.Interface().(Layout)
- }
-
- if layout != nil {
- l, err := layout.Create()
- if err != nil {
- return err
- }
-
- if err := wc.SetLayout(l); err != nil {
- return err
- }
- }
-
- type DelegateContainerer interface {
- DelegateContainer() walk.Container
- }
-
- if dc, ok := wc.(DelegateContainerer); ok {
- if parent := dc.DelegateContainer(); parent != nil {
- b.parent = parent
- } else {
- b.parent = wc
- }
- } else {
- b.parent = wc
- }
- defer func() {
- b.parent = oldParent
- }()
-
- if layout != nil {
- if g, ok := layout.(Grid); ok {
- rowBackup = b.row
- columnBackup = b.col
-
- rows := b.rows
- columns := b.columns
- defer func() {
- b.rows, b.columns, b.row, b.col = rows, columns, rowBackup+rowSpan, columnBackup+columnSpan
- }()
-
- b.rows = g.Rows
- b.columns = g.Columns
- b.row = 0
- b.col = 0
- }
- }
-
- if val := b.widgetValue.FieldByName("Children"); val.IsValid() {
- for _, child := range val.Interface().([]Widget) {
- if err := child.Create(b); err != nil {
- return err
- }
- }
- }
-
- dataBinder := b.widgetValue.FieldByName("DataBinder").Interface().(DataBinder)
-
- if dataBinder.AssignTo != nil || dataBinder.DataSource != nil {
- if dataB, err := dataBinder.create(); err != nil {
- return err
- } else {
- db = dataB
-
- b.name2DataBinder[dataBinder.Name] = db
-
- if ep := db.ErrorPresenter(); ep != nil {
- if dep, ok := ep.(walk.Disposable); ok {
- wc.AddDisposable(dep)
- }
- }
- }
- }
- }
-
- // Custom
- if customInit != nil {
- if err := customInit(); err != nil {
- return err
- }
- }
-
- b.parent = oldParent
-
- if b.level == 1 {
- if err := b.initProperties(); err != nil {
- return err
- }
- }
-
- // Call Reset on DataBinder after customInit, so a Dialog gets a chance to first
- // wire up its DefaultButton to the CanSubmitChanged event of a DataBinder.
- if db != nil {
- if wc, ok := w.(walk.Container); ok {
- b.Defer(func() error {
- // FIXME: Currently SetDataBinder must be called after initProperties.
- wc.SetDataBinder(db)
-
- if db.DataSource() == nil {
- return nil
- }
-
- return db.Reset()
- })
- }
- }
-
- if b.level == 1 {
- for _, f := range b.deferredFuncs {
- if err := f(); err != nil {
- return err
- }
- }
- }
-
- succeeded = true
-
- return nil
-}
-
-func (b *Builder) alignment() Alignment2D {
- fieldValue := b.widgetValue.FieldByName("Alignment")
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(Alignment2D)
- }
-
- return AlignHVDefault
-}
-
-func (b *Builder) bool(fieldName string) bool {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(bool)
- }
-
- return false
-}
-
-func (b *Builder) eventHandler(fieldName string) walk.EventHandler {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(walk.EventHandler)
- }
-
- return nil
-}
-
-func (b *Builder) float64(fieldName string) float64 {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(float64)
- }
-
- return 0
-}
-
-func (b *Builder) int(fieldName string) int {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(int)
- }
-
- return 0
-}
-
-func (b *Builder) keyEventHandler(fieldName string) walk.KeyEventHandler {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(walk.KeyEventHandler)
- }
-
- return nil
-}
-
-func (b *Builder) menuItems(fieldName string) []MenuItem {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().([]MenuItem)
- }
-
- return nil
-}
-
-func (b *Builder) mouseEventHandler(fieldName string) walk.MouseEventHandler {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(walk.MouseEventHandler)
- }
-
- return nil
-}
-
-func (b *Builder) size(fieldName string) Size {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(Size)
- }
-
- return Size{}
-}
-
-func (b *Builder) string(fieldName string) string {
- fieldValue := b.widgetValue.FieldByName(fieldName)
-
- if fieldValue.IsValid() {
- return fieldValue.Interface().(string)
- }
-
- return ""
-}
-
-func (b *Builder) initProperties() error {
- for _, dw := range b.declWidgets {
- d, w := dw.d, dw.w
-
- sv := reflect.ValueOf(d)
- st := sv.Type()
- if st.Kind() != reflect.Struct {
- panic("d must be a struct value")
- }
-
- wb := w.AsWindowBase()
-
- fieldCount := st.NumField()
- for i := 0; i < fieldCount; i++ {
- sf := st.Field(i)
-
- prop := wb.Property(sf.Name)
-
- switch val := sv.Field(i).Interface().(type) {
- case nil:
- // nop
-
- case bindData:
- if prop == nil {
- panic(sf.Name + " is not a property")
- }
-
- src := b.conditionOrProperty(val)
-
- if src == nil {
- // No luck so far, so we assume the expression refers to
- // something in the data source.
- src = val.expression
-
- if val.validator != nil {
- validator, err := val.validator.Create()
- if err != nil {
- return err
- }
- if err := prop.SetValidator(validator); err != nil {
- return err
- }
- }
- }
-
- if err := prop.SetSource(src); err != nil {
- return err
- }
-
- case walk.Condition:
- if prop == nil {
- panic(sf.Name + " is not a property")
- }
-
- if err := prop.SetSource(val); err != nil {
- return err
- }
-
- default:
- if prop == nil {
- continue
- }
-
- if err := prop.Set(val); err != nil {
- return err
- }
- }
- }
- }
-
- return nil
-}
-
-func (b *Builder) conditionOrProperty(data Property) interface{} {
- switch val := data.(type) {
- case bindData:
- if val.expression == "" {
- return nil
- }
-
- e := &expression{
- text: val.expression,
- subExprsByPath: subExpressions(make(map[string]walk.Expression)),
- }
-
- var singleExpr walk.Expression
-
- text := propertyRE.ReplaceAllStringFunc(val.expression, func(s string) string {
- if _, ok := e.subExprsByPath[s]; !ok {
- parts := strings.Split(s, ".")
-
- if w, ok := b.name2Window[parts[0]]; ok {
- if prop := w.AsWindowBase().Property(parts[1]); prop != nil {
- if len(s) == len(val.expression) {
- singleExpr = prop
- return ""
- }
-
- if len(parts) == 2 {
- e.addSubExpression(s, prop)
- } else {
- e.addSubExpression(s, walk.NewReflectExpression(prop, s[len(parts[0])+len(parts[1])+2:]))
- }
- } else {
- panic(fmt.Errorf(`invalid sub expression: "%s"`, s))
- }
- } else if db, ok := b.name2DataBinder[parts[0]]; ok {
- e.addSubExpression(s, db.Expression(s[len(parts[0])+1:]))
- } else if expr, ok := b.expressions[parts[0]]; ok {
- e.addSubExpression(s, walk.NewReflectExpression(expr, s[len(parts[0])+1:]))
- }
- }
-
- return strings.Replace(s, ".", "\\.", -1)
- })
-
- if singleExpr != nil {
- return singleExpr
- }
-
- expr, err := govaluate.NewEvaluableExpressionWithFunctions(text, b.functions)
- if err != nil {
- panic(fmt.Errorf(`invalid expression "%s": %s`, e.text, err.Error()))
- }
-
- for _, token := range expr.Tokens() {
- if token.Kind == govaluate.VARIABLE {
- name := token.Value.(string)
- if c, ok := conditionsByName[name]; ok {
- e.addSubExpression(name, c)
- }
- if x, ok := b.expressions[name]; ok {
- e.addSubExpression(name, x)
- }
- }
- }
-
- e.expr = expr
-
- if _, err := e.expr.Eval(e.subExprsByPath); err != nil {
- // We hope for the best and leave it to a DataBinder...
- return nil
- }
-
- if _, ok := e.Value().(bool); ok {
- return &boolExpression{expression: e}
- }
-
- return e
-
- case walk.Expression:
- return val
- }
-
- return nil
-}
-
-type expression struct {
- expr *govaluate.EvaluableExpression
- text string
- subExprsByPath subExpressions
- subExprsChangedHandles []int
- changedPublisher walk.EventPublisher
- lastReportedValue interface{}
-}
-
-type subExpressions map[string]walk.Expression
-
-func (se subExpressions) Get(name string) (interface{}, error) {
- if sub, ok := se[name]; ok {
- return sub.Value(), nil
- }
-
- return nil, fmt.Errorf(`invalid sub expression: "%s"`, name)
-}
-
-func (e *expression) String() string {
- return e.text
-}
-
-func (e *expression) Value() interface{} {
- val, err := e.expr.Eval(e.subExprsByPath)
- if err != nil {
- log.Printf(`walk - failed to evaluate expression "%s": %s`, e.text, err.Error())
- }
-
- e.lastReportedValue = val
-
- return val
-}
-
-func (e *expression) Changed() *walk.Event {
- return e.changedPublisher.Event()
-}
-
-func (e *expression) addSubExpression(path string, subExpr walk.Expression) {
- e.subExprsByPath[path] = subExpr
-
- handle := subExpr.Changed().Attach(func() {
- last := e.lastReportedValue
- if v := e.Value(); v != last {
- e.changedPublisher.Publish()
- }
- })
- e.subExprsChangedHandles = append(e.subExprsChangedHandles, handle)
-}
-
-type boolExpression struct {
- *expression
-}
-
-func (be *boolExpression) Satisfied() bool {
- satisfied, ok := be.Value().(bool)
- return ok && satisfied
-}
diff --git a/declarative/checkbox.go b/declarative/checkbox.go
deleted file mode 100644
index 5c551c38..00000000
--- a/declarative/checkbox.go
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type CheckBox struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Button
-
- Checked Property
- OnCheckedChanged walk.EventHandler
- OnClicked walk.EventHandler
- Text Property
-
- // CheckBox
-
- AssignTo **walk.CheckBox
- CheckState Property
- OnCheckStateChanged walk.EventHandler
- TextOnLeftSide bool
- Tristate bool
-}
-
-func (cb CheckBox) Create(builder *Builder) error {
- w, err := walk.NewCheckBox(builder.Parent())
- if err != nil {
- return err
- }
-
- if cb.AssignTo != nil {
- *cb.AssignTo = w
- }
-
- return builder.InitWidget(cb, w, func() error {
- w.SetPersistent(cb.Persistent)
-
- if err := w.SetTextOnLeftSide(cb.TextOnLeftSide); err != nil {
- return err
- }
-
- if err := w.SetTristate(cb.Tristate); err != nil {
- return err
- }
-
- if cb.Tristate && cb.CheckState == nil {
- w.SetCheckState(walk.CheckIndeterminate)
- }
-
- if cb.OnClicked != nil {
- w.Clicked().Attach(cb.OnClicked)
- }
-
- if cb.OnCheckedChanged != nil {
- w.CheckedChanged().Attach(cb.OnCheckedChanged)
- }
-
- if cb.OnCheckStateChanged != nil {
- w.CheckStateChanged().Attach(cb.OnCheckStateChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/combobox.go b/declarative/combobox.go
deleted file mode 100644
index 28694645..00000000
--- a/declarative/combobox.go
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "errors"
-)
-
-import (
- "github.com/lxn/walk"
-)
-
-type ComboBox struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // ComboBox
-
- AssignTo **walk.ComboBox
- BindingMember string
- CurrentIndex Property
- DisplayMember string
- Editable bool
- Format string
- MaxLength int
- Model interface{}
- OnCurrentIndexChanged walk.EventHandler
- OnEditingFinished walk.EventHandler
- OnTextChanged walk.EventHandler
- Precision int
- Value Property
-}
-
-func (cb ComboBox) Create(builder *Builder) error {
- if _, ok := cb.Model.([]string); ok &&
- (cb.BindingMember != "" || cb.DisplayMember != "") {
-
- return errors.New("ComboBox.Create: BindingMember and DisplayMember must be empty for []string models.")
- }
-
- var w *walk.ComboBox
- var err error
- if cb.Editable {
- w, err = walk.NewComboBox(builder.Parent())
- } else {
- w, err = walk.NewDropDownBox(builder.Parent())
- }
- if err != nil {
- return err
- }
-
- if cb.AssignTo != nil {
- *cb.AssignTo = w
- }
-
- return builder.InitWidget(cb, w, func() error {
- w.SetPersistent(cb.Persistent)
- w.SetFormat(cb.Format)
- w.SetPrecision(cb.Precision)
- w.SetMaxLength(cb.MaxLength)
-
- if err := w.SetBindingMember(cb.BindingMember); err != nil {
- return err
- }
- if err := w.SetDisplayMember(cb.DisplayMember); err != nil {
- return err
- }
-
- if err := w.SetModel(cb.Model); err != nil {
- return err
- }
-
- if cb.OnCurrentIndexChanged != nil {
- w.CurrentIndexChanged().Attach(cb.OnCurrentIndexChanged)
- }
- if cb.OnEditingFinished != nil {
- w.EditingFinished().Attach(cb.OnEditingFinished)
- }
- if cb.OnTextChanged != nil {
- w.TextChanged().Attach(cb.OnTextChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/composite.go b/declarative/composite.go
deleted file mode 100644
index d466b26b..00000000
--- a/declarative/composite.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
- "github.com/lxn/win"
-)
-
-type Composite struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // Composite
-
- AssignTo **walk.Composite
- Border bool
- Expressions func() map[string]walk.Expression
- Functions map[string]func(args ...interface{}) (interface{}, error)
-}
-
-func (c Composite) Create(builder *Builder) error {
- var style uint32
- if c.Border {
- style |= win.WS_BORDER
- }
- w, err := walk.NewCompositeWithStyle(builder.Parent(), style)
- if err != nil {
- return err
- }
-
- if c.AssignTo != nil {
- *c.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- return builder.InitWidget(c, w, func() error {
- if c.Expressions != nil {
- for name, expr := range c.Expressions() {
- builder.expressions[name] = expr
- }
- }
- if c.Functions != nil {
- for name, fn := range c.Functions {
- builder.functions[name] = fn
- }
- }
-
- return nil
- })
-}
diff --git a/declarative/customwidget.go b/declarative/customwidget.go
deleted file mode 100644
index 8dd3c5ce..00000000
--- a/declarative/customwidget.go
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type PaintMode int
-
-const (
- PaintNormal PaintMode = iota // erase background before PaintFunc
- PaintNoErase // PaintFunc clears background, single buffered
- PaintBuffered // PaintFunc clears background, double buffered
-)
-
-type CustomWidget struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // CustomWidget
-
- AssignTo **walk.CustomWidget
- ClearsBackground bool
- InvalidatesOnResize bool
- Paint walk.PaintFunc
- PaintMode PaintMode
- Style uint32
-}
-
-func (cw CustomWidget) Create(builder *Builder) error {
- w, err := walk.NewCustomWidget(builder.Parent(), uint(cw.Style), cw.Paint)
- if err != nil {
- return err
- }
-
- if cw.AssignTo != nil {
- *cw.AssignTo = w
- }
-
- return builder.InitWidget(cw, w, func() error {
- if cw.PaintMode != PaintNormal && cw.ClearsBackground {
- panic("PaintMode and ClearsBackground are incompatible")
- }
- w.SetClearsBackground(cw.ClearsBackground)
- w.SetInvalidatesOnResize(cw.InvalidatesOnResize)
- w.SetPaintMode(walk.PaintMode(cw.PaintMode))
-
- return nil
- })
-}
diff --git a/declarative/databinder.go b/declarative/databinder.go
deleted file mode 100644
index 665ae210..00000000
--- a/declarative/databinder.go
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "time"
-
- "github.com/lxn/walk"
-)
-
-type DataBinder struct {
- AssignTo **walk.DataBinder
- AutoSubmit bool
- AutoSubmitDelay time.Duration
- DataSource interface{}
- ErrorPresenter ErrorPresenter
- Name string
- OnCanSubmitChanged walk.EventHandler
- OnDataSourceChanged walk.EventHandler
- OnReset walk.EventHandler
- OnSubmitted walk.EventHandler
-}
-
-func (db DataBinder) create() (*walk.DataBinder, error) {
- b := walk.NewDataBinder()
-
- if db.AssignTo != nil {
- *db.AssignTo = b
- }
-
- if db.ErrorPresenter != nil {
- ep, err := db.ErrorPresenter.Create()
- if err != nil {
- return nil, err
- }
- b.SetErrorPresenter(ep)
- }
-
- b.SetDataSource(db.DataSource)
-
- b.SetAutoSubmit(db.AutoSubmit)
- b.SetAutoSubmitDelay(db.AutoSubmitDelay)
-
- if db.OnCanSubmitChanged != nil {
- b.CanSubmitChanged().Attach(db.OnCanSubmitChanged)
- }
- if db.OnDataSourceChanged != nil {
- b.DataSourceChanged().Attach(db.OnDataSourceChanged)
- }
- if db.OnReset != nil {
- b.ResetFinished().Attach(db.OnReset)
- }
- if db.OnSubmitted != nil {
- b.Submitted().Attach(db.OnSubmitted)
- }
-
- return b, nil
-}
diff --git a/declarative/dateedit.go b/declarative/dateedit.go
deleted file mode 100644
index 9a933c81..00000000
--- a/declarative/dateedit.go
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "time"
-)
-
-import (
- "github.com/lxn/walk"
-)
-
-type DateEdit struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // DateEdit
-
- AssignTo **walk.DateEdit
- Date Property
- Format string
- MaxDate time.Time
- MinDate time.Time
- NoneOption bool // Deprecated: use Optional instead
- OnDateChanged walk.EventHandler
- Optional bool
-}
-
-func (de DateEdit) Create(builder *Builder) error {
- var w *walk.DateEdit
- var err error
-
- if de.Optional || de.NoneOption {
- w, err = walk.NewDateEditWithNoneOption(builder.Parent())
- } else {
- w, err = walk.NewDateEdit(builder.Parent())
- }
- if err != nil {
- return err
- }
-
- if de.AssignTo != nil {
- *de.AssignTo = w
- }
-
- return builder.InitWidget(de, w, func() error {
- if err := w.SetFormat(de.Format); err != nil {
- return err
- }
-
- if err := w.SetRange(de.MinDate, de.MaxDate); err != nil {
- return err
- }
-
- if de.OnDateChanged != nil {
- w.DateChanged().Attach(de.OnDateChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/datelabel.go b/declarative/datelabel.go
deleted file mode 100644
index 0591fec7..00000000
--- a/declarative/datelabel.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2018 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type DateLabel struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // static
-
- TextColor walk.Color
-
- // DateLabel
-
- AssignTo **walk.DateLabel
- Date Property
- Format Property
- TextAlignment Alignment1D
-}
-
-func (dl DateLabel) Create(builder *Builder) error {
- w, err := walk.NewDateLabel(builder.Parent())
- if err != nil {
- return err
- }
-
- if dl.AssignTo != nil {
- *dl.AssignTo = w
- }
-
- return builder.InitWidget(dl, w, func() error {
- if err := w.SetTextAlignment(walk.Alignment1D(dl.TextAlignment)); err != nil {
- return err
- }
-
- w.SetTextColor(dl.TextColor)
-
- return nil
- })
-}
diff --git a/declarative/dialog.go b/declarative/dialog.go
deleted file mode 100644
index 87590f4f..00000000
--- a/declarative/dialog.go
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type Dialog struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftLayout bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Container
-
- DataBinder DataBinder
- Layout Layout
- Children []Widget
-
- // Form
-
- Expressions func() map[string]walk.Expression
- Functions map[string]func(args ...interface{}) (interface{}, error)
- Icon Property
- Title Property
- Size Size
-
- // Dialog
-
- AssignTo **walk.Dialog
- CancelButton **walk.PushButton
- DefaultButton **walk.PushButton
- FixedSize bool
-}
-
-func (d Dialog) Create(owner walk.Form) error {
- var w *walk.Dialog
- var err error
-
- if d.FixedSize {
- w, err = walk.NewDialogWithFixedSize(owner)
- } else {
- w, err = walk.NewDialog(owner)
- }
- if err != nil {
- return err
- }
-
- if d.AssignTo != nil {
- *d.AssignTo = w
- }
-
- fi := formInfo{
- // Window
- Background: d.Background,
- ContextMenuItems: d.ContextMenuItems,
- DoubleBuffering: d.DoubleBuffering,
- Enabled: d.Enabled,
- Font: d.Font,
- MaxSize: d.MaxSize,
- MinSize: d.MinSize,
- Name: d.Name,
- OnBoundsChanged: d.OnBoundsChanged,
- OnKeyDown: d.OnKeyDown,
- OnKeyPress: d.OnKeyPress,
- OnKeyUp: d.OnKeyUp,
- OnMouseDown: d.OnMouseDown,
- OnMouseMove: d.OnMouseMove,
- OnMouseUp: d.OnMouseUp,
- OnSizeChanged: d.OnSizeChanged,
- RightToLeftReading: d.RightToLeftReading,
- ToolTipText: "",
- Visible: d.Visible,
-
- // Container
- Children: d.Children,
- DataBinder: d.DataBinder,
- Layout: d.Layout,
-
- // Form
- Icon: d.Icon,
- Title: d.Title,
- }
-
- var db *walk.DataBinder
- if d.DataBinder.AssignTo == nil {
- d.DataBinder.AssignTo = &db
- }
-
- builder := NewBuilder(nil)
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- w.SetBoundsPixels(w.BoundsPixels())
- return nil
- })
-
- if err := w.SetRightToLeftLayout(d.RightToLeftLayout); err != nil {
- return err
- }
-
- return builder.InitWidget(fi, w, func() error {
- if err := w.SetSizePixels(d.Size.toW()); err != nil {
- return err
- }
-
- if d.DefaultButton != nil {
- if err := w.SetDefaultButton(*d.DefaultButton); err != nil {
- return err
- }
-
- if db := *d.DataBinder.AssignTo; db != nil {
- if db.DataSource() != nil {
- (*d.DefaultButton).SetEnabled(db.CanSubmit())
- }
-
- db.CanSubmitChanged().Attach(func() {
- (*d.DefaultButton).SetEnabled(db.CanSubmit())
- })
- }
- }
- if d.CancelButton != nil {
- if err := w.SetCancelButton(*d.CancelButton); err != nil {
- return err
- }
- }
-
- if d.Expressions != nil {
- for name, expr := range d.Expressions() {
- builder.expressions[name] = expr
- }
- }
- if d.Functions != nil {
- for name, fn := range d.Functions {
- builder.functions[name] = fn
- }
- }
-
- return nil
- })
-}
-
-func (d Dialog) Run(owner walk.Form) (int, error) {
- var w *walk.Dialog
-
- if d.AssignTo == nil {
- d.AssignTo = &w
- }
-
- if err := d.Create(owner); err != nil {
- return 0, err
- }
-
- return (*d.AssignTo).Run(), nil
-}
diff --git a/declarative/font.go b/declarative/font.go
deleted file mode 100644
index ecd81363..00000000
--- a/declarative/font.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type Font struct {
- Family string
- PointSize int
- Bold bool
- Italic bool
- Underline bool
- StrikeOut bool
-}
-
-func (f Font) Create() (*walk.Font, error) {
- if f.Family == "" && f.PointSize == 0 {
- return nil, nil
- }
-
- var fs walk.FontStyle
-
- if f.Bold {
- fs |= walk.FontBold
- }
- if f.Italic {
- fs |= walk.FontItalic
- }
- if f.Underline {
- fs |= walk.FontUnderline
- }
- if f.StrikeOut {
- fs |= walk.FontStrikeOut
- }
-
- return walk.NewFont(f.Family, f.PointSize, fs)
-}
diff --git a/declarative/gradientcomposite.go b/declarative/gradientcomposite.go
deleted file mode 100644
index 7527b20a..00000000
--- a/declarative/gradientcomposite.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2017 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
- "github.com/lxn/win"
-)
-
-type GradientComposite struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- Layout Layout
- DataBinder DataBinder
-
- // GradientComposite
-
- AssignTo **walk.GradientComposite
- Border bool
- Color1 Property
- Color2 Property
- Expressions func() map[string]walk.Expression
- Functions map[string]func(args ...interface{}) (interface{}, error)
- Vertical Property
-}
-
-func (gc GradientComposite) Create(builder *Builder) error {
- var style uint32
- if gc.Border {
- style |= win.WS_BORDER
- }
- w, err := walk.NewGradientCompositeWithStyle(builder.Parent(), style)
- if err != nil {
- return err
- }
-
- if gc.AssignTo != nil {
- *gc.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- return builder.InitWidget(gc, w, func() error {
- if gc.Expressions != nil {
- for name, expr := range gc.Expressions() {
- builder.expressions[name] = expr
- }
- }
- if gc.Functions != nil {
- for name, fn := range gc.Functions {
- builder.functions[name] = fn
- }
- }
-
- return nil
- })
-}
diff --git a/declarative/groupbox.go b/declarative/groupbox.go
deleted file mode 100644
index 0d60b998..00000000
--- a/declarative/groupbox.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type GroupBox struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // GroupBox
-
- AssignTo **walk.GroupBox
- Checkable bool
- Checked Property
- Title string
-}
-
-func (gb GroupBox) Create(builder *Builder) error {
- w, err := walk.NewGroupBox(builder.Parent())
- if err != nil {
- return err
- }
-
- if gb.AssignTo != nil {
- *gb.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- return builder.InitWidget(gb, w, func() error {
- if err := w.SetTitle(gb.Title); err != nil {
- return err
- }
-
- w.SetCheckable(gb.Checkable)
-
- return nil
- })
-}
diff --git a/declarative/imageview.go b/declarative/imageview.go
deleted file mode 100644
index 8e208824..00000000
--- a/declarative/imageview.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type ImageViewMode int
-
-const (
- ImageViewModeIdeal = ImageViewMode(walk.ImageViewModeIdeal)
- ImageViewModeCorner = ImageViewMode(walk.ImageViewModeCorner)
- ImageViewModeCenter = ImageViewMode(walk.ImageViewModeCenter)
- ImageViewModeShrink = ImageViewMode(walk.ImageViewModeShrink)
- ImageViewModeZoom = ImageViewMode(walk.ImageViewModeZoom)
- ImageViewModeStretch = ImageViewMode(walk.ImageViewModeStretch)
-)
-
-type ImageView struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // ImageView
-
- AssignTo **walk.ImageView
- Image Property
- Margin Property
- Mode ImageViewMode
-}
-
-func (iv ImageView) Create(builder *Builder) error {
- w, err := walk.NewImageView(builder.Parent())
- if err != nil {
- return err
- }
-
- if iv.AssignTo != nil {
- *iv.AssignTo = w
- }
-
- return builder.InitWidget(iv, w, func() error {
- w.SetMode(walk.ImageViewMode(iv.Mode))
-
- return nil
- })
-}
diff --git a/declarative/interfaces.go b/declarative/interfaces.go
deleted file mode 100644
index 8f300ac7..00000000
--- a/declarative/interfaces.go
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-func tr(source string, context ...string) string {
- if translation := walk.TranslationFunc(); translation != nil {
- return translation(source, context...)
- }
-
- return source
-}
-
-type Property interface{}
-
-type bindData struct {
- expression string
- validator Validator
-}
-
-func Bind(expression string, validators ...Validator) Property {
- bd := bindData{expression: expression}
- switch len(validators) {
- case 0:
- // nop
-
- case 1:
- bd.validator = validators[0]
-
- default:
- bd.validator = dMultiValidator{validators}
- }
-
- return bd
-}
-
-type Brush interface {
- Create() (walk.Brush, error)
-}
-
-type Layout interface {
- Create() (walk.Layout, error)
-}
-
-type Widget interface {
- Create(builder *Builder) error
-}
-
-type MenuItem interface {
- createAction(builder *Builder, menu *walk.Menu) (*walk.Action, error)
-}
-
-type Validator interface {
- Create() (walk.Validator, error)
-}
-
-type ErrorPresenter interface {
- Create() (walk.ErrorPresenter, error)
-}
-
-type ErrorPresenterRef struct {
- ErrorPresenter *walk.ErrorPresenter
-}
-
-func (epr ErrorPresenterRef) Create() (walk.ErrorPresenter, error) {
- if epr.ErrorPresenter != nil {
- return *epr.ErrorPresenter, nil
- }
-
- return nil, nil
-}
-
-type ToolTipErrorPresenter struct {
-}
-
-func (ToolTipErrorPresenter) Create() (walk.ErrorPresenter, error) {
- return walk.NewToolTipErrorPresenter()
-}
-
-type formInfo struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- RightToLeftReading bool
- ToolTipText string
- Visible Property
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // Form
-
- Icon Property
- Title Property
-}
-
-func (formInfo) Create(builder *Builder) error {
- return nil
-}
diff --git a/declarative/label.go b/declarative/label.go
deleted file mode 100644
index 68d31a24..00000000
--- a/declarative/label.go
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type Label struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Label
-
- AssignTo **walk.Label
- Text Property
- TextAlignment Alignment1D
- TextColor walk.Color
-}
-
-func (l Label) Create(builder *Builder) error {
- w, err := walk.NewLabel(builder.Parent())
- if err != nil {
- return err
- }
-
- if l.AssignTo != nil {
- *l.AssignTo = w
- }
-
- return builder.InitWidget(l, w, func() error {
- if err := w.SetTextAlignment(walk.Alignment1D(l.TextAlignment)); err != nil {
- return err
- }
-
- w.SetTextColor(l.TextColor)
-
- return nil
- })
-}
diff --git a/declarative/layouts.go b/declarative/layouts.go
deleted file mode 100644
index 158a0cbb..00000000
--- a/declarative/layouts.go
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "errors"
-
- "github.com/lxn/walk"
-)
-
-type Orientation byte
-
-const (
- Horizontal Orientation = Orientation(walk.Horizontal)
- Vertical Orientation = Orientation(walk.Vertical)
-)
-
-type Margins struct {
- Left int
- Top int
- Right int
- Bottom int
-}
-
-func (m Margins) isZero() bool {
- return m.Left == 0 && m.Top == 0 && m.Right == 0 && m.Bottom == 0
-}
-
-func (m Margins) toW() walk.Margins {
- return walk.Margins{m.Left, m.Top, m.Right, m.Bottom}
-}
-
-type Size struct {
- Width int
- Height int
-}
-
-func (s Size) toW() walk.Size {
- return walk.Size{s.Width, s.Height}
-}
-
-func setLayoutMargins(layout walk.Layout, margins Margins, marginsZero bool) error {
- if !marginsZero && margins.isZero() {
- margins = Margins{9, 9, 9, 9}
- }
-
- return layout.SetMargins(margins.toW())
-}
-
-func setLayoutSpacing(layout walk.Layout, spacing int, spacingZero bool) error {
- if !spacingZero && spacing == 0 {
- spacing = 6
- }
-
- return layout.SetSpacing(spacing)
-}
-
-type HBox struct {
- Margins Margins
- Alignment Alignment2D
- Spacing int
- MarginsZero bool
- SpacingZero bool
-}
-
-func (hb HBox) Create() (walk.Layout, error) {
- l := walk.NewHBoxLayout()
-
- if err := setLayoutMargins(l, hb.Margins, hb.MarginsZero); err != nil {
- return nil, err
- }
-
- if err := setLayoutSpacing(l, hb.Spacing, hb.SpacingZero); err != nil {
- return nil, err
- }
-
- if err := l.SetAlignment(walk.Alignment2D(hb.Alignment)); err != nil {
- return nil, err
- }
-
- return l, nil
-}
-
-type VBox struct {
- Margins Margins
- Alignment Alignment2D
- Spacing int
- MarginsZero bool
- SpacingZero bool
-}
-
-func (vb VBox) Create() (walk.Layout, error) {
- l := walk.NewVBoxLayout()
-
- if err := setLayoutMargins(l, vb.Margins, vb.MarginsZero); err != nil {
- return nil, err
- }
-
- if err := setLayoutSpacing(l, vb.Spacing, vb.SpacingZero); err != nil {
- return nil, err
- }
-
- if err := l.SetAlignment(walk.Alignment2D(vb.Alignment)); err != nil {
- return nil, err
- }
-
- return l, nil
-}
-
-type Grid struct {
- Rows int
- Columns int
- Margins Margins
- Alignment Alignment2D
- Spacing int
- MarginsZero bool
- SpacingZero bool
-}
-
-func (g Grid) Create() (walk.Layout, error) {
- if g.Rows > 0 && g.Columns > 0 {
- return nil, errors.New("only one of Rows and Columns may be > 0")
- }
-
- l := walk.NewGridLayout()
-
- if err := setLayoutMargins(l, g.Margins, g.MarginsZero); err != nil {
- return nil, err
- }
-
- if err := setLayoutSpacing(l, g.Spacing, g.SpacingZero); err != nil {
- return nil, err
- }
-
- if err := l.SetAlignment(walk.Alignment2D(g.Alignment)); err != nil {
- return nil, err
- }
-
- return l, nil
-}
-
-type Flow struct {
- Margins Margins
- Alignment Alignment2D
- Spacing int
- MarginsZero bool
- SpacingZero bool
-}
-
-func (f Flow) Create() (walk.Layout, error) {
- l := walk.NewFlowLayout()
-
- if err := setLayoutMargins(l, f.Margins, f.MarginsZero); err != nil {
- return nil, err
- }
-
- if err := setLayoutSpacing(l, f.Spacing, f.SpacingZero); err != nil {
- return nil, err
- }
-
- if err := l.SetAlignment(walk.Alignment2D(f.Alignment)); err != nil {
- return nil, err
- }
-
- return l, nil
-}
diff --git a/declarative/lineedit.go b/declarative/lineedit.go
deleted file mode 100644
index d4f52e7f..00000000
--- a/declarative/lineedit.go
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type CaseMode uint32
-
-const (
- CaseModeMixed CaseMode = CaseMode(walk.CaseModeMixed)
- CaseModeUpper CaseMode = CaseMode(walk.CaseModeUpper)
- CaseModeLower CaseMode = CaseMode(walk.CaseModeLower)
-)
-
-type LineEdit struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // LineEdit
-
- AssignTo **walk.LineEdit
- CaseMode CaseMode
- CueBanner string
- MaxLength int
- OnEditingFinished walk.EventHandler
- OnTextChanged walk.EventHandler
- PasswordMode bool
- ReadOnly Property
- Text Property
- TextAlignment Alignment1D
- TextColor walk.Color
-}
-
-func (le LineEdit) Create(builder *Builder) error {
- w, err := walk.NewLineEdit(builder.Parent())
- if err != nil {
- return err
- }
-
- if le.AssignTo != nil {
- *le.AssignTo = w
- }
-
- return builder.InitWidget(le, w, func() error {
- w.SetTextColor(le.TextColor)
-
- if err := w.SetTextAlignment(walk.Alignment1D(le.TextAlignment)); err != nil {
- return err
- }
-
- if le.CueBanner != "" {
- if err := w.SetCueBanner(le.CueBanner); err != nil {
- return err
- }
- }
- w.SetMaxLength(le.MaxLength)
- w.SetPasswordMode(le.PasswordMode)
-
- if err := w.SetCaseMode(walk.CaseMode(le.CaseMode)); err != nil {
- return err
- }
-
- if le.OnEditingFinished != nil {
- w.EditingFinished().Attach(le.OnEditingFinished)
- }
- if le.OnTextChanged != nil {
- w.TextChanged().Attach(le.OnTextChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/lineerrorpresenter.go b/declarative/lineerrorpresenter.go
deleted file mode 100644
index 49a5d4f4..00000000
--- a/declarative/lineerrorpresenter.go
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type LineErrorPresenter struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // LineErrorPresenter
-
- AssignTo *walk.ErrorPresenter
-}
-
-func (lep LineErrorPresenter) Create(builder *Builder) error {
- w, err := walk.NewLineErrorPresenter(builder.Parent())
- if err != nil {
- return err
- }
-
- if lep.AssignTo != nil {
- *lep.AssignTo = w
- }
-
- return builder.InitWidget(lep, w, func() error {
- return nil
- })
-}
diff --git a/declarative/linklabel.go b/declarative/linklabel.go
deleted file mode 100644
index 16ad4505..00000000
--- a/declarative/linklabel.go
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2017 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type LinkLabel struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // LinkLabel
-
- AssignTo **walk.LinkLabel
- OnLinkActivated walk.LinkLabelLinkEventHandler
- Text Property
-}
-
-func (ll LinkLabel) Create(builder *Builder) error {
- w, err := walk.NewLinkLabel(builder.Parent())
- if err != nil {
- return err
- }
-
- if ll.AssignTo != nil {
- *ll.AssignTo = w
- }
-
- return builder.InitWidget(ll, w, func() error {
- if ll.OnLinkActivated != nil {
- w.LinkActivated().Attach(ll.OnLinkActivated)
- }
-
- return nil
- })
-}
diff --git a/declarative/listbox.go b/declarative/listbox.go
deleted file mode 100644
index 41e9208d..00000000
--- a/declarative/listbox.go
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "errors"
-)
-
-import (
- "github.com/lxn/walk"
- "github.com/lxn/win"
-)
-
-type ListBox struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // ListBox
-
- AssignTo **walk.ListBox
- DataMember string
- Format string
- Model interface{}
- MultiSelection bool
- OnCurrentIndexChanged walk.EventHandler
- OnItemActivated walk.EventHandler
- OnSelectedIndexesChanged walk.EventHandler
- Precision int
-}
-
-func (lb ListBox) Create(builder *Builder) error {
- var w *walk.ListBox
- var err error
- if _, ok := lb.Model.([]string); ok && lb.DataMember != "" {
- return errors.New("ListBox.Create: DataMember must be empty for []string models.")
- }
-
- if lb.MultiSelection {
- w, err = walk.NewListBoxWithStyle(builder.Parent(), win.LBS_EXTENDEDSEL)
- } else {
- w, err = walk.NewListBox(builder.Parent())
- }
- if err != nil {
- return err
- }
-
- if lb.AssignTo != nil {
- *lb.AssignTo = w
- }
-
- return builder.InitWidget(lb, w, func() error {
- w.SetFormat(lb.Format)
- w.SetPrecision(lb.Precision)
-
- if err := w.SetDataMember(lb.DataMember); err != nil {
- return err
- }
-
- if err := w.SetModel(lb.Model); err != nil {
- return err
- }
-
- if lb.OnCurrentIndexChanged != nil {
- w.CurrentIndexChanged().Attach(lb.OnCurrentIndexChanged)
- }
- if lb.OnSelectedIndexesChanged != nil {
- w.SelectedIndexesChanged().Attach(lb.OnSelectedIndexesChanged)
- }
- if lb.OnItemActivated != nil {
- w.ItemActivated().Attach(lb.OnItemActivated)
- }
-
- return nil
- })
-}
diff --git a/declarative/mainwindow.go b/declarative/mainwindow.go
deleted file mode 100644
index f483564b..00000000
--- a/declarative/mainwindow.go
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import "github.com/lxn/walk"
-
-type MainWindow struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftLayout bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // Form
-
- Icon Property
- Size Size
- Title Property
-
- // MainWindow
-
- AssignTo **walk.MainWindow
- Expressions func() map[string]walk.Expression
- Functions map[string]func(args ...interface{}) (interface{}, error)
- MenuItems []MenuItem
- OnDropFiles walk.DropFilesEventHandler
- StatusBarItems []StatusBarItem
- ToolBar ToolBar
- ToolBarItems []MenuItem // Deprecated: use ToolBar instead
-}
-
-func (mw MainWindow) Create() error {
- w, err := walk.NewMainWindow()
- if err != nil {
- return err
- }
-
- if mw.AssignTo != nil {
- *mw.AssignTo = w
- }
-
- fi := formInfo{
- // Window
- Background: mw.Background,
- ContextMenuItems: mw.ContextMenuItems,
- DoubleBuffering: mw.DoubleBuffering,
- Enabled: mw.Enabled,
- Font: mw.Font,
- MaxSize: mw.MaxSize,
- MinSize: mw.MinSize,
- Name: mw.Name,
- OnBoundsChanged: mw.OnBoundsChanged,
- OnKeyDown: mw.OnKeyDown,
- OnKeyPress: mw.OnKeyPress,
- OnKeyUp: mw.OnKeyUp,
- OnMouseDown: mw.OnMouseDown,
- OnMouseMove: mw.OnMouseMove,
- OnMouseUp: mw.OnMouseUp,
- OnSizeChanged: mw.OnSizeChanged,
- RightToLeftReading: mw.RightToLeftReading,
- Visible: mw.Visible,
-
- // Container
- Children: mw.Children,
- DataBinder: mw.DataBinder,
- Layout: mw.Layout,
-
- // Form
- Icon: mw.Icon,
- Title: mw.Title,
- }
-
- builder := NewBuilder(nil)
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- w.SetBoundsPixels(w.BoundsPixels())
- return nil
- })
-
- builder.deferBuildMenuActions(w.Menu(), mw.MenuItems)
-
- if err := w.SetRightToLeftLayout(mw.RightToLeftLayout); err != nil {
- return err
- }
-
- return builder.InitWidget(fi, w, func() error {
- if len(mw.ToolBar.Items) > 0 {
- var tb *walk.ToolBar
- if mw.ToolBar.AssignTo == nil {
- mw.ToolBar.AssignTo = &tb
- }
-
- if err := mw.ToolBar.Create(builder); err != nil {
- return err
- }
-
- old := w.ToolBar()
- w.SetToolBar(*mw.ToolBar.AssignTo)
- old.Dispose()
- } else {
- builder.deferBuildActions(w.ToolBar().Actions(), mw.ToolBarItems)
- }
-
- for _, sbi := range mw.StatusBarItems {
- s := walk.NewStatusBarItem()
- if sbi.AssignTo != nil {
- *sbi.AssignTo = s
- }
- s.SetIcon(sbi.Icon)
- s.SetText(sbi.Text)
- s.SetToolTipText(sbi.ToolTipText)
- if sbi.Width > 0 {
- s.SetWidth(sbi.Width)
- }
- if sbi.OnClicked != nil {
- s.Clicked().Attach(sbi.OnClicked)
- }
- w.StatusBar().Items().Add(s)
- w.StatusBar().SetVisible(true)
- }
-
- if err := w.SetSizePixels(mw.Size.toW()); err != nil {
- return err
- }
-
- imageList, err := walk.NewImageList(walk.Size{16, 16}, 0)
- if err != nil {
- return err
- }
- w.ToolBar().SetImageList(imageList)
-
- if mw.OnDropFiles != nil {
- w.DropFiles().Attach(mw.OnDropFiles)
- }
-
- // if mw.AssignTo != nil {
- // *mw.AssignTo = w
- // }
-
- if mw.Expressions != nil {
- for name, expr := range mw.Expressions() {
- builder.expressions[name] = expr
- }
- }
- if mw.Functions != nil {
- for name, fn := range mw.Functions {
- builder.functions[name] = fn
- }
- }
-
- builder.Defer(func() error {
- if mw.Visible != false {
- w.Show()
- }
-
- return nil
- })
-
- return nil
- })
-}
-
-func (mw MainWindow) Run() (int, error) {
- var w *walk.MainWindow
-
- if mw.AssignTo == nil {
- mw.AssignTo = &w
- }
-
- if err := mw.Create(); err != nil {
- return 0, err
- }
-
- return (*mw.AssignTo).Run(), nil
-}
-
-type StatusBarItem struct {
- AssignTo **walk.StatusBarItem
- Icon *walk.Icon
- Text string
- ToolTipText string
- Width int
- OnClicked walk.EventHandler
-}
diff --git a/declarative/nonwin.go b/declarative/nonwin.go
deleted file mode 100644
index c182e5ef..00000000
--- a/declarative/nonwin.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2010 The win Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build !windows
-
-package declarative
diff --git a/declarative/numberedit.go b/declarative/numberedit.go
deleted file mode 100644
index c0d8e637..00000000
--- a/declarative/numberedit.go
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type NumberEdit struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // NumberEdit
-
- AssignTo **walk.NumberEdit
- Decimals int
- Increment float64
- MaxValue float64
- MinValue float64
- Prefix Property
- OnValueChanged walk.EventHandler
- ReadOnly Property
- Suffix Property
- TextColor walk.Color
- Value Property
-}
-
-func (ne NumberEdit) Create(builder *Builder) error {
- w, err := walk.NewNumberEdit(builder.Parent())
- if err != nil {
- return err
- }
-
- if ne.AssignTo != nil {
- *ne.AssignTo = w
- }
-
- return builder.InitWidget(ne, w, func() error {
- w.SetTextColor(ne.TextColor)
-
- if err := w.SetDecimals(ne.Decimals); err != nil {
- return err
- }
-
- inc := ne.Increment
- if inc == 0 {
- inc = 1
- }
-
- if err := w.SetIncrement(inc); err != nil {
- return err
- }
-
- if ne.MinValue != 0 || ne.MaxValue != 0 {
- if err := w.SetRange(ne.MinValue, ne.MaxValue); err != nil {
- return err
- }
- }
-
- if ne.OnValueChanged != nil {
- w.ValueChanged().Attach(ne.OnValueChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/numberlabel.go b/declarative/numberlabel.go
deleted file mode 100644
index d3bf2141..00000000
--- a/declarative/numberlabel.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2018 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type NumberLabel struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // static
-
- TextColor walk.Color
-
- // NumberLabel
-
- AssignTo **walk.NumberLabel
- Decimals Property
- Suffix Property
- TextAlignment Alignment1D
- Value Property
-}
-
-func (nl NumberLabel) Create(builder *Builder) error {
- w, err := walk.NewNumberLabel(builder.Parent())
- if err != nil {
- return err
- }
-
- if nl.AssignTo != nil {
- *nl.AssignTo = w
- }
-
- return builder.InitWidget(nl, w, func() error {
- if err := w.SetTextAlignment(walk.Alignment1D(nl.TextAlignment)); err != nil {
- return err
- }
-
- w.SetTextColor(nl.TextColor)
-
- return nil
- })
-}
diff --git a/declarative/progressbar.go b/declarative/progressbar.go
deleted file mode 100644
index c621ae20..00000000
--- a/declarative/progressbar.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type ProgressBar struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // ProgressBar
-
- AssignTo **walk.ProgressBar
- MarqueeMode bool
- MaxValue int
- MinValue int
- Value int
-}
-
-func (pb ProgressBar) Create(builder *Builder) error {
- w, err := walk.NewProgressBar(builder.Parent())
- if err != nil {
- return err
- }
-
- if pb.AssignTo != nil {
- *pb.AssignTo = w
- }
-
- return builder.InitWidget(pb, w, func() error {
- if pb.MaxValue > pb.MinValue {
- w.SetRange(pb.MinValue, pb.MaxValue)
- }
- w.SetValue(pb.Value)
-
- if err := w.SetMarqueeMode(pb.MarqueeMode); err != nil {
- return err
- }
-
- return nil
- })
-}
diff --git a/declarative/pushbutton.go b/declarative/pushbutton.go
deleted file mode 100644
index 1e9e037d..00000000
--- a/declarative/pushbutton.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type PushButton struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Button
-
- Image Property
- OnClicked walk.EventHandler
- Text Property
-
- // PushButton
-
- AssignTo **walk.PushButton
- ImageAboveText bool
-}
-
-func (pb PushButton) Create(builder *Builder) error {
- w, err := walk.NewPushButton(builder.Parent())
- if err != nil {
- return err
- }
-
- if pb.AssignTo != nil {
- *pb.AssignTo = w
- }
-
- return builder.InitWidget(pb, w, func() error {
- if err := w.SetImageAboveText(pb.ImageAboveText); err != nil {
- return err
- }
-
- if pb.OnClicked != nil {
- w.Clicked().Attach(pb.OnClicked)
- }
-
- return nil
- })
-}
diff --git a/declarative/radiobutton.go b/declarative/radiobutton.go
deleted file mode 100644
index d617fa76..00000000
--- a/declarative/radiobutton.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type RadioButton struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Button
-
- OnClicked walk.EventHandler
- Text Property
-
- // RadioButton
-
- AssignTo **walk.RadioButton
- TextOnLeftSide bool
- Value interface{}
-}
-
-func (rb RadioButton) Create(builder *Builder) error {
- w, err := walk.NewRadioButton(builder.Parent())
- if err != nil {
- return err
- }
-
- if rb.AssignTo != nil {
- *rb.AssignTo = w
- }
-
- return builder.InitWidget(rb, w, func() error {
- w.SetValue(rb.Value)
-
- if err := w.SetTextOnLeftSide(rb.TextOnLeftSide); err != nil {
- return err
- }
-
- if rb.OnClicked != nil {
- w.Clicked().Attach(rb.OnClicked)
- }
-
- return nil
- })
-}
diff --git a/declarative/radiobuttongroup.go b/declarative/radiobuttongroup.go
deleted file mode 100644
index ff0a2cdd..00000000
--- a/declarative/radiobuttongroup.go
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2013 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "bytes"
- "errors"
-)
-
-import (
- "github.com/lxn/walk"
-)
-
-type RadioButtonGroup struct {
- Buttons []RadioButton
- DataMember string
- Optional bool
-}
-
-func (rbg RadioButtonGroup) Create(builder *Builder) error {
- if len(rbg.Buttons) == 0 {
- return nil
- }
-
- var first *walk.RadioButton
-
- for _, rb := range rbg.Buttons {
- if first == nil {
- if rb.AssignTo == nil {
- rb.AssignTo = &first
- }
- }
-
- if err := rb.Create(builder); err != nil {
- return err
- }
-
- if first == nil {
- first = *rb.AssignTo
- }
- }
-
- parent := builder.Parent()
-
- builder.Defer(func() error {
- group := first.Group()
-
- validator := newRadioButtonGroupValidator(group, parent)
-
- for _, rb := range group.Buttons() {
- prop := rb.AsWindowBase().Property("CheckedValue")
-
- if err := prop.SetSource(rbg.DataMember); err != nil {
- return err
- }
- if err := prop.SetValidator(validator); err != nil {
- return err
- }
- }
-
- return nil
- })
-
- return nil
-}
-
-type radioButtonGroupValidator struct {
- group *walk.RadioButtonGroup
- err error
-}
-
-func newRadioButtonGroupValidator(group *walk.RadioButtonGroup, parent walk.Container) *radioButtonGroupValidator {
- b := new(bytes.Buffer)
-
- if gb, ok := parent.(*walk.GroupBox); ok {
- b.WriteString(gb.Title())
- } else {
- for i, rb := range group.Buttons() {
- if i > 0 {
- b.WriteString(", ")
- }
-
- b.WriteString(rb.Text())
- }
- }
-
- b.WriteString(": ")
-
- b.WriteString(tr("A selection is required.", "walk"))
-
- return &radioButtonGroupValidator{group: group, err: errors.New(b.String())}
-}
-
-func (rbgv *radioButtonGroupValidator) Validate(v interface{}) error {
- if rbgv.group.CheckedButton() == nil {
- return rbgv.err
- }
-
- return nil
-}
diff --git a/declarative/radiobuttongroupbox.go b/declarative/radiobuttongroupbox.go
deleted file mode 100644
index 9bdfa238..00000000
--- a/declarative/radiobuttongroupbox.go
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2013 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type RadioButtonGroupBox struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // GroupBox
-
- AssignTo **walk.GroupBox
- Checkable bool
- Checked Property
- Title string
-
- // RadioButtonGroupBox
-
- Buttons []RadioButton
- DataMember string
- Optional bool
-}
-
-func (rbgb RadioButtonGroupBox) Create(builder *Builder) error {
- w, err := walk.NewGroupBox(builder.Parent())
- if err != nil {
- return err
- }
-
- if rbgb.AssignTo != nil {
- *rbgb.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- return builder.InitWidget(rbgb, w, func() error {
- if err := w.SetTitle(rbgb.Title); err != nil {
- return err
- }
-
- w.SetCheckable(rbgb.Checkable)
-
- if err := (RadioButtonGroup{
- DataMember: rbgb.DataMember,
- Optional: rbgb.Optional,
- Buttons: rbgb.Buttons,
- }).Create(builder); err != nil {
- return err
- }
-
- return nil
- })
-}
diff --git a/declarative/scrollview.go b/declarative/scrollview.go
deleted file mode 100644
index 4334ce3c..00000000
--- a/declarative/scrollview.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2014 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type ScrollView struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // ScrollView
-
- AssignTo **walk.ScrollView
- HorizontalFixed bool
- VerticalFixed bool
-}
-
-func (sv ScrollView) Create(builder *Builder) error {
- w, err := walk.NewScrollView(builder.Parent())
- if err != nil {
- return err
- }
-
- if sv.AssignTo != nil {
- *sv.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- w.SetScrollbars(!sv.HorizontalFixed, !sv.VerticalFixed)
-
- return builder.InitWidget(sv, w, func() error {
- return nil
- })
-}
diff --git a/declarative/separator.go b/declarative/separator.go
deleted file mode 100644
index 3079aa94..00000000
--- a/declarative/separator.go
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2017 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type HSeparator struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Separator
-
- AssignTo **walk.Separator
-}
-
-func (s HSeparator) Create(builder *Builder) error {
- w, err := walk.NewHSeparator(builder.Parent())
- if err != nil {
- return err
- }
-
- if s.AssignTo != nil {
- *s.AssignTo = w
- }
-
- return builder.InitWidget(s, w, func() error {
- return nil
- })
-}
-
-type VSeparator struct {
- // Window
-
- ContextMenuItems []MenuItem
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- Row int
- RowSpan int
- StretchFactor int
-
- // Separator
-
- AssignTo **walk.Separator
-}
-
-func (s VSeparator) Create(builder *Builder) error {
- w, err := walk.NewVSeparator(builder.Parent())
- if err != nil {
- return err
- }
-
- if s.AssignTo != nil {
- *s.AssignTo = w
- }
-
- return builder.InitWidget(s, w, func() error {
- return nil
- })
-}
diff --git a/declarative/slider.go b/declarative/slider.go
deleted file mode 100644
index 4bb9fecc..00000000
--- a/declarative/slider.go
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2016 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type Slider struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Slider
-
- AssignTo **walk.Slider
- LineSize int
- MaxValue int
- MinValue int
- Orientation Orientation
- OnValueChanged walk.EventHandler
- PageSize int
- ToolTipsHidden bool
- Tracking bool
- Value Property
-}
-
-func (sl Slider) Create(builder *Builder) error {
- w, err := walk.NewSliderWithCfg(builder.Parent(), &walk.SliderCfg{
- Orientation: walk.Orientation(sl.Orientation),
- ToolTipsHidden: sl.ToolTipsHidden,
- })
- if err != nil {
- return err
- }
-
- if sl.AssignTo != nil {
- *sl.AssignTo = w
- }
-
- return builder.InitWidget(sl, w, func() error {
- w.SetPersistent(sl.Persistent)
- if sl.LineSize > 0 {
- w.SetLineSize(sl.LineSize)
- }
- if sl.PageSize > 0 {
- w.SetPageSize(sl.PageSize)
- }
- w.SetTracking(sl.Tracking)
-
- if sl.MaxValue > sl.MinValue {
- w.SetRange(sl.MinValue, sl.MaxValue)
- }
-
- if sl.OnValueChanged != nil {
- w.ValueChanged().Attach(sl.OnValueChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/spacer.go b/declarative/spacer.go
deleted file mode 100644
index 549dd627..00000000
--- a/declarative/spacer.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type HSpacer struct {
- // Window
-
- MaxSize Size
- MinSize Size
- Name string
-
- // Widget
-
- Column int
- ColumnSpan int
- Row int
- RowSpan int
- StretchFactor int
-
- // Spacer
-
- GreedyLocallyOnly bool
- Size int
-}
-
-func (hs HSpacer) Create(builder *Builder) (err error) {
- var flags walk.LayoutFlags
- if hs.Size == 0 {
- flags = walk.ShrinkableHorz | walk.GrowableHorz | walk.GreedyHorz
- }
-
- var w *walk.Spacer
- if w, err = walk.NewSpacerWithCfg(builder.Parent(), &walk.SpacerCfg{
- LayoutFlags: flags,
- SizeHint: walk.Size{Width: hs.Size},
- GreedyLocallyOnly: hs.GreedyLocallyOnly,
- }); err != nil {
- return
- }
-
- return builder.InitWidget(hs, w, nil)
-}
-
-type VSpacer struct {
- // Window
-
- MaxSize Size
- MinSize Size
- Name string
-
- // Widget
-
- Column int
- ColumnSpan int
- Row int
- RowSpan int
- StretchFactor int
-
- // Spacer
-
- GreedyLocallyOnly bool
- Size int
-}
-
-func (vs VSpacer) Create(builder *Builder) (err error) {
- var flags walk.LayoutFlags
- if vs.Size == 0 {
- flags = walk.ShrinkableVert | walk.GrowableVert | walk.GreedyVert
- }
-
- var w *walk.Spacer
- if w, err = walk.NewSpacerWithCfg(builder.Parent(), &walk.SpacerCfg{
- LayoutFlags: flags,
- SizeHint: walk.Size{Height: vs.Size},
- GreedyLocallyOnly: vs.GreedyLocallyOnly,
- }); err != nil {
- return
- }
-
- return builder.InitWidget(vs, w, nil)
-}
diff --git a/declarative/splitbutton.go b/declarative/splitbutton.go
deleted file mode 100644
index 71ae6b4a..00000000
--- a/declarative/splitbutton.go
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2016 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type SplitButton struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Button
-
- Image Property
- Text Property
- OnClicked walk.EventHandler
-
- // SplitButton
-
- AssignTo **walk.SplitButton
- ImageAboveText bool
- MenuItems []MenuItem
-}
-
-func (sb SplitButton) Create(builder *Builder) error {
- w, err := walk.NewSplitButton(builder.Parent())
- if err != nil {
- return err
- }
-
- if sb.AssignTo != nil {
- *sb.AssignTo = w
- }
-
- builder.deferBuildMenuActions(w.Menu(), sb.MenuItems)
-
- return builder.InitWidget(sb, w, func() error {
- if err := w.SetImageAboveText(sb.ImageAboveText); err != nil {
- return err
- }
-
- if sb.OnClicked != nil {
- w.Clicked().Attach(sb.OnClicked)
- }
-
- return nil
- })
-}
diff --git a/declarative/splitter.go b/declarative/splitter.go
deleted file mode 100644
index a893f228..00000000
--- a/declarative/splitter.go
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type HSplitter struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
-
- // Splitter
-
- AssignTo **walk.Splitter
- HandleWidth int
-}
-
-func (s HSplitter) Create(builder *Builder) error {
- w, err := walk.NewHSplitter(builder.Parent())
- if err != nil {
- return err
- }
-
- if s.AssignTo != nil {
- *s.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- return builder.InitWidget(s, w, func() error {
- if s.HandleWidth > 0 {
- if err := w.SetHandleWidth(s.HandleWidth); err != nil {
- return err
- }
- }
-
- return nil
- })
-}
-
-type VSplitter struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
-
- // Splitter
-
- AssignTo **walk.Splitter
- HandleWidth int
-}
-
-func (s VSplitter) Create(builder *Builder) error {
- w, err := walk.NewVSplitter(builder.Parent())
- if err != nil {
- return err
- }
-
- if s.AssignTo != nil {
- *s.AssignTo = w
- }
-
- w.SetSuspended(true)
- builder.Defer(func() error {
- w.SetSuspended(false)
- return nil
- })
-
- return builder.InitWidget(s, w, func() error {
- if s.HandleWidth > 0 {
- if err := w.SetHandleWidth(s.HandleWidth); err != nil {
- return err
- }
- }
-
- return nil
- })
-}
diff --git a/declarative/tableview.go b/declarative/tableview.go
deleted file mode 100644
index 27b3ebf1..00000000
--- a/declarative/tableview.go
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
- "github.com/lxn/win"
-)
-
-type TableView struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // TableView
-
- AlternatingRowBGColor walk.Color
- AssignTo **walk.TableView
- CellStyler walk.CellStyler
- CheckBoxes bool
- Columns []TableViewColumn
- ColumnsOrderable Property
- ColumnsSizable Property
- CustomHeaderHeight int
- CustomRowHeight int
- ItemStateChangedEventDelay int
- HeaderHidden bool
- LastColumnStretched bool
- Model interface{}
- MultiSelection bool
- NotSortableByHeaderClick bool
- OnCurrentIndexChanged walk.EventHandler
- OnItemActivated walk.EventHandler
- OnSelectedIndexesChanged walk.EventHandler
- SelectionHiddenWithoutFocus bool
- StyleCell func(style *walk.CellStyle)
-}
-
-type tvStyler struct {
- dflt walk.CellStyler
- colStyleCellFuncs []func(style *walk.CellStyle)
-}
-
-func (tvs *tvStyler) StyleCell(style *walk.CellStyle) {
- if tvs.dflt != nil {
- tvs.dflt.StyleCell(style)
- }
-
- if styleCell := tvs.colStyleCellFuncs[style.Col()]; styleCell != nil {
- styleCell(style)
- }
-}
-
-type styleCellFunc func(style *walk.CellStyle)
-
-func (scf styleCellFunc) StyleCell(style *walk.CellStyle) {
- scf(style)
-}
-
-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.NewTableViewWithCfg(builder.Parent(), &walk.TableViewCfg{CustomHeaderHeight: tv.CustomHeaderHeight, CustomRowHeight: tv.CustomRowHeight})
- }
- if err != nil {
- return err
- }
-
- if tv.AssignTo != nil {
- *tv.AssignTo = w
- }
-
- 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
- }
-
- defaultStyler, _ := tv.Model.(walk.CellStyler)
-
- if tv.CellStyler != nil {
- defaultStyler = tv.CellStyler
- }
-
- if tv.StyleCell != nil {
- defaultStyler = styleCellFunc(tv.StyleCell)
- }
-
- var hasColStyleFunc bool
- for _, c := range tv.Columns {
- if c.StyleCell != nil {
- hasColStyleFunc = true
- break
- }
- }
-
- if defaultStyler != nil || hasColStyleFunc {
- var styler walk.CellStyler
-
- if hasColStyleFunc {
- tvs := &tvStyler{
- dflt: defaultStyler,
- colStyleCellFuncs: make([]func(style *walk.CellStyle), len(tv.Columns)),
- }
-
- styler = tvs
-
- for i, c := range tv.Columns {
- tvs.colStyleCellFuncs[i] = c.StyleCell
- }
- } else {
- styler = defaultStyler
- }
-
- w.SetCellStyler(styler)
- }
-
- 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.SetMultiSelection(tv.MultiSelection); err != nil {
- return err
- }
- if err := w.SetSelectionHiddenWithoutFocus(tv.SelectionHiddenWithoutFocus); err != nil {
- return err
- }
- if err := w.SetHeaderHidden(tv.HeaderHidden); 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)
- }
-
- return nil
- })
-}
diff --git a/declarative/tableviewcolumn.go b/declarative/tableviewcolumn.go
deleted file mode 100644
index 27212b5b..00000000
--- a/declarative/tableviewcolumn.go
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2013 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type Alignment1D uint
-
-const (
- AlignDefault = Alignment1D(walk.AlignDefault)
- AlignNear = Alignment1D(walk.AlignNear)
- AlignCenter = Alignment1D(walk.AlignCenter)
- AlignFar = Alignment1D(walk.AlignFar)
-)
-
-type TableViewColumn struct {
- Name string
- DataMember string
- Format string
- Title string
- Alignment Alignment1D
- Precision int
- Width int
- Hidden bool
- Frozen bool
- StyleCell func(style *walk.CellStyle)
- LessFunc func(i, j int) bool
- FormatFunc func(value interface{}) string
-}
-
-func (tvc TableViewColumn) Create(tv *walk.TableView) error {
- w := walk.NewTableViewColumn()
-
- if err := w.SetAlignment(walk.Alignment1D(tvc.Alignment)); err != nil {
- return err
- }
- w.SetDataMember(tvc.DataMember)
- if tvc.Format != "" {
- if err := w.SetFormat(tvc.Format); err != nil {
- return err
- }
- }
- if err := w.SetPrecision(tvc.Precision); err != nil {
- return err
- }
- w.SetName(tvc.Name)
- if err := w.SetTitle(tvc.Title); err != nil {
- return err
- }
- if err := w.SetVisible(!tvc.Hidden); err != nil {
- return err
- }
- if err := w.SetFrozen(tvc.Frozen); err != nil {
- return err
- }
- if err := w.SetWidth(tvc.Width); err != nil {
- return err
- }
- w.SetLessFunc(tvc.LessFunc)
- w.SetFormatFunc(tvc.FormatFunc)
-
- return tv.Columns().Add(w)
-}
diff --git a/declarative/tabpage.go b/declarative/tabpage.go
deleted file mode 100644
index 2d1757bf..00000000
--- a/declarative/tabpage.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type TabPage struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Container
-
- Children []Widget
- DataBinder DataBinder
- Layout Layout
-
- // TabPage
-
- AssignTo **walk.TabPage
- Content Widget
- Image Property
- Title Property
-}
-
-func (tp TabPage) Create(builder *Builder) error {
- w, err := walk.NewTabPage()
- if err != nil {
- return err
- }
-
- if tp.AssignTo != nil {
- *tp.AssignTo = w
- }
-
- return builder.InitWidget(tp, w, func() error {
- if tp.Content != nil && len(tp.Children) == 0 {
- if err := tp.Content.Create(builder); err != nil {
- return err
- }
- }
-
- return nil
- })
-}
diff --git a/declarative/tabwidget.go b/declarative/tabwidget.go
deleted file mode 100644
index d4d5213f..00000000
--- a/declarative/tabwidget.go
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type TabWidget struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // TabWidget
-
- AssignTo **walk.TabWidget
- ContentMargins Margins
- ContentMarginsZero bool
- OnCurrentIndexChanged walk.EventHandler
- Pages []TabPage
-}
-
-func (tw TabWidget) Create(builder *Builder) error {
- w, err := walk.NewTabWidget(builder.Parent())
- if err != nil {
- return err
- }
-
- if tw.AssignTo != nil {
- *tw.AssignTo = w
- }
-
- return builder.InitWidget(tw, w, func() error {
- for _, tp := range tw.Pages {
- var wp *walk.TabPage
- if tp.AssignTo == nil {
- tp.AssignTo = &wp
- }
-
- if tp.Content != nil && len(tp.Children) == 0 {
- tp.Layout = HBox{Margins: tw.ContentMargins, MarginsZero: tw.ContentMarginsZero}
- }
-
- if err := tp.Create(builder); err != nil {
- return err
- }
-
- if err := w.Pages().Add(*tp.AssignTo); err != nil {
- return err
- }
- }
-
- if tw.OnCurrentIndexChanged != nil {
- w.CurrentIndexChanged().Attach(tw.OnCurrentIndexChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/textedit.go b/declarative/textedit.go
deleted file mode 100644
index 923a209e..00000000
--- a/declarative/textedit.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
- "github.com/lxn/win"
-)
-
-type TextEdit struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // TextEdit
-
- AssignTo **walk.TextEdit
- HScroll bool
- MaxLength int
- OnTextChanged walk.EventHandler
- ReadOnly Property
- Text Property
- TextAlignment Alignment1D
- TextColor walk.Color
- VScroll bool
-}
-
-func (te TextEdit) Create(builder *Builder) error {
- var style uint32
- if te.HScroll {
- style |= win.WS_HSCROLL
- }
- if te.VScroll {
- style |= win.WS_VSCROLL
- }
-
- w, err := walk.NewTextEditWithStyle(builder.Parent(), style)
- if err != nil {
- return err
- }
-
- if te.AssignTo != nil {
- *te.AssignTo = w
- }
-
- return builder.InitWidget(te, w, func() error {
- w.SetTextColor(te.TextColor)
-
- if err := w.SetTextAlignment(walk.Alignment1D(te.TextAlignment)); err != nil {
- return err
- }
-
- if te.MaxLength > 0 {
- w.SetMaxLength(te.MaxLength)
- }
-
- if te.OnTextChanged != nil {
- w.TextChanged().Attach(te.OnTextChanged)
- }
-
- return nil
- })
-}
diff --git a/declarative/textlabel.go b/declarative/textlabel.go
deleted file mode 100644
index 8108ebf6..00000000
--- a/declarative/textlabel.go
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2018 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type Alignment2D uint
-
-const (
- AlignHVDefault = Alignment2D(walk.AlignHVDefault)
- AlignHNearVNear = Alignment2D(walk.AlignHNearVNear)
- AlignHCenterVNear = Alignment2D(walk.AlignHCenterVNear)
- AlignHFarVNear = Alignment2D(walk.AlignHFarVNear)
- AlignHNearVCenter = Alignment2D(walk.AlignHNearVCenter)
- AlignHCenterVCenter = Alignment2D(walk.AlignHCenterVCenter)
- AlignHFarVCenter = Alignment2D(walk.AlignHFarVCenter)
- AlignHNearVFar = Alignment2D(walk.AlignHNearVFar)
- AlignHCenterVFar = Alignment2D(walk.AlignHCenterVFar)
- AlignHFarVFar = Alignment2D(walk.AlignHFarVFar)
-)
-
-type TextLabel struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size // Set MinSize.Width to a value > 0 to enable dynamic line wrapping.
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // static
-
- TextColor walk.Color
-
- // Text
-
- AssignTo **walk.TextLabel
- TextAlignment Alignment2D
- Text Property
-}
-
-func (tl TextLabel) Create(builder *Builder) error {
- w, err := walk.NewTextLabel(builder.Parent())
- if err != nil {
- return err
- }
-
- if tl.AssignTo != nil {
- *tl.AssignTo = w
- }
-
- return builder.InitWidget(tl, w, func() error {
- w.SetTextColor(tl.TextColor)
-
- if err := w.SetTextAlignment(walk.Alignment2D(tl.TextAlignment)); err != nil {
- return err
- }
-
- return nil
- })
-}
diff --git a/declarative/toolbar.go b/declarative/toolbar.go
deleted file mode 100644
index d996bf35..00000000
--- a/declarative/toolbar.go
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type ToolBarButtonStyle int
-
-const (
- ToolBarButtonImageOnly ToolBarButtonStyle = iota
- ToolBarButtonTextOnly
- ToolBarButtonImageBeforeText
- ToolBarButtonImageAboveText
-)
-
-type ToolBar struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // ToolBar
-
- Actions []*walk.Action // Deprecated, use Items instead
- AssignTo **walk.ToolBar
- ButtonStyle ToolBarButtonStyle
- Items []MenuItem
- MaxTextRows int
- Orientation Orientation
-}
-
-func (tb ToolBar) Create(builder *Builder) error {
- w, err := walk.NewToolBarWithOrientationAndButtonStyle(builder.Parent(), walk.Orientation(tb.Orientation), walk.ToolBarButtonStyle(tb.ButtonStyle))
- if err != nil {
- return err
- }
-
- if tb.AssignTo != nil {
- *tb.AssignTo = w
- }
-
- return builder.InitWidget(tb, w, func() error {
- imageList, err := walk.NewImageList(walk.Size{16, 16}, 0)
- if err != nil {
- return err
- }
- w.SetImageList(imageList)
-
- mtr := tb.MaxTextRows
- if mtr < 1 {
- mtr = 1
- }
- if err := w.SetMaxTextRows(mtr); err != nil {
- return err
- }
-
- if len(tb.Items) > 0 {
- builder.deferBuildActions(w.Actions(), tb.Items)
- } else {
- if err := addToActionList(w.Actions(), tb.Actions); err != nil {
- return err
- }
- }
-
- return nil
- })
-}
diff --git a/declarative/toolbutton.go b/declarative/toolbutton.go
deleted file mode 100644
index aa6556ba..00000000
--- a/declarative/toolbutton.go
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type ToolButton struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // Button
-
- Image Property
- OnClicked walk.EventHandler
- Text Property
-
- // ToolButton
-
- AssignTo **walk.ToolButton
-}
-
-func (tb ToolButton) Create(builder *Builder) error {
- w, err := walk.NewToolButton(builder.Parent())
- if err != nil {
- return err
- }
-
- if tb.AssignTo != nil {
- *tb.AssignTo = w
- }
-
- return builder.InitWidget(tb, w, func() error {
- if tb.OnClicked != nil {
- w.Clicked().Attach(tb.OnClicked)
- }
-
- return nil
- })
-}
diff --git a/declarative/treeview.go b/declarative/treeview.go
deleted file mode 100644
index 1a6ac949..00000000
--- a/declarative/treeview.go
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type TreeView struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // TreeView
-
- AssignTo **walk.TreeView
- ItemHeight int
- Model walk.TreeModel
- OnCurrentItemChanged walk.EventHandler
- OnExpandedChanged walk.TreeItemEventHandler
- OnItemActivated walk.EventHandler
-}
-
-func (tv TreeView) Create(builder *Builder) error {
- w, err := walk.NewTreeView(builder.Parent())
- if err != nil {
- return err
- }
-
- if tv.AssignTo != nil {
- *tv.AssignTo = w
- }
-
- return builder.InitWidget(tv, w, func() error {
- if tv.ItemHeight > 0 {
- w.SetItemHeight(tv.ItemHeight)
- }
-
- if err := w.SetModel(tv.Model); err != nil {
- return err
- }
-
- if tv.OnCurrentItemChanged != nil {
- w.CurrentItemChanged().Attach(tv.OnCurrentItemChanged)
- }
-
- if tv.OnExpandedChanged != nil {
- w.ExpandedChanged().Attach(tv.OnExpandedChanged)
- }
-
- if tv.OnItemActivated != nil {
- w.ItemActivated().Attach(tv.OnItemActivated)
- }
-
- return nil
- })
-}
diff --git a/declarative/validators.go b/declarative/validators.go
deleted file mode 100644
index 7f6e8e66..00000000
--- a/declarative/validators.go
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type ValidatorRef struct {
- Validator walk.Validator
-}
-
-func (vr ValidatorRef) Create() (walk.Validator, error) {
- return vr.Validator, nil
-}
-
-type Range struct {
- Min float64
- Max float64
-}
-
-func (r Range) Create() (walk.Validator, error) {
- return walk.NewRangeValidator(r.Min, r.Max)
-}
-
-type Regexp struct {
- Pattern string
-}
-
-func (re Regexp) Create() (walk.Validator, error) {
- return walk.NewRegexpValidator(re.Pattern)
-}
-
-type SelRequired struct {
-}
-
-func (SelRequired) Create() (walk.Validator, error) {
- return walk.SelectionRequiredValidator(), nil
-}
-
-type dMultiValidator struct {
- validators []Validator
-}
-
-func (av dMultiValidator) Create() (walk.Validator, error) {
- var validators []walk.Validator
-
- for _, dv := range av.validators {
- if wv, err := dv.Create(); err != nil {
- return nil, err
- } else {
- validators = append(validators, wv)
- }
- }
-
- return &wMultiValidator{validators}, nil
-}
-
-type wMultiValidator struct {
- validators []walk.Validator
-}
-
-func (av *wMultiValidator) Validate(v interface{}) error {
- for _, validator := range av.validators {
- if err := validator.Validate(v); err != nil {
- return err
- }
- }
-
- return nil
-}
diff --git a/declarative/webview.go b/declarative/webview.go
deleted file mode 100644
index 651fa4a5..00000000
--- a/declarative/webview.go
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2012 The Walk Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build windows
-
-package declarative
-
-import (
- "github.com/lxn/walk"
-)
-
-type WebView struct {
- // Window
-
- Background Brush
- ContextMenuItems []MenuItem
- DoubleBuffering bool
- Enabled Property
- Font Font
- MaxSize Size
- MinSize Size
- Name string
- OnBoundsChanged walk.EventHandler
- OnKeyDown walk.KeyEventHandler
- OnKeyPress walk.KeyEventHandler
- OnKeyUp walk.KeyEventHandler
- OnMouseDown walk.MouseEventHandler
- OnMouseMove walk.MouseEventHandler
- OnMouseUp walk.MouseEventHandler
- OnSizeChanged walk.EventHandler
- Persistent bool
- RightToLeftReading bool
- ToolTipText Property
- Visible Property
-
- // Widget
-
- Alignment Alignment2D
- AlwaysConsumeSpace bool
- Column int
- ColumnSpan int
- GraphicsEffects []walk.WidgetGraphicsEffect
- Row int
- RowSpan int
- StretchFactor int
-
- // WebView
-
- AssignTo **walk.WebView
- NativeContextMenuEnabled Property
- OnBrowserVisibleChanged walk.EventHandler
- OnCanGoBackChanged walk.EventHandler
- OnCanGoForwardChanged walk.EventHandler
- OnDocumentCompleted walk.StringEventHandler
- OnDocumentTitleChanged walk.EventHandler
- OnDownloaded walk.EventHandler
- OnDownloading walk.EventHandler
- OnNativeContextMenuEnabledChanged walk.EventHandler
- OnNavigated walk.StringEventHandler
- OnNavigatedError walk.WebViewNavigatedErrorEventHandler
- OnNavigating walk.WebViewNavigatingEventHandler
- OnNewWindow walk.WebViewNewWindowEventHandler
- OnProgressChanged walk.EventHandler
- OnQuitting walk.EventHandler
- OnShortcutsEnabledChanged walk.EventHandler
- OnStatusBarVisibleChanged walk.EventHandler
- OnStatusTextChanged walk.EventHandler
- OnTheaterModeChanged walk.EventHandler
- OnToolBarEnabledChanged walk.EventHandler
- OnToolBarVisibleChanged walk.EventHandler
- OnURLChanged walk.EventHandler
- OnWindowClosing walk.WebViewWindowClosingEventHandler
- ShortcutsEnabled Property
- URL Property
-}
-
-func (wv WebView) Create(builder *Builder) error {
- w, err := walk.NewWebView(builder.Parent())
- if err != nil {
- return err
- }
-
- if wv.AssignTo != nil {
- *wv.AssignTo = w
- }
-
- return builder.InitWidget(wv, w, func() error {
- if wv.OnBrowserVisibleChanged != nil {
- w.BrowserVisibleChanged().Attach(wv.OnBrowserVisibleChanged)
- }
- if wv.OnCanGoBackChanged != nil {
- w.CanGoBackChanged().Attach(wv.OnCanGoBackChanged)
- }
- if wv.OnCanGoForwardChanged != nil {
- w.CanGoForwardChanged().Attach(wv.OnCanGoForwardChanged)
- }
- if wv.OnDocumentCompleted != nil {
- w.DocumentCompleted().Attach(wv.OnDocumentCompleted)
- }
- if wv.OnDocumentTitleChanged != nil {
- w.DocumentTitleChanged().Attach(wv.OnDocumentTitleChanged)
- }
- if wv.OnDownloaded != nil {
- w.Downloaded().Attach(wv.OnDownloaded)
- }
- if wv.OnDownloading != nil {
- w.Downloading().Attach(wv.OnDownloading)
- }
- if wv.OnNativeContextMenuEnabledChanged != nil {
- w.NativeContextMenuEnabledChanged().Attach(wv.OnNativeContextMenuEnabledChanged)
- }
- if wv.OnNavigated != nil {
- w.Navigated().Attach(wv.OnNavigated)
- }
- if wv.OnNavigatedError != nil {
- w.NavigatedError().Attach(wv.OnNavigatedError)
- }
- if wv.OnNavigating != nil {
- w.Navigating().Attach(wv.OnNavigating)
- }
- if wv.OnNewWindow != nil {
- w.NewWindow().Attach(wv.OnNewWindow)
- }
- if wv.OnProgressChanged != nil {
- w.ProgressChanged().Attach(wv.OnProgressChanged)
- }
- if wv.OnURLChanged != nil {
- w.URLChanged().Attach(wv.OnURLChanged)
- }
- if wv.OnShortcutsEnabledChanged != nil {
- w.ShortcutsEnabledChanged().Attach(wv.OnShortcutsEnabledChanged)
- }
- if wv.OnStatusBarVisibleChanged != nil {
- w.StatusBarVisibleChanged().Attach(wv.OnStatusBarVisibleChanged)
- }
- if wv.OnStatusTextChanged != nil {
- w.StatusTextChanged().Attach(wv.OnStatusTextChanged)
- }
- if wv.OnTheaterModeChanged != nil {
- w.TheaterModeChanged().Attach(wv.OnTheaterModeChanged)
- }
- if wv.OnToolBarEnabledChanged != nil {
- w.ToolBarEnabledChanged().Attach(wv.OnToolBarEnabledChanged)
- }
- if wv.OnToolBarVisibleChanged != nil {
- w.ToolBarVisibleChanged().Attach(wv.OnToolBarVisibleChanged)
- }
- if wv.OnQuitting != nil {
- w.Quitting().Attach(wv.OnQuitting)
- }
- if wv.OnWindowClosing != nil {
- w.WindowClosing().Attach(wv.OnWindowClosing)
- }
-
- return nil
- })
-}
diff --git a/expression.go b/expression.go
index 2391f4d2..9f24e0f7 100644
--- a/expression.go
+++ b/expression.go
@@ -11,8 +11,6 @@ import (
"reflect"
)
-import _ "gopkg.in/Knetic/govaluate.v3"
-
type Expression interface {
Value() interface{}
Changed() *Event