mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
Remove old KitchenSink example
This commit is contained in:
@@ -1,226 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"log"
|
||||
"runtime"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/wailsapp/wails/v3/pkg/icons"
|
||||
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := application.New(application.Options{
|
||||
Name: "Menu Demo",
|
||||
Description: "A demo of the menu system",
|
||||
Mac: application.MacOptions{
|
||||
ApplicationShouldTerminateAfterLastWindowClosed: true,
|
||||
},
|
||||
})
|
||||
/*
|
||||
app.On(events.Mac.ApplicationDidFinishLaunching, func() {
|
||||
println("ApplicationDidFinishLaunching")
|
||||
})
|
||||
app.On(events.Mac.ApplicationWillTerminate, func() {
|
||||
println("ApplicationWillTerminate")
|
||||
})
|
||||
app.On(events.Mac.ApplicationDidBecomeActive, func() {
|
||||
println("ApplicationDidBecomeActive")
|
||||
})
|
||||
app.On(events.Mac.ApplicationDidChangeBackingProperties, func() {
|
||||
println("ApplicationDidChangeBackingProperties")
|
||||
})
|
||||
|
||||
app.On(events.Mac.ApplicationDidChangeEffectiveAppearance, func() {
|
||||
println("ApplicationDidChangeEffectiveAppearance")
|
||||
})
|
||||
app.On(events.Mac.ApplicationDidHide, func() {
|
||||
println("ApplicationDidHide")
|
||||
})
|
||||
|
||||
*/
|
||||
|
||||
menuCallback := func(ctx *application.Context) {
|
||||
menuItem := ctx.ClickedMenuItem()
|
||||
menuItem.SetLabel("Clicked!")
|
||||
}
|
||||
|
||||
radioCallback := func(ctx *application.Context) {
|
||||
menuItem := ctx.ClickedMenuItem()
|
||||
menuItem.SetLabel(menuItem.Label() + "!")
|
||||
}
|
||||
|
||||
myMenu := app.NewMenu()
|
||||
file1 := myMenu.Add("File")
|
||||
file1.SetTooltip("Create New Tray Menu")
|
||||
file1.OnClick(menuCallback)
|
||||
myMenu.Add("Create New Tray Menu").
|
||||
SetAccelerator("CmdOrCtrl+N").
|
||||
SetTooltip("ROFLCOPTER!!!!").
|
||||
OnClick(func(ctx *application.Context) {
|
||||
mySystray := app.NewSystemTray()
|
||||
mySystray.SetLabel("Wails")
|
||||
if runtime.GOOS == "darwin" {
|
||||
mySystray.SetTemplateIcon(icons.SystrayMacTemplate)
|
||||
} else {
|
||||
mySystray.SetIcon(icons.ApplicationDarkMode256)
|
||||
}
|
||||
myMenu := app.NewMenu()
|
||||
myMenu.Add("Item 1")
|
||||
myMenu.AddSeparator()
|
||||
myMenu.Add("Kill this menu").OnClick(func(ctx *application.Context) {
|
||||
mySystray.Destroy()
|
||||
})
|
||||
mySystray.SetMenu(myMenu)
|
||||
|
||||
})
|
||||
myMenu.Add("Not Enabled").SetEnabled(false)
|
||||
myMenu.AddSeparator()
|
||||
myMenu.AddCheckbox("My checkbox", true).OnClick(menuCallback)
|
||||
myMenu.AddSeparator()
|
||||
myMenu.AddRadio("Radio 1", true).OnClick(radioCallback)
|
||||
myMenu.AddRadio("Radio 2", false).OnClick(radioCallback)
|
||||
myMenu.AddRadio("Radio 3", false).OnClick(radioCallback)
|
||||
|
||||
submenu := myMenu.AddSubmenu("Submenu")
|
||||
submenu.Add("Submenu item 1").OnClick(menuCallback)
|
||||
submenu.Add("Submenu item 2").OnClick(menuCallback)
|
||||
submenu.Add("Submenu item 3").OnClick(menuCallback)
|
||||
myMenu.AddSeparator()
|
||||
file4 := myMenu.Add("File 4").OnClick(func(*application.Context) {
|
||||
println("File 4 clicked")
|
||||
})
|
||||
|
||||
myMenu.Add("Click to toggle").OnClick(func(*application.Context) {
|
||||
enabled := file4.Enabled()
|
||||
println("Enabled: ", enabled)
|
||||
file4.SetEnabled(!enabled)
|
||||
})
|
||||
myMenu.Add("File 5").OnClick(menuCallback)
|
||||
|
||||
mySystray := app.NewSystemTray()
|
||||
mySystray.SetLabel("Wails is awesome")
|
||||
if runtime.GOOS == "darwin" {
|
||||
mySystray.SetTemplateIcon(icons.SystrayMacTemplate)
|
||||
} else {
|
||||
mySystray.SetIcon(icons.ApplicationDarkMode256)
|
||||
}
|
||||
mySystray.SetMenu(myMenu)
|
||||
mySystray.SetIconPosition(application.NSImageLeading)
|
||||
|
||||
myWindow := app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
|
||||
Title: "Kitchen Sink",
|
||||
Width: 600,
|
||||
Height: 400,
|
||||
AlwaysOnTop: true,
|
||||
DisableResize: false,
|
||||
BackgroundColour: application.RGBA{
|
||||
Red: 255,
|
||||
Green: 255,
|
||||
Blue: 255,
|
||||
Alpha: 30,
|
||||
},
|
||||
StartState: application.WindowStateMaximised,
|
||||
Mac: application.MacWindow{
|
||||
Backdrop: application.MacBackdropTranslucent,
|
||||
Appearance: application.NSAppearanceNameDarkAqua,
|
||||
},
|
||||
})
|
||||
/*
|
||||
myWindow.On(events.Mac.WindowWillClose, func() {
|
||||
println(myWindow.ID(), "WindowWillClose")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidResize, func() {
|
||||
//w, h := myWindow.Size()
|
||||
//println(myWindow.ID(), "WindowDidResize", w, h)
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidMove, func() {
|
||||
//x, y := myWindow.Position()
|
||||
//println(myWindow.ID(), "WindowDidMove", x, y)
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidMiniaturize, func() {
|
||||
println(myWindow.ID(), "WindowDidMiniaturize")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidDeminiaturize, func() {
|
||||
println(myWindow.ID(), "WindowDidDeminiaturize")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidBecomeKey, func() {
|
||||
println(myWindow.ID(), "WindowDidBecomeKey")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidResignKey, func() {
|
||||
println(myWindow.ID(), "WindowDidResignKey")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidBecomeMain, func() {
|
||||
println(myWindow.ID(), "WindowDidBecomeMain")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidResignMain, func() {
|
||||
println(myWindow.ID(), "WindowDidResignMain")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowWillEnterFullScreen, func() {
|
||||
println(myWindow.ID(), "WindowWillEnterFullScreen")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidEnterFullScreen, func() {
|
||||
println(myWindow.ID(), "WindowDidEnterFullScreen")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowWillExitFullScreen, func() {
|
||||
println(myWindow.ID(), "WindowWillExitFullScreen")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidExitFullScreen, func() {
|
||||
println(myWindow.ID(), "WindowDidExitFullScreen")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowWillEnterVersionBrowser, func() {
|
||||
println(myWindow.ID(), "WindowWillEnterVersionBrowser")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidEnterVersionBrowser, func() {
|
||||
println(myWindow.ID(), "WindowDidEnterVersionBrowser")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowWillExitVersionBrowser, func() {
|
||||
println(myWindow.ID(), "WindowWillExitVersionBrowser")
|
||||
})
|
||||
myWindow.On(events.Mac.WindowDidExitVersionBrowser, func() {
|
||||
println(myWindow.ID(), "WindowDidExitVersionBrowser")
|
||||
})
|
||||
*/
|
||||
var myWindow2 *application.WebviewWindow
|
||||
var myWindow2Lock sync.RWMutex
|
||||
myWindow2 = app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
|
||||
Title: "#2",
|
||||
Width: 1024,
|
||||
Height: 768,
|
||||
AlwaysOnTop: false,
|
||||
URL: "https://google.com",
|
||||
Mac: application.MacWindow{
|
||||
Backdrop: application.MacBackdropTranslucent,
|
||||
},
|
||||
})
|
||||
//myWindow2.On(events.Mac.WindowDidMove, func() {
|
||||
// myWindow2Lock.RLock()
|
||||
// x, y := myWindow2.Position()
|
||||
// println(myWindow2.ID(), "WindowDidMove: ", x, y)
|
||||
// myWindow2Lock.RUnlock()
|
||||
//})
|
||||
//
|
||||
|
||||
go func() {
|
||||
time.Sleep(5 * time.Second)
|
||||
myWindow2Lock.RLock()
|
||||
myWindow.SetTitle("Wooooo")
|
||||
myWindow.SetAlwaysOnTop(true)
|
||||
myWindow2.SetTitle("OMG")
|
||||
myWindow2.SetURL("https://wails.io")
|
||||
myWindow.SetMinSize(600, 600)
|
||||
myWindow.SetMaxSize(650, 650)
|
||||
myWindow.Center()
|
||||
myWindow2Lock.RUnlock()
|
||||
|
||||
}()
|
||||
|
||||
err := app.Run()
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user