From 6d6358789ce0bdf82c552bcf4e7a790061ec141c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=20=D0=93=D1=80=D0=B5=D1=87=D1=83?= =?UTF-8?q?=D1=85=D0=B8=D0=BD?= Date: Mon, 28 Dec 2015 17:17:19 +0300 Subject: [PATCH] [ios] Updated runtime attributes. --- iphone/Maps/UILabel+RuntimeAttributes.h | 11 ---- iphone/Maps/UILabel+RuntimeAttributes.mm | 69 +------------------- iphone/Maps/UITextField+RuntimeAttributes.h | 9 +++ iphone/Maps/UITextField+RuntimeAttributes.mm | 49 ++++++++++++++ iphone/Maps/UITextView+RuntimeAttributes.h | 11 ++++ iphone/Maps/UITextView+RuntimeAttributes.mm | 41 ++++++++++++ 6 files changed, 112 insertions(+), 78 deletions(-) create mode 100644 iphone/Maps/UITextField+RuntimeAttributes.h create mode 100644 iphone/Maps/UITextField+RuntimeAttributes.mm create mode 100644 iphone/Maps/UITextView+RuntimeAttributes.h create mode 100644 iphone/Maps/UITextView+RuntimeAttributes.mm diff --git a/iphone/Maps/UILabel+RuntimeAttributes.h b/iphone/Maps/UILabel+RuntimeAttributes.h index 87d117d948..fb652df6c1 100644 --- a/iphone/Maps/UILabel+RuntimeAttributes.h +++ b/iphone/Maps/UILabel+RuntimeAttributes.h @@ -1,14 +1,3 @@ -#import -#import "MWMTextView.h" - @interface UILabel (RuntimeAttributes) @property (nonatomic) NSString * localizedText; @end - -@interface MWMTextView (RuntimeAttributes) -@property (nonatomic) NSString * localizedPlaceholder; -@end - -@interface UITextField (RuntimeAttributes) -@property (nonatomic) NSString * localizedPlaceholder; -@end diff --git a/iphone/Maps/UILabel+RuntimeAttributes.mm b/iphone/Maps/UILabel+RuntimeAttributes.mm index 1d0139755d..fce903fb2d 100644 --- a/iphone/Maps/UILabel+RuntimeAttributes.mm +++ b/iphone/Maps/UILabel+RuntimeAttributes.mm @@ -6,7 +6,8 @@ @implementation UILabel (RuntimeAttributes) -- (void)setLocalizedText:(NSString *)localizedText { +- (void)setLocalizedText:(NSString *)localizedText +{ self.text = L(localizedText); } @@ -25,69 +26,3 @@ } @end - -@implementation UITextField (RuntimeAttributes) - -- (void)setLocalizedPlaceholder:(NSString *)placeholder -{ - self.placeholder = L(placeholder); -} - -- (NSString *)localizedPlaceholder -{ - return L(self.placeholder); -} - -- (void)setFontName:(NSString *)fontName -{ - self.font = [UIFont fontWithName:fontName]; -} - -- (void)setColorName:(NSString *)colorName -{ - self.textColor = [UIColor colorWithName:colorName]; -} - -@end - -@implementation UISwitch (RuntimeAttributes) - -- (void)setOnTintColorName:(NSString *)colorName -{ - self.onTintColor = [UIColor colorWithName:colorName]; -} - -@end - -@implementation UITextView (RuntimeAttributes) - -- (void)setTintColorName:(NSString *)colorName -{ - self.tintColor = [UIColor colorWithName:colorName]; -} - -- (void)setColorName:(NSString *)colorName -{ - self.textColor = [UIColor colorWithName:colorName]; -} - -@end - -@implementation MWMTextView (RuntimeAttributes) - -- (void)setLocalizedPlaceholder:(NSString *)localizedPlaceholder -{ - self.placeholder = L(localizedPlaceholder); -} - -- (NSString *)localizedPlaceholder -{ - return L(self.placeholder); -} - -- (void)setFontName:(NSString *)fontName -{ - self.font = [UIFont fontWithName:fontName]; -} - -@end diff --git a/iphone/Maps/UITextField+RuntimeAttributes.h b/iphone/Maps/UITextField+RuntimeAttributes.h new file mode 100644 index 0000000000..34f70caa9e --- /dev/null +++ b/iphone/Maps/UITextField+RuntimeAttributes.h @@ -0,0 +1,9 @@ +#import "MWMInputValidator.h" + +@interface UITextField (RuntimeAttributes) + +@property (nonatomic) NSString * localizedPlaceholder; +@property (nonatomic) MWMInputValidator * validator; +@property (nonatomic, readonly) BOOL isValid; + +@end diff --git a/iphone/Maps/UITextField+RuntimeAttributes.mm b/iphone/Maps/UITextField+RuntimeAttributes.mm new file mode 100644 index 0000000000..899a604f9a --- /dev/null +++ b/iphone/Maps/UITextField+RuntimeAttributes.mm @@ -0,0 +1,49 @@ +#import "MWMInputValidatorFactory.h" +#import "UIFont+MapsMeFonts.h" +#import "UITextField+RuntimeAttributes.h" +#import + +@implementation UITextField (RuntimeAttributes) + +- (void)setLocalizedPlaceholder:(NSString *)placeholder +{ + self.placeholder = L(placeholder); +} + +- (NSString *)localizedPlaceholder +{ + return L(self.placeholder); +} + +- (void)setFontName:(NSString *)fontName +{ + self.font = [UIFont fontWithName:fontName]; +} + +- (void)setValidator:(MWMInputValidator *)validator +{ + objc_setAssociatedObject(self, @selector(validator), validator, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (MWMInputValidator *)validator +{ + return objc_getAssociatedObject(self, @selector(validator)); +} + +- (void)setValidatorName:(NSString *)validatorName +{ + objc_setAssociatedObject(self, @selector(validatorName), validatorName, OBJC_ASSOCIATION_COPY_NONATOMIC); + self.validator = [MWMInputValidatorFactory validator:validatorName]; +} + +- (MWMInputValidator *)validatorName +{ + return objc_getAssociatedObject(self, @selector(validatorName)); +} + +- (BOOL)isValid +{ + return [self.validator validateInput:self]; +} + +@end diff --git a/iphone/Maps/UITextView+RuntimeAttributes.h b/iphone/Maps/UITextView+RuntimeAttributes.h new file mode 100644 index 0000000000..61068dd1f0 --- /dev/null +++ b/iphone/Maps/UITextView+RuntimeAttributes.h @@ -0,0 +1,11 @@ +#import "MWMTextView.h" + +@interface UITextView (UITextView_RuntimeAttributes) + +@end + +@interface MWMTextView (RuntimeAttributes) + +@property (nonatomic) NSString * localizedPlaceholder; + +@end diff --git a/iphone/Maps/UITextView+RuntimeAttributes.mm b/iphone/Maps/UITextView+RuntimeAttributes.mm new file mode 100644 index 0000000000..bb8ceebe79 --- /dev/null +++ b/iphone/Maps/UITextView+RuntimeAttributes.mm @@ -0,0 +1,41 @@ +#import "UIFont+MapsMeFonts.h" +#import "UITextView+RuntimeAttributes.h" +#import "UIColor+MapsMeColor.h" + +@implementation UITextView (RuntimeAttributes) + +- (void)setLocalizedText:(NSString *)localizedText +{ + self.text = L(localizedText); +} + +- (NSString *)localizedText +{ + return L(self.text); +} + +- (void)setFontName:(NSString *)fontName +{ + self.font = [UIFont fontWithName:fontName]; +} + +- (void)setColorName:(NSString *)colorName +{ + self.textColor = [UIColor colorWithName:colorName]; +} + +@end + +@implementation MWMTextView (RuntimeAttributes) + +- (void)setLocalizedPlaceholder:(NSString *)localizedPlaceholder +{ + self.placeholder = L(localizedPlaceholder); +} + +- (NSString *)localizedPlaceholder +{ + return L(self.placeholder); +} + +@end