diff options
author | Alexander Neumann <an2048@gmail.com> | 2012-10-05 15:30:07 +0200 |
---|---|---|
committer | Alexander Neumann <an2048@gmail.com> | 2012-10-05 15:30:07 +0200 |
commit | a8cf8f3e42556e24ee5b95ed2e48cd91151dc87f (patch) | |
tree | 3760dbc0a592315187ba9f407377053a21cb62ed /lineedit.go | |
parent | declarative: Make Dialog and MainWindow not implement Widget (diff) | |
download | wireguard-windows-a8cf8f3e42556e24ee5b95ed2e48cd91151dc87f.tar.xz wireguard-windows-a8cf8f3e42556e24ee5b95ed2e48cd91151dc87f.zip |
Add initial support for data binding
Diffstat (limited to 'lineedit.go')
-rw-r--r-- | lineedit.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lineedit.go b/lineedit.go index 577bce79..4cc825ba 100644 --- a/lineedit.go +++ b/lineedit.go @@ -18,6 +18,7 @@ const ( type LineEdit struct { WidgetBase + bindingMember string validator Validator editingFinishedPublisher EventPublisher returnPressedPublisher EventPublisher @@ -68,6 +69,32 @@ func NewLineEdit(parent Container) (*LineEdit, error) { return le, nil } +func (le *LineEdit) BindingMember() string { + return le.bindingMember +} + +func (le *LineEdit) SetBindingMember(member string) error { + if err := validateBindingMemberSyntax(member); err != nil { + return err + } + + le.bindingMember = member + + return nil +} + +func (le *LineEdit) BindingValue() interface{} { + return le.Text() +} + +func (le *LineEdit) SetBindingValue(value interface{}) error { + return le.SetText(value.(string)) +} + +func (le *LineEdit) BindingValueChanged() *Event { + return le.TextChanged() +} + func (le *LineEdit) CueBanner() string { buf := make([]uint16, 128) if FALSE == le.SendMessage(EM_GETCUEBANNER, uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf))) { |