Browse Source

SelectBox: Ability to set the current value

master
Noah Petherbridge 2 months ago
parent
commit
9a25ec3782
1 changed files with 23 additions and 1 deletions
  1. +23
    -1
      selectbox.go

+ 23
- 1
selectbox.go View File

@@ -115,7 +115,7 @@ func (w *SelectBox) AddItem(label string, value interface{}, f func()) {

// TODO: RemoveItem()

// Value returns the currently selected item in the SelectBox.
// GetValue returns the currently selected item in the SelectBox.
//
// Returns the SelectValue and true on success, and the Label or underlying Value
// can be read from the SelectValue struct. If no valid option is selected, the
@@ -130,6 +130,28 @@ func (w *SelectBox) GetValue() (SelectValue, bool) {
return SelectValue{}, false
}

// SetValueByLabel sets the currently selected option to the given label.
func (w *SelectBox) SetValueByLabel(label string) bool {
for _, option := range w.values {
if option.Label == label {
w.textVariable = option.Label
return true
}
}
return false
}

// SetValue sets the currently selected option to the given value.
func (w *SelectBox) SetValue(value interface{}) bool {
for _, option := range w.values {
if option.Value == value {
w.textVariable = option.Label
return true
}
}
return false
}

// Compute to re-evaluate the button state (in the case of radio buttons where
// a different button will affect the state of this one when clicked).
func (w *SelectBox) Compute(e render.Engine) {


Loading…
Cancel
Save