Example: /MacBase/Menus/Cocoa Menu Modification

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/MacBase/Menus/Cocoa Menu Modification


You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacBase/Menus/Cocoa Menu Modification

This example is the version from Fri, 12th Jul 2012.

Project "Cocoa Menu Modification.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub EnableMenuItems() Ablagetest.Enable End EventHandler
EventHandler Sub Open() o = new MyMenuObserver dim c as NSNotificationCenterMBS = NSNotificationCenterMBS.defaultCenter c.addObserver o, NSMenuMBS.NSMenuDidAddItemNotification // make big image dim p as Picture = LogoMBS(32) dim n as new NSImageMBS(p) // make it smaller than pixels allow. Maybe helps for retina? n.setSize 16,16 img = n End EventHandler
Property img As NSImageMBS
Property o As MyMenuObserver
End Class
Class Window1 Inherits Window
Control BevelButton1 Inherits BevelButton
ControlInstance BevelButton1 Inherits BevelButton
EventHandler Sub Action() dim m as NSMenuMBS = NSApplicationMBS.sharedApplication.mainMenu 'MsgBox m.title dim m2 as NSMenuItemMBS = m.Item(1) 'MsgBox m2.title dim m3 as NSMenuMBS = m2.submenu 'MsgBox m3.title 'MsgBox str(m3.numberOfItems) dim m4 as NSMenuItemMBS = m3.Item(0) m4.Title = "hello" 'MsgBox m4.title 'm4.image= nil End EventHandler
End Control
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem Ablagetest = "test"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Class MyMenuObserver Inherits NSNotificationObserverMBS
EventHandler Sub GotNotification(notification as NSNotificationMBS) dim u as Dictionary = notification.userInfo dim m as NSMenuMBS = notification.objectVariant dim index as integer = u.Lookup("NSMenuItemIndex", -1) if index>=0 then dim n as NSMenuItemMBS = m.Item(index) System.DebugLog n.title if n.title = "test" then n.image = app.img end if end if End EventHandler
End Class
End Project

The items on this page are in the following plugins: MBS MacBase Plugin.


💬 Ask a question or report a problem