appjam 0.1.8.9 → 0.1.8.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. data/lib/appjam/generators/templates/blank/EiffelApplication.xcodeproj/project.pbxproj +114 -0
  2. data/lib/appjam/generators/templates/blank/EiffelApplication.xcodeproj/project.xcworkspace/xcuserdata/eiffel.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  3. data/lib/appjam/generators/templates/blank/EiffelApplication/AppDelegate.m.tt +13 -1
  4. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/CustomBadge.h +52 -0
  5. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/CustomBadge.m +241 -0
  6. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherItem.h +58 -0
  7. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherItem.m +227 -0
  8. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherPageControl.h +37 -0
  9. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherPageControl.m +117 -0
  10. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherScrollView.h +23 -0
  11. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherScrollView.m +42 -0
  12. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherView.h +70 -0
  13. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherView.m +830 -0
  14. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherViewController.h +38 -0
  15. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/components/MyLauncher/MyLauncherViewController.m +302 -0
  16. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/AESCrypt.h +37 -0
  17. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/AESCrypt.m +50 -0
  18. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/NSData+Base64.h +17 -0
  19. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/NSData+Base64.m +110 -0
  20. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/NSData+CommonCrypto.h +112 -0
  21. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/NSData+CommonCrypto.m +546 -0
  22. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/NSString+Base64.h +15 -0
  23. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/AESCrypt-ObjC/NSString+Base64.m +82 -0
  24. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCCrossHairView.h +16 -0
  25. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCCrossHairView.m +43 -0
  26. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCFrameView.h +55 -0
  27. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCFrameView.m +234 -0
  28. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCIntrospect.h +155 -0
  29. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCIntrospect.m +1654 -0
  30. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCIntrospectSettings.h +56 -0
  31. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCStatusBarOverlay.h +34 -0
  32. data/lib/appjam/generators/templates/blank/EiffelApplication/libs/toolkit/DCIntrospect/DCStatusBarOverlay.m +107 -0
  33. data/lib/appjam/version.rb +1 -1
  34. metadata +32 -3
@@ -55,6 +55,17 @@
55
55
  C54DA6841714126000457BF3 /* AFRESTClient.m in Sources */ = {isa = PBXBuildFile; fileRef = C54DA67D1714126000457BF3 /* AFRESTClient.m */; };
56
56
  C54DA6851714126000457BF3 /* NSString+InflectorKit.m in Sources */ = {isa = PBXBuildFile; fileRef = C54DA6801714126000457BF3 /* NSString+InflectorKit.m */; };
57
57
  C54DA6861714126000457BF3 /* TTTStringInflector.m in Sources */ = {isa = PBXBuildFile; fileRef = C54DA6821714126000457BF3 /* TTTStringInflector.m */; };
58
+ C5BD358B1728B2A700509984 /* DCCrossHairView.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BD35831728B2A700509984 /* DCCrossHairView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
59
+ C5BD358C1728B2A700509984 /* DCFrameView.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BD35851728B2A700509984 /* DCFrameView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
60
+ C5BD358D1728B2A700509984 /* DCIntrospect.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BD35871728B2A700509984 /* DCIntrospect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
61
+ C5BD358E1728B2A700509984 /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BD358A1728B2A700509984 /* DCStatusBarOverlay.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
62
+ C5E068471728E4190056F1DD /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C5E068461728E4190056F1DD /* OpenAL.framework */; };
63
+ C5E068B41728E6640056F1DD /* CustomBadge.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E068A91728E6640056F1DD /* CustomBadge.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
64
+ C5E068B51728E6640056F1DD /* MyLauncherItem.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E068AB1728E6640056F1DD /* MyLauncherItem.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
65
+ C5E068B61728E6640056F1DD /* MyLauncherPageControl.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E068AD1728E6640056F1DD /* MyLauncherPageControl.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
66
+ C5E068B71728E6640056F1DD /* MyLauncherScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E068AF1728E6640056F1DD /* MyLauncherScrollView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
67
+ C5E068B81728E6640056F1DD /* MyLauncherView.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E068B11728E6640056F1DD /* MyLauncherView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
68
+ C5E068B91728E6640056F1DD /* MyLauncherViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E068B31728E6640056F1DD /* MyLauncherViewController.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
58
69
  C5FAFE11170B0EC300D83034 /* AwesomeMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FAFCCB170B0EC300D83034 /* AwesomeMenu.m */; };
59
70
  C5FAFE12170B0EC300D83034 /* AwesomeMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FAFCCD170B0EC300D83034 /* AwesomeMenuItem.m */; };
60
71
  C5FAFE13170B0EC300D83034 /* bg-addbutton-highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = C5FAFCCF170B0EC300D83034 /* bg-addbutton-highlighted.png */; };
@@ -207,6 +218,10 @@
207
218
  C5FAFEB3170B1A9700D83034 /* TFHpple.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FAFEAE170B1A9700D83034 /* TFHpple.m */; };
208
219
  C5FAFEB4170B1A9700D83034 /* TFHppleElement.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FAFEB0170B1A9700D83034 /* TFHppleElement.m */; };
209
220
  C5FAFEB5170B1A9700D83034 /* XPathQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FAFEB2170B1A9700D83034 /* XPathQuery.m */; };
221
+ C5FCC4751728DAA300D5E07F /* AESCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FCC46D1728DAA300D5E07F /* AESCrypt.m */; };
222
+ C5FCC4761728DAA300D5E07F /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FCC46F1728DAA300D5E07F /* NSData+Base64.m */; };
223
+ C5FCC4771728DAA300D5E07F /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FCC4711728DAA300D5E07F /* NSData+CommonCrypto.m */; };
224
+ C5FCC4781728DAA300D5E07F /* NSString+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FCC4731728DAA300D5E07F /* NSString+Base64.m */; };
210
225
  /* End PBXBuildFile section */
211
226
 
212
227
  /* Begin PBXContainerItemProxy section */
@@ -277,6 +292,28 @@
277
292
  C54DA6801714126000457BF3 /* NSString+InflectorKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+InflectorKit.m"; sourceTree = "<group>"; };
278
293
  C54DA6811714126000457BF3 /* TTTStringInflector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TTTStringInflector.h; sourceTree = "<group>"; };
279
294
  C54DA6821714126000457BF3 /* TTTStringInflector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TTTStringInflector.m; sourceTree = "<group>"; };
295
+ C5BD35821728B2A700509984 /* DCCrossHairView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCCrossHairView.h; sourceTree = "<group>"; };
296
+ C5BD35831728B2A700509984 /* DCCrossHairView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCCrossHairView.m; sourceTree = "<group>"; };
297
+ C5BD35841728B2A700509984 /* DCFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCFrameView.h; sourceTree = "<group>"; };
298
+ C5BD35851728B2A700509984 /* DCFrameView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCFrameView.m; sourceTree = "<group>"; };
299
+ C5BD35861728B2A700509984 /* DCIntrospect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospect.h; sourceTree = "<group>"; };
300
+ C5BD35871728B2A700509984 /* DCIntrospect.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCIntrospect.m; sourceTree = "<group>"; };
301
+ C5BD35881728B2A700509984 /* DCIntrospectSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospectSettings.h; sourceTree = "<group>"; };
302
+ C5BD35891728B2A700509984 /* DCStatusBarOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCStatusBarOverlay.h; sourceTree = "<group>"; };
303
+ C5BD358A1728B2A700509984 /* DCStatusBarOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCStatusBarOverlay.m; sourceTree = "<group>"; };
304
+ C5E068461728E4190056F1DD /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
305
+ C5E068A81728E6640056F1DD /* CustomBadge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomBadge.h; sourceTree = "<group>"; };
306
+ C5E068A91728E6640056F1DD /* CustomBadge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomBadge.m; sourceTree = "<group>"; };
307
+ C5E068AA1728E6640056F1DD /* MyLauncherItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyLauncherItem.h; sourceTree = "<group>"; };
308
+ C5E068AB1728E6640056F1DD /* MyLauncherItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyLauncherItem.m; sourceTree = "<group>"; };
309
+ C5E068AC1728E6640056F1DD /* MyLauncherPageControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyLauncherPageControl.h; sourceTree = "<group>"; };
310
+ C5E068AD1728E6640056F1DD /* MyLauncherPageControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyLauncherPageControl.m; sourceTree = "<group>"; };
311
+ C5E068AE1728E6640056F1DD /* MyLauncherScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyLauncherScrollView.h; sourceTree = "<group>"; };
312
+ C5E068AF1728E6640056F1DD /* MyLauncherScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyLauncherScrollView.m; sourceTree = "<group>"; };
313
+ C5E068B01728E6640056F1DD /* MyLauncherView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyLauncherView.h; sourceTree = "<group>"; };
314
+ C5E068B11728E6640056F1DD /* MyLauncherView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyLauncherView.m; sourceTree = "<group>"; };
315
+ C5E068B21728E6640056F1DD /* MyLauncherViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyLauncherViewController.h; sourceTree = "<group>"; };
316
+ C5E068B31728E6640056F1DD /* MyLauncherViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyLauncherViewController.m; sourceTree = "<group>"; };
280
317
  C5FAFCCA170B0EC300D83034 /* AwesomeMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AwesomeMenu.h; sourceTree = "<group>"; };
281
318
  C5FAFCCB170B0EC300D83034 /* AwesomeMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AwesomeMenu.m; sourceTree = "<group>"; };
282
319
  C5FAFCCC170B0EC300D83034 /* AwesomeMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AwesomeMenuItem.h; sourceTree = "<group>"; };
@@ -565,6 +602,14 @@
565
602
  C5FAFEB0170B1A9700D83034 /* TFHppleElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TFHppleElement.m; sourceTree = "<group>"; };
566
603
  C5FAFEB1170B1A9700D83034 /* XPathQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPathQuery.h; sourceTree = "<group>"; };
567
604
  C5FAFEB2170B1A9700D83034 /* XPathQuery.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPathQuery.m; sourceTree = "<group>"; };
605
+ C5FCC46C1728DAA300D5E07F /* AESCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AESCrypt.h; sourceTree = "<group>"; };
606
+ C5FCC46D1728DAA300D5E07F /* AESCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AESCrypt.m; sourceTree = "<group>"; };
607
+ C5FCC46E1728DAA300D5E07F /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = "<group>"; };
608
+ C5FCC46F1728DAA300D5E07F /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = "<group>"; };
609
+ C5FCC4701728DAA300D5E07F /* NSData+CommonCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+CommonCrypto.h"; sourceTree = "<group>"; };
610
+ C5FCC4711728DAA300D5E07F /* NSData+CommonCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+CommonCrypto.m"; sourceTree = "<group>"; };
611
+ C5FCC4721728DAA300D5E07F /* NSString+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Base64.h"; sourceTree = "<group>"; };
612
+ C5FCC4731728DAA300D5E07F /* NSString+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Base64.m"; sourceTree = "<group>"; };
568
613
  /* End PBXFileReference section */
569
614
 
570
615
  /* Begin PBXFrameworksBuildPhase section */
@@ -572,6 +617,7 @@
572
617
  isa = PBXFrameworksBuildPhase;
573
618
  buildActionMask = 2147483647;
574
619
  files = (
620
+ C5E068471728E4190056F1DD /* OpenAL.framework in Frameworks */,
575
621
  C52562981705AE2000AC76A2 /* libsqlite3.dylib in Frameworks */,
576
622
  C52562991705AE2000AC76A2 /* libxml2.dylib in Frameworks */,
577
623
  C525629A1705AE2000AC76A2 /* libz.dylib in Frameworks */,
@@ -644,6 +690,7 @@
644
690
  C52562951705AE2000AC76A2 /* libsqlite3.dylib */,
645
691
  C52562961705AE2000AC76A2 /* libxml2.dylib */,
646
692
  C52562971705AE2000AC76A2 /* libz.dylib */,
693
+ C5E068461728E4190056F1DD /* OpenAL.framework */,
647
694
  C54DA67317140B0B00457BF3 /* CoreFoundation.framework */,
648
695
  C52562691705ADF000AC76A2 /* Accelerate.framework */,
649
696
  C525626A1705ADF000AC76A2 /* AudioToolbox.framework */,
@@ -778,9 +825,45 @@
778
825
  path = InflectorKit;
779
826
  sourceTree = "<group>";
780
827
  };
828
+ C5BD35811728B2A700509984 /* DCIntrospect */ = {
829
+ isa = PBXGroup;
830
+ children = (
831
+ C5BD35821728B2A700509984 /* DCCrossHairView.h */,
832
+ C5BD35831728B2A700509984 /* DCCrossHairView.m */,
833
+ C5BD35841728B2A700509984 /* DCFrameView.h */,
834
+ C5BD35851728B2A700509984 /* DCFrameView.m */,
835
+ C5BD35861728B2A700509984 /* DCIntrospect.h */,
836
+ C5BD35871728B2A700509984 /* DCIntrospect.m */,
837
+ C5BD35881728B2A700509984 /* DCIntrospectSettings.h */,
838
+ C5BD35891728B2A700509984 /* DCStatusBarOverlay.h */,
839
+ C5BD358A1728B2A700509984 /* DCStatusBarOverlay.m */,
840
+ );
841
+ path = DCIntrospect;
842
+ sourceTree = "<group>";
843
+ };
844
+ C5E068A71728E6640056F1DD /* MyLauncher */ = {
845
+ isa = PBXGroup;
846
+ children = (
847
+ C5E068A81728E6640056F1DD /* CustomBadge.h */,
848
+ C5E068A91728E6640056F1DD /* CustomBadge.m */,
849
+ C5E068AA1728E6640056F1DD /* MyLauncherItem.h */,
850
+ C5E068AB1728E6640056F1DD /* MyLauncherItem.m */,
851
+ C5E068AC1728E6640056F1DD /* MyLauncherPageControl.h */,
852
+ C5E068AD1728E6640056F1DD /* MyLauncherPageControl.m */,
853
+ C5E068AE1728E6640056F1DD /* MyLauncherScrollView.h */,
854
+ C5E068AF1728E6640056F1DD /* MyLauncherScrollView.m */,
855
+ C5E068B01728E6640056F1DD /* MyLauncherView.h */,
856
+ C5E068B11728E6640056F1DD /* MyLauncherView.m */,
857
+ C5E068B21728E6640056F1DD /* MyLauncherViewController.h */,
858
+ C5E068B31728E6640056F1DD /* MyLauncherViewController.m */,
859
+ );
860
+ path = MyLauncher;
861
+ sourceTree = "<group>";
862
+ };
781
863
  C5FAFCC8170B0EC300D83034 /* components */ = {
782
864
  isa = PBXGroup;
783
865
  children = (
866
+ C5E068A71728E6640056F1DD /* MyLauncher */,
784
867
  C54DA67517140C7000457BF3 /* FXLabel */,
785
868
  C5FAFCC9170B0EC300D83034 /* AwesomeMenu */,
786
869
  C5FAFCDD170B0EC300D83034 /* CMPopTipView */,
@@ -1043,6 +1126,8 @@
1043
1126
  C5FAFD59170B0EC300D83034 /* toolkit */ = {
1044
1127
  isa = PBXGroup;
1045
1128
  children = (
1129
+ C5FCC46A1728DAA300D5E07F /* AESCrypt-ObjC */,
1130
+ C5BD35811728B2A700509984 /* DCIntrospect */,
1046
1131
  C5FAFEAC170B1A9700D83034 /* hpple */,
1047
1132
  C5FAFD5A170B0EC300D83034 /* CocoaAsyncSocket */,
1048
1133
  C5FAFD5D170B0EC300D83034 /* CocoaHTTPServer */,
@@ -1402,6 +1487,21 @@
1402
1487
  path = hpple;
1403
1488
  sourceTree = "<group>";
1404
1489
  };
1490
+ C5FCC46A1728DAA300D5E07F /* AESCrypt-ObjC */ = {
1491
+ isa = PBXGroup;
1492
+ children = (
1493
+ C5FCC46C1728DAA300D5E07F /* AESCrypt.h */,
1494
+ C5FCC46D1728DAA300D5E07F /* AESCrypt.m */,
1495
+ C5FCC46E1728DAA300D5E07F /* NSData+Base64.h */,
1496
+ C5FCC46F1728DAA300D5E07F /* NSData+Base64.m */,
1497
+ C5FCC4701728DAA300D5E07F /* NSData+CommonCrypto.h */,
1498
+ C5FCC4711728DAA300D5E07F /* NSData+CommonCrypto.m */,
1499
+ C5FCC4721728DAA300D5E07F /* NSString+Base64.h */,
1500
+ C5FCC4731728DAA300D5E07F /* NSString+Base64.m */,
1501
+ );
1502
+ path = "AESCrypt-ObjC";
1503
+ sourceTree = "<group>";
1504
+ };
1405
1505
  /* End PBXGroup section */
1406
1506
 
1407
1507
  /* Begin PBXNativeTarget section */
@@ -1671,6 +1771,20 @@
1671
1771
  C54DA6841714126000457BF3 /* AFRESTClient.m in Sources */,
1672
1772
  C54DA6851714126000457BF3 /* NSString+InflectorKit.m in Sources */,
1673
1773
  C54DA6861714126000457BF3 /* TTTStringInflector.m in Sources */,
1774
+ C5BD358B1728B2A700509984 /* DCCrossHairView.m in Sources */,
1775
+ C5BD358C1728B2A700509984 /* DCFrameView.m in Sources */,
1776
+ C5BD358D1728B2A700509984 /* DCIntrospect.m in Sources */,
1777
+ C5BD358E1728B2A700509984 /* DCStatusBarOverlay.m in Sources */,
1778
+ C5FCC4751728DAA300D5E07F /* AESCrypt.m in Sources */,
1779
+ C5FCC4761728DAA300D5E07F /* NSData+Base64.m in Sources */,
1780
+ C5FCC4771728DAA300D5E07F /* NSData+CommonCrypto.m in Sources */,
1781
+ C5FCC4781728DAA300D5E07F /* NSString+Base64.m in Sources */,
1782
+ C5E068B41728E6640056F1DD /* CustomBadge.m in Sources */,
1783
+ C5E068B51728E6640056F1DD /* MyLauncherItem.m in Sources */,
1784
+ C5E068B61728E6640056F1DD /* MyLauncherPageControl.m in Sources */,
1785
+ C5E068B71728E6640056F1DD /* MyLauncherScrollView.m in Sources */,
1786
+ C5E068B81728E6640056F1DD /* MyLauncherView.m in Sources */,
1787
+ C5E068B91728E6640056F1DD /* MyLauncherViewController.m in Sources */,
1674
1788
  );
1675
1789
  runOnlyForDeploymentPostprocessing = 0;
1676
1790
  };
@@ -7,6 +7,7 @@
7
7
  //
8
8
 
9
9
  #import "AppDelegate.h"
10
+ #import "DCIntrospect.h"
10
11
 
11
12
  @implementation AppDelegate
12
13
 
@@ -23,10 +24,21 @@ static const int ddLogLevel = LOG_LEVEL_VERBOSE;
23
24
 
24
25
  DDLogVerbose(@"Start App");
25
26
  DLog(@"didFinishLaunching...");
27
+
26
28
  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
27
- // Override point for customization after application launch.
28
29
  self.window.backgroundColor = [UIColor whiteColor];
29
30
  [self.window makeKeyAndVisible];
31
+
32
+ // press space bar to toggle debug state
33
+ // press '?' to show help
34
+ // press 'o' to show outline
35
+ // press 'O' to show background
36
+ // press 'p' to show view properties
37
+
38
+ #if TARGET_IPHONE_SIMULATOR
39
+ [[DCIntrospect sharedIntrospector] start];
40
+ #endif
41
+
30
42
  return YES;
31
43
  }
32
44
 
@@ -0,0 +1,52 @@
1
+ /*
2
+ CustomBadge.h
3
+
4
+ *** Description: ***
5
+ With this class you can draw a typical iOS badge indicator with a custom text on any view.
6
+ Please use the allocator customBadgeWithString the create a new badge.
7
+ In this version you can modfiy the color inside the badge (insetColor),
8
+ the color of the frame (frameColor), the color of the text and you can
9
+ tell the class if you want a frame around the badge.
10
+
11
+ *** License & Copyright ***
12
+ Created by Sascha Marc Paulus www.spaulus.com on 04/2011. Version 2.0
13
+ This tiny class can be used for free in private and commercial applications.
14
+ Please feel free to modify, extend or distribution this class.
15
+ If you modify it: Please send me your modified version of the class.
16
+ A commercial distribution of this class is not allowed.
17
+
18
+ If you have any questions please feel free to contact me (open@spaulus.com).
19
+ */
20
+
21
+
22
+ #import <UIKit/UIKit.h>
23
+ #import <QuartzCore/QuartzCore.h>
24
+
25
+ @interface CustomBadge : UIView {
26
+
27
+ NSString *badgeText;
28
+ UIColor *badgeTextColor;
29
+ UIColor *badgeInsetColor;
30
+ UIColor *badgeFrameColor;
31
+ BOOL badgeFrame;
32
+ BOOL badgeShining;
33
+ CGFloat badgeCornerRoundness;
34
+ CGFloat badgeScaleFactor;
35
+ }
36
+
37
+ @property(nonatomic,strong) NSString *badgeText;
38
+ @property(nonatomic,strong) UIColor *badgeTextColor;
39
+ @property(nonatomic,strong) UIColor *badgeInsetColor;
40
+ @property(nonatomic,strong) UIColor *badgeFrameColor;
41
+
42
+ @property(nonatomic,readwrite) BOOL badgeFrame;
43
+ @property(nonatomic,readwrite) BOOL badgeShining;
44
+
45
+ @property(nonatomic,readwrite) CGFloat badgeCornerRoundness;
46
+ @property(nonatomic,readwrite) CGFloat badgeScaleFactor;
47
+
48
+ + (CustomBadge*) customBadgeWithString:(NSString *)badgeString;
49
+ + (CustomBadge*) customBadgeWithString:(NSString *)badgeString withStringColor:(UIColor*)stringColor withInsetColor:(UIColor*)insetColor withBadgeFrame:(BOOL)badgeFrameYesNo withBadgeFrameColor:(UIColor*)frameColor withScale:(CGFloat)scale withShining:(BOOL)shining;
50
+ - (void) autoBadgeSizeWithString:(NSString *)badgeString;
51
+
52
+ @end
@@ -0,0 +1,241 @@
1
+ /*
2
+ CustomBadge.m
3
+
4
+ *** Description: ***
5
+ With this class you can draw a typical iOS badge indicator with a custom text on any view.
6
+ Please use the allocator customBadgeWithString the create a new badge.
7
+ In this version you can modfiy the color inside the badge (insetColor),
8
+ the color of the frame (frameColor), the color of the text and you can
9
+ tell the class if you want a frame around the badge.
10
+
11
+ *** License & Copyright ***
12
+ Created by Sascha Marc Paulus www.spaulus.com on 04/2011. Version 2.0
13
+ This tiny class can be used for free in private and commercial applications.
14
+ Please feel free to modify, extend or distribution this class.
15
+ If you modify it: Please send me your modified version of the class.
16
+ A commercial distribution of this class is not allowed.
17
+
18
+ If you have any questions please feel free to contact me (open@spaulus.com).
19
+ */
20
+
21
+
22
+ #import "CustomBadge.h"
23
+
24
+ @interface CustomBadge()
25
+ - (void) drawRoundedRectWithContext:(CGContextRef)context withRect:(CGRect)rect;
26
+ - (void) drawFrameWithContext:(CGContextRef)context withRect:(CGRect)rect;
27
+ @end
28
+
29
+ @implementation CustomBadge
30
+
31
+ @synthesize badgeText;
32
+ @synthesize badgeTextColor;
33
+ @synthesize badgeInsetColor;
34
+ @synthesize badgeFrameColor;
35
+ @synthesize badgeFrame;
36
+ @synthesize badgeCornerRoundness;
37
+ @synthesize badgeScaleFactor;
38
+ @synthesize badgeShining;
39
+
40
+ // I recommend to use the allocator customBadgeWithString
41
+ - (id) initWithString:(NSString *)badgeString withScale:(CGFloat)scale withShining:(BOOL)shining
42
+ {
43
+ self = [super initWithFrame:CGRectMake(0, 0, 25, 25)];
44
+ if(self!=nil) {
45
+ self.contentScaleFactor = [[UIScreen mainScreen] scale];
46
+ self.backgroundColor = [UIColor clearColor];
47
+ self.badgeText = badgeString;
48
+ self.badgeTextColor = [UIColor whiteColor];
49
+ self.badgeFrame = YES;
50
+ self.badgeFrameColor = [UIColor whiteColor];
51
+ self.badgeInsetColor = [UIColor redColor];
52
+ self.badgeCornerRoundness = 0.4;
53
+ self.badgeScaleFactor = scale;
54
+ self.badgeShining = shining;
55
+ [self autoBadgeSizeWithString:badgeString];
56
+ }
57
+ return self;
58
+ }
59
+
60
+ // I recommend to use the allocator customBadgeWithString
61
+ - (id) initWithString:(NSString *)badgeString withStringColor:(UIColor*)stringColor withInsetColor:(UIColor*)insetColor withBadgeFrame:(BOOL)badgeFrameYesNo withBadgeFrameColor:(UIColor*)frameColor withScale:(CGFloat)scale withShining:(BOOL)shining
62
+ {
63
+ self = [super initWithFrame:CGRectMake(0, 0, 25, 25)];
64
+ if(self!=nil) {
65
+ self.contentScaleFactor = [[UIScreen mainScreen] scale];
66
+ self.backgroundColor = [UIColor clearColor];
67
+ self.badgeText = badgeString;
68
+ self.badgeTextColor = stringColor;
69
+ self.badgeFrame = badgeFrameYesNo;
70
+ self.badgeFrameColor = frameColor;
71
+ self.badgeInsetColor = insetColor;
72
+ self.badgeCornerRoundness = 0.40;
73
+ self.badgeScaleFactor = scale;
74
+ self.badgeShining = shining;
75
+ [self autoBadgeSizeWithString:badgeString];
76
+ }
77
+ return self;
78
+ }
79
+
80
+
81
+ // Use this method if you want to change the badge text after the first rendering
82
+ - (void) autoBadgeSizeWithString:(NSString *)badgeString
83
+ {
84
+ CGSize retValue;
85
+ CGFloat rectWidth, rectHeight;
86
+ CGSize stringSize = [badgeString sizeWithFont:[UIFont boldSystemFontOfSize:12]];
87
+ CGFloat flexSpace;
88
+ if ([badgeString length]>=2) {
89
+ flexSpace = [badgeString length];
90
+ rectWidth = 25 + (stringSize.width + flexSpace); rectHeight = 25;
91
+ retValue = CGSizeMake(rectWidth*badgeScaleFactor, rectHeight*badgeScaleFactor);
92
+ } else {
93
+ retValue = CGSizeMake(25*badgeScaleFactor, 25*badgeScaleFactor);
94
+ }
95
+ self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, retValue.width, retValue.height);
96
+ self.badgeText = badgeString;
97
+ [self setNeedsDisplay];
98
+ }
99
+
100
+
101
+ // Creates a Badge with a given Text
102
+ + (CustomBadge*) customBadgeWithString:(NSString *)badgeString
103
+ {
104
+ return [[self alloc] initWithString:badgeString withScale:1.0 withShining:YES];
105
+ }
106
+
107
+
108
+ // Creates a Badge with a given Text, Text Color, Inset Color, Frame (YES/NO) and Frame Color
109
+ + (CustomBadge*) customBadgeWithString:(NSString *)badgeString withStringColor:(UIColor*)stringColor withInsetColor:(UIColor*)insetColor withBadgeFrame:(BOOL)badgeFrameYesNo withBadgeFrameColor:(UIColor*)frameColor withScale:(CGFloat)scale withShining:(BOOL)shining
110
+ {
111
+ return [[self alloc] initWithString:badgeString withStringColor:stringColor withInsetColor:insetColor withBadgeFrame:badgeFrameYesNo withBadgeFrameColor:frameColor withScale:scale withShining:shining];
112
+ }
113
+
114
+
115
+
116
+
117
+
118
+ // Draws the Badge with Quartz
119
+ -(void) drawRoundedRectWithContext:(CGContextRef)context withRect:(CGRect)rect
120
+ {
121
+ CGContextSaveGState(context);
122
+
123
+ CGFloat radius = CGRectGetMaxY(rect)*self.badgeCornerRoundness;
124
+ CGFloat puffer = CGRectGetMaxY(rect)*0.10;
125
+ CGFloat maxX = CGRectGetMaxX(rect) - puffer;
126
+ CGFloat maxY = CGRectGetMaxY(rect) - puffer;
127
+ CGFloat minX = CGRectGetMinX(rect) + puffer;
128
+ CGFloat minY = CGRectGetMinY(rect) + puffer;
129
+
130
+ CGContextBeginPath(context);
131
+ CGContextSetFillColorWithColor(context, [self.badgeInsetColor CGColor]);
132
+ CGContextAddArc(context, maxX-radius, minY+radius, radius, M_PI+(M_PI/2), 0, 0);
133
+ CGContextAddArc(context, maxX-radius, maxY-radius, radius, 0, M_PI/2, 0);
134
+ CGContextAddArc(context, minX+radius, maxY-radius, radius, M_PI/2, M_PI, 0);
135
+ CGContextAddArc(context, minX+radius, minY+radius, radius, M_PI, M_PI+M_PI/2, 0);
136
+ CGContextSetShadowWithColor(context, CGSizeMake(1.0,1.0), 3, [[UIColor blackColor] CGColor]);
137
+ CGContextClosePath(context);
138
+ CGContextFillPath(context);
139
+
140
+ CGContextRestoreGState(context);
141
+
142
+ }
143
+
144
+ // Draws the Badge Shine with Quartz
145
+ -(void) drawShineWithContext:(CGContextRef)context withRect:(CGRect)rect
146
+ {
147
+ CGContextSaveGState(context);
148
+
149
+ CGFloat radius = CGRectGetMaxY(rect)*self.badgeCornerRoundness;
150
+ CGFloat puffer = CGRectGetMaxY(rect)*0.10;
151
+ CGFloat maxX = CGRectGetMaxX(rect) - puffer;
152
+ CGFloat maxY = CGRectGetMaxY(rect) - puffer;
153
+ CGFloat minX = CGRectGetMinX(rect) + puffer;
154
+ CGFloat minY = CGRectGetMinY(rect) + puffer;
155
+ CGContextBeginPath(context);
156
+ CGContextAddArc(context, maxX-radius, minY+radius, radius, M_PI+(M_PI/2), 0, 0);
157
+ CGContextAddArc(context, maxX-radius, maxY-radius, radius, 0, M_PI/2, 0);
158
+ CGContextAddArc(context, minX+radius, maxY-radius, radius, M_PI/2, M_PI, 0);
159
+ CGContextAddArc(context, minX+radius, minY+radius, radius, M_PI, M_PI+M_PI/2, 0);
160
+ CGContextClip(context);
161
+ //CGContextClosePath(context);
162
+
163
+
164
+ size_t num_locations = 2;
165
+ CGFloat locations[2] = { 0.0, 0.4 };
166
+ CGFloat components[8] = { 0.92, 0.92, 0.92, 1.0, 0.82, 0.82, 0.82, 0.4 };
167
+
168
+ CGColorSpaceRef cspace;
169
+ CGGradientRef gradient;
170
+ cspace = CGColorSpaceCreateDeviceRGB();
171
+ gradient = CGGradientCreateWithColorComponents (cspace, components, locations, num_locations);
172
+
173
+ CGPoint sPoint, ePoint;
174
+ sPoint.x = 0;
175
+ sPoint.y = 0;
176
+ ePoint.x = 0;
177
+ ePoint.y = maxY;
178
+ CGContextDrawLinearGradient (context, gradient, sPoint, ePoint, 0);
179
+
180
+ CGColorSpaceRelease(cspace);
181
+ CGGradientRelease(gradient);
182
+
183
+ CGContextRestoreGState(context);
184
+ }
185
+
186
+
187
+ // Draws the Badge Frame with Quartz
188
+ -(void) drawFrameWithContext:(CGContextRef)context withRect:(CGRect)rect
189
+ {
190
+ CGFloat radius = CGRectGetMaxY(rect)*self.badgeCornerRoundness;
191
+ CGFloat puffer = CGRectGetMaxY(rect)*0.10;
192
+
193
+ CGFloat maxX = CGRectGetMaxX(rect) - puffer;
194
+ CGFloat maxY = CGRectGetMaxY(rect) - puffer;
195
+ CGFloat minX = CGRectGetMinX(rect) + puffer;
196
+ CGFloat minY = CGRectGetMinY(rect) + puffer;
197
+
198
+
199
+ CGContextBeginPath(context);
200
+ CGFloat lineSize = 2;
201
+ if(self.badgeScaleFactor>1) {
202
+ lineSize += self.badgeScaleFactor*0.25;
203
+ }
204
+ CGContextSetLineWidth(context, lineSize);
205
+ CGContextSetStrokeColorWithColor(context, [self.badgeFrameColor CGColor]);
206
+ CGContextAddArc(context, maxX-radius, minY+radius, radius, M_PI+(M_PI/2), 0, 0);
207
+ CGContextAddArc(context, maxX-radius, maxY-radius, radius, 0, M_PI/2, 0);
208
+ CGContextAddArc(context, minX+radius, maxY-radius, radius, M_PI/2, M_PI, 0);
209
+ CGContextAddArc(context, minX+radius, minY+radius, radius, M_PI, M_PI+M_PI/2, 0);
210
+ CGContextClosePath(context);
211
+ CGContextStrokePath(context);
212
+ }
213
+
214
+
215
+ - (void)drawRect:(CGRect)rect {
216
+
217
+ CGContextRef context = UIGraphicsGetCurrentContext();
218
+ [self drawRoundedRectWithContext:context withRect:rect];
219
+
220
+ if(self.badgeShining) {
221
+ [self drawShineWithContext:context withRect:rect];
222
+ }
223
+
224
+ if (self.badgeFrame) {
225
+ [self drawFrameWithContext:context withRect:rect];
226
+ }
227
+
228
+ if ([self.badgeText length]>0) {
229
+ [badgeTextColor set];
230
+ CGFloat sizeOfFont = 13.5*badgeScaleFactor;
231
+ if ([self.badgeText length]<2) {
232
+ sizeOfFont += sizeOfFont*0.20;
233
+ }
234
+ UIFont *textFont = [UIFont boldSystemFontOfSize:sizeOfFont];
235
+ CGSize textSize = [self.badgeText sizeWithFont:textFont];
236
+ [self.badgeText drawAtPoint:CGPointMake((rect.size.width/2-textSize.width/2), (rect.size.height/2-textSize.height/2)) withFont:textFont];
237
+ }
238
+
239
+ }
240
+
241
+ @end