Author: fredkiefer
Date: Sat May  3 20:32:20 2014
New Revision: 37828

URL: http://svn.gna.org/viewcvs/gnustep?rev=37828&view=rev
Log:
* 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.

Modified:
    libs/gui/trunk/ChangeLog
    libs/gui/trunk/Source/GSNibLoading.m
    libs/gui/trunk/Source/NSWindow.m

Modified: libs/gui/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/gui/trunk/ChangeLog?rev=37828&r1=37827&r2=37828&view=diff
==============================================================================
--- libs/gui/trunk/ChangeLog    (original)
+++ libs/gui/trunk/ChangeLog    Sat May  3 20:32:20 2014
@@ -1,3 +1,13 @@
+2014-05-03  Fred Kiefer <[email protected]>
+
+       * 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.
+
 2014-04-16 17:28-EDT Gregory John Casamento <[email protected]>
 
        * Headers/Additions/GNUstepGUI/GSXibElement.h

Modified: libs/gui/trunk/Source/GSNibLoading.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/gui/trunk/Source/GSNibLoading.m?rev=37828&r1=37827&r2=37828&view=diff
==============================================================================
--- libs/gui/trunk/Source/GSNibLoading.m        (original)
+++ libs/gui/trunk/Source/GSNibLoading.m        Sat May  3 20:32:20 2014
@@ -311,8 +311,10 @@
           // 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 @@
           unsigned long flags = [coder decodeIntForKey: @"NSWTFlags"];
           memcpy((void *)&_flags,(void *)&flags,sizeof(struct 
_GSWindowTemplateFlags));
         }
-      if ([coder containsValueForKey: @"NSMinSize"])
-        {
-          _minSize = [coder decodeSizeForKey: @"NSMinSize"];
-        }
-      if ([coder containsValueForKey: @"NSMaxSize"])
-        {
-          _maxSize = [coder decodeSizeForKey: @"NSMaxSize"];
+
+      if ([coder containsValueForKey: @"NSWindowContentMinSize"])
+        {
+          _minSize = [coder decodeSizeForKey: @"NSWindowContentMinSize"];
+        }
+      else if ([coder containsValueForKey: @"NSMinSize"])
+        {
+          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 @@
       [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 @@
 
       // 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 @@
           // FIXME: No idea what is going on here
          [_realObject setToolbar: (NSToolbar*)_viewClass];
        }
+
+      [_realObject setContentMinSize: _minSize];
+      [_realObject setContentMaxSize: _maxSize];
          
       [_view _fixSubviews];
 

Modified: libs/gui/trunk/Source/NSWindow.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/gui/trunk/Source/NSWindow.m?rev=37828&r1=37827&r2=37828&view=diff
==============================================================================
--- libs/gui/trunk/Source/NSWindow.m    (original)
+++ libs/gui/trunk/Source/NSWindow.m    Sat May  3 20:32:20 2014
@@ -682,7 +682,7 @@
 {
   if (self == [NSWindow class])
     {
-      [self setVersion: 2];
+      [self setVersion: 3];
       ccSel = @selector(_checkCursorRectangles:forEvent:);
       ctSel = @selector(_checkTrackingRectangles:forEvent:);
       ccImp = [self instanceMethodForSelector: ccSel];
@@ -2174,18 +2174,7 @@
     }
   if (_maximumSize.height > 0 && frameRect.size.height > _maximumSize.height)
     {
-      NSInterfaceStyle style = 
-       NSInterfaceStyleForKey(@"NSMenuInterfaceStyle", nil);
-
-      if (style != NSWindows95InterfaceStyle)
-       {
-         frameRect.size.height = _maximumSize.height;
-       }
-      else
-       {
-         float menuHeight = [[GSTheme theme] menuHeightForWindow:self];
-         frameRect.size.height = _maximumSize.height + menuHeight;
-       }
+      frameRect.size.height = _maximumSize.height;
     }
   if (frameRect.size.width < _minimumSize.width)
     {
@@ -5437,8 +5426,10 @@
   [aCoder encodeObject: _miniaturizedTitle];
   [aCoder encodeObject: _windowTitle];
 
-  [aCoder encodeSize: _minimumSize];
-  [aCoder encodeSize: _maximumSize];
+  //  [aCoder encodeSize: _minimumSize];
+  //  [aCoder encodeSize: _maximumSize];
+  [aCoder encodeSize: [self contentMinSize]];
+  [aCoder encodeSize: [self contentMaxSize]];
 
   [aCoder encodeValueOfObjCType: @encode(NSInteger) at: &_windowLevel];
 
@@ -5491,6 +5482,7 @@
       NSBackingStoreType aBacking;
       NSInteger level;
       id obj;
+      int version = [aDecoder versionForClassName: @"NSWindow"];
 
       aRect = [aDecoder decodeRect];
       [aDecoder decodeValueOfObjCType: @encode(NSUInteger)
@@ -5517,10 +5509,20 @@
       obj = [aDecoder decodeObject];
       [self setTitle: obj];
 
-      aSize = [aDecoder decodeSize];
-      [self setMinSize: aSize];
-      aSize = [aDecoder decodeSize];
-      [self setMaxSize: aSize];
+      if (version < 3)
+        {
+          aSize = [aDecoder decodeSize];
+          [self setMinSize: aSize];
+          aSize = [aDecoder decodeSize];
+          [self setMaxSize: aSize];
+        }
+      else
+        {
+          aSize = [aDecoder decodeSize];
+          [self setContentMinSize: aSize];
+          aSize = [aDecoder decodeSize];
+          [self setContentMaxSize: aSize];
+        }
 
       [aDecoder decodeValueOfObjCType: @encode(NSInteger)
                                    at: &level];


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to