mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 06:51:44 +00:00
Add changes suggested by Fred. Do not expose init method, add defaults for NSConstant and NSMultiplier
This commit is contained in:
parent
5c920907d7
commit
1f20485073
3 changed files with 48 additions and 39 deletions
|
@ -122,16 +122,6 @@ typedef NSUInteger NSLayoutFormatOptions;
|
|||
metrics: (NSDictionary *)metrics
|
||||
views: (NSDictionary *)views;
|
||||
|
||||
// GNUstep extension...
|
||||
- (instancetype) initWithItem: (id)view1
|
||||
attribute: (NSLayoutAttribute)attr1
|
||||
relatedBy: (NSLayoutRelation)relation
|
||||
toItem: (id)view2
|
||||
attribute: (NSLayoutAttribute)attr2
|
||||
multiplier: (CGFloat)mult
|
||||
constant: (CGFloat)c;
|
||||
|
||||
// Designated initializer...
|
||||
+ (instancetype) constraintWithItem: (id)view1
|
||||
attribute: (NSLayoutAttribute)attr1
|
||||
relatedBy: (NSLayoutRelation)relation
|
||||
|
|
|
@ -60,7 +60,6 @@
|
|||
#import "AppKit/NSTabView.h"
|
||||
#import "AppKit/NSToolbarItem.h"
|
||||
#import "AppKit/NSView.h"
|
||||
#import "AppKit/NSLayoutConstraint.h"
|
||||
#import "GSCodingFlags.h"
|
||||
|
||||
#define DEBUG_XIB5 0
|
||||
|
|
|
@ -238,7 +238,32 @@ static NSNotificationCenter *nc = nil;
|
|||
return array;
|
||||
}
|
||||
|
||||
// Designated initializer...
|
||||
- (instancetype) initWithItem: (id)firstItem
|
||||
attribute: (NSLayoutAttribute)firstAttribute
|
||||
relatedBy: (NSLayoutRelation)relation
|
||||
toItem: (id)secondItem
|
||||
attribute: (NSLayoutAttribute)secondAttribute
|
||||
multiplier: (CGFloat)multiplier
|
||||
constant: (CGFloat)constant
|
||||
priority: (CGFloat)priority;
|
||||
{
|
||||
self = [super init];
|
||||
if (self != nil)
|
||||
{
|
||||
_firstItem = firstItem;
|
||||
_secondItem = secondItem;
|
||||
_firstAttribute = firstAttribute;
|
||||
_secondAttribute = secondAttribute;
|
||||
_relation = relation;
|
||||
_multiplier = multiplier;
|
||||
_constant = constant;
|
||||
_priority = priority;
|
||||
|
||||
[NSLayoutConstraint _activateConstraint: self];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (instancetype) constraintWithItem: (id)view1
|
||||
attribute: (NSLayoutAttribute)attr1
|
||||
relatedBy: (NSLayoutRelation)relation
|
||||
|
@ -254,7 +279,8 @@ static NSNotificationCenter *nc = nil;
|
|||
toItem: view2
|
||||
attribute: attr2
|
||||
multiplier: mult
|
||||
constant: c];
|
||||
constant: c
|
||||
priority: 1000.0];
|
||||
|
||||
AUTORELEASE(constraint);
|
||||
return constraint;
|
||||
|
@ -282,30 +308,6 @@ static NSNotificationCenter *nc = nil;
|
|||
}
|
||||
}
|
||||
|
||||
- (instancetype) initWithItem: (id)firstItem
|
||||
attribute: (NSLayoutAttribute)firstAttribute
|
||||
relatedBy: (NSLayoutRelation)relation
|
||||
toItem: (id)secondItem
|
||||
attribute: (NSLayoutAttribute)secondAttribute
|
||||
multiplier: (CGFloat)multiplier
|
||||
constant: (CGFloat)constant;
|
||||
{
|
||||
self = [super init];
|
||||
if (self != nil)
|
||||
{
|
||||
_firstItem = firstItem;
|
||||
_secondItem = secondItem;
|
||||
_firstAttribute = firstAttribute;
|
||||
_secondAttribute = secondAttribute;
|
||||
_relation = relation;
|
||||
_multiplier = multiplier;
|
||||
_constant = constant;
|
||||
|
||||
[NSLayoutConstraint _activateConstraint: self];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
// Active
|
||||
- (BOOL) isActive
|
||||
{
|
||||
|
@ -447,6 +449,24 @@ static NSNotificationCenter *nc = nil;
|
|||
_secondItem = [coder decodeObjectForKey: @"NSSecondItem"];
|
||||
}
|
||||
|
||||
if ([coder containsValueForKey: @"NSMultiplier"])
|
||||
{
|
||||
_multiplier = [coder decodeFloatForKey: @"NSMultiplier"];
|
||||
}
|
||||
else
|
||||
{
|
||||
_multiplier = 1.0; // identity multiplier if not present
|
||||
}
|
||||
|
||||
if ([coder containsValueForKey: @"NSRelation"])
|
||||
{
|
||||
_relation = [coder decodeIntegerForKey: @"NSRelation"];
|
||||
}
|
||||
else
|
||||
{
|
||||
_relation = NSLayoutRelationEqual;
|
||||
}
|
||||
|
||||
if ([coder containsValueForKey: @"NSPriority"])
|
||||
{
|
||||
_priority = [coder decodeFloatForKey: @"NSPriority"];
|
||||
|
@ -518,8 +538,8 @@ static NSNotificationCenter *nc = nil;
|
|||
toItem: _secondItem
|
||||
attribute: _secondAttribute
|
||||
multiplier: _multiplier
|
||||
constant: _constant];
|
||||
[constraint setPriority: [self priority]];
|
||||
constant: _constant
|
||||
priority: _priority];
|
||||
return constraint;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue