Submenu management bugfixes

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7448 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 2000-09-08 09:41:33 +00:00
parent 8d1f6c50ef
commit 8a88035ef0
3 changed files with 18 additions and 3 deletions

View file

@ -115,6 +115,11 @@ static Class imageClass;
- (void) setMenu: (NSMenu*)menu
{
mi_menu = menu;
if (mi_submenu != nil)
{
[mi_submenu setSupermenu: menu];
[self setTarget: mi_menu];
}
}
- (NSMenu*) menu
@ -133,6 +138,9 @@ static Class imageClass;
[NSException raise: NSInvalidArgumentException
format: @"submenu already has supermenu: "];
ASSIGN(mi_submenu, submenu);
[submenu setSupermenu: mi_menu];
[self setTarget: mi_menu];
[self setAction: @selector(submenuAction:)];
}
- (NSMenu*) submenu
@ -393,7 +401,6 @@ static Class imageClass;
*/
- (void) encodeWithCoder: (NSCoder*)aCoder
{
[super encodeWithCoder: aCoder];
[aCoder encodeObject: mi_title];
[aCoder encodeObject: mi_keyEquivalent];
[aCoder encodeValueOfObjCType: "I" at: &mi_keyEquivalentModifierMask];
@ -414,7 +421,6 @@ static Class imageClass;
- (id) initWithCoder: (NSCoder*)aDecoder
{
self = [super initWithCoder: aDecoder];
[aDecoder decodeValueOfObjCType: @encode(id) at: &mi_title];
[aDecoder decodeValueOfObjCType: @encode(id) at: &mi_keyEquivalent];
[aDecoder decodeValueOfObjCType: "I" at: &mi_keyEquivalentModifierMask];