diff --git a/v3/examples/kitchensink/main.go b/v3/examples/kitchensink/main.go deleted file mode 100644 index 3b5361f9..00000000 --- a/v3/examples/kitchensink/main.go +++ /dev/null @@ -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) - } -}