Extract autorecalculates key view loop bit for NSWindow from XIB

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/branches/gnustep_testplant_branch@40414 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Marcian Lytwyn 2017-03-24 19:11:54 +00:00
parent 19d4e2c372
commit 3a6d9f829d
3 changed files with 8 additions and 2 deletions

View file

@ -79,9 +79,11 @@ typedef struct _GSWindowTemplateFlags
unsigned int style:2;
unsigned int _unused2:3;
unsigned int isNotShadowed:1;
unsigned int _unused:12; // currently not used, contains Cocoa specific info
unsigned int autorecalculatesKeyViewLoop:1;
unsigned int _unused:11; // currently not used, contains Cocoa specific info
#else
unsigned int _unused:12; // currently not used, contains Cocoa specific info
unsigned int _unused:11; // currently not used, contains Cocoa specific info
unsigned int autorecalculatesKeyViewLoop:1;
unsigned int isNotShadowed:1;
unsigned int _unused2:3;
unsigned int style:2;

View file

@ -332,6 +332,7 @@ static BOOL _isInInterfaceBuilder = NO;
_flags.dynamicDepthLimit = [window hasDynamicDepthLimit];
_flags.autoPositionMask = autoPositionMask;
_flags.savePosition = YES; // not yet implemented.
_flags.autorecalculatesKeyViewLoop = [window autorecalculatesKeyViewLoop];
}
}
return self;
@ -495,6 +496,7 @@ static BOOL _isInInterfaceBuilder = NO;
[_realObject setDynamicDepthLimit: _flags.dynamicDepthLimit];
// [_realObject setFrameAutosaveName: _autosaveName]; // done after setting the min/max sizes
[_realObject setHasShadow: !_flags.isNotShadowed];
[_realObject setAutorecalculatesKeyViewLoop: _flags.autorecalculatesKeyViewLoop];
// reset attributes...
[_realObject setContentView: _view];

View file

@ -937,6 +937,7 @@ didStartElement: (NSString*)elementName
GSWindowTemplateFlagsUnion mask = { { 0 } };
GSXib5Element *winPosMaskEleme = (GSXib5Element*)[currentElement elementForKey: @"initialPositionMask"];
NSUInteger winPosMask = [[self decodeWindowPositionMaskForElement:winPosMaskEleme] unsignedIntegerValue];
NSString *autorecalculatesKeyViewLoop = [element attributeForKey: @"autorecalculatesKeyViewLoop"];
mask.flags.isHiddenOnDeactivate = [[attributes objectForKey: @"hidesOnDeactivate"] boolValue];
mask.flags.isNotReleasedOnClose = !([attributes objectForKey: @"releasedWhenClosed"] ?
@ -955,6 +956,7 @@ didStartElement: (NSString*)elementName
mask.flags.style = 0; // ???
mask.flags.isNotShadowed = !([attributes objectForKey: @"hasShadow"] ?
[[attributes objectForKey: @"hasShadow"] boolValue] : YES);
mask.flags.autorecalculatesKeyViewLoop = (autorecalculatesKeyViewLoop ? [autorecalculatesKeyViewLoop boolValue] : YES);
// File GSNibLoading.m: 422. In -[NSWindowTemplate initWithCoder:] _flags: 0xf0781400 style: 147 backing: 2
// File GSNibLoading.m: 422. In -[NSWindowTemplate initWithCoder:] _flags: 0xf0001000 style: 147 backing: 2