diff --git a/v3/examples/drag-n-drop/assets/index.html b/v3/examples/drag-n-drop/assets/index.html new file mode 100644 index 000000000..1ec2339dd --- /dev/null +++ b/v3/examples/drag-n-drop/assets/index.html @@ -0,0 +1,25 @@ + + + + + Title + + + +

Drag-n-drop Demo

+
+Drop Files onto this window... +
+ + + + + \ No newline at end of file diff --git a/v3/examples/drag-n-drop/main.go b/v3/examples/drag-n-drop/main.go new file mode 100644 index 000000000..5719b454f --- /dev/null +++ b/v3/examples/drag-n-drop/main.go @@ -0,0 +1,51 @@ +package main + +import ( + "embed" + _ "embed" + "log" + + "github.com/wailsapp/wails/v3/pkg/application" + "github.com/wailsapp/wails/v3/pkg/events" +) + +//go:embed assets +var assets embed.FS + +func main() { + + app := application.New(application.Options{ + Name: "Drag-n-drop Demo", + Description: "A demo of the Drag-n-drop API", + Mac: application.MacOptions{ + ApplicationShouldTerminateAfterLastWindowClosed: true, + }, + }) + + window := app.NewWebviewWindowWithOptions(&application.WebviewWindowOptions{ + Title: "Drag-n-drop Demo", + Assets: application.AssetOptions{ + FS: assets, + }, + Mac: application.MacWindow{ + Backdrop: application.MacBackdropTranslucent, + TitleBar: application.MacTitleBarHiddenInsetUnified, + InvisibleTitleBarHeight: 50, + }, + }) + + window.On(events.FilesDropped, func(ctx *application.WindowEventContext) { + files := ctx.DroppedFiles() + app.Events.Emit(&application.CustomEvent{ + Name: "files", + Data: files, + }) + log.Printf("[Go] FilesDropped received: %+v\n", files) + }) + + err := app.Run() + + if err != nil { + log.Fatal(err.Error()) + } +} diff --git a/v3/pkg/application/context_window_event.go b/v3/pkg/application/context_window_event.go index ca16b28f4..f9895fbd2 100644 --- a/v3/pkg/application/context_window_event.go +++ b/v3/pkg/application/context_window_event.go @@ -2,13 +2,34 @@ package application var blankWindowEventContext = &WindowEventContext{} +const ( + // FilesDropped is the event name for when files are dropped on the window + droppedFiles = "droppedFiles" +) + type WindowEventContext struct { // contains filtered or unexported fields data map[string]any } -func newWindowEventContext() *Context { - return &Context{ +func (c WindowEventContext) DroppedFiles() []string { + files, ok := c.data[droppedFiles] + if !ok { + return nil + } + result, ok := files.([]string) + if !ok { + return nil + } + return result +} + +func (c WindowEventContext) setDroppedFiles(files []string) { + c.data[droppedFiles] = files +} + +func newWindowEventContext() *WindowEventContext { + return &WindowEventContext{ data: make(map[string]any), } } diff --git a/v3/pkg/application/webview_window.go b/v3/pkg/application/webview_window.go index 63fce5262..7bb910213 100644 --- a/v3/pkg/application/webview_window.go +++ b/v3/pkg/application/webview_window.go @@ -659,8 +659,10 @@ func (w *WebviewWindow) error(message string, args ...any) { func (w *WebviewWindow) handleDragAndDropMessage(event *dragAndDropMessage) { println("Drag and drop message received for " + w.Name()) // Print filenames - for _, file := range event.filenames { - println(file) + ctx := newWindowEventContext() + ctx.setDroppedFiles(event.filenames) + for _, listener := range w.eventListeners[uint(events.FilesDropped)] { + listener(ctx) } } diff --git a/v3/pkg/events/events.go b/v3/pkg/events/events.go index 907551c41..2a6238388 100644 --- a/v3/pkg/events/events.go +++ b/v3/pkg/events/events.go @@ -3,6 +3,10 @@ package events type ApplicationEventType uint type WindowEventType uint +const ( + FilesDropped WindowEventType = iota +) + var Mac = newMacEvents() type macEvents struct { @@ -132,127 +136,127 @@ type macEvents struct { func newMacEvents() macEvents { return macEvents{ - ApplicationDidBecomeActive: 0, - ApplicationDidChangeBackingProperties: 1, - ApplicationDidChangeEffectiveAppearance: 2, - ApplicationDidChangeIcon: 3, - ApplicationDidChangeOcclusionState: 4, - ApplicationDidChangeScreenParameters: 5, - ApplicationDidChangeStatusBarFrame: 6, - ApplicationDidChangeStatusBarOrientation: 7, - ApplicationDidFinishLaunching: 8, - ApplicationDidHide: 9, - ApplicationDidResignActive: 10, - ApplicationDidUnhide: 11, - ApplicationDidUpdate: 12, - ApplicationWillBecomeActive: 13, - ApplicationWillFinishLaunching: 14, - ApplicationWillHide: 15, - ApplicationWillResignActive: 16, - ApplicationWillTerminate: 17, - ApplicationWillUnhide: 18, - ApplicationWillUpdate: 19, - WindowDidBecomeKey: 20, - WindowDidBecomeMain: 21, - WindowDidBeginSheet: 22, - WindowDidChangeAlpha: 23, - WindowDidChangeBackingLocation: 24, - WindowDidChangeBackingProperties: 25, - WindowDidChangeCollectionBehavior: 26, - WindowDidChangeEffectiveAppearance: 27, - WindowDidChangeOcclusionState: 28, - WindowDidChangeOrderingMode: 29, - WindowDidChangeScreen: 30, - WindowDidChangeScreenParameters: 31, - WindowDidChangeScreenProfile: 32, - WindowDidChangeScreenSpace: 33, - WindowDidChangeScreenSpaceProperties: 34, - WindowDidChangeSharingType: 35, - WindowDidChangeSpace: 36, - WindowDidChangeSpaceOrderingMode: 37, - WindowDidChangeTitle: 38, - WindowDidChangeToolbar: 39, - WindowDidChangeVisibility: 40, - WindowDidClose: 41, - WindowDidDeminiaturize: 42, - WindowDidEndSheet: 43, - WindowDidEnterFullScreen: 44, - WindowDidEnterVersionBrowser: 45, - WindowDidExitFullScreen: 46, - WindowDidExitVersionBrowser: 47, - WindowDidExpose: 48, - WindowDidFocus: 49, - WindowDidMiniaturize: 50, - WindowDidMove: 51, - WindowDidOrderOffScreen: 52, - WindowDidOrderOnScreen: 53, - WindowDidResignKey: 54, - WindowDidResignMain: 55, - WindowDidResize: 56, - WindowDidUnfocus: 57, - WindowDidUpdate: 58, - WindowDidUpdateAlpha: 59, - WindowDidUpdateCollectionBehavior: 60, - WindowDidUpdateCollectionProperties: 61, - WindowDidUpdateShadow: 62, - WindowDidUpdateTitle: 63, - WindowDidUpdateToolbar: 64, - WindowDidUpdateVisibility: 65, - WindowWillBecomeKey: 66, - WindowWillBecomeMain: 67, - WindowWillBeginSheet: 68, - WindowWillChangeOrderingMode: 69, - WindowWillClose: 70, - WindowWillDeminiaturize: 71, - WindowWillEnterFullScreen: 72, - WindowWillEnterVersionBrowser: 73, - WindowWillExitFullScreen: 74, - WindowWillExitVersionBrowser: 75, - WindowWillFocus: 76, - WindowWillMiniaturize: 77, - WindowWillMove: 78, - WindowWillOrderOffScreen: 79, - WindowWillOrderOnScreen: 80, - WindowWillResignMain: 81, - WindowWillResize: 82, - WindowWillUnfocus: 83, - WindowWillUpdate: 84, - WindowWillUpdateAlpha: 85, - WindowWillUpdateCollectionBehavior: 86, - WindowWillUpdateCollectionProperties: 87, - WindowWillUpdateShadow: 88, - WindowWillUpdateTitle: 89, - WindowWillUpdateToolbar: 90, - WindowWillUpdateVisibility: 91, - WindowWillUseStandardFrame: 92, - MenuWillOpen: 93, - MenuDidOpen: 94, - MenuDidClose: 95, - MenuWillSendAction: 96, - MenuDidSendAction: 97, - MenuWillHighlightItem: 98, - MenuDidHighlightItem: 99, - MenuWillDisplayItem: 100, - MenuDidDisplayItem: 101, - MenuWillAddItem: 102, - MenuDidAddItem: 103, - MenuWillRemoveItem: 104, - MenuDidRemoveItem: 105, - MenuWillBeginTracking: 106, - MenuDidBeginTracking: 107, - MenuWillEndTracking: 108, - MenuDidEndTracking: 109, - MenuWillUpdate: 110, - MenuDidUpdate: 111, - MenuWillPopUp: 112, - MenuDidPopUp: 113, - MenuWillSendActionToItem: 114, - MenuDidSendActionToItem: 115, - WebViewDidStartProvisionalNavigation: 116, - WebViewDidReceiveServerRedirectForProvisionalNavigation: 117, - WebViewDidFinishNavigation: 118, - WebViewDidCommitNavigation: 119, - WebViewDraggingEntered: 120, - WebViewDraggingPerformed: 121, + ApplicationDidBecomeActive: 1024, + ApplicationDidChangeBackingProperties: 1025, + ApplicationDidChangeEffectiveAppearance: 1026, + ApplicationDidChangeIcon: 1027, + ApplicationDidChangeOcclusionState: 1028, + ApplicationDidChangeScreenParameters: 1029, + ApplicationDidChangeStatusBarFrame: 1030, + ApplicationDidChangeStatusBarOrientation: 1031, + ApplicationDidFinishLaunching: 1032, + ApplicationDidHide: 1033, + ApplicationDidResignActive: 1034, + ApplicationDidUnhide: 1035, + ApplicationDidUpdate: 1036, + ApplicationWillBecomeActive: 1037, + ApplicationWillFinishLaunching: 1038, + ApplicationWillHide: 1039, + ApplicationWillResignActive: 1040, + ApplicationWillTerminate: 1041, + ApplicationWillUnhide: 1042, + ApplicationWillUpdate: 1043, + WindowDidBecomeKey: 1044, + WindowDidBecomeMain: 1045, + WindowDidBeginSheet: 1046, + WindowDidChangeAlpha: 1047, + WindowDidChangeBackingLocation: 1048, + WindowDidChangeBackingProperties: 1049, + WindowDidChangeCollectionBehavior: 1050, + WindowDidChangeEffectiveAppearance: 1051, + WindowDidChangeOcclusionState: 1052, + WindowDidChangeOrderingMode: 1053, + WindowDidChangeScreen: 1054, + WindowDidChangeScreenParameters: 1055, + WindowDidChangeScreenProfile: 1056, + WindowDidChangeScreenSpace: 1057, + WindowDidChangeScreenSpaceProperties: 1058, + WindowDidChangeSharingType: 1059, + WindowDidChangeSpace: 1060, + WindowDidChangeSpaceOrderingMode: 1061, + WindowDidChangeTitle: 1062, + WindowDidChangeToolbar: 1063, + WindowDidChangeVisibility: 1064, + WindowDidClose: 1065, + WindowDidDeminiaturize: 1066, + WindowDidEndSheet: 1067, + WindowDidEnterFullScreen: 1068, + WindowDidEnterVersionBrowser: 1069, + WindowDidExitFullScreen: 1070, + WindowDidExitVersionBrowser: 1071, + WindowDidExpose: 1072, + WindowDidFocus: 1073, + WindowDidMiniaturize: 1074, + WindowDidMove: 1075, + WindowDidOrderOffScreen: 1076, + WindowDidOrderOnScreen: 1077, + WindowDidResignKey: 1078, + WindowDidResignMain: 1079, + WindowDidResize: 1080, + WindowDidUnfocus: 1081, + WindowDidUpdate: 1082, + WindowDidUpdateAlpha: 1083, + WindowDidUpdateCollectionBehavior: 1084, + WindowDidUpdateCollectionProperties: 1085, + WindowDidUpdateShadow: 1086, + WindowDidUpdateTitle: 1087, + WindowDidUpdateToolbar: 1088, + WindowDidUpdateVisibility: 1089, + WindowWillBecomeKey: 1090, + WindowWillBecomeMain: 1091, + WindowWillBeginSheet: 1092, + WindowWillChangeOrderingMode: 1093, + WindowWillClose: 1094, + WindowWillDeminiaturize: 1095, + WindowWillEnterFullScreen: 1096, + WindowWillEnterVersionBrowser: 1097, + WindowWillExitFullScreen: 1098, + WindowWillExitVersionBrowser: 1099, + WindowWillFocus: 1100, + WindowWillMiniaturize: 1101, + WindowWillMove: 1102, + WindowWillOrderOffScreen: 1103, + WindowWillOrderOnScreen: 1104, + WindowWillResignMain: 1105, + WindowWillResize: 1106, + WindowWillUnfocus: 1107, + WindowWillUpdate: 1108, + WindowWillUpdateAlpha: 1109, + WindowWillUpdateCollectionBehavior: 1110, + WindowWillUpdateCollectionProperties: 1111, + WindowWillUpdateShadow: 1112, + WindowWillUpdateTitle: 1113, + WindowWillUpdateToolbar: 1114, + WindowWillUpdateVisibility: 1115, + WindowWillUseStandardFrame: 1116, + MenuWillOpen: 1117, + MenuDidOpen: 1118, + MenuDidClose: 1119, + MenuWillSendAction: 1120, + MenuDidSendAction: 1121, + MenuWillHighlightItem: 1122, + MenuDidHighlightItem: 1123, + MenuWillDisplayItem: 1124, + MenuDidDisplayItem: 1125, + MenuWillAddItem: 1126, + MenuDidAddItem: 1127, + MenuWillRemoveItem: 1128, + MenuDidRemoveItem: 1129, + MenuWillBeginTracking: 1130, + MenuDidBeginTracking: 1131, + MenuWillEndTracking: 1132, + MenuDidEndTracking: 1133, + MenuWillUpdate: 1134, + MenuDidUpdate: 1135, + MenuWillPopUp: 1136, + MenuDidPopUp: 1137, + MenuWillSendActionToItem: 1138, + MenuDidSendActionToItem: 1139, + WebViewDidStartProvisionalNavigation: 1140, + WebViewDidReceiveServerRedirectForProvisionalNavigation: 1141, + WebViewDidFinishNavigation: 1142, + WebViewDidCommitNavigation: 1143, + WebViewDraggingEntered: 1144, + WebViewDraggingPerformed: 1145, } } diff --git a/v3/pkg/events/events.h b/v3/pkg/events/events.h index 7a3508958..0520a6480 100644 --- a/v3/pkg/events/events.h +++ b/v3/pkg/events/events.h @@ -6,130 +6,130 @@ extern void processApplicationEvent(unsigned int); extern void processWindowEvent(unsigned int, unsigned int); -#define EventApplicationDidBecomeActive 0 -#define EventApplicationDidChangeBackingProperties 1 -#define EventApplicationDidChangeEffectiveAppearance 2 -#define EventApplicationDidChangeIcon 3 -#define EventApplicationDidChangeOcclusionState 4 -#define EventApplicationDidChangeScreenParameters 5 -#define EventApplicationDidChangeStatusBarFrame 6 -#define EventApplicationDidChangeStatusBarOrientation 7 -#define EventApplicationDidFinishLaunching 8 -#define EventApplicationDidHide 9 -#define EventApplicationDidResignActive 10 -#define EventApplicationDidUnhide 11 -#define EventApplicationDidUpdate 12 -#define EventApplicationWillBecomeActive 13 -#define EventApplicationWillFinishLaunching 14 -#define EventApplicationWillHide 15 -#define EventApplicationWillResignActive 16 -#define EventApplicationWillTerminate 17 -#define EventApplicationWillUnhide 18 -#define EventApplicationWillUpdate 19 -#define EventWindowDidBecomeKey 20 -#define EventWindowDidBecomeMain 21 -#define EventWindowDidBeginSheet 22 -#define EventWindowDidChangeAlpha 23 -#define EventWindowDidChangeBackingLocation 24 -#define EventWindowDidChangeBackingProperties 25 -#define EventWindowDidChangeCollectionBehavior 26 -#define EventWindowDidChangeEffectiveAppearance 27 -#define EventWindowDidChangeOcclusionState 28 -#define EventWindowDidChangeOrderingMode 29 -#define EventWindowDidChangeScreen 30 -#define EventWindowDidChangeScreenParameters 31 -#define EventWindowDidChangeScreenProfile 32 -#define EventWindowDidChangeScreenSpace 33 -#define EventWindowDidChangeScreenSpaceProperties 34 -#define EventWindowDidChangeSharingType 35 -#define EventWindowDidChangeSpace 36 -#define EventWindowDidChangeSpaceOrderingMode 37 -#define EventWindowDidChangeTitle 38 -#define EventWindowDidChangeToolbar 39 -#define EventWindowDidChangeVisibility 40 -#define EventWindowDidClose 41 -#define EventWindowDidDeminiaturize 42 -#define EventWindowDidEndSheet 43 -#define EventWindowDidEnterFullScreen 44 -#define EventWindowDidEnterVersionBrowser 45 -#define EventWindowDidExitFullScreen 46 -#define EventWindowDidExitVersionBrowser 47 -#define EventWindowDidExpose 48 -#define EventWindowDidFocus 49 -#define EventWindowDidMiniaturize 50 -#define EventWindowDidMove 51 -#define EventWindowDidOrderOffScreen 52 -#define EventWindowDidOrderOnScreen 53 -#define EventWindowDidResignKey 54 -#define EventWindowDidResignMain 55 -#define EventWindowDidResize 56 -#define EventWindowDidUnfocus 57 -#define EventWindowDidUpdate 58 -#define EventWindowDidUpdateAlpha 59 -#define EventWindowDidUpdateCollectionBehavior 60 -#define EventWindowDidUpdateCollectionProperties 61 -#define EventWindowDidUpdateShadow 62 -#define EventWindowDidUpdateTitle 63 -#define EventWindowDidUpdateToolbar 64 -#define EventWindowDidUpdateVisibility 65 -#define EventWindowWillBecomeKey 66 -#define EventWindowWillBecomeMain 67 -#define EventWindowWillBeginSheet 68 -#define EventWindowWillChangeOrderingMode 69 -#define EventWindowWillClose 70 -#define EventWindowWillDeminiaturize 71 -#define EventWindowWillEnterFullScreen 72 -#define EventWindowWillEnterVersionBrowser 73 -#define EventWindowWillExitFullScreen 74 -#define EventWindowWillExitVersionBrowser 75 -#define EventWindowWillFocus 76 -#define EventWindowWillMiniaturize 77 -#define EventWindowWillMove 78 -#define EventWindowWillOrderOffScreen 79 -#define EventWindowWillOrderOnScreen 80 -#define EventWindowWillResignMain 81 -#define EventWindowWillResize 82 -#define EventWindowWillUnfocus 83 -#define EventWindowWillUpdate 84 -#define EventWindowWillUpdateAlpha 85 -#define EventWindowWillUpdateCollectionBehavior 86 -#define EventWindowWillUpdateCollectionProperties 87 -#define EventWindowWillUpdateShadow 88 -#define EventWindowWillUpdateTitle 89 -#define EventWindowWillUpdateToolbar 90 -#define EventWindowWillUpdateVisibility 91 -#define EventWindowWillUseStandardFrame 92 -#define EventMenuWillOpen 93 -#define EventMenuDidOpen 94 -#define EventMenuDidClose 95 -#define EventMenuWillSendAction 96 -#define EventMenuDidSendAction 97 -#define EventMenuWillHighlightItem 98 -#define EventMenuDidHighlightItem 99 -#define EventMenuWillDisplayItem 100 -#define EventMenuDidDisplayItem 101 -#define EventMenuWillAddItem 102 -#define EventMenuDidAddItem 103 -#define EventMenuWillRemoveItem 104 -#define EventMenuDidRemoveItem 105 -#define EventMenuWillBeginTracking 106 -#define EventMenuDidBeginTracking 107 -#define EventMenuWillEndTracking 108 -#define EventMenuDidEndTracking 109 -#define EventMenuWillUpdate 110 -#define EventMenuDidUpdate 111 -#define EventMenuWillPopUp 112 -#define EventMenuDidPopUp 113 -#define EventMenuWillSendActionToItem 114 -#define EventMenuDidSendActionToItem 115 -#define EventWebViewDidStartProvisionalNavigation 116 -#define EventWebViewDidReceiveServerRedirectForProvisionalNavigation 117 -#define EventWebViewDidFinishNavigation 118 -#define EventWebViewDidCommitNavigation 119 -#define EventWebViewDraggingEntered 120 -#define EventWebViewDraggingPerformed 121 +#define EventApplicationDidBecomeActive 1024 +#define EventApplicationDidChangeBackingProperties 1025 +#define EventApplicationDidChangeEffectiveAppearance 1026 +#define EventApplicationDidChangeIcon 1027 +#define EventApplicationDidChangeOcclusionState 1028 +#define EventApplicationDidChangeScreenParameters 1029 +#define EventApplicationDidChangeStatusBarFrame 1030 +#define EventApplicationDidChangeStatusBarOrientation 1031 +#define EventApplicationDidFinishLaunching 1032 +#define EventApplicationDidHide 1033 +#define EventApplicationDidResignActive 1034 +#define EventApplicationDidUnhide 1035 +#define EventApplicationDidUpdate 1036 +#define EventApplicationWillBecomeActive 1037 +#define EventApplicationWillFinishLaunching 1038 +#define EventApplicationWillHide 1039 +#define EventApplicationWillResignActive 1040 +#define EventApplicationWillTerminate 1041 +#define EventApplicationWillUnhide 1042 +#define EventApplicationWillUpdate 1043 +#define EventWindowDidBecomeKey 1044 +#define EventWindowDidBecomeMain 1045 +#define EventWindowDidBeginSheet 1046 +#define EventWindowDidChangeAlpha 1047 +#define EventWindowDidChangeBackingLocation 1048 +#define EventWindowDidChangeBackingProperties 1049 +#define EventWindowDidChangeCollectionBehavior 1050 +#define EventWindowDidChangeEffectiveAppearance 1051 +#define EventWindowDidChangeOcclusionState 1052 +#define EventWindowDidChangeOrderingMode 1053 +#define EventWindowDidChangeScreen 1054 +#define EventWindowDidChangeScreenParameters 1055 +#define EventWindowDidChangeScreenProfile 1056 +#define EventWindowDidChangeScreenSpace 1057 +#define EventWindowDidChangeScreenSpaceProperties 1058 +#define EventWindowDidChangeSharingType 1059 +#define EventWindowDidChangeSpace 1060 +#define EventWindowDidChangeSpaceOrderingMode 1061 +#define EventWindowDidChangeTitle 1062 +#define EventWindowDidChangeToolbar 1063 +#define EventWindowDidChangeVisibility 1064 +#define EventWindowDidClose 1065 +#define EventWindowDidDeminiaturize 1066 +#define EventWindowDidEndSheet 1067 +#define EventWindowDidEnterFullScreen 1068 +#define EventWindowDidEnterVersionBrowser 1069 +#define EventWindowDidExitFullScreen 1070 +#define EventWindowDidExitVersionBrowser 1071 +#define EventWindowDidExpose 1072 +#define EventWindowDidFocus 1073 +#define EventWindowDidMiniaturize 1074 +#define EventWindowDidMove 1075 +#define EventWindowDidOrderOffScreen 1076 +#define EventWindowDidOrderOnScreen 1077 +#define EventWindowDidResignKey 1078 +#define EventWindowDidResignMain 1079 +#define EventWindowDidResize 1080 +#define EventWindowDidUnfocus 1081 +#define EventWindowDidUpdate 1082 +#define EventWindowDidUpdateAlpha 1083 +#define EventWindowDidUpdateCollectionBehavior 1084 +#define EventWindowDidUpdateCollectionProperties 1085 +#define EventWindowDidUpdateShadow 1086 +#define EventWindowDidUpdateTitle 1087 +#define EventWindowDidUpdateToolbar 1088 +#define EventWindowDidUpdateVisibility 1089 +#define EventWindowWillBecomeKey 1090 +#define EventWindowWillBecomeMain 1091 +#define EventWindowWillBeginSheet 1092 +#define EventWindowWillChangeOrderingMode 1093 +#define EventWindowWillClose 1094 +#define EventWindowWillDeminiaturize 1095 +#define EventWindowWillEnterFullScreen 1096 +#define EventWindowWillEnterVersionBrowser 1097 +#define EventWindowWillExitFullScreen 1098 +#define EventWindowWillExitVersionBrowser 1099 +#define EventWindowWillFocus 1100 +#define EventWindowWillMiniaturize 1101 +#define EventWindowWillMove 1102 +#define EventWindowWillOrderOffScreen 1103 +#define EventWindowWillOrderOnScreen 1104 +#define EventWindowWillResignMain 1105 +#define EventWindowWillResize 1106 +#define EventWindowWillUnfocus 1107 +#define EventWindowWillUpdate 1108 +#define EventWindowWillUpdateAlpha 1109 +#define EventWindowWillUpdateCollectionBehavior 1110 +#define EventWindowWillUpdateCollectionProperties 1111 +#define EventWindowWillUpdateShadow 1112 +#define EventWindowWillUpdateTitle 1113 +#define EventWindowWillUpdateToolbar 1114 +#define EventWindowWillUpdateVisibility 1115 +#define EventWindowWillUseStandardFrame 1116 +#define EventMenuWillOpen 1117 +#define EventMenuDidOpen 1118 +#define EventMenuDidClose 1119 +#define EventMenuWillSendAction 1120 +#define EventMenuDidSendAction 1121 +#define EventMenuWillHighlightItem 1122 +#define EventMenuDidHighlightItem 1123 +#define EventMenuWillDisplayItem 1124 +#define EventMenuDidDisplayItem 1125 +#define EventMenuWillAddItem 1126 +#define EventMenuDidAddItem 1127 +#define EventMenuWillRemoveItem 1128 +#define EventMenuDidRemoveItem 1129 +#define EventMenuWillBeginTracking 1130 +#define EventMenuDidBeginTracking 1131 +#define EventMenuWillEndTracking 1132 +#define EventMenuDidEndTracking 1133 +#define EventMenuWillUpdate 1134 +#define EventMenuDidUpdate 1135 +#define EventMenuWillPopUp 1136 +#define EventMenuDidPopUp 1137 +#define EventMenuWillSendActionToItem 1138 +#define EventMenuDidSendActionToItem 1139 +#define EventWebViewDidStartProvisionalNavigation 1140 +#define EventWebViewDidReceiveServerRedirectForProvisionalNavigation 1141 +#define EventWebViewDidFinishNavigation 1142 +#define EventWebViewDidCommitNavigation 1143 +#define EventWebViewDraggingEntered 1144 +#define EventWebViewDraggingPerformed 1145 -#define MAX_EVENTS 123 +#define MAX_EVENTS 1146 #endif \ No newline at end of file diff --git a/v3/tasks/events/generate.go b/v3/tasks/events/generate.go index 98428ba5f..eafa27f89 100644 --- a/v3/tasks/events/generate.go +++ b/v3/tasks/events/generate.go @@ -12,6 +12,10 @@ var eventsGo = `package events type ApplicationEventType uint type WindowEventType uint +const ( + FilesDropped WindowEventType = iota +) + var Mac = newMacEvents() type macEvents struct { @@ -54,6 +58,9 @@ func main() { // Loop over each line in the file for id, line = range bytes.Split(eventNames, []byte{'\n'}) { + // First 1024 is reserved + id = id + 1024 + // Skip empty lines if len(line) == 0 { continue