Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
  • 2 commits
  • 123 files changed
  • 0 commit comments
  • 1 contributor
Commits on Apr 10, 2013
@mralexgray SNRHUD addition, noodlekit, nsobject refactoring, code cleanup, basem…
…odel category additions, nice introspection and KVO stuff.
a69919e
@mralexgray mailcore commit de8861a
Showing with 5,391 additions and 4,221 deletions.
  1. +5 −0 .gitmodules
  2. +5 −5 AtoZ/AZGeometry/AtoZGeometry.h
  3. +3 −3 AtoZ/AZGeometry/AtoZGeometry.m
  4. +47 −37 AtoZ/AtoZ-Framework.pch
  5. +64 −11 AtoZ/AtoZ.h
  6. +165 −58 AtoZ/AtoZ.m
  7. +264 −83 AtoZ/AtoZ.xcodeproj/project.pbxproj
  8. +152 −89 AtoZ/AtoZCLI/main.m
  9. +3 −0 AtoZ/AtoZFunctions.h
  10. +83 −63 AtoZ/AtoZFunctions.m
  11. +1 −1 AtoZ/AtoZTestBed/ColorVC.m
  12. +3 −3 AtoZ/AtoZTestBed/TUIVVC.m
  13. +2 −2 AtoZ/AtoZTestBed/TestBedDelegate.h
  14. +21 −21 AtoZ/AtoZTestBed/TestBedDelegate.m
  15. +172 −126 AtoZ/AtoZUmbrella.h
  16. +1 −1 AtoZ/Categories/CAAnimation+AtoZ.m
  17. +11 −6 AtoZ/Categories/CALayer+AtoZ.h
  18. +13 −9 AtoZ/Categories/CALayer+AtoZ.m
  19. +1 −1 AtoZ/Categories/NSArray+AtoZ.h
  20. +45 −44 AtoZ/Categories/NSArray+AtoZ.m
  21. +1 −1 AtoZ/Categories/NSBezierPath+AtoZ.h
  22. +8 −4 AtoZ/Categories/NSBezierPath+AtoZ.m
  23. +9 −1 AtoZ/Categories/NSBundle+AtoZ.h
  24. +48 −6 AtoZ/Categories/NSBundle+AtoZ.m
  25. +51 −51 AtoZ/Categories/NSCell+AtoZ.m
  26. +3 −0 AtoZ/Categories/NSColor+AtoZ.h
  27. +16 −11 AtoZ/Categories/NSColor+AtoZ.m
  28. +33 −33 AtoZ/Categories/NSDate+AtoZ.m
  29. +38 −38 AtoZ/Categories/NSDictionary+AtoZ.m
  30. +10 −10 AtoZ/Categories/NSEvent+AtoZ.m
  31. +10 −9 AtoZ/Categories/NSImage+AtoZ.h
  32. +31 −28 AtoZ/Categories/NSImage+AtoZ.m
  33. +0 −18 AtoZ/Categories/NSIndexSet+AtoZ.h
  34. +1 −63 AtoZ/Categories/NSIndexSet+AtoZ.m
  35. +19 −19 AtoZ/Categories/NSNumber+AtoZ.m
  36. +17 −9 AtoZ/Categories/NSObject+AtoZ.h
  37. +65 −32 AtoZ/Categories/NSObject+AtoZ.m
  38. +26 −61 AtoZ/Categories/NSObject+Properties.h
  39. +160 −232 AtoZ/Categories/NSObject+Properties.m
  40. +5 −5 AtoZ/Categories/NSObject-Utilities.h
  41. +2 −2 AtoZ/Categories/NSObject-Utilities.m
  42. +9 −9 AtoZ/Categories/NSSplitView+DMAdditions.h
  43. +47 −47 AtoZ/Categories/NSSplitView+DMAdditions.m
  44. +21 −19 AtoZ/Categories/NSString+AtoZ.h
  45. +353 −345 AtoZ/Categories/NSString+AtoZ.m
  46. +0 −181 AtoZ/Categories/NSTableView+AtoZ.h
  47. +1,053 −1,053 AtoZ/Categories/NSTableView+AtoZ.m
  48. +17 −17 AtoZ/Categories/NSTask+OneLineTasksWithOutput.m
  49. +4 −4 AtoZ/Categories/NSURL+AtoZ.m
  50. +21 −21 AtoZ/Categories/NSView+AtoZ.h
  51. +3 −3 AtoZ/Categories/NSView+AtoZ.m
  52. +3 −3 AtoZ/Categories/NSWindow+AtoZ.h
  53. +5 −5 AtoZ/Categories/NSWindow+AtoZ.m
  54. +22 −22 AtoZ/Categories/WebView+AtoZ.m
  55. +1 −1 AtoZ/Classes/AZFavIconManager.h
  56. +3 −3 AtoZ/Classes/AZFavIconManager.m
  57. +2 −2 AtoZ/Classes/AZHomeBrew.h
  58. +14 −14 AtoZ/Classes/AZHomeBrew.m
  59. +4 −4 AtoZ/Classes/AZLayer.m
  60. +1 −1 AtoZ/Classes/AZSizer.h
  61. +8 −8 AtoZ/Classes/AZSizer.m
  62. +1 −1 AtoZ/Classes/AZSpeechRecognition.m
  63. +1 −1 AtoZ/Classes/AZStopwatch.h
  64. +3 −3 AtoZ/Classes/AZStopwatch.m
  65. +4 −4 AtoZ/Classes/AZWeakCollections.m
  66. +14 −14 AtoZ/Classes/AddressBookImageLoader.m
  67. +11 −11 AtoZ/Classes/AtoZGridView.h
  68. +64 −64 AtoZ/Classes/AtoZGridView.m
  69. +1 −1 AtoZ/Classes/AtoZWebSnapper.m
  70. +1 −1 AtoZ/Classes/AtoZWebSnapperWindowController.h
  71. +1 −1 AtoZ/Classes/AtoZWebSnapperWindowController.m
  72. +1 −1 AtoZ/Classes/BlocksAdditions.h
  73. +5 −5 AtoZ/Classes/HTMLNode.m
  74. +6 −6 AtoZ/Classes/HTMLParserViewController.m
  75. +3 −3 AtoZ/Classes/NSOrderedDictionary.h
  76. +531 −531 AtoZ/Classes/NSOrderedDictionary.m
  77. +29 −0 AtoZ/Controls/SNRHUDKit/SNRHUDButtonCell.h
  78. +201 −0 AtoZ/Controls/SNRHUDKit/SNRHUDButtonCell.m
  79. +13 −0 AtoZ/Controls/SNRHUDKit/SNRHUDImageCell.h
  80. +13 −0 AtoZ/Controls/SNRHUDKit/SNRHUDImageCell.m
  81. +15 −0 AtoZ/Controls/SNRHUDKit/SNRHUDScrollView.h
  82. +21 −0 AtoZ/Controls/SNRHUDKit/SNRHUDScrollView.m
  83. +15 −0 AtoZ/Controls/SNRHUDKit/SNRHUDSegmentedCell.h
  84. +211 −0 AtoZ/Controls/SNRHUDKit/SNRHUDSegmentedCell.m
  85. +13 −0 AtoZ/Controls/SNRHUDKit/SNRHUDTextFieldCell.h
  86. +98 −0 AtoZ/Controls/SNRHUDKit/SNRHUDTextFieldCell.m
  87. +13 −0 AtoZ/Controls/SNRHUDKit/SNRHUDTextView.h
  88. +77 −0 AtoZ/Controls/SNRHUDKit/SNRHUDTextView.m
  89. +15 −0 AtoZ/Controls/SNRHUDKit/SNRHUDWindow.h
  90. +232 −0 AtoZ/Controls/SNRHUDKit/SNRHUDWindow.m
  91. +8 −8 AtoZ/Core/AssetCollection.m
  92. +8 −8 AtoZ/Core/CAScrollView.m
  93. +4 −4 AtoZ/Core/PythonOperation.h
  94. +47 −47 AtoZ/Core/PythonOperation.m
  95. +6 −6 AtoZ/DockBox/AZHTTPRouter.m
  96. +4 −4 AtoZ/DockBox/DockBox.m
  97. +1 −1 AtoZ/Models/AtoZModels.h
  98. +2 −2 AtoZ/Models/AtoZModels.m
  99. +4 −4 AtoZ/Models/Bootstrap.h
  100. +7 −7 AtoZ/Models/Bootstrap.m
  101. +4 −4 AtoZ/Models/JsonElement.h
  102. +126 −126 AtoZ/Models/JsonElement.m
  103. +24 −24 AtoZ/Models/MediaServer.m
  104. +11 −11 AtoZ/Protocols/AZHTTPURLProtocol.m
  105. +1 −1 AtoZ/SpeechConverter/SpeechConverter/GoogleTTS.m
  106. +7 −7 AtoZ/SpeechConverter/SpeechConverterTests/SpeechConverterTests.m
  107. +2 −2 AtoZ/Views/AZASIMGV.m
  108. +143 −173 AtoZ/Views/AZBackgroundProgressBar.m
  109. +1 −1 AtoZ/Views/AZBlockView.h
  110. +3 −3 AtoZ/Views/AZBorderlessResizeWindow.m
  111. +28 −28 AtoZ/Views/AZPropellerView.m
  112. +3 −3 AtoZ/Views/AZToggleArrayView.h
  113. +3 −3 AtoZ/Views/AZToggleArrayView.m
  114. +6 −6 AtoZ/Views/AZTrackingWindow.m
  115. +13 −13 AtoZ/Views/AZVeil.m
  116. +14 −14 AtoZ/Views/BBMeshView.m
  117. +4 −4 AtoZ/Views/ConcurrentOperation.m
  118. +7 −7 AtoZ/Views/OperationsRunner.m
  119. +7 −10 AtoZ/Views/TUIVs/AZExpandableView.h
  120. +69 −80 AtoZ/Views/TUIVs/AZExpandableView.m
  121. +4 −4 AtoZ/Views/iCarousel.h
  122. +1 −0 Frameworks/NoodleKit
  123. +1 −1 MailCore
View
5 .gitmodules
@@ -166,3 +166,8 @@
path = Frameworks/nu
url = https://github.com/mralexgray/nu.git
ignore = dirty
+[submodule "Frameworks/NoodleKit"]
+ path = Frameworks/NoodleKit
+ url = https://github.com/mralexgray/NoodleKit.git
+ ignore = dirty
+
View
10 AtoZ/AZGeometry/AtoZGeometry.h
@@ -32,9 +32,9 @@ id nanCheck ( NSV* point );
BOOL AZEqualRects ( NSR r1, NSR r2 );
-NSNumber *iNum ( NSI i );
+NSNumber *iNum ( NSI i );
NSNumber *uNum ( NSUI ui );
-NSNumber *fNum ( CGF f );
+NSNumber *fNum ( CGF f );
NSNumber *dNum ( double d );
FOUNDATION_EXPORT const CGP AZAnchorTop;
@@ -385,7 +385,7 @@ NSR AZRectFlippedOnEdge(NSRect r, AZPOS position);
FOUNDATION_EXPORT NSR AZInsetRectInPosition ( NSR outside, NSSZ inset, AZPOS pos );
FOUNDATION_EXPORT AZPOS AZPosOfPointInInsetRects ( NSP point, NSR outside, NSSZ inset );
-FOUNDATION_EXPORT BOOL AZPointIsInInsetRects ( NSP point, NSR outside, NSSZ inset );
+FOUNDATION_EXPORT BOOL AZPointIsInInsetRects ( NSP point, NSR outside, NSSZ inset );
static inline AZInsetRects AZMakeInsideRects(NSRect rect, NSSZ inset) {
@@ -416,8 +416,8 @@ BOOL AZIsPointBelowRect ( NSP point, NSR rect );
BOOL AZIsRectLeftOfRect ( NSR rect, NSR compare );
BOOL AZIsRectRightOfRect ( NSR rect, NSR compare );
-BOOL AZIsRectAboveRect ( NSR rect, NSR compare );
-BOOL AZIsRectBelowRect ( NSR rect, NSR compare );
+BOOL AZIsRectAboveRect ( NSR rect, NSR compare );
+BOOL AZIsRectBelowRect ( NSR rect, NSR compare );
NSR rectZoom ( NSR rect,float zoom,int quadrant );
NSR AZSquareInRect ( NSR rect );
View
6 AtoZ/AZGeometry/AtoZGeometry.m
@@ -214,7 +214,7 @@ AZPOS AZPositionOfRectAtOffsetInsidePerimeterOfRect(NSR inner, CGF offset, NSR o
outsz.width == offset ? AZPositionBottomRight :
offset == 0 || offset == AZPerimeter(outer) ? AZPositionBottomLeft :
outsz.width + outsz.height == offset ? AZPositionTopRight :
- offset == AZPerimeter(outer) - outsz.height ? AZPositionTopLeft :
+ offset == AZPerimeter(outer) - outsz.height ? AZPositionTopLeft :
outsz.width > offset //? offset < inner.size.width
//? AZPositionBottomLeft
//: offset > outsz.width - inner.size.width
@@ -927,7 +927,7 @@ NSR AZRectInsideRectOnEdge(NSRect center, NSR outer, AZPOS position) {
: AZRectExceptOriginX(center, outer.origin.x );
}
-FOUNDATION_EXPORT BOOL AZPointIsInInsetRects ( NSP point, NSR outside, NSSZ inset ) {
+FOUNDATION_EXPORT BOOL AZPointIsInInsetRects ( NSP point, NSR outside, NSSZ inset ) {
AZInsetRects e = AZMakeInsideRects(outside, inset);
return NSPInRect(point, e.top) ?:
NSPInRect(point, e.right) ?:
@@ -1068,7 +1068,7 @@ NSR quadrant(NSR r, AZQuadrant quad)
NSR newR = AZRectBy(half.width, half.height);
NSP p = quad == AZTopLeftQuad ? (NSP) { 0, half.height }
: quad == AZTopRightQuad ? (NSP) { half.width, half.height }
- : quad == AZBotRightQuad ? (NSP) { half.width, 0 }
+ : quad == AZBotRightQuad ? (NSP) { half.width, 0 }
: NSZeroPoint;
return AZOffsetRect(newR, p);
View
84 AtoZ/AtoZ-Framework.pch
@@ -5,6 +5,42 @@
#import <dirent.h>
#import <sys/stat.h>
#import <Foundation/Foundation.h>
+#import <Availability.h>
+
+#if __IPHONE_OS_VERSION_MIN_REQUIRED
+#import <SystemConfiguration/SystemConfiguration.h>
+#import <MobileCoreServices/MobileCoreServices.h>
+#else
+#import <SystemConfiguration/SystemConfiguration.h>
+#import <CoreServices/CoreServices.h>
+#endif
+
+#import <TargetConditionals.h>
+#if TARGET_OS_IPHONE
+#import <MobileCoreServices/MobileCoreServices.h>
+#import <sys/xattr.h>
+#else
+#import <CoreServices/CoreServices.h>
+#endif
+
+
+#define NSLog(fmt...) _AZColorLog(nil,__FILE__,__LINE__,__PRETTY_FUNCTION__,fmt)
+
+#import <xpc/xpc.h>
+#import <Cocoa/Cocoa.h>
+#import <objc/message.h>
+#import <objc/runtime.h>
+#import <Quartz/Quartz.h>
+#import <Carbon/Carbon.h>
+#import <AppKit/AppKit.h>
+#import <Security/Security.h>
+#import <QuartzCore/QuartzCore.h>
+#import <Foundation/Foundation.h>
+#import <AudioToolbox/AudioToolbox.h>
+#import <AVFoundation/AVFoundation.h>
+#import <CoreFoundation/CoreFoundation.h>
+#import <ApplicationServices/ApplicationServices.h>
+
#ifndef ah_retain
@@ -108,41 +144,6 @@ __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_7))
//#undef SYNTHESIZE_CONSTS
-#import <Availability.h>
-
-#if __IPHONE_OS_VERSION_MIN_REQUIRED
-#import <SystemConfiguration/SystemConfiguration.h>
-#import <MobileCoreServices/MobileCoreServices.h>
-#else
-#import <SystemConfiguration/SystemConfiguration.h>
-#import <CoreServices/CoreServices.h>
-#endif
-
-#import <TargetConditionals.h>
-#if TARGET_OS_IPHONE
-#import <MobileCoreServices/MobileCoreServices.h>
-#import <sys/xattr.h>
-#else
-#import <CoreServices/CoreServices.h>
-#endif
-
-
-
-#import <xpc/xpc.h>
-#import <Cocoa/Cocoa.h>
-#import <objc/message.h>
-#import <objc/runtime.h>
-#import <Quartz/Quartz.h>
-#import <Carbon/Carbon.h>
-#import <AppKit/AppKit.h>
-#import <Security/Security.h>
-#import <QuartzCore/QuartzCore.h>
-#import <Foundation/Foundation.h>
-#import <AudioToolbox/AudioToolbox.h>
-#import <AVFoundation/AVFoundation.h>
-#import <CoreFoundation/CoreFoundation.h>
-#import <ApplicationServices/ApplicationServices.h>
-
//#define EXCLUDE_STUB_PROTOTYPES 1
//#import <PLWeakCompatibility/PLWeakCompatibilityStubs.h>
@@ -151,7 +152,9 @@ __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_7))
#import <DrawKit/DKDrawKit.h>
//#import <MapKit/MapKit.h>
//
-//#import <Zangetsu/Zangetsu.h>
+//#import <Nu/Nu.h>
+#import <KSHTMLWriterFramework/KSHTMLWriterFramework.h>
+#import <Zangetsu/Zangetsu.h>
#import <BlocksKit/BlocksKit.h>
#import <CocoaPuffs/CocoaPuffs.h>
#import <AtoZBezierPath/AtoZBezierPath.h>
@@ -172,7 +175,14 @@ __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_7))
#import "AtoZUmbrella.h"
#import "AtoZGeometry.h"
#import "AtoZFunctions.h"
-#import "AtoZ.h"
+//#import "AtoZ.h"
+#import "SNRHUDButtonCell.h"
+#import "SNRHUDImageCell.h"
+#import "SNRHUDScrollView.h"
+#import "SNRHUDSegmentedCell.h"
+#import "SNRHUDTextFieldCell.h"
+#import "SNRHUDTextView.h"
+#import "SNRHUDWindow.h"
#endif
View
75 AtoZ/AtoZ.h
@@ -69,9 +69,14 @@
//#import <Growl/Growl.h>
//#import "Nu.h"
+// ARC is compatible with iOS 4.0 upwards, but you need at least Xcode 4.2 with Clang LLVM 3.0 to compile it.
+//#if !__has_feature(objc_arc)
+//#error This project must be compiled with ARC (Xcode 4.2+ with LLVM 3.0 and above)
+//#endif
-#define EXCLUDE_STUB_PROTOTYPES 1
-#import <PLWeakCompatibility/PLWeakCompatibilityStubs.h>
+
+//#define EXCLUDE_STUB_PROTOTYPES 1
+//#import <PLWeakCompatibility/PLWeakCompatibilityStubs.h>
#import <BlocksKit/BlocksKit.h>
#import <CocoaPuffs/CocoaPuffs.h>
@@ -79,17 +84,21 @@
#import <DrawKit/DKDrawKit.h>
#import <FunSize/FunSize.h>
#import <Lumberjack/Lumberjack.h>
+#import <KSHTMLWriterFramework/KSHTMLWriterFramework.h>
#import <MapKit/MapKit.h>
-#import <Nu/Nu.h>
+#import <NoodleKit/NoodleKit.h>
+//#import <Nu/Nu.h>
#import <PhFacebook/PhFacebook.h>
#import <Rebel/Rebel.h>
-//#import <SNRHUDKit/SNRHUDKit.h>
+
#import <TwUI/TUIKit.h>
#import <Zangetsu/Zangetsu.h>
#import <AtoZBezierPath/AtoZBezierPath.h>
#import <AtoZAppKit/BGHUDAppKit.h>
+#import "AtoZUmbrella.h"
+
//#import <AtoZUI/AtoZUI.h>
//#import <RMKit/RMKit.h>
//#import <NanoStore/NanoStore.h>
@@ -297,6 +306,16 @@ static const int ddLogLevel = LOG_LEVEL_VERBOSE;
/* CONTROLS */
#import "AZToggleArrayView.h"
#import "AZDarkButtonCell.h"
+//#import "SNRHUDKit.h"
+#import "SNRHUDButtonCell.h"
+#import "SNRHUDImageCell.h"
+#import "SNRHUDScrollView.h"
+#import "SNRHUDSegmentedCell.h"
+#import "SNRHUDTextFieldCell.h"
+#import "SNRHUDTextView.h"
+#import "SNRHUDWindow.h"
+
+
/* WINDOWS */
#import "AZAttachedWindow.h"
@@ -374,7 +393,7 @@ static const int ddLogLevel = LOG_LEVEL_VERBOSE;
You can use it as
FilterBlock fb1 = ^id(id element, NSUInteger idx, BOOL *stop){ if ([element isEqualToString:@"YES"]) { NSLog(@"You did it"); *stop = YES;} return element;};
- FilterBlock fb2 = ^id(id element, NSUInteger idx, BOOL *stop){ if ([element isEqualToString:@"NO"] ) { NSLog(@"Nope"); *stop = YES;} return element;};
+ FilterBlock fb2 = ^id(id element, NSUInteger idx, BOOL *stop){ if ([element isEqualToString:@"NO"] ) { NSLog(@"Nope"); *stop = YES;} return element;};
NSArray *filter = @[ fb1, fb2 ];
NSArray *inputArray = @[@"NO",@"YES"];
@@ -496,7 +515,7 @@ typedef void (^asyncTaskCallback)(AZTaskResponder *response);
+ (AZPOS) positionForString: (NSS*)strVal;
+ (NSS*) stringForPosition:(AZPOS)enumVal;
-+ (NSS*) stringForType: (id)type;
++ (NSS*) stringForType: (id)type;
//+ (NSFont*) fontWithSize: (CGFloat) fontSize;
//- (NSFont*) registerFonts:(CGFloat)size;
@@ -514,7 +533,7 @@ typedef void (^asyncTaskCallback)(AZTaskResponder *response);
/*@property (strong, nonatomic) NSLogConsole *console;
- (id)objectForKeyedSubscript:(NSString *)key; - (void)setObject:(id)newValue forKeyedSubscription:(NSString *)key; */
-- (void) performBlock:(VoidBlock)block;
+//- (void) performBlock:(VoidBlock)block;
- (void) performBlock:(VoidBlock)block waitUntilDone:(BOOL)wait;
+ (void) playNotificationSound: (NSD*)apsDictionary;
@@ -525,9 +544,9 @@ typedef void (^asyncTaskCallback)(AZTaskResponder *response);
+ (void) say:(NSS*)thing;
-+ (CGF) clamp: (CGF)value from:(CGF)minimum to:(CGF)maximum;
-+ (CGF) scaleForSize: (CGS)size inRect:(CGR)rect;
-+ (CGR) centerSize: (CGS)size inRect:(CGR)rect;
++ (CGF) clamp: (CGF)value from:(CGF)minimum to:(CGF)maximum;
++ (CGF) scaleForSize: (CGS)size inRect:(CGR)rect;
++ (CGR) centerSize: (CGS)size inRect:(CGR)rect;
+ (CGP) centerOfRect: (CGR)rect;
+ (NSR) rectFromPointA:(NSP)pointA andPointB:(NSP)pointB;
+ (void) printRect: (NSR)toPrint;
@@ -540,10 +559,44 @@ typedef void (^asyncTaskCallback)(AZTaskResponder *response);
@end
+typedef void (^KVOLastChangedBlock)( NSS *whatKeyChanged, id whichInstance, id newVal);
+
@interface BaseModel (AtoZ)
-@property (NATOM, CP) NSString *uniqueID;
+
+
++ (instancetype) objectAtIndex:(NSUI)idx;
+
++ (void) setLastChangedBlock:(KVOLastChangedBlock)lastChangedBlock;
+
+// Shared instance is the object modified after each key change
+// After being notified of change to the shared instance, call this to get last modified key of last modified instance
++ (instancetype) lastModifiedInstance;
++ (NSS*) lastModifiedKey;
++ (void) setLastModifiedKey:(NSS*)key forInstance:(id)object;
+
+- (id) valueForUndefinedKey:(NSString *)key;
+
+//+ (instancetype) swizzleInstanceWithObject:(id)obj;
+- (void) swizzleSave;
+
+@property (RONLY) NSString *uniqueID;
+- (NSS*) uniqueID;
+
+@property (RONLY) NSA *superProperties;
+@property (RONLY) NSUI instanceNumber;
+- (NSUI) instanceNumber;
++ (NSUI) instances;
+
+
@property (NATOM, ASS) BOOL convertToXML;
+ (NSS*)saveFilePath;
+
+
+- (id)objectAtIndexedSubscript:(NSUInteger)idx;
+- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx;
+- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;
+- (id)objectForKeyedSubscript:(id)key;
+
@end
//
View
223 AtoZ/AtoZ.m
@@ -50,8 +50,8 @@ -(id)processByPerformingFilterBlocks:(NSA*)filterBlocks {
/* A shared operation que that is used to generate thumbnails in the background. *//**
- static NSOperationQueue *_AZGeneralOperationQueue = nil;
- return _AZGeneralOperationQueue ?: ^{ _AZGeneralOperationQueue = NSOperationQueue.new;
+ static NSOperationQueue *_AZGeneralOperationQueue = nil;
+ return _AZGeneralOperationQueue ?: ^{ _AZGeneralOperationQueue = NSOperationQueue.new;
_AZGeneralOperationQueue.maxConcurrentOperationCount = AZOQMAX;
return _AZGeneralOperationQueue;
}(); */
@@ -61,9 +61,9 @@ -(id)processByPerformingFilterBlocks:(NSA*)filterBlocks {
NSOQ *AZSharedOperationQueue() { return AZDummy.sharedInstance.sharedQ; }
NSOQ *AZSharedSingleOperationQueue() { return AZDummy.sharedInstance.sharedSQ; }
-/** static NSOperationQueue *_AZSingleOperationQueue = nil;
- return _AZSingleOperationQueue ?: ^{
- _AZSingleOperationQueue = NSOperationQueue.new;
+/** static NSOperationQueue *_AZSingleOperationQueue = nil;
+ return _AZSingleOperationQueue ?: ^{
+ _AZSingleOperationQueue = NSOperationQueue.new;
_AZSingleOperationQueue.maxConcurrentOperationCount = 1;
return _AZSingleOperationQueue;
}(); */
@@ -75,15 +75,15 @@ - (id)init { if (self != super.init ) return nil;
_sharedStack = NSOperationStack.new;
_sharedQ = NSOQ.new;
- _sharedSQ = NSOQ.new;
+ _sharedSQ = NSOQ.new;
_sharedStack.maxConcurrentOperationCount = AZOQMAX;
- _sharedQ.maxConcurrentOperationCount = AZOQMAX;
+ _sharedQ.maxConcurrentOperationCount = AZOQMAX;
_sharedSQ.maxConcurrentOperationCount = 1;
return self;
}
+ (AZDummy*) sharedInstance {
- static AZDummy *sharedInstance = nil;
+ static AZDummy *sharedInstance = nil;
static dispatch_once_t isDispatched;
dispatch_once(&isDispatched, ^{ sharedInstance = AZDummy.new; });
return sharedInstance;
@@ -108,46 +108,153 @@ + (AZDummy*) sharedInstance {
static char CONVERTTOXML_KEY;
+
+@interface BaseModel ()
+@property (copy) KVOLastChangedBlock lastChangedBlock;
+- (void) setLastChangedBlock:(KVOLastChangedBlock)lastChangedBlock;
+- (KVOLastChangedBlock) lastChangedBlock;
+//- (NSA*) superProperties;
+@end
+
@implementation BaseModel (AtoZ)
-@dynamic convertToXML, uniqueID;
+static NSUI instanceNumber = 0;
+static id lastModifiedInstance;
+static NSS *lastModifiedKey; // class methods for last modified key and instance - these are held as static data
+static NSPointerArray *pointers;
+
++ (instancetype) objectAtIndex:(NSUI)idx { if (idx > pointers.count) return (id)AZNULL;
+ void *thePtf = [pointers pointerAtIndex:idx];
+ return thePtf != NULL ? (__bridge id)thePtf : (id)AZNULL; }
+- (id) swizzleInit { instanceNumber++;
+
+ if (self != super.init ) return nil;
+ self.propertyNames
+ [self setAssociatedValue:@(instanceNumber) forKey:@"instanceNumber" policy:OBJC_ASSOCIATION_RETAIN_NONATOMIC];
+ [pointers addPointer:(void*)self];
+ return [self swizzleInit];
+}
++ (void) load {
+ pointers = [NSPointerArray new];
+// [$ swizzleClassMethod:@selector(instance) in:self.class with:@selector(swizzleInstance) in:self.class];
+ [$ swizzleMethod:@selector(init) with:@selector(swizzleInit) in:self.class];
+ [$ swizzleMethod:@selector(save) with:@selector(swizzleSave) in:self.class];
+// [$ swizzleMethod:@selector(setUp) with:@selector(swizzleSetUp) in:self.class];
+}
+- (NSA*) superProperties { return [BaseModel propertyNames]; }
++ (NSUI) instances { return instanceNumber; }
++ (instancetype) swizzleInstance { return [self swizzleInstance]; }
+/*- (void) swizzleSetUp { instanceNumber++; COLORLOG(RED, @"swizzled setup... instance#: %ld", instanceNumber);
+ [self setAssociatedValue:@(instanceNumber) forKey:@"instanceNumber" policy:OBJC_ASSOCIATION_RETAIN_NONATOMIC];
+ [self swizzleSetUp];
+}*/
+- (void) swizzleSave {
-- (NSS*) uniqueID {
- NSS* u = [self associatedValueForKey:@"uniqueid"];
- if (!u) {
- u = [self.class newUniqueIdentifier];
- [self setUniqueID:u];
+ NSLog(@"swizzlin!");
+ [self swizzleSave];
+ if (self.convertToXML) {
+ NSS* saveP = [self.class saveFilePath];
+ NSLog(@"converting to XML: %@", saveP);
+ if ([AZFILEMANAGER fileExistsAtPath:saveP])
+ [AtoZ plistToXML:saveP];
}
- return u;
}
-- (void) setUniqueID: (NSS*)uniqueID {
- [self setAssociatedValue:uniqueID forKey:@"uniqueid" policy:OBJC_ASSOCIATION_RETAIN_NONATOMIC];
++ (NSS*) saveFilePath { return [NSB.applicationSupportFolder withPath:self.saveFile]; }
+
+- (void) setValue: (id)value forKey:(NSS*)key {
+
+ if (![self canSetValueForKey:key]) { NSLog(@"Asked to, but canot set val for: %@", key); return; }
+ // overload to dispatch change notification to our shared instance
+ [super setValue:value forKey:key];
+ // If this is the shared instance, don't go any further
+ if (self == self.class.sharedInstance) return;
+ // Class method - set last modified
+ [self.class setLastModifiedKey:key forInstance:self];
+ // Instance method - dummy setValue to dispatch notifications
+ [self.class.sharedInstance setValue:self forKey:@"keyChanged"];
+/** KVO class-level block! *//*
+
+ [SampleObject setLastChangedBlock:^(NSS *whatKeyChanged, id whichInstance, id newVal) {
+
+ _result = $(@"Object: %@'s valueForProp:\"%@\" changed to: %@\n", [(BaseModel*)whichInstance uniqueID], whatKeyChanged, newVal);
+ }];
+
+*/ KVOLastChangedBlock b = ((BaseModel*)self.class.sharedInstance).lastChangedBlock;
+ b ? b(key, self, value) : nil;
+}
++ (void) setLastModifiedKey:(NSS*)k forInstance:(id)obj {
+
+ lastModifiedKey = k; lastModifiedInstance = obj;
+}
++ (instancetype) lastModifiedInstance { return lastModifiedInstance; }
++ (NSS*) lastModifiedKey { return lastModifiedKey; }
+- (instancetype) keyChanged {
+
+// keyChanged - dummy key set by setValue:forKey: on our shared instance, used to dispatch KVO notifications
+ return self.class.sharedInstance; }
+- (void)setKeyChanged: (id) dummy { }
+
++ (void) setLastChangedBlock:(KVOLastChangedBlock)lastChangedBlock {
+
+ [self.sharedInstance setLastChangedBlock:lastChangedBlock];
+}
+- (void) setLastChangedBlock:(KVOLastChangedBlock)lastChangedBlock {
+
+ [self setAssociatedValue:[lastChangedBlock copy] forKey:@"lastChangedBlockStorage" policy:OBJC_ASSOCIATION_COPY_NONATOMIC];
+}
+- (KVOLastChangedBlock) lastChangedBlock {
+
+ return [self associatedValueForKey:@"lastChangedBlockStorage"] ?: nil;
}
+- (NSUI) instanceNumber { id theNumber = [self associatedValueForKey:@"instanceNumber"];
+ return theNumber ? [theNumber unsignedIntegerValue] : NSNotFound;
+}
+- (NSS*) uniqueID {
+
+ NSS* u = [self associatedValueForKey:@"uniqueid"];
+ if (!u) [self setAssociatedValue: self.class.newUniqueIdentifier
+ forKey: @"uniqueid" policy: OBJC_ASSOCIATION_RETAIN_NONATOMIC];
+ return u ?: [self associatedValueForKey:@"uniqueid"];
+}
- (void) setConvertToXML:(BOOL)convertToXML {
+
objc_setAssociatedObject(self, &CONVERTTOXML_KEY, @(convertToXML), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-- (BOOL) convertToXML {
+- (BOOL) convertToXML {
+
if ([self respondsToSelector:@selector(convertToXML)]) return self.convertToXML;
- return [self hasAssociatedValueForKey:[NSString stringWithUTF8String:&CONVERTTOXML_KEY]]
- ? [objc_getAssociatedObject(self, &CONVERTTOXML_KEY) boolValue] : NO;
+ return [self hasAssociatedValueForKey: $UTF8(&CONVERTTOXML_KEY)]? [objc_getAssociatedObject(self, &CONVERTTOXML_KEY) boolValue] : NO;
}
-+ (void) load { [$ swizzleMethod:@selector(save) with:@selector(swizzleSave) in:[BaseModel class]]; }
-- (void) swizzleSave {
- NSLog(@"swizzlin!");
- [self swizzleSave];
- if (self.convertToXML) {
- NSS* saveP = [self.class saveFilePath];
- NSLog(@"converting to XML: %@", saveP);
- if ([AZFILEMANAGER fileExistsAtPath:saveP])
- [AtoZ plistToXML:saveP];
- }
+- (id) objectAtIndexedSubscript: (NSUI)idx {
+
+ return [self respondsToSelector:@selector(objectAtIndex:)] ? [(NSA*)self objectAtIndex:idx] : AZNULL;
+}
+- (void) setObject: (id)o atIndexedSubscript: (NSUI)idx {
+
+ if ([self respondsToSelector:@selector(setObject:atIndex:)])
+ [(NSMutableOrderedSet*)self setObject:o atIndex:idx];
}
-+ (NSS*) saveFilePath {
- return [NSB.applicationSupportFolder withPath:self.saveFile];
+- (void) setObject: (id)obj forKeyedSubscript: (id <NSCopying>)key {
+
+ if ([self canSetValueForKey:[(id)key stringValue]]) [self setValue:obj forKey:[(id)key stringValue]];
+ else [self setAssociatedValue:obj forKey:[(id)key stringValue] policy:OBJC_ASSOCIATION_RETAIN_NONATOMIC];
+}
+- (id) objectForKeyedSubscript: (id)key {
+
+ return [self hasPropertyForKVCKey:key] ? [self valueForKey:key] :
+ [self valueForKeyPath:[(id)key stringValue]] ?: [self associatedValueForKey:[(id)key stringValue]] ?: AZNULL;
}
+- (id) valueForUndefinedKey: (NSS*)key { NSS *class = NSStringFromClass([self class]);
+
+ return [self associatedValueForKey:key]
+ ?: ^{ LOGCOLORS(RANDOMCOLOR, NSStringFromClass(self.class), GRAY3, @"%@ instance could not find a value for undefined key:", YELLOW, key);
+ return NO; }() ? AZNULL : nil;
+}
+
@end
+/* + (instancetype) swizzleInstanceWithObject:(id)obj { NSLog(@"swizzlin!"); [self swizzleInstanceWithObject:obj]; id theInstance = self.instance; // if ( [[theInstance methodNames] filterOne:^BOOL(NSS* o){ return [o contains:@"setWithDictionary"]; }] ) if ([theInstance respondsToSelector:@selector(setWithDictionary:)] && [obj isKindOfClass:NSD.class]) [theInstance setWithDictionary:obj]; else if ( [obj isKindOfClass:NSD.class]) [theInstance setPropertiesWithDictionary:obj]; else theInstance = [self instanceWithObject:obj]; return theInstance; } */
@interface AtoZ ()
@property (nonatomic, assign) BOOL fontsRegistered;
@@ -174,10 +281,10 @@ @implementation AtoZ
- (void) setUp {
[AZStopwatch named:@"AtoZ.framework Setup Time" block:^{
- [NSApp setApplicationIconImage:[NSIMG imageNamed:@"logo.png"]];
+// [NSApp setApplicationIconImage:[NSIMG imageNamed:@"logo.png"]];
- [DDLog addLogger:SHAREDLOG]; // Standard lumberjack initialization
- SHAREDLOG.colorsEnabled = YES; // And then enable colors
+// [DDLog addLogger:SHAREDLOG]; // Standard lumberjack initialization
+// SHAREDLOG.colorsEnabled = YES; // And then enable colors
// [@[@"Error", @"Warn", @"Info"]]
// [@[@"DDLogError", @"DDLogWarn", @"DDLogInfo", @"DDLogVerose"] each:^(id obj) {
// [NSS.randomDicksonism respondsToStringThenDo:obj];
@@ -186,10 +293,10 @@ - (void) setUp {
// NSLog(COLOR_ESC @"fg0,0,255;" COLOR_ESC @"bg220,0,0;" @"Blue text on red background" XCODE_COLORS_RESET);
// NSLog(XCODE_COLORS_ESCAPE @"fg209,57,168;" @"You can supply your own RGB values!" XCODE_COLORS_RESET);
- // DDLogError (@"Paper jam" ); // Red
- // DDLogWarn (@"Toner is low" ); // Orange
+ // DDLogError (@"Paper jam" ); // Red
+ // DDLogWarn (@"Toner is low" ); // Orange
// DDLogInfo (@"Warming up printer (pre-customization)"); // Default (black)
- // DDLogVerbose(@"Intializing protcol x26" ); // Default (black)
+ // DDLogVerbose(@"Intializing protcol x26" ); // Default (black)
// Now let's do some customization:
// Info : Pink
@@ -199,7 +306,7 @@ - (void) setUp {
#else
NSColor *pink = [NSColor colorWithCalibratedRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];
#endif
- [SHAREDLOG setForegroundColor:pink backgroundColor:nil forFlag:LOG_FLAG_INFO];
+// [SHAREDLOG setForegroundColor:pink backgroundColor:nil forFlag:LOG_FLAG_INFO];
// DDLogInfo(@"Warming up printer (post-customization)"); // Pink !
// [AZFWORKBUNDLE cacheNamedImages];
@@ -226,7 +333,7 @@ + (void) testSizzleReplacement {
// [$ swizzleClassMethod:@selector(testSizzle) in:[AtoZ class] with:@selector(testSizzleReplacement) in:[AtoZ class]];
// [[AtoZ class] testSizzle];
}
-+ (void) initialize { LOGWARN(@"%@", @"AtoZ.framework Initialized!"); }
++ (void) initialize { LogStackAndReturn(self.bundle);} // @"AtoZ.framework Initialized!"); }
+ (NSS*) version {
NSString *myVersion = [AZFWORKBUNDLE infoDictionary][@"CFBundleShortVersionString"];
NSString *buildNum = [AZFWORKBUNDLE infoDictionary][(NSString*)kCFBundleVersionKey];
@@ -240,9 +347,9 @@ - (NSS*) description { return [[self.propertiesPlease valueForKey:@"descript
//#define LOGWARN(fmt, ...) NSLog((@"%s [Line %d] " XCODE_COLORS_ESCAPE @"fg218,147,0;" fmt XCODE_COLORS_RESET), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
-+ (void) logError:(NSS*)log { DDLogError(log); }
-+ (void) logInfo: (NSS*)log { DDLogError(log); }
-+ (void) logWarn: (NSS*)log { DDLogWarn (log); }
++ (void) logError:(NSS*)log { DDLogError(@"%@",log); }
++ (void) logInfo: (NSS*)log { DDLogError(@"%@",log); }
++ (void) logWarn: (NSS*)log { DDLogWarn (@"%@",log); }
- (NSC*) logColor { return _logColor = _logColor ?: RANDOMCOLOR; }
- (NSA*) basicFunctions {
@@ -308,7 +415,7 @@ + (NSS*) stringForPosition: (AZPOS)enumVal {
}
// A method to retrieve the int value from the NSArray of NSStrings
+ (AZPOS) positionForString: (NSS*)strVal { return (AZPOS) [[[NSA alloc]initWithObjects:AZWindowPositionTypeArray] indexOfObject:strVal]; }
-+ (NSS*) stringForType: (id)type {
++ (NSS*) stringForType: (id)type {
Class i = [type class]; NSLog(@"String: %@ Class:%@", NSStringFromClass(i), i); // [type autoDescribe:type];
NSString *key = [NSString stringWithFormat:@"AZOrient_%@", NSStringFromClass([type class])];
@@ -543,7 +650,7 @@ + (void) playNotificationSound:(NSD*)apsDictionary {
// if (userEnabledSounds)
NSS *soundName = [apsDictionary stringForKey:@"sound"]; if (!soundName) return;
SystemSoundID soundFileObject = kSystemSoundID_UserPreferredAlert;
- CFURLRef soundFileURLRef = NULL;
+ CFURLRef soundFileURLRef = NULL;
if ([soundName compare:@"default"] != NSOrderedSame) {
CFBundleRef mainBundle = CFBundleGetMainBundle(); // Get the main bundle for the app.
// Get the URL to the sound file to play. The sound property's value is the full filename including the extension.
@@ -579,37 +686,37 @@ + (void) say:(NSString *)thing {
}
-+ (CGP) centerOfRect: (CGR)rect { return AZCenterOfRect(rect);
++ (CGP) centerOfRect: (CGR)rect { return AZCenterOfRect(rect);
// CGF midx = CGRectGetMidX(rect);CGF midy = CGRectGetMidY(rect);return CGPointMake(midx, midy);
}
-+ (void)printCGRect: (CGR)cgRect { [AtoZ printRect:cgRect]; }
-+ (void) printRect: (NSR)toPrint {
++ (void)printCGRect: (CGR)cgRect { [AtoZ printRect:cgRect]; }
++ (void) printRect: (NSR)toPrint {
NSLog(@"Rect is x: %i y: %i width: %i height: %i ", (int)toPrint.origin.x, (int)toPrint.origin.y,
(int)toPrint.size.width, (int)toPrint.size.height);
}
-+ (void) printCGPoint: (CGP)cgPoint { [AtoZ printPoint:cgPoint]; }
-+ (void) printPoint: (NSP)toPrint { NSLog(@"Point is x: %f y: %f", toPrint.x, toPrint.y); }
++ (void) printCGPoint: (CGP)cgPoint { [AtoZ printPoint:cgPoint]; }
++ (void) printPoint: (NSP)toPrint { NSLog(@"Point is x: %f y: %f", toPrint.x, toPrint.y); }
+ (void) printTransform: (CGAffineTransform)t {
NSLog(@"[ %1.1f %1.1f 0.0 ]", t.a, t.b);
NSLog(@"[ %1.1f %1.1f 0.0 ]", t.c, t.d);
NSLog(@"[ %1.1f %1.1f 1.0 ]", t.tx, t.ty);
}
-+ (CGF) clamp:(CGF)v from:(CGF)minimum to:(CGF)maximum {
++ (CGF) clamp:(CGF)v from:(CGF)minimum to:(CGF)maximum {
return v = v < minimum ? minimum : v > maximum ? v= maximum : v;
}
-+ (CGF) scaleForSize: (CGS)size inRect:(CGR)rect {
++ (CGF) scaleForSize: (CGS)size inRect:(CGR)rect {
CGF hScale = rect.size.width / size.width;
CGF vScale = rect.size.height / size.height;
return MIN(hScale, vScale);
}
-+ (CGR) centerSize: (CGS)size inRect:(CGR)rect {
++ (CGR) centerSize: (CGS)size inRect:(CGR)rect {
CGF scale = [[self class] scaleForSize:size inRect:rect];
return AZMakeRect( CGPointMake ( rect.origin.x + 0.5 * (rect.size.width - size.width),
rect.origin.y + 0.5 * (rect.size.height - size.height) ),
CGSizeMake(size.width * scale, size.height * scale) );
}
-+ (NSR) rectFromPointA: (NSP)pointA andPointB:(NSP)pointB {
++ (NSR) rectFromPointA: (NSP)pointA andPointB:(NSP)pointB {
// get the current distance from the original mouse down point
float xDistance = pointB.x - pointA.x; float yDistance = pointB.y - pointA.y;
@@ -621,7 +728,7 @@ + (NSR) rectFromPointA: (NSP)pointA andPointB:(NSP)pointB {
else { returnRect.origin.y= pointA.y; returnRect.size.height = yDistance; }
return returnRect;
}
-+ (NSIMG*) cropImage: (NSIMG*)sourceImage withRect:(NSR)sourceRect {
++ (NSIMG*) cropImage: (NSIMG*)sourceImage withRect:(NSR)sourceRect {
NSImage* cropImage = [[NSImage alloc] initWithSize:NSMakeSize(sourceRect.size.width, sourceRect.size.height)];
[cropImage lockFocus];
@@ -657,13 +764,13 @@ - (id) initWithFrame: (NSR)frame {
}
return self;
}
-- (void) drawRect: (NSR)dirtyRect {
+- (void) drawRect: (NSR)dirtyRect {
// cotn ext
[color set]; NSRectFill(dirtyRect);
selected = NO;
// if (selected) [self lasso];
}
-- (void) mouseUp: (NSE*)theEvent {
+- (void) mouseUp: (NSE*)theEvent {
// NSPoint location = [self convertPoint:[theEvent locationInWindow] fromView:nil];
// NSLog(@"BOX HIT AT POINT: %@", NSStringFromPoint(location));
@@ -679,7 +786,7 @@ - (void) mouseUp: (NSE*)theEvent {
}
[self performSelector:@selector(flash:) withObject:save afterDelay:.6];
}
-- (void) flash: (NSC*)savedColor {
+- (void) flash: (NSC*)savedColor {
// NSLog(@"FLASHING %@", savedColor);
color = savedColor;
[self setNeedsDisplay:YES];
View
347 AtoZ/AtoZ.xcodeproj/project.pbxproj
@@ -133,8 +133,20 @@
7B24E9A615A13A4100A9D87A /* NSBezierPath+AtoZ.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B24E9A415A13A4000A9D87A /* NSBezierPath+AtoZ.m */; };
7B24E9ED15A176AC00A9D87A /* NSWindow+AtoZ.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B24E9EB15A176AB00A9D87A /* NSWindow+AtoZ.h */; settings = {ATTRIBUTES = (Public, ); }; };
7B24E9EE15A176AC00A9D87A /* NSWindow+AtoZ.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B24E9EC15A176AB00A9D87A /* NSWindow+AtoZ.m */; };
- 7B28C15A1713A1700068774A /* Nu.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B28C13E1713A1140068774A /* Nu.framework */; };
- 7B28C15B1713A1850068774A /* Nu.framework in frameworks copy */ = {isa = PBXBuildFile; fileRef = 7B28C13E1713A1140068774A /* Nu.framework */; };
+ 7B28C171171463800068774A /* SNRHUDButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1611714637C0068774A /* SNRHUDButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C172171463800068774A /* SNRHUDImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1621714637C0068774A /* SNRHUDImageCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C174171463800068774A /* SNRHUDScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1641714637C0068774A /* SNRHUDScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C175171463800068774A /* SNRHUDSegmentedCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1651714637C0068774A /* SNRHUDSegmentedCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C176171463800068774A /* SNRHUDTextFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1661714637C0068774A /* SNRHUDTextFieldCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C177171463800068774A /* SNRHUDTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1671714637C0068774A /* SNRHUDTextView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C178171463800068774A /* SNRHUDWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B28C1681714637C0068774A /* SNRHUDWindow.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B28C179171463800068774A /* SNRHUDButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C1691714637C0068774A /* SNRHUDButtonCell.m */; };
+ 7B28C17A171463800068774A /* SNRHUDImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C16A1714637C0068774A /* SNRHUDImageCell.m */; };
+ 7B28C17B171463800068774A /* SNRHUDScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C16B1714637C0068774A /* SNRHUDScrollView.m */; };
+ 7B28C17C171463800068774A /* SNRHUDSegmentedCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C16C1714637C0068774A /* SNRHUDSegmentedCell.m */; };
+ 7B28C17D171463800068774A /* SNRHUDTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C16D1714637C0068774A /* SNRHUDTextFieldCell.m */; };
+ 7B28C17E171463800068774A /* SNRHUDTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C16E1714637C0068774A /* SNRHUDTextView.m */; };
+ 7B28C17F171463800068774A /* SNRHUDWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B28C16F1714637C0068774A /* SNRHUDWindow.m */; };
7B2D754716F15BB60054C5F2 /* Bootstrap.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B2D754516F15BB50054C5F2 /* Bootstrap.h */; settings = {ATTRIBUTES = (Public, ); }; };
7B2D754816F15BB60054C5F2 /* Bootstrap.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B2D754616F15BB50054C5F2 /* Bootstrap.m */; };
7B2F23E916F289BC003D7648 /* IGIsolatedCookieWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B2F239016F289BC003D7648 /* IGIsolatedCookieWebView.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -324,6 +336,8 @@
7B45C5EA1625051D00737335 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7B45C5EC1625051D00737335 /* Localizable.strings */; };
7B471B1115EB05BF005CDA86 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B311995159B7FD0002134C4 /* QuartzCore.framework */; };
7B475B1315ED65450002137E /* bullseye.png in Resources */ = {isa = PBXBuildFile; fileRef = 7B475B1215ED65450002137E /* bullseye.png */; };
+ 7B4A5B881714B03C00020D6D /* NoodleKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B4A5B771714AFF400020D6D /* NoodleKit.framework */; };
+ 7B4A5B891714B04F00020D6D /* NoodleKit.framework in frameworks copy */ = {isa = PBXBuildFile; fileRef = 7B4A5B771714AFF400020D6D /* NoodleKit.framework */; };
7B4A8FEF15AB267D00463B91 /* AZSourceList.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B4A8FED15AB267D00463B91 /* AZSourceList.h */; settings = {ATTRIBUTES = (Public, ); }; };
7B4A8FF015AB267D00463B91 /* AZSourceList.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B4A8FEE15AB267D00463B91 /* AZSourceList.m */; };
7B4A908B16F3A6F0003CD058 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B4A908A16F3A6F0003CD058 /* Cocoa.framework */; };
@@ -500,7 +514,6 @@
7B8870061670E01A00C94BFC /* AtoZBezierPath.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BB8701D16384FF20000C242 /* AtoZBezierPath.framework */; };
7B8870071670E01A00C94BFC /* Rebel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BB86F8216383FCE0000C242 /* Rebel.framework */; };
7B8870091670E01B00C94BFC /* FunSize.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5ABAB21608D76500530EA7 /* FunSize.framework */; };
- 7B88700A1670E01B00C94BFC /* PLWeakCompatibility.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B276CD41616A4320083C29E /* PLWeakCompatibility.framework */; };
7B8A2A0D15E2C52400286E27 /* AZSourceListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B8A2A0C15E2C52400286E27 /* AZSourceListViewController.m */; };
7B8A2A1015E2D48D00286E27 /* AZVeil.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B8A2A0E15E2D48D00286E27 /* AZVeil.h */; settings = {ATTRIBUTES = (Public, ); }; };
7B8A2A1115E2D48D00286E27 /* AZVeil.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B8A2A0F15E2D48D00286E27 /* AZVeil.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
@@ -628,7 +641,6 @@
7BB1766316EFBF7300E341CC /* JsonElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BB1766116EFBF7300E341CC /* JsonElement.m */; };
7BB1766416EFBF7300E341CC /* JsonElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BB1766216EFBF7300E341CC /* JsonElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
7BB3047A1646BCC9006CDC56 /* AZPalette.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BB304761646BB47006CDC56 /* AZPalette.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 7BB3EFCF1675E8D200BABF35 /* NSTableView+AtoZ.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BB3EFCD1675E8D200BABF35 /* NSTableView+AtoZ.m */; };
7BB3EFD31675EEB100BABF35 /* NSIndexSet+AtoZ.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BB3EFD11675EEB100BABF35 /* NSIndexSet+AtoZ.m */; };
7BB3EFD41675F50A00BABF35 /* NSTableView+AtoZ.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BB3EFCC1675E8D200BABF35 /* NSTableView+AtoZ.h */; settings = {ATTRIBUTES = (Public, ); }; };
7BB3EFD51675F50F00BABF35 /* NSIndexSet+AtoZ.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BB3EFD01675EEB100BABF35 /* NSIndexSet+AtoZ.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -653,7 +665,6 @@
7BBCBA0D1671030A00681F2B /* AtoZBezierPath.framework in frameworks copy */ = {isa = PBXBuildFile; fileRef = 7BB8701D16384FF20000C242 /* AtoZBezierPath.framework */; };
7BBCBA0E1671030A00681F2B /* Rebel.framework in frameworks copy */ = {isa = PBXBuildFile; fileRef = 7BB86F8216383FCE0000C242 /* Rebel.framework */; };
7BBCBA101671030A00681F2B /* FunSize.framework in frameworks copy */ = {isa = PBXBuildFile; fileRef = 7B5ABAB21608D76500530EA7 /* FunSize.framework */; };
- 7BBCBA111671030A00681F2B /* PLWeakCompatibility.framework in frameworks copy */ = {isa = PBXBuildFile; fileRef = 7B276CD41616A4320083C29E /* PLWeakCompatibility.framework */; };
7BBCBABA1671062C00681F2B /* BrewDescriptions.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7BBCBAB91671062C00681F2B /* BrewDescriptions.plist */; };
7BBCBACB16713D4200681F2B /* libcommonCrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BBCBACA16713D4200681F2B /* libcommonCrypto.dylib */; };
7BBCBAD216713DD600681F2B /* AtoZWebSnapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BBCBACC16713DD600681F2B /* AtoZWebSnapper.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -919,13 +930,6 @@
remoteGlobalIDString = 22EE2BF413A4731600895861;
remoteInfo = NuApp;
};
- 7B28C1581713A1660068774A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 7B28C1201713A1130068774A /* Nu.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
- remoteInfo = Nu;
- };
7B31B14615E9447400802CD5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7B311947159B6D9E002134C4 /* Project object */;
@@ -1031,6 +1035,69 @@
remoteGlobalIDString = CB5B264B13BE6DA200579B1E;
remoteInfo = TwUI;
};
+ 7B4A5B761714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
+ remoteInfo = NoodleKit;
+ };
+ 7B4A5B781714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 32783085107151B60041F09C;
+ remoteInfo = ModalResponder;
+ };
+ 7B4A5B7A1714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 3278314F10715AB80041F09C;
+ remoteInfo = "StickyRowTableView Revue";
+ };
+ 7B4A5B7C1714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 327831A6107160380041F09C;
+ remoteInfo = LineNumberView;
+ };
+ 7B4A5B7E1714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 322DEBA61072593A00CB7080;
+ remoteInfo = "Window Effects";
+ };
+ 7B4A5B801714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 3251D22F108F800C007E281D;
+ remoteInfo = iToonz;
+ };
+ 7B4A5B821714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 327CD76911DCF2EE00A88EA5;
+ remoteInfo = TimerLab;
+ };
+ 7B4A5B841714AFF400020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = B40F780913552AF900FCC42A;
+ remoteInfo = ImageLab;
+ };
+ 7B4A5B861714B03100020D6D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+ remoteInfo = NoodleKit;
+ };
7B4A90A516F3A966003CD058 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7B311947159B6D9E002134C4 /* Project object */;
@@ -1108,13 +1175,6 @@
remoteGlobalIDString = 1EEDD03C13DD485400D5AEC3;
remoteInfo = XPCKitTests;
};
- 7B6629F7161DEA20003D5EE0 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 7B0236B315E08BD90070FE12 /* PLWeakCompatibility.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = 053887981523F6CD00CDC1DF;
- remoteInfo = "PLWeakCompatibility-MacOSX";
- };
7B7EDA0E164B970B00D8C6C6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7B7EDA07164B970A00D8C6C6 /* AtoZAppKit.xcodeproj */;
@@ -1397,7 +1457,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 7B28C15B1713A1850068774A /* Nu.framework in frameworks copy */,
+ 7B4A5B891714B04F00020D6D /* NoodleKit.framework in frameworks copy */,
7B427EFD170B136E0052FC31 /* TwUI.framework in frameworks copy */,
7B427EEA170B03F80052FC31 /* CocoatechCore.framework in frameworks copy */,
7BD7D3FA170A1995001D49FA /* BlocksKit.framework in frameworks copy */,
@@ -1413,7 +1473,6 @@
7BBCBA0D1671030A00681F2B /* AtoZBezierPath.framework in frameworks copy */,
7BBCBA0E1671030A00681F2B /* Rebel.framework in frameworks copy */,
7BBCBA101671030A00681F2B /* FunSize.framework in frameworks copy */,
- 7BBCBA111671030A00681F2B /* PLWeakCompatibility.framework in frameworks copy */,
);
name = "frameworks copy";
runOnlyForDeploymentPostprocessing = 0;
@@ -1710,6 +1769,20 @@
7B28542D15FEEBA90077960A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
7B28546215FEF0840077960A /* GHUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GHUnit.framework; path = "../../git/gh-unit/Project-MacOSX/build/Release/GHUnit.framework"; sourceTree = SOURCE_ROOT; };
7B28C1201713A1130068774A /* Nu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Nu.xcodeproj; path = ../Frameworks/nu/Xcode/Nu.xcodeproj; sourceTree = "<group>"; };
+ 7B28C1611714637C0068774A /* SNRHUDButtonCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDButtonCell.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDButtonCell.h; sourceTree = "<group>"; };
+ 7B28C1621714637C0068774A /* SNRHUDImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDImageCell.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDImageCell.h; sourceTree = "<group>"; };
+ 7B28C1641714637C0068774A /* SNRHUDScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDScrollView.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDScrollView.h; sourceTree = "<group>"; };
+ 7B28C1651714637C0068774A /* SNRHUDSegmentedCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDSegmentedCell.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDSegmentedCell.h; sourceTree = "<group>"; };
+ 7B28C1661714637C0068774A /* SNRHUDTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDTextFieldCell.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDTextFieldCell.h; sourceTree = "<group>"; };
+ 7B28C1671714637C0068774A /* SNRHUDTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDTextView.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDTextView.h; sourceTree = "<group>"; };
+ 7B28C1681714637C0068774A /* SNRHUDWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SNRHUDWindow.h; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDWindow.h; sourceTree = "<group>"; };
+ 7B28C1691714637C0068774A /* SNRHUDButtonCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDButtonCell.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDButtonCell.m; sourceTree = "<group>"; };
+ 7B28C16A1714637C0068774A /* SNRHUDImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDImageCell.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDImageCell.m; sourceTree = "<group>"; };
+ 7B28C16B1714637C0068774A /* SNRHUDScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDScrollView.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDScrollView.m; sourceTree = "<group>"; };
+ 7B28C16C1714637C0068774A /* SNRHUDSegmentedCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDSegmentedCell.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDSegmentedCell.m; sourceTree = "<group>"; };
+ 7B28C16D1714637C0068774A /* SNRHUDTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDTextFieldCell.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDTextFieldCell.m; sourceTree = "<group>"; };
+ 7B28C16E1714637C0068774A /* SNRHUDTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDTextView.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDTextView.m; sourceTree = "<group>"; };
+ 7B28C16F1714637C0068774A /* SNRHUDWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SNRHUDWindow.m; path = ../../../AtoZ/Controls/SNRHUDKit/SNRHUDWindow.m; sourceTree = "<group>"; };
7B2D753F16F14FE90054C5F2 /* AZHTTPRouter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AZHTTPRouter.h; sourceTree = "<group>"; };
7B2D754016F14FE90054C5F2 /* AZHTTPRouter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AZHTTPRouter.m; sourceTree = "<group>"; };
7B2D754216F153FB0054C5F2 /* AZFacebookConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AZFacebookConnection.h; sourceTree = "<group>"; };
@@ -1939,6 +2012,7 @@
7B45C5EB1625051D00737335 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
7B475B1215ED65450002137E /* bullseye.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bullseye.png; sourceTree = "<group>"; };
7B495F7715C076C7002DC694 /* RGB.clr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = RGB.clr; path = ../RGB.clr; sourceTree = "<group>"; };
+ 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NoodleKit.xcodeproj; path = ../Frameworks/NoodleKit/NoodleKit.xcodeproj; sourceTree = "<group>"; };
7B4A8FED15AB267D00463B91 /* AZSourceList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = AZSourceList.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
7B4A8FEE15AB267D00463B91 /* AZSourceList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AZSourceList.m; sourceTree = "<group>"; };
7B4A908916F3A6F0003CD058 /* DockBox.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DockBox.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2572,7 +2646,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 7B28C15A1713A1700068774A /* Nu.framework in Frameworks */,
+ 7B4A5B881714B03C00020D6D /* NoodleKit.framework in Frameworks */,
7BB765CC1703F23A003BDFDB /* DrawKit.framework in Frameworks */,
7B427EE7170B03D20052FC31 /* CocoatechCore.framework in Frameworks */,
7BDD287316F832FE00FEB3AF /* SVGKit.framework in Frameworks */,
@@ -2592,7 +2666,6 @@
7B8870071670E01A00C94BFC /* Rebel.framework in Frameworks */,
7B8870091670E01B00C94BFC /* FunSize.framework in Frameworks */,
7B427EFC170B13640052FC31 /* TwUI.framework in Frameworks */,
- 7B88700A1670E01B00C94BFC /* PLWeakCompatibility.framework in Frameworks */,
7B0E4BCE1668FEED00CA1684 /* Foundation.framework in Frameworks */,
7B23C36815CE9AB800DD1A9C /* WebKit.framework in Frameworks */,
7B23C33F15CE268B00DD1A9C /* Carbon.framework in Frameworks */,
@@ -2894,6 +2967,28 @@
name = Products;
sourceTree = "<group>";
};
+ 7B28C1701714637C0068774A /* SNRHUD */ = {
+ isa = PBXGroup;
+ children = (
+ 7B28C1611714637C0068774A /* SNRHUDButtonCell.h */,
+ 7B28C1621714637C0068774A /* SNRHUDImageCell.h */,
+ 7B28C1641714637C0068774A /* SNRHUDScrollView.h */,
+ 7B28C1651714637C0068774A /* SNRHUDSegmentedCell.h */,
+ 7B28C1661714637C0068774A /* SNRHUDTextFieldCell.h */,
+ 7B28C1671714637C0068774A /* SNRHUDTextView.h */,
+ 7B28C1681714637C0068774A /* SNRHUDWindow.h */,
+ 7B28C1691714637C0068774A /* SNRHUDButtonCell.m */,
+ 7B28C16A1714637C0068774A /* SNRHUDImageCell.m */,
+ 7B28C16B1714637C0068774A /* SNRHUDScrollView.m */,
+ 7B28C16C1714637C0068774A /* SNRHUDSegmentedCell.m */,
+ 7B28C16D1714637C0068774A /* SNRHUDTextFieldCell.m */,
+ 7B28C16E1714637C0068774A /* SNRHUDTextView.m */,
+ 7B28C16F1714637C0068774A /* SNRHUDWindow.m */,
+ );
+ name = SNRHUD;
+ path = ../Frameworks/SNRHUDKit/SNRHUDKit;
+ sourceTree = "<group>";
+ };
7B2E2599165F30DC009BE6C8 /* PXList */ = {
isa = PBXGroup;
children = (
@@ -3083,6 +3178,7 @@
7B311945159B6D9E002134C4 = {
isa = PBXGroup;
children = (
+ 7B28C1701714637C0068774A /* SNRHUD */,
7B82B82815CB66D30026FE8C /* AtoZ Encyclopedia */,
7B31B12F15E9441D00802CD5 /* AtoZ Entitlement */,
7B184EE815FCA98700696360 /* AtoZCLI */,
@@ -3123,36 +3219,37 @@
7B311953159B6D9E002134C4 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 7B28C1201713A1130068774A /* Nu.xcodeproj */,
- 7B55B4511712DBBD00F0EAED /* SNRHUDKit.xcodeproj */,
- 7B427EEB170B13230052FC31 /* TwUI.xcodeproj */,
- 7B427EB0170AF7250052FC31 /* CocoatechCore.xcodeproj */,
- 7BF5023E16FE4B6B00432D00 /* Quartz.framework */,
- 7BDD285016F762A500FEB3AF /* libxml2.2.dylib */,
- 7BDD286816F832D700FEB3AF /* SVGKit.xcodeproj */,
- 7B1B34BB16F2BC4700B94864 /* Zangetsu.xcodeproj */,
- 7B37776516F16E2A0083CBB5 /* WebKit.framework */,
- 7B95C8A216F0899100480BB1 /* PhFacebook.xcodeproj */,
+ 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */,
7BCE7F4B166BC1A900C40B5E /* AFNetworking */,
- 7BB870691638A0FA0000C242 /* ConciseKit */,
7B7EDA07164B970A00D8C6C6 /* AtoZAppKit.xcodeproj */,
7BB8701116384FF00000C242 /* AtoZBezierPath.xcodeproj */,
7B0E4BB11668A20D00CA1684 /* AtoZWebSnapper.xcodeproj */,
7BC2DD0B16469A8100E73757 /* BlocksKit.xcodeproj */,
7BFA3EC5162B4DF0003264A4 /* CleanAndCopyToCompiledFrameWorks.sh */,
+ 7B4A908A16F3A6F0003CD058 /* Cocoa.framework */,
7BA7D241163945E60073BADC /* CocoaPuffs.xcodeproj */,
+ 7B427EB0170AF7250052FC31 /* CocoatechCore.xcodeproj */,
+ 7BB870691638A0FA0000C242 /* ConciseKit */,
7BA35F9D16449FDE00BFEB6B /* DrawKit.xcodeproj */,
7BE1F69C15F90298005ED292 /* FunSize.xcodeproj */,
+ 7BDD285016F762A500FEB3AF /* libxml2.2.dylib */,
7BE2A4F31611576E003D6B92 /* Linked Frameworks */,
7BF26168164EDAB00057EB88 /* Lumberjack.xcodeproj */,
7B95C900164FC8D10046F487 /* MapKit.xcodeproj */,
7BC69049162BA94000B71602 /* NanoStore.xcodeproj */,
+ 7B28C1201713A1130068774A /* Nu.xcodeproj */,
+ 7B4A908C16F3A6F0003CD058 /* Other Frameworks */,
+ 7B95C8A216F0899100480BB1 /* PhFacebook.xcodeproj */,
7B0236B315E08BD90070FE12 /* PLWeakCompatibility.xcodeproj */,
+ 7BF5023E16FE4B6B00432D00 /* Quartz.framework */,
7BB86F7716383FCD0000C242 /* Rebel.xcodeproj */,
7B14F2881600383600CBBF7E /* RMKit.framework */,
+ 7B55B4511712DBBD00F0EAED /* SNRHUDKit.xcodeproj */,
+ 7BDD286816F832D700FEB3AF /* SVGKit.xcodeproj */,
+ 7B427EEB170B13230052FC31 /* TwUI.xcodeproj */,
+ 7B37776516F16E2A0083CBB5 /* WebKit.framework */,
7B61E90515EAA8340053BACF /* XPCKit.xcodeproj */,
- 7B4A908A16F3A6F0003CD058 /* Cocoa.framework */,
- 7B4A908C16F3A6F0003CD058 /* Other Frameworks */,
+ 7B1B34BB16F2BC4700B94864 /* Zangetsu.xcodeproj */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -3401,6 +3498,21 @@
name = Products;
sourceTree = "<group>";
};
+ 7B4A5B6C1714AFF200020D6D /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 7B4A5B771714AFF400020D6D /* NoodleKit.framework */,
+ 7B4A5B791714AFF400020D6D /* ModalResponderTest.app */,
+ 7B4A5B7B1714AFF400020D6D /* StickyRowTableView Revue.app */,
+ 7B4A5B7D1714AFF400020D6D /* LineNumberView.app */,
+ 7B4A5B7F1714AFF400020D6D /* Window Effects.app */,
+ 7B4A5B811714AFF400020D6D /* iToonz.app */,
+ 7B4A5B831714AFF400020D6D /* TimerLab.app */,
+ 7B4A5B851714AFF400020D6D /* ImageLab.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
7B4A908C16F3A6F0003CD058 /* Other Frameworks */ = {
isa = PBXGroup;
children = (
@@ -4595,6 +4707,13 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
+ 7B28C171171463800068774A /* SNRHUDButtonCell.h in Headers */,
+ 7B28C172171463800068774A /* SNRHUDImageCell.h in Headers */,
+ 7B28C174171463800068774A /* SNRHUDScrollView.h in Headers */,
+ 7B28C175171463800068774A /* SNRHUDSegmentedCell.h in Headers */,
+ 7B28C176171463800068774A /* SNRHUDTextFieldCell.h in Headers */,
+ 7B28C177171463800068774A /* SNRHUDTextView.h in Headers */,
+ 7B28C178171463800068774A /* SNRHUDWindow.h in Headers */,
7B0EF0B9170875F1008592BD /* AZWikipedia.h in Headers */,
7B5E01FF17105E550086AF70 /* NSFont+AtoZ.h in Headers */,
7B682BBF16FABC9D00ADF346 /* KGNoise.h in Headers */,
@@ -4718,7 +4837,6 @@
7B7C27FD15C32B39007DD569 /* RoundedView.h in Headers */,
7B7C27FF15C32B39007DD569 /* TransparentWindow.h in Headers */,
7B385DEE15C3B49E00A28686 /* AZFoamView.h in Headers */,
- 7B728DF815C472D8004F6723 /* NSNotificationCenter+AtoZ.h in Headers */,
7B92135C15C49B6600862F9D /* NSThread+AtoZ.h in Headers */,
7B92137415C56F4600862F9D /* AZSimpleView.h in Headers */,
7B9742A915C62F70006490DD /* RuntimeReporter.h in Headers */,
@@ -4861,6 +4979,7 @@
7B90CD63170A603F00E1A3BF /* NSOperationStack.h in Headers */,
7B30BE75170DA853004CB62B /* TUIView+Dimensions.h in Headers */,
7B30BE79170DAB53004CB62B /* AHLayout.h in Headers */,
+ 7B728DF815C472D8004F6723 /* NSNotificationCenter+AtoZ.h in Headers */,
7B30BE85170DB2A5004CB62B /* AZExpandableView.h in Headers */,
7B30BE9B170E73BB004CB62B /* AutoCoding.h in Headers */,
7B55B3FF1711250300F0EAED /* NSOrderedDictionary.h in Headers */,
@@ -4904,7 +5023,7 @@
buildRules = (
);
dependencies = (
- 7B28C1591713A1660068774A /* PBXTargetDependency */,
+ 7B4A5B871714B03100020D6D /* PBXTargetDependency */,
7B427EFF170B13760052FC31 /* PBXTargetDependency */,
7B427EE9170B03E80052FC31 /* PBXTargetDependency */,
7BD7D3F8170A195C001D49FA /* PBXTargetDependency */,
@@ -4916,7 +5035,6 @@
7B95C8AC16F089A100480BB1 /* PBXTargetDependency */,
7B8D462816F0039100224316 /* PBXTargetDependency */,
7B7EDA11164B971600D8C6C6 /* PBXTargetDependency */,
- 7B6629F8161DEA20003D5EE0 /* PBXTargetDependency */,
7B37567D163B6363003D52B7 /* PBXTargetDependency */,
7BB8701F163850050000C242 /* PBXTargetDependency */,
7BB86F8616383FDC0000C242 /* PBXTargetDependency */,
@@ -5117,6 +5235,10 @@
ProjectRef = 7BC69049162BA94000B71602 /* NanoStore.xcodeproj */;
},
{
+ ProductGroup = 7B4A5B6C1714AFF200020D6D /* Products */;
+ ProjectRef = 7B4A5B6B1714AFF200020D6D /* NoodleKit.xcodeproj */;
+ },
+ {
ProductGroup = 7B28C1211713A1130068774A /* Products */;
ProjectRef = 7B28C1201713A1130068774A /* Nu.xcodeproj */;
},
@@ -5340,6 +5462,62 @@
remoteRef = 7B427EFA170B13240052FC31 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
+ 7B4A5B771714AFF400020D6D /* NoodleKit.framework */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.framework;
+ path = NoodleKit.framework;
+ remoteRef = 7B4A5B761714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B791714AFF400020D6D /* ModalResponderTest.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = ModalResponderTest.app;
+ remoteRef = 7B4A5B781714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B7B1714AFF400020D6D /* StickyRowTableView Revue.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = "StickyRowTableView Revue.app";
+ remoteRef = 7B4A5B7A1714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B7D1714AFF400020D6D /* LineNumberView.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = LineNumberView.app;
+ remoteRef = 7B4A5B7C1714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B7F1714AFF400020D6D /* Window Effects.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = "Window Effects.app";
+ remoteRef = 7B4A5B7E1714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B811714AFF400020D6D /* iToonz.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = iToonz.app;
+ remoteRef = 7B4A5B801714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B831714AFF400020D6D /* TimerLab.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = TimerLab.app;
+ remoteRef = 7B4A5B821714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 7B4A5B851714AFF400020D6D /* ImageLab.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = ImageLab.app;
+ remoteRef = 7B4A5B841714AFF400020D6D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
7B55B4571712DBC500F0EAED /* SNRHUDKit.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
@@ -5825,7 +6003,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "PRODUCT_PATH=\"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}\"\nMAC=\"/Library/Frameworks/\"\nPRECOMPS=\"$HOME/Library/Developer/Precompiled\"\ngrowler='/ServiceData/UNIX/bin/growlnotify'\n\nsudo ln -sF \"${PRODUCT_PATH}\" \"${MAC}\"\n\n#if [ -f \"${PRODUCT_PATH}/${PRODUCT_NAME}\" ]; then\n#\t$growler -n \"AtoZ\" -m \"AtoZ Was compiled AOK.\"\n#\tif [ -d \"${PRECOMPS}/${WRAPPER_NAME}\" ]; then\n# \trm -r \"${PRECOMPS}/${WRAPPER_NAME}\"\n# fi\n#\tmkdir -p \"${PRECOMPS}\"\n#\tcp -r \"${PRODUCT_PATH}\" \"${PRECOMPS}\"\n#else\n#\t$growler -n \"AtoZ\" -m \"AtoZ is not a complete Binary!.\"\n#\tsay \"AtoZ is not a complete Binary!\"\n#fi\n\ncd \"${PRODUCT_PATH}\"\n#logger `pwd`\nln -sF Versions/Current/Frameworks Frameworks\n\n#class-dump /Library/Frameworks/AtoZ.framework/AtoZ >>\n\n#install_name_tool -change \\\n#\"@executable_path/../Frameworks/${WRAPPER_NAME}/Versions/A/${PRODUCT_NAME}\" \\\n#\"@loader_path/../../../../Frameworks/${WRAPPER_NAME}/Versions/A/${PRODUCT_NAME}\" \\\n#\"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/BaseTenAppKit.framework/Versions/A/BaseTenAppKit\"\n\n#-header-pad_max_install_names\n\n#FRAMEWORKS_DIR=\"${PRODUCT_PATH}\"FRAMEWORK_DIR/Versions/Frameworks\"\n\n#if ( ! [ -e \"$FRAMEWORKS_DIR\" ] ); then\n#$$ln -s \"$FRAMEWORK_DIR/Versions/Current/Frameworks\" \"$FRAMEWORKS_DIR\"\n#fi\n";
+ shellScript = " PRODUCT_PATH=\"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}\"\n BINARY=\"$PRODUCT_PATH/${PRODUCT_NAME}\"\n MAC=\"/Library/Frameworks/\"\nSYSTEM_PRODUCT=\"$MAC/${WRAPPER_NAME}\"\n\nenv\n\nfunction test {\n\t\"$@\"\n\tstatus=$?\n if [ $status -ne 0 ]; then\n \t\techo \"error with $1\"\n\tfi\n\treturn $status\n}\n\ntest otool -l \"$BINARY\" #/Library/Frameworks/AtoZ.framework/AtoZ\n\nif [ $status == 0 ]; then\n\t#say \"Yeah, it worked\"\n growlnotify -m \"it worked\" -p -1 -n AtoZ Build\n\t#sudo rm -r \"$SYSTEM_PRODUCT\"\n# sudo cp -r \"$PRODUCT_PATH\" \t\t\"$SYSTEM_PRODUCT\"\nelse\n\t#say \"Poop, no workie\"\n growlnotify -m \"BUILD FAILED\" -p 2 -n AtoZ Build\nfi\n\nsudo ln -sF \"${PRODUCT_PATH}\" \"${MAC}\"\n\ncd \"${PRODUCT_PATH}\"\nln -sF Versions/Current/Frameworks Frameworks\n#logger `pwd`\n\n\n#if [ -f \"${PRODUCT_PATH}/${PRODUCT_NAME}\" ]; then\n#\t$growler -n \"AtoZ\" -m \"AtoZ Was compiled AOK.\"\n#\tif [ -d \"${PRECOMPS}/${WRAPPER_NAME}\" ]; then\n# \trm -r \"${PRECOMPS}/${WRAPPER_NAME}\"\n# fi\n#\tmkdir -p \"${PRECOMPS}\"\n#\tcp -r \"${PRODUCT_PATH}\" \"${PRECOMPS}\"\n#else\n#\t$growler -n \"AtoZ\" -m \"AtoZ is not a complete Binary!.\"\n#\tsay \"AtoZ is not a complete Binary!\"\n#fi\n\n\n#class-dump /Library/Frameworks/AtoZ.framework/AtoZ >>\n\n#install_name_tool -change \\\n#\"@executable_path/../Frameworks/${WRAPPER_NAME}/Versions/A/${PRODUCT_NAME}\" \\\n#\"@loader_path/../../../../Frameworks/${WRAPPER_NAME}/Versions/A/${PRODUCT_NAME}\" \\\n#\"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/BaseTenAppKit.framework/Versions/A/BaseTenAppKit\"\n\n#-header-pad_max_install_names\n\n#FRAMEWORKS_DIR=\"${PRODUCT_PATH}\"FRAMEWORK_DIR/Versions/Frameworks\"\n\n#if ( ! [ -e \"$FRAMEWORKS_DIR\" ] ); then\n#$$ln -s \"$FRAMEWORK_DIR/Versions/Current/Frameworks\" \"$FRAMEWORKS_DIR\"\n#fi\n\n\n# PRECOMPS=\"$HOME/Library/Developer/Precompiled\"\n# growler='/ServiceData/UNIX/bin/growlnotify'\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -5842,6 +6020,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 7B28C179171463800068774A /* SNRHUDButtonCell.m in Sources */,
+ 7B28C17A171463800068774A /* SNRHUDImageCell.m in Sources */,
+ 7B28C17B171463800068774A /* SNRHUDScrollView.m in Sources */,
+ 7B28C17C171463800068774A /* SNRHUDSegmentedCell.m in Sources */,
+ 7B28C17D171463800068774A /* SNRHUDTextFieldCell.m in Sources */,
+ 7B28C17E171463800068774A /* SNRHUDTextView.m in Sources */,
+ 7B28C17F171463800068774A /* SNRHUDWindow.m in Sources */,
7BDF41F2164AFD53008B3240 /* NSObject+AtoZ.m in Sources */,
7BA7D2391639421A0073BADC /* ConciseKit.m in Sources */,
7B2F23EC16F289BC003D7648 /* INAppStoreWindow.m in Sources */,
@@ -6031,7 +6216,6 @@
7BBCBAF616714ABD00681F2B /* HTMLParserViewController.m in Sources */,
7B742F551672C809009CF41B /* AZURLSnapshot.m in Sources */,
7B6BEDD81674B3A700829B8A /* CAScrollView.m in Sources */,
- 7BB3EFCF1675E8D200BABF35 /* NSTableView+AtoZ.m in Sources */,
7BB3EFD31675EEB100BABF35 /* NSIndexSet+AtoZ.m in Sources */,
7BDFE2AE167A191A00BC5C53 /* NSDate+AtoZ.m in Sources */,
7B8A342B16E6D07A0088D209 /* StandardPaths.m in Sources */,
@@ -6192,11 +6376,6 @@
name = Lumberjack;
targetProxy = 7B1B34D116F2EAA600B94864 /* PBXContainerItemProxy */;
};
- 7B28C1591713A1660068774A /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = Nu;
- targetProxy = 7B28C1581713A1660068774A /* PBXContainerItemProxy */;
- };
7B31B14715E9447400802CD5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 7B311950159B6D9E002134C4 /* AtoZ */;
@@ -6222,6 +6401,11 @@
name = TwUI;
targetProxy = 7B427EFE170B13760052FC31 /* PBXContainerItemProxy */;
};
+ 7B4A5B871714B03100020D6D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = NoodleKit;
+ targetProxy = 7B4A5B861714B03100020D6D /* PBXContainerItemProxy */;
+ };
7B4A90A616F3A966003CD058 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 7B311950159B6D9E002134C4 /* AtoZ */;
@@ -6232,11 +6416,6 @@
name = FunSize;
targetProxy = 7B5ABABB1608DEC700530EA7 /* PBXContainerItemProxy */;
};
- 7B6629F8161DEA20003D5EE0 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "PLWeakCompatibility-MacOSX";
- targetProxy = 7B6629F7161DEA20003D5EE0 /* PBXContainerItemProxy */;
- };
7B7EDA11164B971600D8C6C6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = AtoZAppKit;
@@ -6488,8 +6667,10 @@
Foundation,
"-framework",
AtoZ,
+ "-all_load",
);
PRODUCT_NAME = "$(TARGET_NAME)";
+ SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
SDKROOT = "";
};
name = Debug;
@@ -6525,8 +6706,10 @@
Foundation,
"-framework",
AtoZ,
+ "-all_load",
);
PRODUCT_NAME = "$(TARGET_NAME)";
+ SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
SDKROOT = "";
};
name = Release;
@@ -6576,23 +6759,27 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
- CLANG_ANALYZER_OBJC_RETAIN_COUNT = NO;
+ CLANG_ANALYZER_OBJC_RETAIN_COUNT = YES;
CLANG_ANALYZER_OBJC_SELF_INIT = NO;
- CLANG_ANALYZER_OBJC_UNUSED_IVARS = NO;
+ CLANG_ANALYZER_OBJC_UNUSED_IVARS = YES;
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
FRAMEWORK_VERSION = A;
+ GCC_C_LANGUAGE_STANDARD = "compiler-default";
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO;
- GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_INPUT_FILETYPE = automatic;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "AtoZ-Framework.pch";
GCC_UNROLL_LOOPS = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
- GCC_WARN_UNDECLARED_SELECTOR = NO;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_VALUE = NO;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = "\"$(SDKROOT)/usr/include/libxml2\"";
@@ -6604,15 +6791,11 @@
"/usr/lib/system/**",
);
ONLY_ACTIVE_ARCH = YES;
- OTHER_CFLAGS = (
- "-Xclang",
- "-fobjc-runtime-has-weak",
- "-ObjC",
- );
+ OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
+ "-fobjc-arc",
"-sub_library",
libxml2,
- "-ObjC",
"-sub_library",
libobjc,
"-framework",
@@ -6626,8 +6809,6 @@
"-framework",
AddressBook,
"-sub_umbrella",
- PLWeakCompatibility,
- "-sub_umbrella",
FunSize,
"-sub_umbrella",
Rebel,
@@ -6654,13 +6835,14 @@
"-sub_umbrella",
TwUI,
"-sub_umbrella",
- Nu,
- "-all_load",
+ KSHTMLWriterFramework,
+ "-sub_umbrella",
+ NoodleKit,
);
PRODUCT_NAME = AtoZ;
RUN_CLANG_STATIC_ANALYZER = NO;
SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO;
- SDKROOT = "";
+ SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = /usr/include/libxml2;
VALIDATE_PRODUCT = NO;
VERSIONING_SYSTEM = "apple-generic";
@@ -6673,23 +6855,27 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
- CLANG_ANALYZER_OBJC_RETAIN_COUNT = NO;
+ CLANG_ANALYZER_OBJC_RETAIN_COUNT = YES;
CLANG_ANALYZER_OBJC_SELF_INIT = NO;
- CLANG_ANALYZER_OBJC_UNUSED_IVARS = NO;
+ CLANG_ANALYZER_OBJC_UNUSED_IVARS = YES;
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
FRAMEWORK_VERSION = A;
+ GCC_C_LANGUAGE_STANDARD = "compiler-default";
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO;
- GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
- GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_INPUT_FILETYPE = automatic;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "AtoZ-Framework.pch";
GCC_UNROLL_LOOPS = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
- GCC_WARN_UNDECLARED_SELECTOR = NO;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_VALUE = NO;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = "\"$(SDKROOT)/usr/include/libxml2\"";
@@ -6701,15 +6887,11 @@
"/usr/lib/system/**",
);
ONLY_ACTIVE_ARCH = YES;
- OTHER_CFLAGS = (
- "-Xclang",
- "-fobjc-runtime-has-weak",
- "-ObjC",
- );
+ OTHER_CFLAGS = "";
OTHER_LDFLAGS = (
+ "-fobjc-arc",
"-sub_library",
libxml2,
- "-ObjC",
"-sub_library",
libobjc,
"-framework",
@@ -6723,8 +6905,6 @@
"-framework",
AddressBook,
"-sub_umbrella",
- PLWeakCompatibility,
- "-sub_umbrella",
FunSize,
"-sub_umbrella",
Rebel,
@@ -6751,13 +6931,14 @@
"-sub_umbrella",
TwUI,
"-sub_umbrella",
- Nu,
- "-all_load",
+ KSHTMLWriterFramework,
+ "-sub_umbrella",
+ NoodleKit,
);
PRODUCT_NAME = AtoZ;
RUN_CLANG_STATIC_ANALYZER = NO;
SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO;
- SDKROOT = "";
+ SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = /usr/include/libxml2;
VALIDATE_PRODUCT = NO;
VERSIONING_SYSTEM = "apple-generic";
View
241 AtoZ/AtoZCLI/main.m
@@ -2,91 +2,105 @@
#import <Foundation/Foundation.h>
#import <AtoZ/AtoZ.h>
-/*
-void cliDefaults(){
- NSUserDefaults *defaults = [[NSUserDefaults alloc] init];
- NSUInteger counter = [defaults[@"counter"]unsignedIntegerValue] +1;
- [defaults setPersistentDomain:[NSDictionary dictionaryWithObject:@(counter) forKey:@"counter"] forName:@"com.mralexgray.atozCLI"];
- [defaults synchronize];
- NSLog(@"welcome the the CLI. We've launched %ld times!", counter);
-}
-void quantize() {
- [AZStopwatch start:@"quantize"];
- cliDefaults();
- @autoreleasepool {
- [[NSImage systemImages] eachConcurrentlyWithBlock:^(NSInteger index, id objI, BOOL *stop) {
- [[[AZColor sharedInstance] colorsForImage:objI] az_each:^(id obj, NSUInteger index, BOOL *stop) {
- NSLog(@"Hello, World! %@", [obj propertiesPlease]);
- }];
- }];
- }
- [AZStopwatch stop:@"quantize"];
-}
-
-void TestStopwatchBlock (NSString* name) {
- [AZStopwatch stopwatch:name timing:^{
- [AtoZ performBlock:^{
-// [self someLongAssFunction];
- } afterDelay:10];
- [AtoZ performSelector:@selector(dock) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES];
- AZLOG(@"longblock");
- }];
-}
-
-//const NSImage*paddy = [[NSImage alloc]initWithContentsOfFile:@"/Library/Desktop Pictures/Rice Paddy.jpg"];
-
-@interface AAAA : BaseModel
-@end
-@implementation AAAA
+#define AZSTDIN NSFileHandle.fileHandleWithStandardInput
+@interface AZCLIMenu : NSObject
+@property (STRNG) NSA* items;
+@property (RONLY) NSS* outputString;
+@property (ASS) NSRNG range;
@end
-@interface TestView : NSView <NSWindowDelegate> { }
+@interface AZCLIHandler : NSObject { NSA* palette; }
-@property (strong) CALayer* lay;
--(void)drawRect:(NSRect)rect;
+@property (NATOM) BOOL finished;
+@property (STRNG) NSFileHandle *stdinFileHandle;
+@property (RONLY) NSC *nextColor;
+- (void) mainMenu;
@end
-@implementation TestView
+@implementation AZCLIHandler
--(void)viewDidMoveToSuperview {
- NSLog(@"view did load");
- self.wantsLayer = YES;
- self.lay = [CALayer layer];
- _lay.frame = quadrant(self.bounds, 1);
- _lay.backgroundColor = cgRED;
- self.layer.sublayers = @[_lay];
+- (id) init { if (self != super.init ) return nil;
+
+ _stdinFileHandle = AZSTDIN;
+ palette = [NSC colorsInFrameworkListNamed:@"FengShui"];
+ [AZNOTCENTER addObserver:self selector:@selector(didReadStdin:) name:NSFileHandleReadCompletionNotification object:_stdinFileHandle];
+ fprintf(stdout, "Welcome to %s. Please choose a test option.", colorizeStringWithColors(@"AtoZ.framework", RED, WHITE).UTF8String);
+ fflush(stdout);
+ [self mainMenu];
+ return self;
}
--(void)drawRect:(NSRect)rect {
- [[NSColor blueColor] set];
- NSRectFill( [self bounds] );
+- (NSC*) nextColor { static NSUI _p = 0; _p++; return [palette normal:_p]; }
+- (NSS*) methodMenu { return self.instanceMethodArray.count ? [NSS stringFromArray:[self.instanceMethodArray nmap:^id(id obj, NSUI i) {
+ return $(@"\n\t%ld:\t%@", i, colorizeStringWithColor(obj, self.nextColor));}]] : nil; }
+
+- (NSS*) frameworkMenu { return [NSS stringFromArray:[AZFWORKBUNDLE.frameworkIdentifiers nmap:^id(id obj, NSUI i) {
+ return $(@"%ld:%@", 100 + i, [colorizeStringWithColor(obj, self.nextColor) paddedTo:60]); }]]; }
+
+//- (VoidBlock) actionAtIndex {}
+
+- (void) mainMenu { fprintf(stdout, "\n\nAvailable Frameworks:\n\n%s", self.frameworkMenu.UTF8String);
+ fprintf(stdout, "\n\nAvailable Tests:%s\n", self.methodMenu.UTF8String );
+ [_stdinFileHandle readInBackgroundAndNotify];
+}
+
+- (void)didReadStdin:(NSNOT*)note
+{
+ NSS *string = [NSS stringWithData:[note.userInfo objectForKey:NSFileHandleNotificationDataItem] encoding:NSASCIIStringEncoding];
+ NSUI select = string.integerValue;
+ BOOL hit = select < self.instanceMethodNames.count || ( 100 <= select && select < 100 + AZFWORKBUNDLE.frameworkIdentifiers.count);
+ !hit ? [self mainMenu]
+ : fprintf(stdout, "YOu selected %ld\n", select);
+// if ([result respondsToSelector:@selector(UTF8String)]) fprintf(stdout, "%s\n", [result UTF8String]); fprintf(stdout, "objj> ");
+ fflush(stdout);
+ [_stdinFileHandle readInBackgroundAndNotify];
}
+- (void) colorLogging {
--(void)windowWillClose:(NSNotification *)note { [[NSApplication sharedApplication] terminate:self]; }
-
-- (void) mouseDown:(NSEvent*)ev { [_lay animateOverAndUpFrom:_lay.position to:AZCenterOfRect(quadrant(self.bounds, 3)) duration:5]; }
-@end
-*/
+ COLORLOG(YELLOw, @"whatever %@", @4); NSD *allColorInfo = NSC.colorsAndNames;
+ NSLog(@"Available named colors:\n%@", [NSS stringFromArray:[allColorInfo.allKeys map:^id(id obj) {
+ return colorizeStringWithColor(
+ [obj stringByPaddingToLength:22 withString:@" " startingAtIndex:0],
+ allColorInfo[obj]);
+ }]]);
+ [self mainMenu];
+}
+- (void) variadicColorLogging {
+ LOGCOLORS(RED, @"red", ORANGE, @"orange", YELLOw, @"yellow", GREEN, @"green", BLUE, @"blue", PURPLE, GREY, "purple (but not in the right order", "Grey (also out of order)", nil);
+}
-@interface AZTests : BaseModel
-- (void) colorLogging;
+// NSFileHandle *inHandle = AZSTDIN; // Read from stdin
+// [AZNOTCENTER addObserver:self selector:@selector(stdinDataAvailable) name:NSFileHandleDataAvailableNotification object:inHandle];
+// [inHandle waitForDataInBackgroundAndNotify];
+// return self;
+//}
+
+//- (void) stdinDataAvailable {
+//
+// NSData *theData = [[NSFileHandle fileHandleWithStandardInput] availableData];
+// NSLog(@"Got data: %@", theData);
+// _finished = !theData.length;
+// if (_finished) return;
+// [AZSTDIN waitForDataInBackgroundAndNotify]; // Listen for more
+//
+//}
@end
-int main(int argc, char *argv[]) {
- @autoreleasepool {
-
- NSA *reference = [AZTests instanceMethods];
- if (!reference) return -1;
-
- int inputOne;
- COLORLOG( WHITE, @"Available Tests:%@", [NSS stringFromArray:[reference nmap:^id(id obj, NSUInteger index) {
- return $(@"%ld: %@\n", index, colorizeStringWithColor(obj, RANDOMCOLOR));
- }]]);
- scanf("%i", &inputOne);
- NSLog (@"You chose: %i : %@", inputOne, reference[inputOne]);
- int inputTwo;
- NSLog (@"Enter another number: ");
- scanf("%i", &inputTwo);
- NSLog (@"%i + %i = %d", inputOne, inputTwo, inputOne + inputTwo);
+int main(int argc, char *argv[]) { @autoreleasepool {
+
+ // Create the input handler
+ AZCLIHandler *ih = AZCLIHandler.new;
+ while (!ih.finished) AZRUNFOREVER; // Kick the run loop
+
+// __block NSUI chooser = 1;
+// int inputOne;
+//
+// scanf("%i", &inputOne);
+// NSLog (@"You chose: %i : %@", inputOne, allOpts[(inputOne + 1)]);
+// int inputTwo;
+// NSLog (@"Enter another number: ");
+// scanf("%i", &inputTwo);
+// NSLog (@"%i + %i = %d", inputOne, inputTwo, inputOne + inputTwo);
+//*/
}
return 0;
}
@@ -111,21 +125,6 @@ int main(int argc, char *argv[]) {
// [AZStopwatch stopwatch:@"Runtime" timing:^{
-@implementation AZTests
-- (void) colorLogging {
-
- COLORLOG(YELLOw, @"whatever %@", @4);
-
- NSD *allColorInfo = NSC.colorsAndNames;
- NSLog(@"Available named colors:\n%@", [NSS stringFromArray:[allColorInfo.allKeys map:^id(id obj) {
- return colorizeStringWithColor(
- [obj stringByPaddingToLength:22 withString:@" " startingAtIndex:0],
- allColorInfo[obj]);
- }]]
- );
-}
-
-@end
// COLORLOG(value, @"%@", key);
// }];
@@ -265,4 +264,68 @@ int main(int argc, char *argv[]) {
return retVal;
}
}
-*/
+*/
+
+/*
+void cliDefaults(){
+ NSUserDefaults *defaults = [[NSUserDefaults alloc] init];
+ NSUInteger counter = [defaults[@"counter"]unsignedIntegerValue] +1;
+ [defaults setPersistentDomain:[NSDictionary dictionaryWithObject:@(counter) forKey:@"counter"] forName:@"com.mralexgray.atozCLI"];
+ [defaults synchronize];
+ NSLog(@"welcome the the CLI. We've launched %ld times!", counter);
+}
+void quantize() {
+ [AZStopwatch start:@"quantize"];
+ cliDefaults();
+ @autoreleasepool {
+ [[NSImage systemImages] eachConcurrentlyWithBlock:^(NSInteger index, id objI, BOOL *stop) {
+ [[[AZColor sharedInstance] colorsForImage:objI] az_each:^(id obj, NSUInteger index, BOOL *stop) {
+ NSLog(@"Hello, World! %@", [obj propertiesPlease]);
+ }];
+ }];
+ }
+ [AZStopwatch stop:@"quantize"];
+}
+
+void TestStopwatchBlock (NSString* name) {
+ [AZStopwatch stopwatch:name timing:^{
+ [AtoZ performBlock:^{
+// [self someLongAssFunction];
+ } afterDelay:10];
+ [AtoZ performSelector:@selector(dock) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES];
+ AZLOG(@"longblock");
+ }];
+}
+
+//const NSImage*paddy = [[NSImage alloc]initWithContentsOfFile:@"/Library/Desktop Pictures/Rice Paddy.jpg"];
+
+@interface AAAA : BaseModel
+@end
+@implementation AAAA
+@end
+@interface TestView : NSView <NSWindowDelegate> { }
+
+@property (strong) CALayer* lay;
+-(void)drawRect:(NSRect)rect;
+@end
+
+@implementation TestView
+
+-(void)viewDidMoveToSuperview {
+ NSLog(@"view did load");
+ self.wantsLayer = YES;
+ self.lay = [CALayer layer];
+ _lay.frame = quadrant(self.bounds, 1);
+ _lay.backgroundColor = cgRED;
+ self.layer.sublayers = @[_lay];
+}
+-(void)drawRect:(NSRect)rect {
+ [[NSColor blueColor] set];
+ NSRectFill( [self bounds] );
+}
+
+-(void)windowWillClose:(NSNotification *)note { [[NSApplication sharedApplication] terminate:self]; }
+
+- (void) mouseDown:(NSEvent*)ev { [_lay animateOverAndUpFrom:_lay.position to:AZCenterOfRect(quadrant(self.bounds, 3)) duration:5]; }
+@end
+*/
View
3 AtoZ/AtoZFunctions.h
@@ -97,6 +97,9 @@ typedef void(^AZActionCellBlock)(id objVal);
// NSColor, "name" (CSS, or named color) or @[@4, @44, @244] rgbIntegers
NSS* colorizeStringWithColor(NSS* string, id color);
+NSS* colorizeStringWithColors(NSS* string, id color, id back);
+NSA* rgbColorValues (id color);
+void LOGCOLORS(id stringsAndColors, ...);
//#import "AtoZ.h"
//PUT IN PRECOMP #define NSLog(args...) _AZSimpleLog(__FILE__,__LINE__,__PRETTY_FUNCTION__,args);
View
146 AtoZ/AtoZFunctions.m
@@ -24,11 +24,26 @@
// NSLog(XCODE_COLORS_ESCAPE @"fg218,147,0;" "%@" XCODE_COLORS_RESET, full);
//}
-NSA* rgbColorValues (id color) {
+
+void LOGCOLORS(id stringsAndColors, ...) { __block NSMA *colors = NSMA.new; __block NSMA *words = NSMA.new;
+
+ AZVA_Block theBlk = ^(id thing) { [thing isKindOfClass:NSS.class] ? [words addObject: thing] :
+ [thing isKindOfClass:NSC.class] ? [colors addObject: thing] : nil;
+ };
+ azva_iterate_list( stringsAndColors, theBlk ); __block NSUI ctr = 0;
+
+ NSS* toLog = [words reduce:^id(id memo, id obj) { ctr++;
+ return [memo withString:colorizeStringWithColor( obj, [colors normal:ctr] )];
+ } withInitialMemo:@"LOGCOLORS: "];
+ printf("%s", toLog.UTF8String);
+}
+
+NSA* rgbColorValues (id color) {
float r, g, b;
if ([color isKindOfClass:NSS.class])
color = [NSC colorWithName:color] ?: [NSC colorWithCSSRGB:color] ?: WHITE;
if ([color isKindOfClass:NSC.class]) {
+ color = [color isDark] ? [[color brighter]brighter] : color;
color = [color colorUsingColorSpace:NSColorSpace.genericRGBColorSpace];
r = [(NSC*)color redComponent] * 255;
g = [(NSC*)color greenComponent] * 255;
@@ -38,41 +53,46 @@
} else r = g = b = 0;
return @[@(r), @(g), @(b)];
}
-
-NSS* colorizeStringWithColors(NSS* string, id color, id back) {
-
- NSA *rgbs = rgbColorValues(color); NSS* output;
+NSS* colorizeStringWithColors( NSS* string, id front, id back ) { NSA *rgbs;
- output = $(XCODE_COLORS_ESCAPE @"fg%i,%i,%i;%@" XCODE_COLORS_RESET,
- [rgbs[0] intValue], [rgbs[1]intValue], [rgbs[2]intValue], string);
- if (back) {
- rgbs = rgbColorValues(back);
- output = $(XCODE_COLORS_ESCAPE @"bg%i,%i,%i;%@" XCODE_COLORS_RESET,
- [rgbs[0] intValue], [rgbs[1]intValue], [rgbs[2]intValue], output);
+ if (front) { rgbs = rgbColorValues( front );
+ string = $(XCODE_COLORS_ESCAPE @"fg%i,%i,%i;%@" XCODE_COLORS_RESET,
+ [rgbs[0] intValue], [rgbs[1]intValue], [rgbs[2]intValue], string);
}
- return output;
+ if (back) { rgbs = rgbColorValues( back );
+ string = $(XCODE_COLORS_ESCAPE @"bg%i,%i,%i;%@" XCODE_COLORS_RESET,
+ [rgbs[0] intValue], [rgbs[1]intValue], [rgbs[2]intValue], string);
+ }
+ return string;
}
+NSS* colorizeStringWithColor ( NSS* string, id color ) { return colorizeStringWithColors(string, color, nil); }
-NSS* colorizeStringWithColor(NSS* string, id color) { return colorizeStringWithColors(string, color, nil); }
-
-void _AZColorLog( NSC *color, const char *filename, int line, const char *funcName, NSS *format, ... ){
+// ACTIVE NSLOG
+void _AZColorLog ( NSC *color, const char *filename, int line, const char *funcName, NSS *format, ... ){
// NSS *colorString = @"fg218,147,0";
- char *sss = getenv("XCODE_COLORS");
- BOOL YESORNO = (sss != NULL) ? areSame( $(@"%s",sss), @"NO") ? NO : YES : YES;
-// NSLog(@"%s is %@",sss, StringFromBOOL(isit));
-// NSS* envStr = @(getenv("XCODE_COLORS")) ?: @"YES";
-//
-// BOOL YESORNO = [envStr boolValue];
- va_list argList; va_start (argList, format);
- NSS *path = $UTF8(filename).lastPathComponent;
- NSS *mess = [NSS.alloc initWithFormat:format arguments:argList];
+// printf("%s", colorizeStringWithColor(@"AZCOLORLOG", YELLOw).UTF8String);
+
+ // silly color theming
+ static NSA *logtheme = nil;
+ logtheme = logtheme ?: [[NSC.fengshui map:^id(id obj) { return [obj darker]; }].shuffeled withMaxItems:3];
+
+ va_list argList; va_start (argList, format);
+ char *sss = getenv("XCODE_COLORS");
+ BOOL YESORNO = (sss != NULL) ? areSame( $(@"%s",sss), @"NO") ? NO : YES : YES;
+
+ NSS *path = $UTF8(filename).lastPathComponent;
+ NSS *mess = [NSS stringWithFormat:format arguments:argList];
fprintf ( stderr, "%s",
- YESORNO ? $( @"%@%@ %@ %@\n",
- colorizeStringWithColor( $(@"[%@]" ,path), @[@82,@82,@82]),
- colorizeStringWithColor( $(@":%i" ,line), @[@140,@140,@140]),
- colorizeStringWithColors( $(@"%s" ,funcName), @[@109,@9,@40], @[@50,@9,@40] ),
- colorizeStringWithColor( mess, color)).UTF8String
+ YESORNO ? $( @"%@ %@ %@\n",
+ // calling method filename
+ [$(@"%@%@",colorizeStringWithColor( $(@"[%@]", path), logtheme[0]),
+ // calling method line number
+ colorizeStringWithColor( $(@":%i", line), logtheme[1]))paddedTo:60],
+ // actual log message
+ colorizeStringWithColor( mess , color),
+ // calling method
+ colorizeStringWithColor( $(@"%s", funcName), [logtheme[2] darker])).UTF8String
: $(@"[%@]:%i %s %@\n", path, line, funcName, mess ).UTF8String);
// XCODE_COLORS_ESCAPE @"fg140,140,140;" @":%i" XCODE_COLORS_RESET
@@ -129,7 +149,7 @@ void _AZSimpleLog( const char *file, int lineNumber, const char *funcName, NSStr
// NSS *toLog = $( XCODE_COLORS_RESET @"%s" XCODE_COLORS_ESCAPE @"fg82,82,82;" @"%-70s[%s]" XCODE_COLORS_RESET