mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 19:50:15 +08:00

* fix: fix go test errors * Add flags to mac test * Run on all branches * Update PR workflow Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
//go:build windows
|
|
|
|
/*
|
|
* Copyright (C) 2019 The Winc Authors. All Rights Reserved.
|
|
*/
|
|
|
|
package winc
|
|
|
|
import (
|
|
"github.com/wailsapp/wails/v2/internal/frontend/desktop/windows/winc/w32"
|
|
)
|
|
|
|
type ProgressBar struct {
|
|
ControlBase
|
|
}
|
|
|
|
func NewProgressBar(parent Controller) *ProgressBar {
|
|
pb := new(ProgressBar)
|
|
|
|
pb.InitControl(w32.PROGRESS_CLASS, parent, 0, w32.WS_CHILD|w32.WS_VISIBLE)
|
|
RegMsgHandler(pb)
|
|
|
|
pb.SetSize(200, 22)
|
|
return pb
|
|
}
|
|
|
|
func (pr *ProgressBar) Value() int {
|
|
ret := w32.SendMessage(pr.hwnd, w32.PBM_GETPOS, 0, 0)
|
|
return int(ret)
|
|
}
|
|
|
|
func (pr *ProgressBar) SetValue(v int) {
|
|
w32.SendMessage(pr.hwnd, w32.PBM_SETPOS, uintptr(v), 0)
|
|
}
|
|
|
|
func (pr *ProgressBar) Range() (min, max uint) {
|
|
min = uint(w32.SendMessage(pr.hwnd, w32.PBM_GETRANGE, uintptr(w32.BoolToBOOL(true)), 0))
|
|
max = uint(w32.SendMessage(pr.hwnd, w32.PBM_GETRANGE, uintptr(w32.BoolToBOOL(false)), 0))
|
|
return
|
|
}
|
|
|
|
func (pr *ProgressBar) SetRange(min, max int) {
|
|
w32.SendMessage(pr.hwnd, w32.PBM_SETRANGE32, uintptr(min), uintptr(max))
|
|
}
|
|
|
|
func (pr *ProgressBar) WndProc(msg uint32, wparam, lparam uintptr) uintptr {
|
|
return w32.DefWindowProc(pr.hwnd, msg, wparam, lparam)
|
|
}
|