forked from organicmaps/organicmaps
[ios] Fixed ios build.
This commit is contained in:
parent
9bf220a613
commit
15d9120d6f
3 changed files with 39 additions and 34 deletions
|
@ -349,7 +349,7 @@ NSString * reuseIdentifier(MWMPlacePageCellType cellType)
|
|||
MWMEditorSelectTableViewCell * tCell = (MWMEditorSelectTableViewCell *)cell;
|
||||
[tCell configWithDelegate:self
|
||||
icon:[UIImage imageNamed:@"ic_placepage_adress"]
|
||||
text:@(m_mapObject.GetStreet().c_str())
|
||||
text:@(m_mapObject.GetStreet().m_defaultName.c_str())
|
||||
placeholder:L(@"add_street")];
|
||||
break;
|
||||
}
|
||||
|
@ -594,23 +594,19 @@ NSString * reuseIdentifier(MWMPlacePageCellType cellType)
|
|||
|
||||
#pragma mark - MWMStreetEditorProtocol
|
||||
|
||||
- (NSString *)getStreet
|
||||
- (void)setNearbyStreet:(osm::LocalizedStreet const &)street
|
||||
{
|
||||
return @(m_mapObject.GetStreet().c_str());
|
||||
m_mapObject.SetStreet(street);
|
||||
}
|
||||
|
||||
- (void)setStreet:(NSString *)street
|
||||
- (osm::LocalizedStreet const &)currentStreet
|
||||
{
|
||||
m_mapObject.SetStreet(street.UTF8String);
|
||||
return m_mapObject.GetStreet();
|
||||
}
|
||||
|
||||
- (NSArray<NSString *> *)getNearbyStreets
|
||||
- (vector<osm::LocalizedStreet> const &)nearbyStreets
|
||||
{
|
||||
auto const & streets = m_mapObject.GetNearbyStreets();
|
||||
NSMutableArray * arr = [[NSMutableArray alloc] initWithCapacity:streets.size()];
|
||||
for (auto const & street : streets)
|
||||
[arr addObject:@(street.c_str())];
|
||||
return arr;
|
||||
return m_mapObject.GetNearbyStreets();
|
||||
}
|
||||
|
||||
#pragma mark - Segue
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
#import "MWMTableViewController.h"
|
||||
|
||||
#include "indexer/editable_map_object.hpp"
|
||||
|
||||
#include "std/vector.hpp"
|
||||
|
||||
@protocol MWMStreetEditorProtocol <NSObject>
|
||||
|
||||
- (NSString *)getStreet;
|
||||
- (void)setStreet:(NSString *)street;
|
||||
|
||||
- (NSArray<NSString *> *)getNearbyStreets;
|
||||
- (osm::LocalizedStreet const &)currentStreet;
|
||||
- (void)setNearbyStreet:(osm::LocalizedStreet const &)street;
|
||||
- (vector<osm::LocalizedStreet> const &)nearbyStreets;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -6,15 +6,17 @@ namespace
|
|||
NSString * const kStreetEditorEditCell = @"MWMStreetEditorEditTableViewCell";
|
||||
} // namespace
|
||||
|
||||
@interface MWMStreetEditorViewController () <MWMStreetEditorEditCellProtocol>
|
||||
using namespace osm;
|
||||
|
||||
@property (nonatomic) NSMutableArray<NSString *> * streets;
|
||||
@interface MWMStreetEditorViewController () <MWMStreetEditorEditCellProtocol>
|
||||
{
|
||||
vector<osm::LocalizedStreet> m_streets;
|
||||
string m_editedStreetName;
|
||||
}
|
||||
|
||||
@property (nonatomic) NSUInteger selectedStreet;
|
||||
@property (nonatomic) NSUInteger lastSelectedStreet;
|
||||
|
||||
@property (nonatomic) NSString * editedStreetName;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MWMStreetEditorViewController
|
||||
|
@ -45,15 +47,16 @@ namespace
|
|||
|
||||
- (void)configData
|
||||
{
|
||||
self.streets = [[self.delegate getNearbyStreets] mutableCopy];
|
||||
NSString * currentStreet = [self.delegate getStreet];
|
||||
BOOL const haveCurrentStreet = (currentStreet && currentStreet.length != 0);
|
||||
m_streets = self.delegate.nearbyStreets;
|
||||
auto const & currentStreet = self.delegate.currentStreet;
|
||||
|
||||
BOOL const haveCurrentStreet = !currentStreet.m_defaultName.empty();
|
||||
if (haveCurrentStreet)
|
||||
{
|
||||
[self.streets removeObject:currentStreet];
|
||||
[self.streets insertObject:currentStreet atIndex:0];
|
||||
m_streets.erase(remove(m_streets.begin(), m_streets.end(), currentStreet));
|
||||
m_streets.insert(m_streets.begin(), currentStreet);
|
||||
}
|
||||
self.editedStreetName = @"";
|
||||
m_editedStreetName = "";
|
||||
self.selectedStreet = haveCurrentStreet ? 0 : NSNotFound;
|
||||
self.lastSelectedStreet = NSNotFound;
|
||||
self.navigationItem.rightBarButtonItem.enabled = haveCurrentStreet;
|
||||
|
@ -74,8 +77,11 @@ namespace
|
|||
|
||||
- (void)onDone
|
||||
{
|
||||
NSString * street = (self.selectedStreet == NSNotFound ? self.editedStreetName : self.streets[self.selectedStreet]);
|
||||
[self.delegate setStreet:street];
|
||||
if (self.selectedStreet == NSNotFound)
|
||||
[self.delegate setNearbyStreet:{m_editedStreetName, ""}];
|
||||
else
|
||||
[self.delegate setNearbyStreet:m_streets[self.selectedStreet]];
|
||||
|
||||
[self onCancel];
|
||||
}
|
||||
|
||||
|
@ -84,12 +90,13 @@ namespace
|
|||
if ([cell isKindOfClass:[MWMStreetEditorEditTableViewCell class]])
|
||||
{
|
||||
MWMStreetEditorEditTableViewCell * tCell = (MWMStreetEditorEditTableViewCell *)cell;
|
||||
[tCell configWithDelegate:self street:self.editedStreetName];
|
||||
[tCell configWithDelegate:self street:@(m_editedStreetName.c_str())];
|
||||
}
|
||||
else
|
||||
{
|
||||
NSUInteger const index = indexPath.row;
|
||||
NSString * street = self.streets[index];
|
||||
// TODO: also display localized name if it exists.
|
||||
NSString * street = @(m_streets[index].m_defaultName.c_str());
|
||||
BOOL const selected = (self.selectedStreet == index);
|
||||
cell.textLabel.text = street;
|
||||
cell.accessoryType = selected ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;
|
||||
|
@ -103,7 +110,7 @@ namespace
|
|||
if (text && text.length != 0)
|
||||
{
|
||||
self.navigationItem.rightBarButtonItem.enabled = YES;
|
||||
self.editedStreetName = text;
|
||||
m_editedStreetName = text.UTF8String;
|
||||
if (self.selectedStreet != NSNotFound)
|
||||
{
|
||||
self.lastSelectedStreet = self.selectedStreet;
|
||||
|
@ -128,8 +135,7 @@ namespace
|
|||
|
||||
- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath
|
||||
{
|
||||
NSUInteger const streetsCount = self.streets.count;
|
||||
if (streetsCount == 0)
|
||||
if (m_streets.empty())
|
||||
return [tableView dequeueReusableCellWithIdentifier:kStreetEditorEditCell];
|
||||
if (indexPath.section == 0)
|
||||
return [tableView dequeueReusableCellWithIdentifier:[UITableViewCell className]];
|
||||
|
@ -139,7 +145,7 @@ namespace
|
|||
|
||||
- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section
|
||||
{
|
||||
NSUInteger const count = self.streets.count;
|
||||
auto const count = m_streets.size();
|
||||
if ((section == 0 && count == 0) || section != 0)
|
||||
return 1;
|
||||
return count;
|
||||
|
@ -147,7 +153,7 @@ namespace
|
|||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
|
||||
{
|
||||
return self.streets.count > 0 ? 2 : 1;
|
||||
return m_streets.empty()? 1 : 2;
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate
|
||||
|
|
Loading…
Add table
Reference in a new issue