diff --git a/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.h b/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.h index 06d2668c95..e16336c93c 100644 --- a/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.h +++ b/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.h @@ -49,6 +49,7 @@ - (void)presentOsmAuthAlert; - (void)presentPersonalInfoWarningAlertWithBlock:(nonnull TMWMVoidBlock)block; - (void)presentTrackWarningAlertWithCancelBlock:(nonnull TMWMVoidBlock)block; +- (void)presentSearchNoResultsAlert; - (void)closeAlert:(nullable TMWMVoidBlock)completion; - (nonnull instancetype)init __attribute__((unavailable("call -initWithViewController: instead!"))); diff --git a/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.mm b/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.mm index 8aadd3b769..d536d48578 100644 --- a/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.mm +++ b/iphone/Maps/Classes/CustomAlert/AlertController/MWMAlertViewController.mm @@ -4,6 +4,7 @@ #import "MWMDownloadTransitMapAlert.h" #import "MWMLocationAlert.h" #import "MWMLocationNotFoundAlert.h" +#import "MWMSearchNoResultsAlert.h" #import "MapViewController.h" #import "MapsAppDelegate.h" @@ -182,6 +183,28 @@ static NSString * const kAlertControllerNibIdentifier = @"MWMAlertViewController [self displayAlert:[MWMAlert trackWarningAlertWithCancelBlock:block]]; } +- (void)presentSearchNoResultsAlert +{ + Class alertClass = [MWMSearchNoResultsAlert class]; + NSArray<__kindof MWMAlert *> * subviews = self.view.subviews; + MWMSearchNoResultsAlert * alert = nil; + for (MWMAlert * view in subviews) + { + if (![view isKindOfClass:alertClass]) + continue; + alert = static_cast(view); + alert.alpha = 1; + [self.view bringSubviewToFront:alert]; + break; + } + if (!alert) + { + alert = [MWMSearchNoResultsAlert alert]; + [self displayAlert:alert]; + } + [alert update]; +} + - (void)presentEditorViralAlert { [self displayAlert:[MWMAlert editorViralAlert]]; } - (void)presentOsmAuthAlert { [self displayAlert:[MWMAlert osmAuthAlert]]; } - (void)displayAlert:(MWMAlert *)alert @@ -197,18 +220,20 @@ static NSString * const kAlertControllerNibIdentifier = @"MWMAlertViewController } } [UIView animateWithDuration:kDefaultAnimationDuration - animations:^{ - for (MWMAlert * view in self.view.subviews) - { - if (view != alert) - view.alpha = 0.0; - } - }]; + delay:0 + options:UIViewAnimationOptionBeginFromCurrentState + animations:^{ + for (MWMAlert * view in self.view.subviews) + { + if (view != alert) + view.alpha = 0.0; + } + } + completion:nil]; [self removeFromParentViewController]; alert.alertController = self; [self.ownerViewController addChildViewController:self]; - self.view.alpha = 0.; alert.alpha = 0.; CGFloat const scale = 1.1; alert.transform = CGAffineTransformMakeScale(scale, scale); @@ -227,6 +252,8 @@ static NSString * const kAlertControllerNibIdentifier = @"MWMAlertViewController MWMAlert * closeAlert = subviews.lastObject; MWMAlert * showAlert = (subviews.count >= 2 ? subviews[subviews.count - 2] : nil); [UIView animateWithDuration:kDefaultAnimationDuration + delay:0 + options:UIViewAnimationOptionBeginFromCurrentState animations:^{ closeAlert.alpha = 0.; if (showAlert) diff --git a/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.h b/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.h new file mode 100644 index 0000000000..1cb95c5f50 --- /dev/null +++ b/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.h @@ -0,0 +1,9 @@ +#import "MWMAlert.h" + +@interface MWMSearchNoResultsAlert : MWMAlert + ++ (instancetype)alert; + +- (void)update; + +@end diff --git a/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.mm b/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.mm new file mode 100644 index 0000000000..879733f4ea --- /dev/null +++ b/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.mm @@ -0,0 +1,73 @@ +#import "MWMSearchNoResultsAlert.h" +#import "Common.h" +#import "MWMSearch.h" +#import "Statistics.h" + +#include "Framework.h" + +namespace +{ +NSString * const kStatisticsEvent = @"Search No Results Alert"; +} + +@interface MWMSearchNoResultsAlert () + +@property(nonatomic) IBOutletCollection(UIView) NSArray * resetFilterViews; +@property(weak, nonatomic) IBOutlet NSLayoutConstraint * twoButtonsOffset; + +@end + +@implementation MWMSearchNoResultsAlert + ++ (instancetype)alert +{ + [Statistics logEvent:kStatisticsEvent withParameters:@{kStatAction : kStatOpen}]; + MWMSearchNoResultsAlert * alert = [ + [[NSBundle mainBundle] loadNibNamed:[MWMSearchNoResultsAlert className] owner:nil options:nil] + firstObject]; + return alert; +} + +- (void)update +{ + [self layoutIfNeeded]; + [UIView animateWithDuration:kDefaultAnimationDuration + animations:^{ + UILayoutPriority priority = UILayoutPriorityDefaultHigh; + CGFloat alpha = 0; + if ([MWMSearch hasFilter]) + { + priority = UILayoutPriorityDefaultLow; + alpha = 1; + } + self.twoButtonsOffset.priority = priority; + for (UIView * view in self.resetFilterViews) + view.alpha = alpha; + + [self setNeedsLayout]; + }]; +} + +- (IBAction)expandSearchAreaTap +{ + [Statistics logEvent:kStatisticsEvent withParameters:@{kStatAction : kStatExpand}]; + [self close:^{ + GetFramework().Scale(Framework::SCALE_MIN, true); + }]; +} + +- (IBAction)resetFiltersTap +{ + [Statistics logEvent:kStatisticsEvent withParameters:@{kStatAction : kStatRemove}]; + [self close:^{ + [MWMSearch clearFilter]; + }]; +} + +- (IBAction)cancelTap +{ + [Statistics logEvent:kStatisticsEvent withParameters:@{kStatAction : kStatCancel}]; + [self close:nil]; +} + +@end diff --git a/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.xib b/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.xib new file mode 100644 index 0000000000..b03b11a0fb --- /dev/null +++ b/iphone/Maps/Classes/CustomAlert/SearchAlert/MWMSearchNoResultsAlert.xib @@ -0,0 +1,200 @@ + + + + + + + + + + + + + HelveticaNeue-Medium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iphone/Maps/Classes/CustomViews/MapViewControls/Search/MWMSearchManager.mm b/iphone/Maps/Classes/CustomViews/MapViewControls/Search/MWMSearchManager.mm index 50745616c1..23c31a1238 100644 --- a/iphone/Maps/Classes/CustomViews/MapViewControls/Search/MWMSearchManager.mm +++ b/iphone/Maps/Classes/CustomViews/MapViewControls/Search/MWMSearchManager.mm @@ -130,9 +130,9 @@ typedef NS_ENUM(NSUInteger, MWMSearchManagerActionBarState) { - (IBAction)textFieldTextDidChange:(UITextField *)textField { NSString * text = textField.text; - [self clearFilter]; if (text.length > 0) { + [self clearFilter]; if ([MWMConsole performCommand:text]) { self.state = MWMSearchManagerStateHidden; diff --git a/iphone/Maps/Classes/Search/MWMSearch.mm b/iphone/Maps/Classes/Search/MWMSearch.mm index 9c6eb5e347..c75e6d432e 100644 --- a/iphone/Maps/Classes/Search/MWMSearch.mm +++ b/iphone/Maps/Classes/Search/MWMSearch.mm @@ -1,6 +1,7 @@ #import "MWMSearch.h" #import #import "Common.h" +#import "MWMAlertViewController.h" #import "MWMLocationManager.h" #import "MWMSearchHotelsFilterViewController.h" #import "ToastView.h" @@ -105,7 +106,11 @@ using TObservers = NSHashTable<__kindof TObserver>; if (!self) return; if (results.IsEndedNormal()) + { [self checkIsHotelResults:results]; + if (results.GetCount() == 0) + [[MWMAlertViewController activeAlertController] presentSearchNoResultsAlert]; + } [self onSearchCompleted]; }; } diff --git a/iphone/Common/DiskFreeSpace.h b/iphone/Maps/Common/DiskFreeSpace.h similarity index 100% rename from iphone/Common/DiskFreeSpace.h rename to iphone/Maps/Common/DiskFreeSpace.h diff --git a/iphone/Common/README.txt b/iphone/Maps/Common/README.txt similarity index 100% rename from iphone/Common/README.txt rename to iphone/Maps/Common/README.txt diff --git a/iphone/Common/RichTextVC.h b/iphone/Maps/Common/RichTextVC.h similarity index 100% rename from iphone/Common/RichTextVC.h rename to iphone/Maps/Common/RichTextVC.h diff --git a/iphone/Common/RichTextVC.mm b/iphone/Maps/Common/RichTextVC.mm similarity index 100% rename from iphone/Common/RichTextVC.mm rename to iphone/Maps/Common/RichTextVC.mm diff --git a/iphone/Common/WebViewController.h b/iphone/Maps/Common/WebViewController.h similarity index 100% rename from iphone/Common/WebViewController.h rename to iphone/Maps/Common/WebViewController.h diff --git a/iphone/Common/WebViewController.mm b/iphone/Maps/Common/WebViewController.mm similarity index 100% rename from iphone/Common/WebViewController.mm rename to iphone/Maps/Common/WebViewController.mm diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index 5c3e93ac7f..c4bcf0dc60 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -121,6 +121,7 @@ 3442B29D1D92C14C00CA9291 /* MWMMapDownloaderAdsTableViewCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3442B29B1D92C14C00CA9291 /* MWMMapDownloaderAdsTableViewCell.mm */; }; 3442B29F1D92C56500CA9291 /* MWMMapDownloaderAdsTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3442B29E1D92C56500CA9291 /* MWMMapDownloaderAdsTableViewCell.xib */; }; 3442B2A01D92C56500CA9291 /* MWMMapDownloaderAdsTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3442B29E1D92C56500CA9291 /* MWMMapDownloaderAdsTableViewCell.xib */; }; + 3446C6771DDCA9A200146687 /* libtraffic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3446C6761DDCA9A200146687 /* libtraffic.a */; }; 34479C7C1C60C6130065D261 /* MWMFrameworkListener.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34479C781C60C6130065D261 /* MWMFrameworkListener.mm */; }; 34479C7D1C60C6130065D261 /* MWMFrameworkListener.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34479C781C60C6130065D261 /* MWMFrameworkListener.mm */; }; 344D77B41D1BD7C800DBED70 /* MWMLocationManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 344D77B31D1BD7C800DBED70 /* MWMLocationManager.mm */; }; @@ -145,6 +146,10 @@ 345FDD271C3BB3AF0070C459 /* MWMEditorViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 345FDD251C3BB3AF0070C459 /* MWMEditorViewController.mm */; }; 34618BFD1D6DAAE600EDEEF4 /* MWMSettings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34618BFC1D6DAAE600EDEEF4 /* MWMSettings.mm */; }; 34618BFE1D6DAAE600EDEEF4 /* MWMSettings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34618BFC1D6DAAE600EDEEF4 /* MWMSettings.mm */; }; + 3462258E1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3462258D1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm */; }; + 3462258F1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3462258D1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm */; }; + 346225911DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = 346225901DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib */; }; + 346225921DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = 346225901DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib */; }; 34634B1B1BB42D270013573C /* MWMBottomMenuCollectionViewLandscapeCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34634B1A1BB42D270013573C /* MWMBottomMenuCollectionViewLandscapeCell.xib */; }; 3465E7D81B6658C000854C4D /* MWMAPIBar.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3465E7D71B6658C000854C4D /* MWMAPIBar.mm */; }; 346B42AB1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm in Sources */ = {isa = PBXBuildFile; fileRef = 346B42AA1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm */; }; @@ -1086,6 +1091,7 @@ 3442B29A1D92C14C00CA9291 /* MWMMapDownloaderAdsTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMMapDownloaderAdsTableViewCell.h; sourceTree = ""; }; 3442B29B1D92C14C00CA9291 /* MWMMapDownloaderAdsTableViewCell.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMMapDownloaderAdsTableViewCell.mm; sourceTree = ""; }; 3442B29E1D92C56500CA9291 /* MWMMapDownloaderAdsTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MWMMapDownloaderAdsTableViewCell.xib; sourceTree = ""; }; + 3446C6761DDCA9A200146687 /* libtraffic.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtraffic.a; path = "../../../omim-build/xcode/Debug/libtraffic.a"; sourceTree = ""; }; 34479C751C60C6130065D261 /* Framework.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Framework.cpp; sourceTree = ""; }; 34479C761C60C6130065D261 /* Framework.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Framework.h; sourceTree = ""; }; 34479C771C60C6130065D261 /* MWMFrameworkListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMFrameworkListener.h; sourceTree = ""; }; @@ -1111,6 +1117,9 @@ 3460B4C11BF369A2003EE796 /* StatisticsStrings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StatisticsStrings.h; sourceTree = ""; }; 34618BFB1D6DAAE600EDEEF4 /* MWMSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMSettings.h; sourceTree = ""; }; 34618BFC1D6DAAE600EDEEF4 /* MWMSettings.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMSettings.mm; sourceTree = ""; }; + 3462258C1DDC5DB9001E8752 /* MWMSearchNoResultsAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMSearchNoResultsAlert.h; sourceTree = ""; }; + 3462258D1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMSearchNoResultsAlert.mm; sourceTree = ""; }; + 346225901DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MWMSearchNoResultsAlert.xib; sourceTree = ""; }; 34634B1A1BB42D270013573C /* MWMBottomMenuCollectionViewLandscapeCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MWMBottomMenuCollectionViewLandscapeCell.xib; sourceTree = ""; }; 3465E7D61B6658C000854C4D /* MWMAPIBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMAPIBar.h; sourceTree = ""; }; 3465E7D71B6658C000854C4D /* MWMAPIBar.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMAPIBar.mm; sourceTree = ""; }; @@ -1815,6 +1824,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 3446C6771DDCA9A200146687 /* libtraffic.a in Frameworks */, 34201E0C1DC0E33100D24118 /* libtracking.a in Frameworks */, 34170B7E1D93C3C80074117B /* MyTargetSDK.framework in Frameworks */, 34BF68631D7459E6001752F6 /* CoreSpotlight.framework in Frameworks */, @@ -1998,6 +2008,7 @@ children = ( 3462FD8B1DC1DFDE00906FD7 /* 3party */, 3462FD8A1DC1DF3A00906FD7 /* SDK */, + 3446C6761DDCA9A200146687 /* libtraffic.a */, 34201E0B1DC0E33100D24118 /* libtracking.a */, 3DDB4BC31DAB98F000F4D021 /* libpartners_api.a */, 340DC82B1C4E72C700EAA2CC /* liboauthcpp.a */, @@ -2228,6 +2239,16 @@ path = SideButtons; sourceTree = ""; }; + 3462258B1DDC5D76001E8752 /* SearchAlert */ = { + isa = PBXGroup; + children = ( + 3462258C1DDC5DB9001E8752 /* MWMSearchNoResultsAlert.h */, + 3462258D1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm */, + 346225901DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib */, + ); + path = SearchAlert; + sourceTree = ""; + }; 3462FD8A1DC1DF3A00906FD7 /* SDK */ = { isa = PBXGroup; children = ( @@ -2952,6 +2973,7 @@ F64F195F1AB8125C006EAF7E /* CustomAlert */ = { isa = PBXGroup; children = ( + 3462258B1DDC5D76001E8752 /* SearchAlert */, F6FE3C351CC50FDF00A73196 /* PlaceDoesntExist */, F6BD1D1D1CA412700047B8E8 /* AuthAlert */, F64D9C9C1C899BEA0063FA30 /* EditorAlert */, @@ -3403,8 +3425,7 @@ 978D4A281996C17300D72CA7 /* RichTextVC.mm */, FAA4B13E13EC1C8C00BCAB63 /* DiskFreeSpace.h */, ); - name = Common; - path = ../Common; + path = Common; sourceTree = SOURCE_ROOT; }; FA36B8011540388B004560CC /* Bookmarks */ = { @@ -3606,6 +3627,7 @@ files = ( 3456E0261DC0C4500055DF50 /* HockeySDKResources.bundle in Resources */, 4519503A1B7A3E070085DA05 /* patterns.txt in Resources */, + 346225911DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib in Resources */, F6FE3C3B1CC5106500A73196 /* MWMPlaceDoesntExistAlert.xib in Resources */, 5605022F1B6211E100169CAD /* sound-strings in Resources */, 34CCFDE21C22A2EF00F28959 /* MWMPlacePageOpeningHoursCell.xib in Resources */, @@ -3766,6 +3788,7 @@ files = ( F68FCB8D1DA7BD20007CC7D7 /* MWMTaxiPreviewCell.xib in Resources */, 676507611C10559B00830BB3 /* colors.txt in Resources */, + 346225921DDC5FBA001E8752 /* MWMSearchNoResultsAlert.xib in Resources */, F6FE3C3C1CC5106500A73196 /* MWMPlaceDoesntExistAlert.xib in Resources */, 671182E51C7F0DDB00CB8177 /* packed_polygons_obsolete.bin in Resources */, 676507601C10559800830BB3 /* patterns.txt in Resources */, @@ -4065,6 +4088,7 @@ B08AA8DA1A26299A00810B1C /* TimeUtils.mm in Sources */, F6CB216D1AF13EBD00FB8963 /* MWMPlacePageBookmarkCell.mm in Sources */, F653D4231AE9398700282659 /* MWMPlacePageViewManager.mm in Sources */, + 3462258E1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm in Sources */, 341F99ED1C6B28A7001C67B8 /* MWMMapDownloaderExtendedDataSource.mm in Sources */, F65243351B0B634F00BFA9D4 /* MWMPlacePage+Animation.mm in Sources */, 349A357C1B53D4C9009677EE /* MWMCircularProgressView.mm in Sources */, @@ -4321,6 +4345,7 @@ 6741A9E31BF340DE002C974C /* TimeUtils.mm in Sources */, 341F99EE1C6B28A7001C67B8 /* MWMMapDownloaderExtendedDataSource.mm in Sources */, 3436FE831D366CDD005CD87B /* MWMSearch.mm in Sources */, + 3462258F1DDC5DBA001E8752 /* MWMSearchNoResultsAlert.mm in Sources */, 6741A9E41BF340DE002C974C /* MWMPlacePageBookmarkCell.mm in Sources */, 6741A9E51BF340DE002C974C /* MWMPlacePageViewManager.mm in Sources */, 6741A9E61BF340DE002C974C /* MWMPlacePage+Animation.mm in Sources */, diff --git a/xcode/base/base.xcodeproj/project.pbxproj b/xcode/base/base.xcodeproj/project.pbxproj index 56c490e2e4..2a60784ebc 100644 --- a/xcode/base/base.xcodeproj/project.pbxproj +++ b/xcode/base/base.xcodeproj/project.pbxproj @@ -7,6 +7,15 @@ objects = { /* Begin PBXBuildFile section */ + 3446C6711DDCA96300146687 /* dfa_helpers.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3446C66C1DDCA96300146687 /* dfa_helpers.hpp */; }; + 3446C6721DDCA96300146687 /* levenshtein_dfa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3446C66D1DDCA96300146687 /* levenshtein_dfa.cpp */; }; + 3446C6731DDCA96300146687 /* levenshtein_dfa.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3446C66E1DDCA96300146687 /* levenshtein_dfa.hpp */; }; + 3446C6741DDCA96300146687 /* uni_string_dfa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3446C66F1DDCA96300146687 /* uni_string_dfa.cpp */; }; + 3446C6751DDCA96300146687 /* uni_string_dfa.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3446C6701DDCA96300146687 /* uni_string_dfa.hpp */; }; + 3446C67C1DDCAA4600146687 /* levenshtein_dfa_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3446C6781DDCAA2500146687 /* levenshtein_dfa_test.cpp */; }; + 3446C67D1DDCAA4900146687 /* uni_string_dfa_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3446C6791DDCAA2500146687 /* uni_string_dfa_test.cpp */; }; + 3446C6821DDCAA7400146687 /* newtype_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3446C67E1DDCAA6E00146687 /* newtype_test.cpp */; }; + 3446C6831DDCAA7800146687 /* ref_counted_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3446C67F1DDCAA6E00146687 /* ref_counted_tests.cpp */; }; 39FD271E1CC65AD000AFF551 /* testingmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39FD27011CC65A2800AFF551 /* testingmain.cpp */; }; 39FD271F1CC65AD000AFF551 /* assert_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39FD26C81CC65A0E00AFF551 /* assert_test.cpp */; }; 39FD27201CC65AD000AFF551 /* bits_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39FD26CA1CC65A0E00AFF551 /* bits_test.cpp */; }; @@ -106,6 +115,15 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 3446C66C1DDCA96300146687 /* dfa_helpers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = dfa_helpers.hpp; sourceTree = ""; }; + 3446C66D1DDCA96300146687 /* levenshtein_dfa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = levenshtein_dfa.cpp; sourceTree = ""; }; + 3446C66E1DDCA96300146687 /* levenshtein_dfa.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = levenshtein_dfa.hpp; sourceTree = ""; }; + 3446C66F1DDCA96300146687 /* uni_string_dfa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uni_string_dfa.cpp; sourceTree = ""; }; + 3446C6701DDCA96300146687 /* uni_string_dfa.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = uni_string_dfa.hpp; sourceTree = ""; }; + 3446C6781DDCAA2500146687 /* levenshtein_dfa_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = levenshtein_dfa_test.cpp; sourceTree = ""; }; + 3446C6791DDCAA2500146687 /* uni_string_dfa_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = uni_string_dfa_test.cpp; sourceTree = ""; }; + 3446C67E1DDCAA6E00146687 /* newtype_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = newtype_test.cpp; sourceTree = ""; }; + 3446C67F1DDCAA6E00146687 /* ref_counted_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ref_counted_tests.cpp; sourceTree = ""; }; 34BA2D6A1DBE169E00FAB345 /* common-debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "common-debug.xcconfig"; path = "../common-debug.xcconfig"; sourceTree = ""; }; 34BA2D6B1DBE169E00FAB345 /* common-release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "common-release.xcconfig"; path = "../common-release.xcconfig"; sourceTree = ""; }; 39FD26C81CC65A0E00AFF551 /* assert_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = assert_test.cpp; sourceTree = ""; }; @@ -234,6 +252,10 @@ 39FD26C71CC659D200AFF551 /* base_tests */ = { isa = PBXGroup; children = ( + 3446C67E1DDCAA6E00146687 /* newtype_test.cpp */, + 3446C67F1DDCAA6E00146687 /* ref_counted_tests.cpp */, + 3446C6781DDCAA2500146687 /* levenshtein_dfa_test.cpp */, + 3446C6791DDCAA2500146687 /* uni_string_dfa_test.cpp */, 39FD27011CC65A2800AFF551 /* testingmain.cpp */, 39FD26C81CC65A0E00AFF551 /* assert_test.cpp */, 39FD26CA1CC65A0E00AFF551 /* bits_test.cpp */, @@ -292,6 +314,11 @@ 675341791A3F57BF00A0A8C3 /* base */ = { isa = PBXGroup; children = ( + 3446C66C1DDCA96300146687 /* dfa_helpers.hpp */, + 3446C66D1DDCA96300146687 /* levenshtein_dfa.cpp */, + 3446C66E1DDCA96300146687 /* levenshtein_dfa.hpp */, + 3446C66F1DDCA96300146687 /* uni_string_dfa.cpp */, + 3446C6701DDCA96300146687 /* uni_string_dfa.hpp */, 671182EE1C807C0A00CB8177 /* gmtime.cpp */, 671182EF1C807C0A00CB8177 /* gmtime.hpp */, 670E39421C46C76900E9C0A6 /* sunrise_sunset.cpp */, @@ -394,6 +421,7 @@ 675341E61A3F57E400A0A8C3 /* mutex.hpp in Headers */, 675341D11A3F57E400A0A8C3 /* cache.hpp in Headers */, 675341E31A3F57E400A0A8C3 /* math.hpp in Headers */, + 3446C6731DDCA96300146687 /* levenshtein_dfa.hpp in Headers */, 675341E21A3F57E400A0A8C3 /* macros.hpp in Headers */, 6753420D1A3F57E400A0A8C3 /* threaded_priority_queue.hpp in Headers */, 675341EF1A3F57E400A0A8C3 /* rolling_hash.hpp in Headers */, @@ -410,6 +438,7 @@ 675342001A3F57E400A0A8C3 /* string_format.hpp in Headers */, 675341F41A3F57E400A0A8C3 /* scope_guard.hpp in Headers */, 675342071A3F57E400A0A8C3 /* thread_pool.hpp in Headers */, + 3446C6711DDCA96300146687 /* dfa_helpers.hpp in Headers */, 6753420C1A3F57E400A0A8C3 /* threaded_list.hpp in Headers */, 675341DB1A3F57E400A0A8C3 /* exception.hpp in Headers */, 6753453E1A3F6F6A00A0A8C3 /* message.hpp in Headers */, @@ -429,6 +458,7 @@ 675341F71A3F57E400A0A8C3 /* shared_buffer_manager.hpp in Headers */, 67B52B611AD3C84E00664C17 /* thread_checker.hpp in Headers */, 675341CB1A3F57E400A0A8C3 /* array_adapters.hpp in Headers */, + 3446C6751DDCA96300146687 /* uni_string_dfa.hpp in Headers */, 6753420B1A3F57E400A0A8C3 /* threaded_container.hpp in Headers */, 675342051A3F57E400A0A8C3 /* swap.hpp in Headers */, 675341FD1A3F57E400A0A8C3 /* stl_add.hpp in Headers */, @@ -529,11 +559,14 @@ 39FD271E1CC65AD000AFF551 /* testingmain.cpp in Sources */, 39FD27391CC65AD000AFF551 /* timer_test.cpp in Sources */, 39FD27201CC65AD000AFF551 /* bits_test.cpp in Sources */, + 3446C67D1DDCAA4900146687 /* uni_string_dfa_test.cpp in Sources */, 39FD27321CC65AD000AFF551 /* string_format_test.cpp in Sources */, 39FD272A1CC65AD000AFF551 /* mem_trie_test.cpp in Sources */, + 3446C67C1DDCAA4600146687 /* levenshtein_dfa_test.cpp in Sources */, 39FD27381CC65AD000AFF551 /* timegm_test.cpp in Sources */, 39FD272C1CC65AD000AFF551 /* range_iterator_test.cpp in Sources */, 39FD27261CC65AD000AFF551 /* containers_test.cpp in Sources */, + 3446C6821DDCAA7400146687 /* newtype_test.cpp in Sources */, 39FD27231CC65AD000AFF551 /* collection_cast_test.cpp in Sources */, 39FD27301CC65AD000AFF551 /* stl_add_test.cpp in Sources */, 39FD272E1CC65AD000AFF551 /* rolling_hash_test.cpp in Sources */, @@ -543,6 +576,7 @@ 39FD273A1CC65AD000AFF551 /* worker_thread_test.cpp in Sources */, 39FD27331CC65AD000AFF551 /* string_utils_test.cpp in Sources */, 39FD27311CC65AD000AFF551 /* stl_helpers_test.cpp in Sources */, + 3446C6831DDCAA7800146687 /* ref_counted_tests.cpp in Sources */, 39FD27211CC65AD000AFF551 /* buffer_vector_test.cpp in Sources */, 39FD27241CC65AD000AFF551 /* condition_test.cpp in Sources */, 39FD27221CC65AD000AFF551 /* cache_test.cpp in Sources */, @@ -561,6 +595,8 @@ buildActionMask = 2147483647; files = ( 675341D61A3F57E400A0A8C3 /* condition_windows_native.cpp in Sources */, + 3446C6741DDCA96300146687 /* uni_string_dfa.cpp in Sources */, + 3446C6721DDCA96300146687 /* levenshtein_dfa.cpp in Sources */, 6753453D1A3F6F6A00A0A8C3 /* message.cpp in Sources */, 675342081A3F57E400A0A8C3 /* thread.cpp in Sources */, 675342061A3F57E400A0A8C3 /* thread_pool.cpp in Sources */,