* Source/NSMenuItemCell.m: encode menu item in encodeWithCoder:

method.
	* Source/NSMenu.m: Add code to handle NSNoAutoenable
	* Source/NSPopUpButtonCell.m: Decode/encode selected index
	* Source/NSPrintInfo.m: Set orientation after the page size is 
	known, since it has no effect when done earlier.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27568 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
gcasa 2009-01-10 03:49:43 +00:00
parent f8789c2b33
commit 94d202c31a
5 changed files with 62 additions and 16 deletions

View file

@ -1048,21 +1048,25 @@ static NSImage *_pbc_image[5];
[super encodeWithCoder: aCoder];
if ([aCoder allowsKeyedCoding])
{
[aCoder encodeBool: [self altersStateOfSelectedItem] forKey: @"NSAltersState"];
[aCoder encodeBool: [self usesItemFromMenu] forKey: @"NSUsesItemFromMenu"];
[aCoder encodeInt: [self arrowPosition] forKey: @"NSArrowPosition"];
[aCoder encodeInt: [self preferredEdge] forKey: @"NSPreferredEdge"];
[aCoder encodeBool: [self altersStateOfSelectedItem]
forKey: @"NSAltersState"];
[aCoder encodeBool: [self usesItemFromMenu]
forKey: @"NSUsesItemFromMenu"];
[aCoder encodeInt: [self arrowPosition]
forKey: @"NSArrowPosition"];
[aCoder encodeInt: [self preferredEdge]
forKey: @"NSPreferredEdge"];
[aCoder encodeInt: [self indexOfSelectedItem]
forKey: @"NSSelectedIndex"];
[aCoder encodeBool: [self pullsDown]
forKey: @"NSPullDown"];
// encode the menu, if present.
if (_menu != nil)
{
[aCoder encodeObject: _menu forKey: @"NSMenu"];
[aCoder encodeObject: _menu
forKey: @"NSMenu"];
}
if (_menuItem != nil)
{
[aCoder encodeObject: _menuItem forKey: @"NSMenuItem"];
}
}
else
{
@ -1107,7 +1111,7 @@ static NSImage *_pbc_image[5];
if ([aDecoder containsValueForKey: @"NSArrowPosition"])
{
NSPopUpArrowPosition position = [aDecoder decodeIntForKey:
@"NSArrowPosition"];
@"NSArrowPosition"];
[self setArrowPosition: position];
}
@ -1117,10 +1121,23 @@ static NSImage *_pbc_image[5];
[self setPreferredEdge: edge];
}
if ([aDecoder containsValueForKey: @"NSSelectedIndex"])
{
int selectedIdx = [aDecoder decodeIntForKey:
@"NSSelectedIndex"];
[self selectItem: [self itemAtIndex: selectedIdx]];
}
if ([aDecoder containsValueForKey: @"NSPullDown"])
{
BOOL pullDown = [aDecoder decodeBoolForKey: @"NSPullDown"];
[self setPullsDown: pullDown];
}
menu = [aDecoder decodeObjectForKey: @"NSMenu"];
[self setMenu: nil];
[self setMenu: menu];
[self setAutoenablesItems: NO];
[self setEnabled: YES];
}
else
{