mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-05 00:30:55 +08:00
90 lines
1.9 KiB
Go
90 lines
1.9 KiB
Go
//go:build windows
|
|
|
|
package application
|
|
|
|
type windowsApp struct {
|
|
//applicationMenu unsafe.Pointer
|
|
parent *App
|
|
}
|
|
|
|
func (m *windowsApp) dispatchOnMainThread(id uint) {
|
|
//TODO implement me
|
|
panic("implement me")
|
|
}
|
|
|
|
func (m *windowsApp) getPrimaryScreen() (*Screen, error) {
|
|
//TODO implement me
|
|
panic("implement me")
|
|
}
|
|
|
|
func (m *windowsApp) getScreens() ([]*Screen, error) {
|
|
//TODO implement me
|
|
panic("implement me")
|
|
}
|
|
|
|
func (m *windowsApp) hide() {
|
|
//C.hide()
|
|
}
|
|
|
|
func (m *windowsApp) show() {
|
|
//C.show()
|
|
}
|
|
|
|
func (m *windowsApp) on(eventID uint) {
|
|
//C.registerListener(C.uint(eventID))
|
|
}
|
|
|
|
func (m *windowsApp) setIcon(icon []byte) {
|
|
//C.setApplicationIcon(unsafe.Pointer(&icon[0]), C.int(len(icon)))
|
|
}
|
|
|
|
func (m *windowsApp) name() string {
|
|
//appName := C.getAppName()
|
|
//defer C.free(unsafe.Pointer(appName))
|
|
//return C.GoString(appName)
|
|
return ""
|
|
}
|
|
|
|
func (m *windowsApp) getCurrentWindowID() uint {
|
|
//return uint(C.getCurrentWindowID())
|
|
return uint(0)
|
|
}
|
|
|
|
func (m *windowsApp) setApplicationMenu(menu *Menu) {
|
|
if menu == nil {
|
|
// Create a default menu for mac
|
|
menu = defaultApplicationMenu()
|
|
}
|
|
menu.Update()
|
|
|
|
// Convert impl to macosMenu object
|
|
//m.applicationMenu = (menu.impl).(*macosMenu).nsMenu
|
|
//C.setApplicationMenu(m.applicationMenu)
|
|
}
|
|
|
|
func (m *windowsApp) run() error {
|
|
// Add a hook to the ApplicationDidFinishLaunching event
|
|
//m.parent.On(events.Mac.ApplicationDidFinishLaunching, func() {
|
|
// C.setApplicationShouldTerminateAfterLastWindowClosed(C.bool(m.parent.options.Mac.ApplicationShouldTerminateAfterLastWindowClosed))
|
|
// C.setActivationPolicy(C.int(m.parent.options.Mac.ActivationPolicy))
|
|
// C.activateIgnoringOtherApps()
|
|
//})
|
|
// setup event listeners
|
|
for eventID := range m.parent.applicationEventListeners {
|
|
m.on(eventID)
|
|
}
|
|
//C.run()
|
|
return nil
|
|
}
|
|
|
|
func (m *windowsApp) destroy() {
|
|
//C.destroyApp()
|
|
}
|
|
|
|
func newPlatformApp(app *App) *windowsApp {
|
|
//C.init()
|
|
return &windowsApp{
|
|
parent: app,
|
|
}
|
|
}
|