From dcac3bf21f5fe6acb931d10e3fab4b4dc23f4a68 Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Tue, 21 Apr 2015 01:14:10 +0200 Subject: [PATCH] Move RANumberFormatter to cocoatouch_menu.m --- ui/drivers/cocoa/cocoa_common.h | 6 ---- ui/drivers/cocoa/cocoa_common.m | 49 ---------------------------- ui/drivers/cocoa/cocoatouch_menu.m | 52 ++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 55 deletions(-) diff --git a/ui/drivers/cocoa/cocoa_common.h b/ui/drivers/cocoa/cocoa_common.h index f567464e44..0e16697b67 100644 --- a/ui/drivers/cocoa/cocoa_common.h +++ b/ui/drivers/cocoa/cocoa_common.h @@ -217,13 +217,7 @@ extern id apple_platform; extern void apple_display_alert(const char *message, const char *title); -@interface RANumberFormatter : NSNumberFormatter -#if defined(HAVE_COCOATOUCH) - -#endif -- (id)initWithSetting:(const rarch_setting_t*)setting; -@end #define BOXSTRING(x) [NSString stringWithUTF8String:x] #define BOXINT(x) [NSNumber numberWithInt:x] diff --git a/ui/drivers/cocoa/cocoa_common.m b/ui/drivers/cocoa/cocoa_common.m index 6b8092a8a5..81d943a854 100644 --- a/ui/drivers/cocoa/cocoa_common.m +++ b/ui/drivers/cocoa/cocoa_common.m @@ -18,55 +18,6 @@ #include #include "cocoa_common.h" -// Number formatter class for setting strings -@implementation RANumberFormatter -- (id)initWithSetting:(const rarch_setting_t*)setting -{ - if ((self = [super init])) - { - [self setAllowsFloats:(setting->type == ST_FLOAT)]; - - if (setting->flags & SD_FLAG_HAS_RANGE) - { - [self setMinimum:BOXFLOAT(setting->min)]; - [self setMaximum:BOXFLOAT(setting->max)]; - } - } - - return self; -} - -- (BOOL)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error -{ - unsigned i; - bool hasDot = false; - - if (partialString.length) - for (i = 0; i < partialString.length; i ++) - { - unichar ch = [partialString characterAtIndex:i]; - - if (i == 0 && (!self.minimum || self.minimum.intValue < 0) && ch == '-') - continue; - else if (self.allowsFloats && !hasDot && ch == '.') - hasDot = true; - else if (!isdigit(ch)) - return NO; - } - - return YES; -} - -#if defined(HAVE_COCOATOUCH) -- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string -{ - NSString* text = (NSString*)[[textField text] stringByReplacingCharactersInRange:range withString:string]; - return [self isPartialStringValid:text newEditingString:nil errorDescription:nil]; -} -#endif - -@end - /* Define compatibility symbols and categories. */ #ifdef HAVE_AVFOUNDATION diff --git a/ui/drivers/cocoa/cocoatouch_menu.m b/ui/drivers/cocoa/cocoatouch_menu.m index 52deddb2c7..8afb73f1f2 100644 --- a/ui/drivers/cocoa/cocoatouch_menu.m +++ b/ui/drivers/cocoa/cocoatouch_menu.m @@ -27,6 +27,58 @@ #include "../../../menu/menu_entries.h" #include "../../../menu/drivers/shared.h" +@interface RANumberFormatter : NSNumberFormatter + +- (id)initWithSetting:(const rarch_setting_t*)setting; +@end + +// Number formatter class for setting strings +@implementation RANumberFormatter +- (id)initWithSetting:(const rarch_setting_t*)setting +{ + if ((self = [super init])) + { + [self setAllowsFloats:(setting->type == ST_FLOAT)]; + + if (setting->flags & SD_FLAG_HAS_RANGE) + { + [self setMinimum:BOXFLOAT(setting->min)]; + [self setMaximum:BOXFLOAT(setting->max)]; + } + } + + return self; +} + +- (BOOL)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error +{ + unsigned i; + bool hasDot = false; + + if (partialString.length) + for (i = 0; i < partialString.length; i ++) + { + unichar ch = [partialString characterAtIndex:i]; + + if (i == 0 && (!self.minimum || self.minimum.intValue < 0) && ch == '-') + continue; + else if (self.allowsFloats && !hasDot && ch == '.') + hasDot = true; + else if (!isdigit(ch)) + return NO; + } + + return YES; +} + +- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string +{ + NSString* text = (NSString*)[[textField text] stringByReplacingCharactersInRange:range withString:string]; + return [self isPartialStringValid:text newEditingString:nil errorDescription:nil]; +} + +@end + /*********************************************/ /* RunActionSheet */ /* Creates and displays a UIActionSheet with */