Bug 205792 [Mac] Enhance org.eclipse.ui.carbon plugin in order to modify the system menus
Build ID: Eclipse 3.3 Steps To Reproduce: the org.eclipse.ui.carbon provides the About and Preferences menu items but it doesn;t handle the menu text of "Hide eclipse" and "Quit eclipse". It should modify the menu text as the corresponding product name as like as About menu More information: here has some sample code to modify the menu text in org.eclipse.ui.carbon private static final int kHICommandHide = ('h' << 24) + ('i' << 16) + ('d' << 8) + 'e'; int[] outHideMenu = new int[1]; short[] outHideIndex = new short[1]; if (OS.GetIndMenuItemWithCommandID(0, kHICommandHide, 1, outHideMenu, outHideIndex) == OS.noErr && outHideMenu[0] != 0) { int l = fHideActionName.length(); char buffer[] = new char[l]; fHideActionName.getChars(0, l, buffer, 0); int str = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, buffer, l); OS.SetMenuItemTextWithCFString (outHideMenu[0], outHideIndex[0], str); OS.CFRelease(str); }
bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
boolean coolBarInitiallyVsible = ((WorkbenchWindow) window)
				.getCoolBarVisible();
		boolean perspectiveBarInitiallyVsible = ((WorkbenchWindow) window)
				.getPerspectiveBarVisible();
		if (coolBarInitiallyVsible || perspectiveBarInitiallyVsible) {
			
			
			Shell shell = window.getShell();
			int windowHandle = OS.GetControlOwner(shell.handle);
			OS.ChangeWindowAttributes(windowHandle,
					OS.kWindowToolbarButtonAttribute, 0);
		}
	}
	
	/**
	 * Hook the window toolbar button to toggle the visibility of the coolbar
	 * and perspective bar.
	 * 
	 * @since 3.2
	 */
    protected void hookToolbarButtonCallback() {
		Object target = new Target();
		
	    final Callback commandCallback = new Callback(target, "toolbarProc", 3); 
        int commandProc = commandCallback.getAddress();
        if (commandProc == 0) {
            commandCallback.dispose();
            return;