X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/3e6ffde0979aded206bb6741114253dc0615cc9c..4ff490fc75e62c7dc772093f719e8c44903e7610:/ITCategory-NSMenu.m diff --git a/ITCategory-NSMenu.m b/ITCategory-NSMenu.m new file mode 100755 index 0000000..4e94be0 --- /dev/null +++ b/ITCategory-NSMenu.m @@ -0,0 +1,52 @@ +// +// ITCategory-NSMenu.m +// ITKit +// +// Created by Joseph Spiros on Sat Sep 27 2003. +// Copyright (c) 2003 __MyCompanyName__. All rights reserved. +// + +#import "ITCategory-NSMenu.h" + +@interface NSMenu (HACKHACKHACKHACK) +- (id)_menuImpl; +@end + +extern MenuRef _NSGetCarbonMenu( NSMenu *menu); + +@implementation NSMenu (ITCategory) + +- (void)indentItem:(NSMenuItem *)item { + [self indentItem:item toLevel:2]; +} + +- (void)indentItemAtIndex:(int)index { + [self indentItemAtIndex:index toLevel:2]; +} + +- (void)indentItem:(NSMenuItem *)item toLevel:(int)indentLevel { + [self indentItemAtIndex:[self indexOfItem:item] toLevel:indentLevel]; +} + +- (void)indentItemAtIndex:(int)index toLevel:(int)indentLevel { + MenuRef carbonMenu = [self menuRef]; + + if (carbonMenu) { + SetMenuItemIndent(carbonMenu, index, indentLevel); + } +} + +- (MenuRef)menuRef { + MenuRef carbonMenu; + + if( [self respondsToSelector:@selector(_menuImpl)] ) { + [self _menuImpl]; + } else { + return nil; + } + + carbonMenu = _NSGetCarbonMenu(self); + return carbonMenu; +} + +@end