Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Fix #14, add .framework target, fix warnings #16

Open
wants to merge 14 commits into from
This page is out of date. Refresh to see the latest.
View
12 Classes/AppDelegate.m
@@ -14,7 +14,7 @@
#pragma mark Constants
#define LISTVIEW_CELL_IDENTIFIER @"MyListViewCell"
-#define NUM_EXAMPLE_ITEMS 10
+#define NUM_EXAMPLE_ITEMS 1000
@implementation AppDelegate
@@ -74,11 +74,14 @@ - (PXListViewCell*)listView:(PXListView*)aListView cellForRow:(NSUInteger)row
- (CGFloat)listView:(PXListView*)aListView heightOfRow:(NSUInteger)row
{
+#pragma unused(aListView)
+#pragma unused(row)
return 50;
}
- (void)listViewSelectionDidChange:(NSNotification*)aNotification
{
+#pragma unused(aNotification)
NSLog(@"Selection changed");
}
@@ -86,6 +89,8 @@ - (void)listViewSelectionDidChange:(NSNotification*)aNotification
// The following are only needed for drag'n drop:
- (BOOL)listView:(PXListView*)aListView writeRowsWithIndexes:(NSIndexSet*)rowIndexes toPasteboard:(NSPasteboard*)dragPasteboard
{
+#pragma unused(aListView)
+#pragma unused(rowIndexes)
// +++ Actually drag the items, not just dummy data.
[dragPasteboard declareTypes: [NSArray arrayWithObjects: NSStringPboardType, nil] owner: self];
[dragPasteboard setString: @"Just Testing" forType: NSStringPboardType];
@@ -96,11 +101,16 @@ - (BOOL)listView:(PXListView*)aListView writeRowsWithIndexes:(NSIndexSet*)rowInd
- (NSDragOperation)listView:(PXListView*)aListView validateDrop:(id <NSDraggingInfo>)info proposedRow:(NSUInteger)row
proposedDropHighlight:(PXListViewDropHighlight)dropHighlight;
{
+#pragma unused(aListView)
+#pragma unused(dropHighlight)
+#pragma unused(info)
+#pragma unused(row)
return NSDragOperationCopy;
}
- (IBAction) reloadTable:(id)sender
{
+#pragma unused(sender)
[listView reloadData];
}
View
1  Classes/MyListViewCell.m
@@ -47,6 +47,7 @@ - (void)prepareForReuse
- (void)drawRect:(NSRect)dirtyRect
{
+#pragma unused(dirtyRect)
if([self isSelected]) {
[[NSColor selectedControlColor] set];
}
View
2  Classes/PXListDocumentView.h
@@ -19,7 +19,7 @@
}
@property (assign) PXListView *listView;
-@property (assign) PXListViewDropHighlight dropHighlight;
+@property (assign,nonatomic) PXListViewDropHighlight dropHighlight;
-(void) setDropHighlight: (PXListViewDropHighlight)inState;
View
9 Classes/PXListView+Private.h
@@ -6,6 +6,13 @@
// Copyright 2010 Alex Rozanski. http://perspx.com. All rights reserved.
//
+// Apple sadly doesn't provide CGFloat variants of these:
+#if CGFLOAT_IS_DOUBLE
+#define CGFLOATABS(n) fabs(n)
+#else
+#define CGFLOATABS(n) fabsf(n)
+#endif
+
// This is a renamed copy of UKIsDragStart from <http://github.com/uliwitness/UliKit>:
// Possible return values from UKIsDragStart:
enum
@@ -40,4 +47,6 @@ typedef NSInteger PXIsDragStartResult;
- (void)contentViewBoundsDidChange:(NSNotification*)notification;
-(void)layoutCellsForResizeEvent;
+- (void)windowSizing:(NSNotification *)inNot;
+
@end
View
23 Classes/PXListView+UserInteraction.m
@@ -11,13 +11,6 @@
#import "PXListView+UserInteraction.h"
#import "PXListView+Private.h"
-// Apple sadly doesn't provide CGFloat variants of these:
-#if CGFLOAT_IS_DOUBLE
-#define CGFLOATABS(n) fabs(n)
-#else
-#define CGFLOATABS(n) fabsf(n)
-#endif
-
// This is a renamed copy of UKIsDragStart from <http://github.com/uliwitness/UliKit>:
static PXIsDragStartResult PXIsDragStart( NSEvent *startEvent, NSTimeInterval theTimeout )
{
@@ -31,7 +24,7 @@ static PXIsDragStartResult PXIsDragStart( NSEvent *startEvent, NSTimeInterval th
NSAutoreleasePool *pool = nil;
while( ([expireTime timeIntervalSinceReferenceDate] -[NSDate timeIntervalSinceReferenceDate]) > 0 )
{
- [pool release];
+ [pool drain];
pool = [[NSAutoreleasePool alloc] init];
NSEvent* currEvent = [NSApp nextEventMatchingMask: NSLeftMouseUpMask | NSRightMouseUpMask | NSOtherMouseUpMask
@@ -45,7 +38,7 @@ static PXIsDragStartResult PXIsDragStart( NSEvent *startEvent, NSTimeInterval th
case NSRightMouseUp:
case NSOtherMouseUp:
{
- [pool release];
+ [pool drain];
return PXIsDragStartMouseReleased; // Mouse released within the wait time.
break;
}
@@ -59,7 +52,7 @@ static PXIsDragStartResult PXIsDragStart( NSEvent *startEvent, NSTimeInterval th
CGFloat yMouseMovement = CGFLOATABS(newPos.y -startPos.y);
if( xMouseMovement > 2 or yMouseMovement > 2 )
{
- [pool release];
+ [pool drain];
return (xMouseMovement > yMouseMovement) ? PXIsDragStartMouseMovedHorizontally : PXIsDragStartMouseMovedVertically; // Mouse moved within the wait time, probably a drag!
}
break;
@@ -69,7 +62,7 @@ static PXIsDragStartResult PXIsDragStart( NSEvent *startEvent, NSTimeInterval th
}
- [pool release];
+ [pool drain];
return PXIsDragStartTimedOut; // If they held the mouse that long, they probably wanna drag.
}
@@ -112,6 +105,7 @@ - (void)keyDown:(NSEvent *)theEvent
- (void)moveUp:(id)sender
{
+#pragma unused(sender)
if([_selectedRows count]>0) {
NSUInteger firstIndex = [_selectedRows firstIndex];
@@ -126,6 +120,7 @@ - (void)moveUp:(id)sender
- (void)moveDown:(id)sender
{
+#pragma unused(sender)
if([_selectedRows count]>0) {
NSUInteger lastIndex = [_selectedRows lastIndex];
@@ -217,7 +212,6 @@ - (void)handleMouseDown:(NSEvent*)theEvent inCell:(PXListViewCell*)theCell // Ce
- (void)handleMouseDownOutsideCells: (NSEvent*)theEvent
{
-#pragma unused(theEvent)
//[[self window] makeFirstResponder: self];
//
if( _allowsEmptySelection )
@@ -243,6 +237,9 @@ - (void)handleMouseDownOutsideCells: (NSEvent*)theEvent
- (BOOL)attemptDragWithMouseDown:(NSEvent*)theEvent inCell:(PXListViewCell*)theCell
{
+ if(!_dragSupported)
+ return NO;
+
PXIsDragStartResult dragResult = PXIsDragStart( theEvent, 0.0 );
if( dragResult != PXIsDragStartMouseReleased /*&& (_verticalMotionCanBeginDrag || dragResult != PXIsDragStartMouseMovedVertically)*/ ) // Was a drag, not a click? Cool!
{
@@ -271,7 +268,7 @@ -(NSImage*) dragImageForRowsWithIndexes: (NSIndexSet *)dragRows event: (NSEvent*
NSPoint localMouse = [self convertPoint: NSZeroPoint fromView: clickedCell];
if ([clickedCell isFlipped]) {
- localMouse = [self convertPoint:CGPointMake(0, NSHeight(clickedCell.frame) * 2) fromView:clickedCell];
+ localMouse = [self convertPoint:NSMakePoint(0, NSHeight(clickedCell.frame) * 2) fromView:clickedCell];
}
localMouse.y += [self documentVisibleRect].origin.y;
View
8 Classes/PXListView.h
@@ -10,7 +10,7 @@
#import "PXListViewDelegate.h"
#import "PXListViewCell.h"
-
+#import "PXListDocumentView.h"
#if DEBUG
#define PXLog(...) NSLog(__VA_ARGS__)
@@ -38,6 +38,7 @@
BOOL _allowsMultipleSelection;
NSInteger _lastSelectedRow;
+ BOOL _dragSupported;
BOOL _verticalMotionCanBeginDrag;
BOOL _usesLiveResize;
@@ -54,11 +55,15 @@
@property (nonatomic, assign) BOOL allowsEmptySelection;
@property (nonatomic, assign) BOOL allowsMultipleSelection;
+
@property (nonatomic, assign) BOOL verticalMotionCanBeginDrag;
+@property (nonatomic, assign) BOOL dragSupported;
@property (nonatomic, assign) CGFloat cellSpacing;
@property (nonatomic, assign) BOOL usesLiveResize;
+- (PXListDocumentView *)documentView;
+
- (void)reloadData;
-(void)reloadRowAtIndex:(NSInteger)inIndex;
@@ -72,7 +77,6 @@
- (void)deselectRows;
- (void)selectRowIndexes:(NSIndexSet*)rows byExtendingSelection:(BOOL)doExtend;
-- (void)scrollToRow:(NSUInteger)row;
- (void)scrollRowToVisible:(NSUInteger)row;
@end
View
51 Classes/PXListView.m
@@ -13,6 +13,8 @@
#import "PXListViewCell+Private.h"
#import "PXListView+UserInteraction.h"
+#import "PXListDocumentView.h"
+
NSString * const PXListViewSelectionDidChange = @"PXListViewSelectionDidChange";
@@ -21,9 +23,14 @@ @implementation PXListView
@synthesize cellSpacing = _cellSpacing;
@synthesize allowsMultipleSelection = _allowsMultipleSelection;
@synthesize allowsEmptySelection = _allowsEmptySelection;
+@synthesize dragSupported = _dragSupported;
@synthesize verticalMotionCanBeginDrag = _verticalMotionCanBeginDrag;
@synthesize usesLiveResize = _usesLiveResize;
+- (PXListDocumentView *)documentView {
+ return [super documentView];
+}
+
#pragma mark -
#pragma mark Init/Dealloc
@@ -36,6 +43,7 @@ - (id)initWithFrame:(NSRect)theFrame
_selectedRows = [[NSMutableIndexSet alloc] init];
_allowsEmptySelection = YES;
_usesLiveResize = YES;
+ _dragSupported = YES;
}
return self;
@@ -50,6 +58,7 @@ - (id)initWithCoder:(NSCoder*)decoder
_selectedRows = [[NSMutableIndexSet alloc] init];
_allowsEmptySelection = YES;
_usesLiveResize = YES;
+ _dragSupported = YES;
}
return self;
@@ -108,6 +117,7 @@ - (void)setDelegate:(id<PXListViewDelegate>)delegate
-(void)reloadRowAtIndex:(NSInteger)inIndex;
{
+#pragma unused(inIndex)
[self cacheCellLayout];
[self layoutCells];
//[self layoutCellsForResizeEvent];
@@ -337,7 +347,9 @@ - (void)updateCells
{
for(NSUInteger i = NSMaxRange(_currentRange); i > NSMaxRange(visibleRange); i--)
{
- [self enqueueCell:[_visibleCells lastObject]];
+ if([_visibleCells lastObject]) {
+ [self enqueueCell:[_visibleCells lastObject]];
+ }
}
}
}
@@ -350,6 +362,7 @@ - (void)updateCells
- (void)selectAll:(id)sender
{
+#pragma unused(sender)
if(_allowsMultipleSelection) {
[self setSelectedRows:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, _numberOfRows)]];
}
@@ -357,6 +370,7 @@ - (void)selectAll:(id)sender
- (void)deselectAll:(id)sender
{
+#pragma unused(sender)
[self setSelectedRows:[NSIndexSet indexSet]];
}
@@ -502,7 +516,7 @@ - (void)cacheCellLayout
- (void)layoutCells
{
//Set the frames of the cells
- for(id cell in _visibleCells)
+ for(PXListViewCell *cell in _visibleCells)
{
NSInteger row = [cell row];
[cell setFrame:[self rectOfRow:row]];
@@ -552,30 +566,10 @@ - (void)resizeWithOldSuperviewSize:(NSSize)oldBoundsSize
- (void)contentViewBoundsDidChange:(NSNotification *)notification
{
+#pragma unused(notification)
[self updateCells];
}
-- (void)scrollToRow:(NSUInteger)row
-{
- if(row >= _numberOfRows) {
- return;
- }
-
- // Use minimal scroll necessary, so we don't force the selection to upper left of window:
- NSRect visibleRect = [self documentVisibleRect];
- NSRect rowRect = [self rectOfRow:row];
-
- NSPoint newScrollPoint = rowRect.origin;
-
- //Have we over-scrolled?
- if(NSMaxY(rowRect) > NSMaxY(visibleRect)) {
- newScrollPoint.y = _totalHeight - NSHeight(visibleRect);
- }
-
- [[self contentView] scrollToPoint:newScrollPoint];
- [self reflectScrolledClipView:[self contentView]];
-}
-
- (void)scrollRowToVisible:(NSUInteger)row
{
if(row >= _numberOfRows) {
@@ -592,11 +586,11 @@ - (void)scrollRowToVisible:(NSUInteger)row
NSPoint newScrollPoint = rowRect.origin;
- //Have we over-scrolled?
- if(NSMaxY(rowRect) > NSMaxY(visibleRect)) {
- newScrollPoint.y = _totalHeight - NSHeight(visibleRect);
- }
-
+ if(NSMaxY(visibleRect) > NSMaxY(rowRect))
+ newScrollPoint.y = NSMinY(rowRect);
+ else
+ newScrollPoint.y = NSMinY(visibleRect) - (NSMaxY(visibleRect) - NSMinY(rowRect)) + NSHeight(rowRect);
+
[[self contentView] scrollToPoint:newScrollPoint];
[self reflectScrolledClipView:[self contentView]];
}
@@ -657,6 +651,7 @@ -(void)viewDidEndLiveResize
-(void)windowSizing:(NSNotification *)inNot
{
+#pragma unused(inNot)
[self layoutCellsForResizeEvent];
}
View
2  Classes/PXListViewCell.h
@@ -27,7 +27,7 @@
@property (readonly) NSUInteger row;
@property (readonly,getter=isSelected) BOOL selected;
-@property (assign) PXListViewDropHighlight dropHighlight;
+@property (assign,nonatomic) PXListViewDropHighlight dropHighlight;
+ (id)cellLoadedFromNibNamed:(NSString*)nibName reusableIdentifier:(NSString*)identifier;
+ (id)cellLoadedFromNibNamed:(NSString*)nibName bundle:(NSBundle*)bundle reusableIdentifier:(NSString*)identifier;
View
5 Classes/PXListViewCell.m
@@ -55,7 +55,7 @@ + (id)cellLoadedFromNibNamed:(NSString*)nibName bundle:(NSBundle*)bundle reusabl
- (id)initWithReusableIdentifier:(NSString*)identifier
{
- if((self = [super initWithFrame: NSZeroRect]))
+ if((self = [self initWithFrame: NSZeroRect]))
{
_reusableIdentifier = [identifier copy];
}
@@ -66,7 +66,7 @@ - (id)initWithReusableIdentifier:(NSString*)identifier
- (id)initWithCoder:(NSCoder *)aDecoder
{
- if((self = [super initWithCoder: aDecoder]))
+ if((self = [self initWithCoder: aDecoder]))
{
_reusableIdentifier = NSStringFromClass([self class]);
}
@@ -108,6 +108,7 @@ - (void)setDropHighlight:(PXListViewDropHighlight)inState
- (void)drawRect:(NSRect)dirtyRect
{
+#pragma unused(dirtyRect)
if(_dropHighlight == PXListViewDropAbove)
{
[[NSColor alternateSelectedControlColor] set];
View
170 PXListView.xcodeproj/project.pbxproj
@@ -9,6 +9,19 @@
/* 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 */; };
+ C53B006E138D6FE90026A20F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C53B006D138D6FE90026A20F /* Cocoa.framework */; };
+ C53B007A138D700B0026A20F /* PXListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D27858D111B1B5EA00F1CF30 /* PXListView.m */; };
+ C53B007E138D700B0026A20F /* PXListView+UserInteraction.m in Sources */ = {isa = PBXBuildFile; fileRef = D25DDA7E133F58A10086783B /* PXListView+UserInteraction.m */; };
+ C53B0081138D700B0026A20F /* PXListViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D27858D411B1B5FC00F1CF30 /* PXListViewCell.m */; };
+ C53B0084138D700B0026A20F /* PXListDocumentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D278592311B1BA6C00F1CF30 /* PXListDocumentView.m */; };
+ C53B00AB138D8D860026A20F /* PXListView.h in Headers */ = {isa = PBXBuildFile; fileRef = D27858D011B1B5EA00F1CF30 /* PXListView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C53B00AC138D8D860026A20F /* PXListView+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D279A64311B4E95600771B2A /* PXListView+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ C53B00AD138D8D860026A20F /* PXListViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D27858D711B1B6D400F1CF30 /* PXListViewDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C53B00AE138D8D860026A20F /* PXListView+UserInteraction.h in Headers */ = {isa = PBXBuildFile; fileRef = D25DDA7D133F58A10086783B /* PXListView+UserInteraction.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C53B00AF138D8D860026A20F /* PXListViewDropHighlight.h in Headers */ = {isa = PBXBuildFile; fileRef = 55B9AC9E11EA384C00416532 /* PXListViewDropHighlight.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C53B00B0138D8D860026A20F /* PXListViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D27858D311B1B5FC00F1CF30 /* PXListViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C53B00B1138D8D860026A20F /* PXListViewCell+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D279A6DD11B4EFCD00771B2A /* PXListViewCell+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ C53B00B2138D8D860026A20F /* PXListDocumentView.h in Headers */ = {isa = PBXBuildFile; fileRef = D278592211B1BA6C00F1CF30 /* PXListDocumentView.h */; settings = {ATTRIBUTES = (Public, ); }; };
D25DDA7F133F58A20086783B /* PXListView+UserInteraction.m in Sources */ = {isa = PBXBuildFile; fileRef = D25DDA7E133F58A10086783B /* PXListView+UserInteraction.m */; };
D26669CB11B1B2F1007597F1 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D26669CA11B1B2F1007597F1 /* AppDelegate.m */; };
D26669D211B1B302007597F1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D26669CE11B1B302007597F1 /* InfoPlist.strings */; };
@@ -30,6 +43,11 @@
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
55B9AC9E11EA384C00416532 /* PXListViewDropHighlight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXListViewDropHighlight.h; path = Classes/PXListViewDropHighlight.h; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* PXListView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PXListView.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ C53B006C138D6FE90026A20F /* PXListView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PXListView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ C53B006D138D6FE90026A20F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ C53B0071138D6FEA0026A20F /* PXListView-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PXListView-Info.plist"; sourceTree = "<group>"; };
+ C53B0073138D6FEA0026A20F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ C53B0075138D6FEA0026A20F /* PXListView-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PXListView-Prefix.pch"; sourceTree = "<group>"; };
D25DDA7D133F58A10086783B /* PXListView+UserInteraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "PXListView+UserInteraction.h"; path = "Classes/PXListView+UserInteraction.h"; sourceTree = "<group>"; };
D25DDA7E133F58A10086783B /* PXListView+UserInteraction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "PXListView+UserInteraction.m"; path = "Classes/PXListView+UserInteraction.m"; sourceTree = "<group>"; };
D26669C911B1B2F1007597F1 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Classes/AppDelegate.h; sourceTree = "<group>"; };
@@ -61,6 +79,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C53B0068138D6FE90026A20F /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C53B006E138D6FE90026A20F /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -86,6 +112,7 @@
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* PXListView.app */,
+ C53B006C138D6FE90026A20F /* PXListView.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -117,11 +144,23 @@
isa = PBXGroup;
children = (
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ C53B006D138D6FE90026A20F /* Cocoa.framework */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
+ C53B0070138D6FEA0026A20F /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ C53B0071138D6FEA0026A20F /* PXListView-Info.plist */,
+ C53B0072138D6FEA0026A20F /* InfoPlist.strings */,
+ C53B0075138D6FEA0026A20F /* PXListView-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ path = PXListView;
+ sourceTree = "<group>";
+ };
D25DDA7A133F568F0086783B /* PXListView */ = {
isa = PBXGroup;
children = (
@@ -133,6 +172,7 @@
D25DDA7E133F58A10086783B /* PXListView+UserInteraction.m */,
D279A68911B4ECAB00771B2A /* Cells */,
D278592911B1BA7900F1CF30 /* Misc */,
+ C53B0070138D6FEA0026A20F /* Supporting Files */,
);
name = PXListView;
sourceTree = "<group>";
@@ -181,10 +221,28 @@
};
/* End PBXGroup section */
+/* Begin PBXHeadersBuildPhase section */
+ C53B0069138D6FE90026A20F /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C53B00AB138D8D860026A20F /* PXListView.h in Headers */,
+ C53B00AD138D8D860026A20F /* PXListViewDelegate.h in Headers */,
+ C53B00AE138D8D860026A20F /* PXListView+UserInteraction.h in Headers */,
+ C53B00AF138D8D860026A20F /* PXListViewDropHighlight.h in Headers */,
+ C53B00B0138D8D860026A20F /* PXListViewCell.h in Headers */,
+ C53B00B2138D8D860026A20F /* PXListDocumentView.h in Headers */,
+ C53B00AC138D8D860026A20F /* PXListView+Private.h in Headers */,
+ C53B00B1138D8D860026A20F /* PXListViewCell+Private.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
/* Begin PBXNativeTarget section */
- 8D1107260486CEB800E47090 /* PXListView */ = {
+ 8D1107260486CEB800E47090 /* Demo App */ = {
isa = PBXNativeTarget;
- buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXListView" */;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Demo App" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
@@ -194,12 +252,30 @@
);
dependencies = (
);
- name = PXListView;
+ name = "Demo App";
productInstallPath = "$(HOME)/Applications";
productName = PXListView;
productReference = 8D1107320486CEB800E47090 /* PXListView.app */;
productType = "com.apple.product-type.application";
};
+ C53B006B138D6FE90026A20F /* PXListView */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C53B0076138D6FEA0026A20F /* Build configuration list for PBXNativeTarget "PXListView" */;
+ buildPhases = (
+ C53B0067138D6FE90026A20F /* Sources */,
+ C53B0068138D6FE90026A20F /* Frameworks */,
+ C53B0069138D6FE90026A20F /* Headers */,
+ C53B006A138D6FE90026A20F /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = PXListView;
+ productName = PXListView;
+ productReference = C53B006C138D6FE90026A20F /* PXListView.framework */;
+ productType = "com.apple.product-type.framework";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -216,7 +292,8 @@
projectDirPath = "";
projectRoot = "";
targets = (
- 8D1107260486CEB800E47090 /* PXListView */,
+ 8D1107260486CEB800E47090 /* Demo App */,
+ C53B006B138D6FE90026A20F /* PXListView */,
);
};
/* End PBXProject section */
@@ -233,6 +310,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C53B006A138D6FE90026A20F /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -250,9 +334,28 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C53B0067138D6FE90026A20F /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C53B007A138D700B0026A20F /* PXListView.m in Sources */,
+ C53B007E138D700B0026A20F /* PXListView+UserInteraction.m in Sources */,
+ C53B0081138D700B0026A20F /* PXListViewCell.m in Sources */,
+ C53B0084138D700B0026A20F /* PXListDocumentView.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
+ C53B0072138D6FEA0026A20F /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ C53B0073138D6FEA0026A20F /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
D26669CE11B1B302007597F1 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
@@ -284,6 +387,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = PXListView_Prefix.pch;
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_GLOBAL_CONSTRUCTORS = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
@@ -316,6 +420,7 @@
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = PXListView_Prefix.pch;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_GLOBAL_CONSTRUCTORS = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
@@ -365,10 +470,56 @@
};
name = Release;
};
+ C53B0077138D6FEA0026A20F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_VERSION = A;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "PXListView/PXListView-Prefix.pch";
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ INFOPLIST_FILE = "PXListView/PXListView-Info.plist";
+ MACOSX_DEPLOYMENT_TARGET = 10.6;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ C53B0078138D6FEA0026A20F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_VERSION = A;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "PXListView/PXListView-Prefix.pch";
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ INFOPLIST_FILE = "PXListView/PXListView-Info.plist";
+ MACOSX_DEPLOYMENT_TARGET = 10.6;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXListView" */ = {
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Demo App" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
@@ -386,6 +537,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ C53B0076138D6FEA0026A20F /* Build configuration list for PBXNativeTarget "PXListView" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C53B0077138D6FEA0026A20F /* Debug */,
+ C53B0078138D6FEA0026A20F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
View
30 PXListView/PXListView-Info.plist
@@ -0,0 +1,30 @@
+<?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.perspx.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright © 2011 __MyCompanyName__. All rights reserved.</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
View
7 PXListView/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  PXListView/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
Something went wrong with that request. Please try again.