summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAlexander Neumann <alexander.neumann@picos-software.com>2019-02-26 11:18:06 +0100
committerAlexander Neumann <alexander.neumann@picos-software.com>2019-02-26 11:18:06 +0100
commitb7b5595138810a8580aee3d4b305bc11e3778611 (patch)
tree7d40f594ec4ca376416f0af6f9ea2f6b7e6b5b00
parentMerge branch 'jd/notifyicon-visible-mainwindow' of https://github.com/zx2c4-forks/walk into notifyicon_fix (diff)
downloadwireguard-windows-b7b5595138810a8580aee3d4b305bc11e3778611.tar.xz
wireguard-windows-b7b5595138810a8580aee3d4b305bc11e3778611.zip
Slider: Add support for changing line and page size
-rw-r--r--declarative/slider.go4
-rw-r--r--slider.go16
2 files changed, 20 insertions, 0 deletions
diff --git a/declarative/slider.go b/declarative/slider.go
index 719c31f6..4f7fc0de 100644
--- a/declarative/slider.go
+++ b/declarative/slider.go
@@ -46,10 +46,12 @@ type Slider struct {
// Slider
AssignTo **walk.Slider
+ LineSize int
MaxValue int
MinValue int
Orientation Orientation
OnValueChanged walk.EventHandler
+ PageSize int
ToolTipsHidden bool
Tracking bool
Value Property
@@ -70,6 +72,8 @@ func (sl Slider) Create(builder *Builder) error {
return builder.InitWidget(sl, w, func() error {
w.SetPersistent(sl.Persistent)
+ w.SetLineSize(sl.LineSize)
+ w.SetPageSize(sl.PageSize)
w.SetTracking(sl.Tracking)
if sl.MaxValue > sl.MinValue {
diff --git a/slider.go b/slider.go
index 4687e1ad..b9e8ee50 100644
--- a/slider.go
+++ b/slider.go
@@ -141,6 +141,22 @@ func (sl *Slider) RestoreState() error {
return nil
}
+func (sl *Slider) LineSize() int {
+ return int(sl.SendMessage(win.TBM_GETLINESIZE, 0, 0))
+}
+
+func (sl *Slider) SetLineSize(lineSize int) {
+ sl.SendMessage(win.TBM_SETLINESIZE, 0, uintptr(lineSize))
+}
+
+func (sl *Slider) PageSize() int {
+ return int(sl.SendMessage(win.TBM_GETPAGESIZE, 0, 0))
+}
+
+func (sl *Slider) SetPageSize(pageSize int) {
+ sl.SendMessage(win.TBM_SETPAGESIZE, 0, uintptr(pageSize))
+}
+
func (sl *Slider) Tracking() bool {
return sl.tracking
}