2 // **********************************************************************
3 // The Cheat - A universal game cheater for Mac OS X
4 // (C) 2003-2005 Chaz McGarvey (BrokenZipper)
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 1, or (at your option)
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #import "MenuExtras.h"
24 @implementation NSMenu ( MenuExtras
)
27 - (void)removeItemWithTitle
:(NSString
*)title
29 int i
, top
= [self numberOfItems
];
31 for ( i
= 0; i
< top
; i
++ )
33 if ( [[[self itemAtIndex
:i
] title
] isEqualToString
:title
] )
35 [self removeItemAtIndex
:i
];
41 - (void)removeAllItemsWithTitle
:(NSString
*)title
43 int i
, top
= [self numberOfItems
] - 1;
45 for ( i
= top
; i
>= 0; i
-- )
47 if ( [[[self itemAtIndex
:i
] title
] isEqualToString
:title
] )
49 [self removeItemAtIndex
:i
];
54 - (void)removeItemWithTag
:(int)tag
56 int i
, top
= [self numberOfItems
];
58 for ( i
= 0; i
< top
; i
++ )
60 if ( [[self itemAtIndex
:i
] tag
] == tag
)
62 [self removeItemAtIndex
:i
];
68 - (void)removeItemWithRepresentedObject
:(id)object
70 int i
, top
= [self numberOfItems
];
72 for ( i
= 0; i
< top
; i
++ )
74 if ( [[[self itemAtIndex
:i
] representedObject
] isEqual
:object
] )
76 [self removeItemAtIndex
:i
];
83 - (void)removeAllItems
85 int i
, top
= [self numberOfItems
];
87 for ( i
= 0; i
< top
; i
++ )
89 [self removeItemAtIndex
:0];
94 - (void)enableAllItems
96 int i
, top
= [self numberOfItems
];
98 for ( i
= 0; i
< top
; i
++ )
100 [[self itemAtIndex
:i
] setEnabled
:YES
];
104 - (void)disableAllItems
106 int i
, top
= [self numberOfItems
];
108 for ( i
= 0; i
< top
; i
++ )
110 [[self itemAtIndex
:i
] setEnabled
:NO
];