diff options
Diffstat (limited to 'gadgets/durationSlider.go')
| -rw-r--r-- | gadgets/durationSlider.go | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/gadgets/durationSlider.go b/gadgets/durationSlider.go deleted file mode 100644 index 6f81214..0000000 --- a/gadgets/durationSlider.go +++ /dev/null @@ -1,79 +0,0 @@ -/* - A slider that goes between a High and Low time -*/ - -package gadgets - -import ( - "log" - "fmt" - "time" - - "go.wit.com/gui" -) - -type Duration struct { - p *gui.Node // parent widget - l *gui.Node // label widget - s *gui.Node // slider widget - - Label string - Low time.Duration - High time.Duration - Duration time.Duration - - Custom func() -} - -func (n *Duration) Set(d time.Duration) { - var timeRange, step, offset time.Duration - - if (d > n.High) { - d = n.High - } - if (d < n.Low) { - d = n.Low - } - - // set the duration - n.Duration = d - - // figure out the integer offset for the Slider GUI Widget - timeRange = n.High - n.Low - step = timeRange / 1000 - if (step == 0) { - log.Println("duration.Set() division by step == 0", n.Low, n.High, timeRange, step) - n.s.Set(0) - return - } - offset = d - n.Low - i := int(offset / step) - log.Println("duration.Set() =", n.Low, n.High, d, "i =", i) - n.s.I = i - n.s.Set(i) - n.s.Custom() -} - -func NewDurationSlider(n *gui.Node, label string, low time.Duration, high time.Duration) *Duration { - d := Duration { - p: n, - Label: label, - High: high, - Low: low, - } - - // various timeout settings - d.l = n.NewLabel(label) - d.s = n.NewSlider(label, 0, 1000) - d.s.Custom = func () { - d.Duration = low + (high - low) * time.Duration(d.s.I) / 1000 - log.Println("d.Duration =", d.Duration) - s := fmt.Sprintf("%s (%v)", d.Label, d.Duration) - d.l.SetText(s) - if (d.Custom != nil) { - d.Custom() - } - } - - return &d -} |
