Files
comaps/iphone/Maps/UI/Editor/Cells/MWMEditorSegmentedTableViewCell.mm
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

83 lines
2.0 KiB
Plaintext

#import "MWMEditorSegmentedTableViewCell.hpp"
#import "SwiftBridge.h"
@interface MWMEditorSegmentedTableViewCell ()
@property(weak, nonatomic) IBOutlet UIImageView * icon;
@property(weak, nonatomic) IBOutlet UILabel * label;
@property(weak, nonatomic) IBOutlet UISegmentedControl * segmentedControl;
@property(weak, nonatomic) id<MWMEditorCellProtocol> delegate;
@end
@implementation MWMEditorSegmentedTableViewCell
- (void)configWithDelegate:(id<MWMEditorCellProtocol>)delegate
icon:(UIImage *)icon
text:(NSString *)text
value:(YesNoUnknown)value
{
self.delegate = delegate;
self.icon.image = icon;
self.icon.styleName = @"MWMBlack";
self.label.text = text;
[self.segmentedControl setTitle:NSLocalizedString(@"no", nil) forSegmentAtIndex:0];
[self.segmentedControl setTitle:NSLocalizedString(@"yes", nil) forSegmentAtIndex:2];
switch(value)
{
case Yes:
self.segmentedControl.selectedSegmentIndex = 2;
break;
case No:
self.segmentedControl.selectedSegmentIndex = 0;
break;
case Unknown:
self.segmentedControl.selectedSegmentIndex = 1;
break;
}
[self setTextColorWithSegmentedValue:value];
}
- (void)setTextColorWithSegmentedValue:(YesNoUnknown)value
{
switch (value)
{
case Yes:
case No:
self.label.textColor = [UIColor blackPrimaryText];
break;
case Unknown:
self.label.textColor = [UIColor blackHintText];
break;
}
}
- (IBAction)valueChanged
{
YesNoUnknown value;
switch (self.segmentedControl.selectedSegmentIndex)
{
case 0:
value = No;
break;
case 1:
value = Unknown;
break;
case 2:
value = Yes;
break;
default:
value = Unknown;
NSAssert(false, @"Unexpected YesNoUnknown value %ld", static_cast<long>(self.segmentedControl.selectedSegmentIndex));
}
[self.delegate cell:self changeSegmented:value];
[self setTextColorWithSegmentedValue:value];
}
@end