Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Initial commit

  • Loading branch information...
commit 0cb36994d9209e23da85f50168eb7d9d0eed18dc 1 parent 5827c26
@alexrozanski alexrozanski authored
View
19 Classes/AppDelegate.h
@@ -0,0 +1,19 @@
+//
+// PXListViewAppDelegate.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#import "PXListView.h"
+
+@interface AppDelegate : NSObject <NSApplicationDelegate, PXListViewDelegate> {
+ IBOutlet NSWindow *window;
+
+ NSMutableArray *_listItems;
+}
+
+@end
View
52 Classes/AppDelegate.m
@@ -0,0 +1,52 @@
+//
+// AppDelegate.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import "AppDelegate.h"
+
+#import "MyListViewCell.h"
+
+@implementation AppDelegate
+
+#pragma mark -
+#pragma mark Init/Dealloc
+
+- (void)awakeFromNib
+{
+ _listItems = [[NSMutableArray alloc] init];
+
+ [_listItems addObject:@"Hello1"];
+ [_listItems addObject:@"Hello2"];
+ [_listItems addObject:@"Hello3"];
+}
+
+- (void)dealloc
+{
+ [_listItems release];
+ [super dealloc];
+}
+
+#pragma mark -
+#pragma mark List View Delegate Methods
+
+- (NSInteger)numberOfRowsInListView:(PXListView*)aListView
+{
+ return [_listItems count];
+}
+
+- (PXListViewCell*)listView:(PXListView*)aListView cellForRow:(NSInteger)row
+{
+ PXListViewCell *cell = [aListView dequeueCellWithReusableIdentifier:@"MyListViewCell"];
+
+ if(!cell) {
+ cell = [[MyListViewCell alloc] initWithReusableIdentifier:@"MyListViewCell"];
+ }
+
+ return cell;
+}
+
+@end
View
17 Classes/MyListViewCell.h
@@ -0,0 +1,17 @@
+//
+// MyListViewCell.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#import "PXListViewCell.h"
+
+@interface MyListViewCell : PXListViewCell {
+ NSTextField *titleLabel;
+}
+
+@end
View
36 Classes/MyListViewCell.m
@@ -0,0 +1,36 @@
+//
+// MyListViewCell.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import "MyListViewCell.h"
+
+
+@implementation MyListViewCell
+
+#pragma mark -
+#pragma mark Init/Dealloc
+
+- (id)initWithReusableIdentifier:(NSString*)identifier
+{
+ if(self = [super initWithReusableIdentifier:identifier]) {
+ titleLabel = [[NSTextField alloc] initWithFrame:[self frame]];
+ [titleLabel setStringValue:@"Hello"];
+ [titleLabel setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
+ [self addSubview:titleLabel];
+ [titleLabel release];
+ }
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [titleLabel removeFromSuperview];
+ [super dealloc];
+}
+
+@end
View
16 Classes/PXListClipView.h
@@ -0,0 +1,16 @@
+//
+// PXListClipView.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface PXListClipView : NSClipView {
+
+}
+
+@end
View
14 Classes/PXListClipView.m
@@ -0,0 +1,14 @@
+//
+// PXListClipView.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import "PXListClipView.h"
+
+
+@implementation PXListClipView
+
+@end
View
16 Classes/PXListDocumentView.h
@@ -0,0 +1,16 @@
+//
+// PXListDocumentView.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface PXListDocumentView : NSView {
+
+}
+
+@end
View
19 Classes/PXListDocumentView.m
@@ -0,0 +1,19 @@
+//
+// PXListDocumentView.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import "PXListDocumentView.h"
+
+
+@implementation PXListDocumentView
+
+- (BOOL)isFlipped
+{
+ return YES;
+}
+
+@end
View
29 Classes/PXListView.h
@@ -0,0 +1,29 @@
+//
+// PXListView.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+#import "PXListViewDelegate.h"
+#import "PXListViewCell.h"
+
+@interface PXListView : NSScrollView {
+ id <PXListViewDelegate> _delegate;
+
+ NSMutableArray *_reusableCells;
+
+ NSInteger _numberOfRows;
+ NSInteger _selectedRow;
+}
+
+@property (readwrite, assign) id <PXListViewDelegate> delegate;
+
+- (void)reloadData;
+
+- (PXListViewCell*)dequeueCellWithReusableIdentifier:(NSString*)identifier;
+
+@end
View
60 Classes/PXListView.m
@@ -0,0 +1,60 @@
+//
+// PXListView.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import "PXListView.h"
+
+#import "PXListViewCell.h"
+
+
+@implementation PXListView
+
+@synthesize delegate = _delegate;
+
+#pragma mark -
+#pragma mark Init/Dealloc
+
+- (id)initWithFrame:(NSRect)frameRect
+{
+ if(self = [super initWithFrame:frameRect]) {
+ _reusableCells = [[NSMutableArray alloc] init];
+ }
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [_reusableCells release];
+ [super dealloc];
+}
+
+#pragma mark -
+#pragma mark Data Handling
+
+- (void)reloadData
+{
+}
+
+#pragma mark -
+#pragma mark Cell Handling
+
+- (PXListViewCell*)dequeueCellWithReusableIdentifier:(NSString*)identifier
+{
+ PXListViewCell *dequeuedCell = nil;
+
+ for(id cell in _reusableCells) {
+ if([[cell reusableIdentifier] isEqual:identifier]) {
+ dequeuedCell = cell;
+ break;
+ }
+ }
+
+ return dequeuedCell;
+}
+
+@end
View
26 Classes/PXListViewCell.h
@@ -0,0 +1,26 @@
+//
+// PXListViewCell.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@class PXListView;
+
+@interface PXListViewCell : NSView {
+ NSString *_reusableIdentifier;
+
+ PXListView *_listView;
+ NSInteger _row;
+}
+
+@property (assign) PXListView *listView;
+@property (readonly) NSString *reusableIdentifier;
+@property (readonly) NSInteger row;
+
+- (id)initWithReusableIdentifier:(NSString*)identifier;
+
+@end
View
41 Classes/PXListViewCell.m
@@ -0,0 +1,41 @@
+//
+// PXListViewCell.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import "PXListViewCell.h"
+
+@interface PXListViewCell ()
+@property (readwrite) NSInteger row;
+@end
+
+#pragma mark -
+
+@implementation PXListViewCell
+
+@synthesize reusableIdentifier = _reusableIdentifier;
+@synthesize listView = _listView;
+@synthesize row = _row;
+
+#pragma mark -
+#pragma mark Init/Dealloc
+
+- (id)initWithReusableIdentifier:(NSString*)identifier
+{
+ if(self = [super initWithFrame:NSZeroRect]) {
+ _reusableIdentifier = [identifier copy];
+ }
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [_reusableIdentifier release];
+ [super dealloc];
+}
+
+@end
View
19 Classes/PXListViewDelegate.h
@@ -0,0 +1,19 @@
+//
+// PXListViewDelegate.h
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@class PXListView, PXListViewCell;
+
+@protocol PXListViewDelegate
+
+@required
+- (NSInteger)numberOfRowsInListView:(PXListView*)aListView;
+- (PXListViewCell*)listView:(PXListView*)aListView cellForRow:(NSInteger)row;
+
+@end
View
330 PXListView.xcodeproj/project.pbxproj
@@ -0,0 +1,330 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ D26669CB11B1B2F1007597F1 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D26669CA11B1B2F1007597F1 /* AppDelegate.m */; };
+ D26669D211B1B302007597F1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D26669CE11B1B302007597F1 /* InfoPlist.strings */; };
+ D26669D311B1B302007597F1 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D26669D011B1B302007597F1 /* MainMenu.xib */; };
+ D27858D211B1B5EA00F1CF30 /* PXListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D27858D111B1B5EA00F1CF30 /* PXListView.m */; };
+ D27858D511B1B5FC00F1CF30 /* PXListViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D27858D411B1B5FC00F1CF30 /* PXListViewCell.m */; };
+ D278591E11B1BA4E00F1CF30 /* PXListClipView.m in Sources */ = {isa = PBXBuildFile; fileRef = D278591D11B1BA4E00F1CF30 /* PXListClipView.m */; };
+ D278592411B1BA6C00F1CF30 /* PXListDocumentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D278592311B1BA6C00F1CF30 /* PXListDocumentView.m */; };
+ D278597011B1BBE800F1CF30 /* MyListViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D278596F11B1BBE800F1CF30 /* MyListViewCell.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
+ 256AC3F00F4B6AF500CF3369 /* PXListView_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PXListView_Prefix.pch; sourceTree = "<group>"; };
+ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+ 8D1107320486CEB800E47090 /* PXListView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PXListView.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ D26669C911B1B2F1007597F1 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Classes/AppDelegate.h; sourceTree = "<group>"; };
+ D26669CA11B1B2F1007597F1 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Classes/AppDelegate.m; sourceTree = "<group>"; };
+ D26669CC11B1B2F8007597F1 /* PXListView-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "PXListView-Info.plist"; path = "Resources/PXListView-Info.plist"; sourceTree = "<group>"; };
+ D26669CF11B1B302007597F1 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = Resources/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ D26669D111B1B302007597F1 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/MainMenu.xib; sourceTree = "<group>"; };
+ D27858D011B1B5EA00F1CF30 /* PXListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXListView.h; path = Classes/PXListView.h; sourceTree = "<group>"; };
+ D27858D111B1B5EA00F1CF30 /* PXListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PXListView.m; path = Classes/PXListView.m; sourceTree = "<group>"; };
+ D27858D311B1B5FC00F1CF30 /* PXListViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXListViewCell.h; path = Classes/PXListViewCell.h; sourceTree = "<group>"; };
+ D27858D411B1B5FC00F1CF30 /* PXListViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PXListViewCell.m; path = Classes/PXListViewCell.m; sourceTree = "<group>"; };
+ D27858D711B1B6D400F1CF30 /* PXListViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXListViewDelegate.h; path = Classes/PXListViewDelegate.h; sourceTree = "<group>"; };
+ D278591C11B1BA4E00F1CF30 /* PXListClipView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXListClipView.h; path = Classes/PXListClipView.h; sourceTree = "<group>"; };
+ D278591D11B1BA4E00F1CF30 /* PXListClipView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PXListClipView.m; path = Classes/PXListClipView.m; sourceTree = "<group>"; };
+ D278592211B1BA6C00F1CF30 /* PXListDocumentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXListDocumentView.h; path = Classes/PXListDocumentView.h; sourceTree = "<group>"; };
+ D278592311B1BA6C00F1CF30 /* PXListDocumentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PXListDocumentView.m; path = Classes/PXListDocumentView.m; sourceTree = "<group>"; };
+ D278596E11B1BBE800F1CF30 /* MyListViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyListViewCell.h; path = Classes/MyListViewCell.h; sourceTree = "<group>"; };
+ D278596F11B1BBE800F1CF30 /* MyListViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyListViewCell.m; path = Classes/MyListViewCell.m; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ D26669C911B1B2F1007597F1 /* AppDelegate.h */,
+ D26669CA11B1B2F1007597F1 /* AppDelegate.m */,
+ D278596E11B1BBE800F1CF30 /* MyListViewCell.h */,
+ D278596F11B1BBE800F1CF30 /* MyListViewCell.m */,
+ D27858D611B1B5FF00F1CF30 /* PXListView */,
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+ );
+ name = "Linked Frameworks";
+ sourceTree = "<group>";
+ };
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
+ 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
+ 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
+ );
+ name = "Other Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* PXListView.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* PXListView */ = {
+ isa = PBXGroup;
+ children = (
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = PXListView;
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 256AC3F00F4B6AF500CF3369 /* PXListView_Prefix.pch */,
+ 29B97316FDCFA39411CA2CEA /* main.m */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ D26669CC11B1B2F8007597F1 /* PXListView-Info.plist */,
+ D26669CE11B1B302007597F1 /* InfoPlist.strings */,
+ D26669D011B1B302007597F1 /* MainMenu.xib */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ D27858D611B1B5FF00F1CF30 /* PXListView */ = {
+ isa = PBXGroup;
+ children = (
+ D27858D011B1B5EA00F1CF30 /* PXListView.h */,
+ D27858D111B1B5EA00F1CF30 /* PXListView.m */,
+ D27858D711B1B6D400F1CF30 /* PXListViewDelegate.h */,
+ D27858D311B1B5FC00F1CF30 /* PXListViewCell.h */,
+ D27858D411B1B5FC00F1CF30 /* PXListViewCell.m */,
+ D278592911B1BA7900F1CF30 /* Private */,
+ );
+ name = PXListView;
+ sourceTree = "<group>";
+ };
+ D278592911B1BA7900F1CF30 /* Private */ = {
+ isa = PBXGroup;
+ children = (
+ D278591C11B1BA4E00F1CF30 /* PXListClipView.h */,
+ D278591D11B1BA4E00F1CF30 /* PXListClipView.m */,
+ D278592211B1BA6C00F1CF30 /* PXListDocumentView.h */,
+ D278592311B1BA6C00F1CF30 /* PXListDocumentView.m */,
+ );
+ name = Private;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* PXListView */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXListView" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = PXListView;
+ productInstallPath = "$(HOME)/Applications";
+ productName = PXListView;
+ productReference = 8D1107320486CEB800E47090 /* PXListView.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "PXListView" */;
+ compatibilityVersion = "Xcode 3.1";
+ hasScannedForEncodings = 1;
+ mainGroup = 29B97314FDCFA39411CA2CEA /* PXListView */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* PXListView */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D26669D211B1B302007597F1 /* InfoPlist.strings in Resources */,
+ D26669D311B1B302007597F1 /* MainMenu.xib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072D0486CEB800E47090 /* main.m in Sources */,
+ D26669CB11B1B2F1007597F1 /* AppDelegate.m in Sources */,
+ D27858D211B1B5EA00F1CF30 /* PXListView.m in Sources */,
+ D27858D511B1B5FC00F1CF30 /* PXListViewCell.m in Sources */,
+ D278591E11B1BA4E00F1CF30 /* PXListClipView.m in Sources */,
+ D278592411B1BA6C00F1CF30 /* PXListDocumentView.m in Sources */,
+ D278597011B1BBE800F1CF30 /* MyListViewCell.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ D26669CE11B1B302007597F1 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ D26669CF11B1B302007597F1 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ D26669D011B1B302007597F1 /* MainMenu.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ D26669D111B1B302007597F1 /* English */,
+ );
+ name = MainMenu.xib;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = PXListView_Prefix.pch;
+ INFOPLIST_FILE = "Resources/PXListView-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = PXListView;
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = PXListView_Prefix.pch;
+ INFOPLIST_FILE = "PXListView-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = PXListView;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PREBINDING = NO;
+ SDKROOT = macosx10.6;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = macosx10.6;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXListView" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "PXListView" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
View
7 PXListView_Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'PXListView' target in the 'PXListView' project
+//
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
View
2  Resources/English.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
4,285 Resources/English.lproj/MainMenu.xib
4,285 additions, 0 deletions not shown
View
32 Resources/PXListView-Info.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>${MACOSX_DEPLOYMENT_TARGET}</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
View
14 main.m
@@ -0,0 +1,14 @@
+//
+// main.m
+// PXListView
+//
+// Created by Alex Rozanski on 29/05/2010.
+// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+int main(int argc, char *argv[])
+{
+ return NSApplicationMain(argc, (const char **) argv);
+}
Please sign in to comment.
Something went wrong with that request. Please try again.