| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // package frm_status -- статусная панель
- package frm_status
- import (
- "time"
- tk "modernc.org/tk9.0"
- )
- type FrmStatus struct {
- winMain *tk.Window
- lblLive *tk.LabelWidget
- strLive string
- }
- func NewFrmStatus() *FrmStatus {
- sf := &FrmStatus{
- winMain: tk.App,
- }
- frmStatus := sf.winMain.Frame(tk.Border(1), tk.Relief(tk.SUNKEN))
- tk.Pack(frmStatus, tk.Fill(tk.FILL_X), tk.Side(tk.BOTTOM))
- fontLive := tk.Font("Courier")
- sf.lblLive = frmStatus.Label(tk.Txt(sf.strLive),
- tk.Relief(tk.RAISED),
- tk.Background(tk.Yellow),
- fontLive,
- )
- tk.Pack(sf.lblLive, tk.Side(tk.LEFT))
- lblSeparator0 := frmStatus.Label(tk.Txt(" "))
- tk.Pack(lblSeparator0, tk.Side(tk.LEFT))
- sf.strLive = "[|]"
- sf.liveUpdate()
- return sf
- }
- func (sf *FrmStatus) liveUpdate() {
- switch sf.strLive {
- case "[|]":
- sf.strLive = "[/]"
- case "[/]":
- sf.strLive = "[-]"
- case "[-]":
- sf.strLive = "[\\]"
- case "[\\]":
- sf.strLive = "[|]"
- }
- sf.lblLive.Configure(tk.Txt(sf.strLive))
- tk.TclAfter(time.Millisecond*250, sf.liveUpdate)
- }
|