// 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 { AssignTo **walk.Slider Name string Enabled Property Visible Property Font Font ToolTipText Property MinSize Size MaxSize Size StretchFactor int Row int RowSpan int Column int ColumnSpan int AlwaysConsumeSpace bool ContextMenuItems []MenuItem OnKeyDown walk.KeyEventHandler OnKeyPress walk.KeyEventHandler OnKeyUp walk.KeyEventHandler OnMouseDown walk.MouseEventHandler OnMouseMove walk.MouseEventHandler OnMouseUp walk.MouseEventHandler OnSizeChanged walk.EventHandler MinValue int MaxValue int Value Property OnValueChanged walk.EventHandler Orientation Orientation } func (sl Slider) Create(builder *Builder) error { w, err := walk.NewSliderWithOrientation(builder.Parent(), walk.Orientation(sl.Orientation)) if err != nil { return err } return builder.InitWidget(sl, w, func() error { if sl.MaxValue > sl.MinValue { w.SetRange(sl.MinValue, sl.MaxValue) } if sl.AssignTo != nil { *sl.AssignTo = w } if sl.OnValueChanged != nil { w.ValueChanged().Attach(sl.OnValueChanged) } return nil }) } func (w Slider) WidgetInfo() (name string, disabled, hidden bool, font *Font, toolTipText string, minSize, maxSize Size, stretchFactor, row, rowSpan, column, columnSpan int, alwaysConsumeSpace bool, contextMenuItems []MenuItem, OnKeyDown walk.KeyEventHandler, OnKeyPress walk.KeyEventHandler, OnKeyUp walk.KeyEventHandler, OnMouseDown walk.MouseEventHandler, OnMouseMove walk.MouseEventHandler, OnMouseUp walk.MouseEventHandler, OnSizeChanged walk.EventHandler) { return w.Name, false, false, &w.Font, "", w.MinSize, w.MaxSize, w.StretchFactor, w.Row, w.RowSpan, w.Column, w.ColumnSpan, w.AlwaysConsumeSpace, w.ContextMenuItems, w.OnKeyDown, w.OnKeyPress, w.OnKeyUp, w.OnMouseDown, w.OnMouseMove, w.OnMouseUp, w.OnSizeChanged }