From 6350d2b896b607a3cd363be36bae8907fe6bd0c8 Mon Sep 17 00:00:00 2001 From: Jigish Patel Date: Sat, 23 Feb 2013 12:38:08 -0800 Subject: [PATCH] [#233] allow numbers for options of move ops --- Slate/MoveOperation.m | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Slate/MoveOperation.m b/Slate/MoveOperation.m index 112a89f3..50d47c80 100644 --- a/Slate/MoveOperation.m +++ b/Slate/MoveOperation.m @@ -147,13 +147,19 @@ - (NSArray *)requiredOptions { return [NSArray arrayWithObjects:OPT_X, OPT_Y, OPT_WIDTH, OPT_HEIGHT, nil]; } -- (void)parseOption:(NSString *)name value:(id)value { +- (void)parseOption:(NSString *)name value:(id)val { // all options should be strings - if (value == nil) { return; } - if (![value isKindOfClass:[NSString class]]) { - @throw([NSException exceptionWithName:[NSString stringWithFormat:@"Invalid %@", name] reason:[NSString stringWithFormat:@"Invalid %@ '%@'", name, value] userInfo:nil]); + if (val == nil) { return; } + NSString *value = nil; + if ([val isKindOfClass:[NSString class]]) { + value = val; + } else if ([val isKindOfClass:[NSNumber class]]) { + value = [val stringValue]; + } else { + @throw([NSException exceptionWithName:[NSString stringWithFormat:@"Invalid %@", name] reason:[NSString stringWithFormat:@"Invalid %@ '%@'", name, val] userInfo:nil]); return; } + [[self options] setValue:value forKey:name]; if ([name isEqualToString:OPT_X]) { [[self topLeft] setX:value]; } else if ([name isEqualToString:OPT_Y]) {