From 4532099359c7cdec6063a9a2ff809d80c953ccd2 Mon Sep 17 00:00:00 2001 From: Allan Odgaard Date: Wed, 19 Sep 2012 15:31:59 +0200 Subject: [PATCH] =?UTF-8?q?Use=20Objective-C=20for=E2=80=A6in=20instead=20?= =?UTF-8?q?of=20macro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids having to use C++ iterators and we want to get rid of some of this Objective-C/C++ mixing for ARC and other reasons. --- Frameworks/BundleEditor/src/BundleEditor.mm | 4 ++-- Frameworks/OakAppKit/src/OakFileIconImage.mm | 6 ++--- Frameworks/OakAppKit/src/OakTabBarView.mm | 23 ++++++++++---------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/Frameworks/BundleEditor/src/BundleEditor.mm b/Frameworks/BundleEditor/src/BundleEditor.mm index 8eaeb92a..cfe8d5c7 100644 --- a/Frameworks/BundleEditor/src/BundleEditor.mm +++ b/Frameworks/BundleEditor/src/BundleEditor.mm @@ -78,8 +78,8 @@ static NSMutableArray* wrap_array (std::vector const& array, NSStri static plist::array_t unwrap_array (NSArray* array, NSString* key) { plist::array_t res; - iterate(dict, array) - res.push_back(to_s((NSString*)[*dict objectForKey:key])); + for(NSDictionary* dict in array) + res.push_back(to_s((NSString*)[dict objectForKey:key])); return res; } diff --git a/Frameworks/OakAppKit/src/OakFileIconImage.mm b/Frameworks/OakAppKit/src/OakFileIconImage.mm index 553f3f06..7538b14e 100644 --- a/Frameworks/OakAppKit/src/OakFileIconImage.mm +++ b/Frameworks/OakAppKit/src/OakFileIconImage.mm @@ -15,12 +15,12 @@ static NSImage* CustomIconForPath (NSString* path, struct stat const& buf) std::multimap ordering; NSDictionary* bindings = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle bundleForClass:[OakFileIconImage class]] pathForResource:@"bindings" ofType:@"plist"]]; - iterate(pair, bindings) + for(NSString* key in bindings) { - for(NSString* ext in pair->second) + for(NSString* ext in bindings[key]) { if(ssize_t rank = path::rank([path UTF8String], [ext UTF8String])) - ordering.insert(std::make_pair(rank, pair->first)); + ordering.insert(std::make_pair(rank, key)); } } return ordering.empty() ? nil : [NSImage imageNamed:ordering.begin()->second inSameBundleAsClass:[OakFileIconImage class]]; diff --git a/Frameworks/OakAppKit/src/OakTabBarView.mm b/Frameworks/OakAppKit/src/OakTabBarView.mm index 566a12f5..91808c6d 100644 --- a/Frameworks/OakAppKit/src/OakTabBarView.mm +++ b/Frameworks/OakAppKit/src/OakTabBarView.mm @@ -151,8 +151,8 @@ id layout_metrics_t::ExpandVariables (id obj, std::map else if([obj isKindOfClass:[NSDictionary class]]) { NSMutableDictionary* dict = [NSMutableDictionary dictionary]; - iterate(it, (NSDictionary*)obj) - [dict setObject:ExpandVariables(it->second, someVariables) forKey:it->first]; + for(NSString* key in obj) + [dict setObject:ExpandVariables(obj[key], someVariables) forKey:key]; obj = dict; } else if([obj isKindOfClass:[NSString class]]) @@ -169,8 +169,9 @@ void layout_metrics_t::AddItemsForKeyToArray (NSDictionary* dict, NSString* key, if(NSString* includeKey = [item objectForKey:@"include"]) { std::map tmp = values; - iterate(it, (NSDictionary*)[item objectForKey:@"values"]) - tmp[[it->first UTF8String]] = format_string::expand([it->second UTF8String], tmp); + NSDictionary* values = [item objectForKey:@"values"]; + for(NSString* key in values) + tmp[[key UTF8String]] = format_string::expand([values[key] UTF8String], tmp); AddItemsForKeyToArray(dict, includeKey, tmp, array); } else @@ -190,21 +191,21 @@ layout_metrics_ptr layout_metrics_t::parse (NSDictionary* dict) r.maxTabSize = [[dict objectForKey:@"maxTabSize"] floatValue] ?: DBL_MAX; std::map variables; - iterate(it, dict) + for(NSString* key in dict) { - if([it->second isKindOfClass:[NSString class]]) - variables[[it->first UTF8String]] = [it->second UTF8String]; + if([dict[key] isKindOfClass:[NSString class]]) + variables[[key UTF8String]] = [dict[key] UTF8String]; } - iterate(it, dict) + for(NSString* key in dict) { - if(![it->second isKindOfClass:[NSArray class]]) + if(![dict[key] isKindOfClass:[NSArray class]]) continue; NSMutableArray* array = [NSMutableArray array]; - AddItemsForKeyToArray(dict, it->first, variables, array); + AddItemsForKeyToArray(dict, key, variables, array); for(NSDictionary* item in array) - r.layers[[it->first UTF8String]].push_back(parse_layer(item)); + r.layers[[key UTF8String]].push_back(parse_layer(item)); } return layout_metrics_ptr(new layout_metrics_t(r));