-
Notifications
You must be signed in to change notification settings - Fork 0
/
statusbar.go
65 lines (59 loc) · 1.38 KB
/
statusbar.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Copyright 2017 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.
// This example demonstrates the status bar, including a size gripper
// attached to the bottom of the main window.
// The status bar has two items, one is dynamically updated and one includes an icon.
package main
import (
"log"
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
)
func main() {
icon1, err := walk.NewIconFromFile("../img/check.ico")
if err != nil {
log.Fatal(err)
}
icon2, err := walk.NewIconFromFile("../img/stop.ico")
if err != nil {
log.Fatal(err)
}
var sbi *walk.StatusBarItem
MainWindow{
Title: "Walk Statusbar Example",
MinSize: Size{600, 200},
Layout: VBox{MarginsZero: true},
StatusBarItems: []StatusBarItem{
StatusBarItem{
AssignTo: &sbi,
Icon: icon1,
Text: "click",
Width: 80,
OnClicked: func() {
if sbi.Text() == "click" {
sbi.SetText("again")
sbi.SetIcon(icon2)
} else {
sbi.SetText("click")
sbi.SetIcon(icon1)
}
},
},
StatusBarItem{
Text: "left",
ToolTipText: "no tooltip for me",
},
StatusBarItem{
Text: "\tcenter",
},
StatusBarItem{
Text: "\t\tright",
},
StatusBarItem{
Icon: icon1,
ToolTipText: "An icon with a tooltip",
},
},
}.Run()
}