X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/77a4d7d916004e628f55c09b37f10a67afa36dd7..3055b035aa851467097d35d886890f272dc90ee7:/ITCategory-NSMenu.m diff --git a/ITCategory-NSMenu.m b/ITCategory-NSMenu.m index ad3904e..80501bf 100755 --- a/ITCategory-NSMenu.m +++ b/ITCategory-NSMenu.m @@ -1,11 +1,3 @@ -// -// 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) @@ -17,7 +9,7 @@ extern MenuRef _NSGetCarbonMenu( NSMenu *menu); @implementation NSMenu (ITCategory) -- (void)indentItem:(NSMenuItem *)item { +- (void)indentItem:(id )item { [self indentItem:item toLevel:1]; } @@ -25,13 +17,13 @@ extern MenuRef _NSGetCarbonMenu( NSMenu *menu); [self indentItemAtIndex:index toLevel:1]; } -- (void)indentItem:(NSMenuItem *)item toLevel:(int)indentLevel { +- (void)indentItem:(id )item toLevel:(int)indentLevel { [self indentItemAtIndex:[self indexOfItem:item] toLevel:indentLevel]; } - (void)indentItemAtIndex:(int)index toLevel:(int)indentLevel { - if ([NSMenuItem respondsToSelector:@selector(setIndentationLevel:)]) { - [[self itemAtIndex:index] setIndentationLevel:indentLevel]; + if ([[self itemAtIndex:index] respondsToSelector:@selector(setIndentationLevel:)]) { + (void)[[self itemAtIndex:index] setIndentationLevel:indentLevel]; } else { MenuRef carbonMenu = [self menuRef]; if (carbonMenu) { @@ -45,7 +37,7 @@ extern MenuRef _NSGetCarbonMenu( NSMenu *menu); int w00t, m00f; if( [self respondsToSelector:@selector(_menuImpl)] ) { - [self _menuImpl]; + (void)[self _menuImpl]; } else { return nil; } @@ -55,4 +47,14 @@ extern MenuRef _NSGetCarbonMenu( NSMenu *menu); return carbonMenu; } +- (void)removeAllItems { + int numOfItems = [self numberOfItems]; + int i = numOfItems; + + while (i != 0) { + [self removeItemAtIndex:(i-1)]; + i--; + } +} + @end