* Source/NSWindow.m: (-setFrame:): Revert last change.

* Source/NSWindow.m: (-encodeWithCoder:, -initWithCoder:): Use
  content min/max size instead of min/max size.
* Source/NSWindow.m: (+initialize): Increase version number to 3.
* Source/GSNibLoading.m (NSWindowTemplate -encodeWithCoder:,
  -initWithCoder:): Use NSWindowContentMinSize/NSWindowContentMaxSize
  instead of NSMinSize/NSMaxSize.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37828 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fredkiefer 2014-05-03 18:32:20 +00:00
parent 80247e6982
commit fc150231a2
3 changed files with 65 additions and 29 deletions

View file

@ -311,8 +311,10 @@ static BOOL _isInInterfaceBuilder = NO;
// style & size
_windowStyle = [window styleMask];
_backingStoreType = [window backingType];
_maxSize = [window maxSize];
_minSize = [window minSize];
//_maxSize = [window maxSize];
//_minSize = [window minSize];
_maxSize = [window contentMaxSize];
_minSize = [window contentMinSize];
_windowRect = [window frame];
_screenRect = [[NSScreen mainScreen] frame];
@ -360,18 +362,37 @@ static BOOL _isInInterfaceBuilder = NO;
unsigned long flags = [coder decodeIntForKey: @"NSWTFlags"];
memcpy((void *)&_flags,(void *)&flags,sizeof(struct _GSWindowTemplateFlags));
}
if ([coder containsValueForKey: @"NSMinSize"])
if ([coder containsValueForKey: @"NSWindowContentMinSize"])
{
_minSize = [coder decodeSizeForKey: @"NSMinSize"];
_minSize = [coder decodeSizeForKey: @"NSWindowContentMinSize"];
}
if ([coder containsValueForKey: @"NSMaxSize"])
else if ([coder containsValueForKey: @"NSMinSize"])
{
_maxSize = [coder decodeSizeForKey: @"NSMaxSize"];
NSRect rect = NSZeroRect;
rect.size = [coder decodeSizeForKey: @"NSMinSize"];
rect = [NSWindow contentRectForFrameRect: rect
styleMask: _windowStyle];
_minSize = rect.size;
}
if ([coder containsValueForKey: @"NSWindowContentMaxSize"])
{
_maxSize = [coder decodeSizeForKey: @"NSWindowContentMaxSize"];
}
else if ([coder containsValueForKey: @"NSMaxSize"])
{
NSRect rect = NSZeroRect;
rect.size = [coder decodeSizeForKey: @"NSMaxSize"];
rect = [NSWindow contentRectForFrameRect: rect
styleMask: _windowStyle];
_maxSize = rect.size;
}
else
{
_maxSize = NSMakeSize (10e4, 10e4);
}
if ([coder containsValueForKey: @"NSWindowRect"])
{
_windowRect = [coder decodeRectForKey: @"NSWindowRect"];
@ -412,8 +433,8 @@ static BOOL _isInInterfaceBuilder = NO;
[aCoder encodeInt: _backingStoreType forKey: @"NSWindowBacking"];
[aCoder encodeObject: _view forKey: @"NSWindowView"];
[aCoder encodeInt: flags forKey: @"NSWTFlags"];
[aCoder encodeSize: _minSize forKey: @"NSMinSize"];
[aCoder encodeSize: _maxSize forKey: @"NSMaxSize"];
[aCoder encodeSize: _minSize forKey: @"NSWindowContentMinSize"];
[aCoder encodeSize: _maxSize forKey: @"NSWindowContentMaxSize"];
[aCoder encodeRect: rect forKey: @"NSWindowRect"];
[aCoder encodeObject: _title forKey: @"NSWindowTitle"];
[aCoder encodeObject: _autosaveName forKey: @"NSFrameAutosaveName"];
@ -465,8 +486,8 @@ static BOOL _isInInterfaceBuilder = NO;
// reset attributes...
[_realObject setContentView: _view];
[_realObject setMinSize: _minSize];
[_realObject setMaxSize: _maxSize];
//[_realObject setMinSize: _minSize];
//[_realObject setMaxSize: _maxSize];
[_realObject setTitle: _title];
if ([_viewClass isKindOfClass: [NSToolbar class]])
@ -474,6 +495,9 @@ static BOOL _isInInterfaceBuilder = NO;
// FIXME: No idea what is going on here
[_realObject setToolbar: (NSToolbar*)_viewClass];
}
[_realObject setContentMinSize: _minSize];
[_realObject setContentMaxSize: _maxSize];
[_view _fixSubviews];