/
service_dialog.go
73 lines (57 loc) · 2.03 KB
/
service_dialog.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
66
67
68
69
70
71
72
73
package forms
import (
"github.com/gazercloud/gazernode/client"
"github.com/gazercloud/gazernode/product/productinfo"
"github.com/gazercloud/gazerui/ui"
"github.com/gazercloud/gazerui/uicontrols"
"github.com/gazercloud/gazerui/uievents"
"github.com/gazercloud/gazerui/uiinterfaces"
)
type ServiceDialog struct {
uicontrols.Dialog
client *client.Client
}
func NewServiceDialog(parent uiinterfaces.Widget, cl *client.Client) *ServiceDialog {
var c ServiceDialog
c.client = cl
c.InitControl(parent, &c)
c.Resize(640, 480)
c.SetTitle("Gazer Node")
pContent := c.ContentPanel().AddPanelOnGrid(0, 0)
pLeft := pContent.AddPanelOnGrid(0, 0)
pLeft.SetPanelPadding(0)
pLeft.SetMinWidth(100)
img := pLeft.AddImageBoxOnGrid(0, 0, productinfo.Icon64())
img.SetScaling(uicontrols.ImageBoxScaleAdjustImageKeepAspectRatio)
//img.SetMinHeight(16)
//img.SetMinWidth(16)
img.SetFixedSize(64, 64)
//pLeft.AddVSpacerOnGrid(0, 1)
eMailAddress := "admin@gazer.cloud"
pRight := pContent.AddPanelOnGrid(1, 0)
pRight.AddTextBlockOnGrid(0, 0, "Gazer version "+productinfo.Version())
pRight.AddTextBlockOnGrid(0, 1, "Copyright (c) Ivan Poluyanov, 2020-2021")
txtEMail := pRight.AddTextBlockOnGrid(0, 2, "eMail: "+eMailAddress)
txtEMail.OnClick = func(ev *uievents.Event) {
client.OpenBrowser("mailto:" + eMailAddress)
}
txtEMail.SetMouseCursor(ui.MouseCursorPointer)
pRight.AddHSpacerOnGrid(1, 0)
pRight.AddTextBlockOnGrid(0, 3, "Design by Daria Apalkova")
pRight.AddButtonOnGrid(0, 4, "Open gazer.cloud", func(event *uievents.Event) {
client.OpenBrowser("https://gazer.cloud/?ref=menu_settings")
})
pRight.AddButtonOnGrid(0, 5, "Statistics", func(event *uievents.Event) {
formStatistics := NewFormStatistics(&c, c.client)
formStatistics.ShowDialog()
})
pContent.AddVSpacerOnGrid(0, 1)
pButtons := c.ContentPanel().AddPanelOnGrid(0, 2)
pButtons.AddHSpacerOnGrid(1, 0)
btnCancel := pButtons.AddButtonOnGrid(2, 0, "Close", func(event *uievents.Event) {
c.Reject()
})
btnCancel.SetMinWidth(70)
c.SetRejectButton(btnCancel)
return &c
}