mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 20:01:11 +00:00
Add decoding for row and placement
This commit is contained in:
parent
c3943fb21c
commit
0c180978d9
1 changed files with 76 additions and 0 deletions
|
@ -348,6 +348,9 @@ static NSArray *XmlBoolDefaultYes = nil;
|
|||
// decoding the integer flag masks...
|
||||
XmlKeyToDecoderSelectorMap =
|
||||
[NSDictionary dictionaryWithObjectsAndKeys:
|
||||
@"decodeXPlacementForElement:", @"NSGrid_xPlacement",
|
||||
@"decodeYPlacementForElement:", @"NSGrid_yPlacement",
|
||||
@"decodeRowAlignmentForElement:", @"NSGrid_rowAlignment",
|
||||
@"decodeIntercellSpacingHeightForElement:", @"NSIntercellSpacingHeight",
|
||||
@"decodeIntercellSpacingWidthForElement:", @"NSIntercellSpacingWidth",
|
||||
@"decodeColumnAutoresizingStyleForElement:", @"NSColumnAutoresizingStyle",
|
||||
|
@ -2930,6 +2933,79 @@ didStartElement: (NSString*)elementName
|
|||
return num;
|
||||
}
|
||||
|
||||
- (id) _decodePlacementForObject: (id)obj
|
||||
{
|
||||
NSNumber *num = [NSNumber numberWithInteger: 0];
|
||||
if ([obj isEqualToString: @"inherited"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementInherited];
|
||||
}
|
||||
else if ([obj isEqualToString: @"leading"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementLeading];
|
||||
}
|
||||
else if ([obj isEqualToString: @"top"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementTop];
|
||||
}
|
||||
else if ([obj isEqualToString: @"trailing"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementTrailing];
|
||||
}
|
||||
else if ([obj isEqualToString: @"bottom"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementBottom];
|
||||
}
|
||||
else if ([obj isEqualToString: @"center"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementCenter];
|
||||
}
|
||||
else if ([obj isEqualToString: @"fill"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementFill];
|
||||
}
|
||||
else // if not specified then assume none...
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridCellPlacementNone];
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
- (id) decodeXPlacementForElement: (GSXibElement *)element
|
||||
{
|
||||
id obj = [element attributeForKey: @"xPlacement"];
|
||||
return [self _decodePlacementForObject: obj];
|
||||
}
|
||||
|
||||
- (id) decodeYPlacementForElement: (GSXibElement *)element
|
||||
{
|
||||
id obj = [element attributeForKey: @"yPlacement"];
|
||||
return [self _decodePlacementForObject: obj];
|
||||
}
|
||||
|
||||
- (id) decodeRowAlignmentForElement: (GSXibElement *)element
|
||||
{
|
||||
id obj = [element attributeForKey: @"xPlacement"];
|
||||
NSNumber *num = [NSNumber numberWithInteger: 0];
|
||||
if ([obj isEqualToString: @"inherited"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridRowAlignmentInherited];
|
||||
}
|
||||
else if ([obj isEqualToString: @"firstBaseline"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridRowAlignmentFirstBaseline];
|
||||
}
|
||||
else if ([obj isEqualToString: @"lastBaseline"])
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridRowAlignmentLastBaseline];
|
||||
}
|
||||
else
|
||||
{
|
||||
num = [NSNumber numberWithInteger: NSGridRowAlignmentNone];
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
- (id) objectForXib: (GSXibElement*)element
|
||||
{
|
||||
id object = [super objectForXib: element];
|
||||
|
|
Loading…
Reference in a new issue