github.com/secoba/wails/v2@v2.6.4/pkg/menu/menuroles.go (about) 1 // Package menu provides all the functions and structs related to menus in a Wails application. 2 // Heavily inspired by Electron (c) 2013-2020 Github Inc. 3 // Electron License: https://github.com/electron/electron/blob/master/LICENSE 4 package menu 5 6 // Role is a type to identify menu roles 7 type Role int 8 9 // These constants need to be kept in sync with `v2/internal/frontend/desktop/darwin/Role.h` 10 const ( 11 AppMenuRole Role = 1 12 EditMenuRole = 2 13 WindowMenuRole = 3 14 // AboutRole Role = "about" 15 // UndoRole Role = "undo" 16 // RedoRole Role = "redo" 17 // CutRole Role = "cut" 18 // CopyRole Role = "copy" 19 // PasteRole Role = "paste" 20 // PasteAndMatchStyleRole Role = "pasteAndMatchStyle" 21 // SelectAllRole Role = "selectAll" 22 // DeleteRole Role = "delete" 23 // MinimizeRole Role = "minimize" 24 // QuitRole Role = "quit" 25 // TogglefullscreenRole Role = "togglefullscreen" 26 // FileMenuRole Role = "fileMenu" 27 // ViewMenuRole Role = "viewMenu" 28 // WindowMenuRole Role = "windowMenu" 29 // HideRole Role = "hide" 30 // HideOthersRole Role = "hideOthers" 31 // UnhideRole Role = "unhide" 32 // FrontRole Role = "front" 33 // ZoomRole Role = "zoom" 34 // WindowSubMenuRole Role = "windowSubMenu" 35 // HelpSubMenuRole Role = "helpSubMenu" 36 // SeparatorItemRole Role = "separatorItem" 37 ) 38 39 /* 40 // About provides a MenuItem with the About role 41 func About() *MenuItem { 42 return &MenuItem{ 43 Role: AboutRole, 44 } 45 } 46 47 // Undo provides a MenuItem with the Undo role 48 func Undo() *MenuItem { 49 return &MenuItem{ 50 Role: UndoRole, 51 } 52 } 53 54 // Redo provides a MenuItem with the Redo role 55 func Redo() *MenuItem { 56 return &MenuItem{ 57 Role: RedoRole, 58 } 59 } 60 61 // Cut provides a MenuItem with the Cut role 62 func Cut() *MenuItem { 63 return &MenuItem{ 64 Role: CutRole, 65 } 66 } 67 68 // Copy provides a MenuItem with the Copy role 69 func Copy() *MenuItem { 70 return &MenuItem{ 71 Role: CopyRole, 72 } 73 } 74 75 // Paste provides a MenuItem with the Paste role 76 func Paste() *MenuItem { 77 return &MenuItem{ 78 Role: PasteRole, 79 } 80 } 81 82 // PasteAndMatchStyle provides a MenuItem with the PasteAndMatchStyle role 83 func PasteAndMatchStyle() *MenuItem { 84 return &MenuItem{ 85 Role: PasteAndMatchStyleRole, 86 } 87 } 88 89 // SelectAll provides a MenuItem with the SelectAll role 90 func SelectAll() *MenuItem { 91 return &MenuItem{ 92 Role: SelectAllRole, 93 } 94 } 95 96 // Delete provides a MenuItem with the Delete role 97 func Delete() *MenuItem { 98 return &MenuItem{ 99 Role: DeleteRole, 100 } 101 } 102 103 // Minimize provides a MenuItem with the Minimize role 104 func Minimize() *MenuItem { 105 return &MenuItem{ 106 Role: MinimizeRole, 107 } 108 } 109 110 // Quit provides a MenuItem with the Quit role 111 func Quit() *MenuItem { 112 return &MenuItem{ 113 Role: QuitRole, 114 } 115 } 116 117 // ToggleFullscreen provides a MenuItem with the ToggleFullscreen role 118 func ToggleFullscreen() *MenuItem { 119 return &MenuItem{ 120 Role: TogglefullscreenRole, 121 } 122 } 123 124 // FileMenu provides a MenuItem with the whole default "File" menu (Close / Quit) 125 func FileMenu() *MenuItem { 126 return &MenuItem{ 127 Role: FileMenuRole, 128 } 129 } 130 */ 131 132 // EditMenu provides a MenuItem with the whole default "Edit" menu (Undo, Copy, etc.). 133 func EditMenu() *MenuItem { 134 return &MenuItem{ 135 Role: EditMenuRole, 136 } 137 } 138 139 /* 140 // ViewMenu provides a MenuItem with the whole default "View" menu (Reload, Toggle Developer Tools, etc.) 141 func ViewMenu() *MenuItem { 142 return &MenuItem{ 143 Role: ViewMenuRole, 144 } 145 } 146 */ 147 148 // WindowMenu provides a MenuItem with the whole default "Window" menu (Minimize, Zoom, etc.). 149 // On MacOS currently all options in there won't work if the window is frameless. 150 func WindowMenu() *MenuItem { 151 return &MenuItem{ 152 Role: WindowMenuRole, 153 } 154 } 155 156 // These roles are Mac only 157 158 // AppMenu provides a MenuItem with the whole default "App" menu (About, Services, etc.) 159 func AppMenu() *MenuItem { 160 return &MenuItem{ 161 Role: AppMenuRole, 162 } 163 } 164 165 /* 166 // Hide provides a MenuItem that maps to the hide action. 167 func Hide() *MenuItem { 168 return &MenuItem{ 169 Role: HideRole, 170 } 171 } 172 173 // HideOthers provides a MenuItem that maps to the hideOtherApplications action. 174 func HideOthers() *MenuItem { 175 return &MenuItem{ 176 Role: HideOthersRole, 177 } 178 } 179 180 // UnHide provides a MenuItem that maps to the unHideAllApplications action. 181 func UnHide() *MenuItem { 182 return &MenuItem{ 183 Role: UnhideRole, 184 } 185 } 186 187 // Front provides a MenuItem that maps to the arrangeInFront action. 188 func Front() *MenuItem { 189 return &MenuItem{ 190 Role: FrontRole, 191 } 192 } 193 194 // Zoom provides a MenuItem that maps to the performZoom action. 195 func Zoom() *MenuItem { 196 return &MenuItem{ 197 Role: ZoomRole, 198 } 199 } 200 201 // WindowSubMenu provides a MenuItem with the "Window" submenu. 202 func WindowSubMenu() *MenuItem { 203 return &MenuItem{ 204 Role: WindowSubMenuRole, 205 } 206 } 207 208 // HelpSubMenu provides a MenuItem with the "Help" submenu. 209 func HelpSubMenu() *MenuItem { 210 return &MenuItem{ 211 Role: HelpSubMenuRole, 212 } 213 } 214 */