Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge /Users/dkeegan/Desktop/BCCollectionView

  • Loading branch information...
commit dbf0e3c1c8813d2497b4c04b55827c28254666b5 2 parents 47957ea + 7914aef
@kgn authored
View
17 .gitignore
@@ -1 +1,16 @@
-.DS_Store
+# xcode
+build/*
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+*.xcworkspace
+!default.xcworkspace
+xcuserdata
+# osx
+.DS_Store
+profile
View
53 BCCollectionView.m
@@ -7,35 +7,54 @@
#import "BCCollectionViewLayoutItem.h"
#import "BCCollectionViewGroup.h"
+@interface BCCollectionView ()
+- (void)configureView;
+@end
+
+
@implementation BCCollectionView
@synthesize delegate, contentArray, groups, backgroundColor, originalSelectionIndexes, zoomValueObserverKey, accumulatedKeyStrokes, numberOfPreRenderedRows, layoutManager;
@dynamic visibleViewControllerArray;
+- (id)initWithFrame:(NSRect)frameRect
+{
+ self = [super initWithFrame:frameRect];
+ if (self) {
+ [self configureView];
+ }
+ return self;
+}
+
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
- reusableViewControllers = [[NSMutableArray alloc] init];
- visibleViewControllers = [[NSMutableDictionary alloc] init];
- contentArray = [[NSArray alloc] init];
- selectionIndexes = [[NSMutableIndexSet alloc] init];
- dragHoverIndex = NSNotFound;
- accumulatedKeyStrokes = [[NSString alloc] init];
- numberOfPreRenderedRows = 3;
- layoutManager = [[BCCollectionViewLayoutManager alloc] initWithCollectionView:self];
- visibleGroupViewControllers = [[NSMutableDictionary alloc] init];
-
- [self addObserver:self forKeyPath:@"backgroundColor" options:0 context:NULL];
-
- NSClipView *enclosingClipView = [[self enclosingScrollView] contentView];
- [enclosingClipView setPostsBoundsChangedNotifications:YES];
- NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
- [center addObserver:self selector:@selector(scrollViewDidScroll:) name:NSViewBoundsDidChangeNotification object:enclosingClipView];
- [center addObserver:self selector:@selector(viewDidResize) name:NSViewFrameDidChangeNotification object:self];
+ [self configureView];
}
return self;
}
+- (void)configureView
+{
+ reusableViewControllers = [[NSMutableArray alloc] init];
+ visibleViewControllers = [[NSMutableDictionary alloc] init];
+ contentArray = [[NSArray alloc] init];
+ selectionIndexes = [[NSMutableIndexSet alloc] init];
+ dragHoverIndex = NSNotFound;
+ accumulatedKeyStrokes = [[NSString alloc] init];
+ numberOfPreRenderedRows = 3;
+ layoutManager = [[BCCollectionViewLayoutManager alloc] initWithCollectionView:self];
+ visibleGroupViewControllers = [[NSMutableDictionary alloc] init];
+
+ [self addObserver:self forKeyPath:@"backgroundColor" options:0 context:NULL];
+
+ NSClipView *enclosingClipView = [[self enclosingScrollView] contentView];
+ [enclosingClipView setPostsBoundsChangedNotifications:YES];
+ NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
+ [center addObserver:self selector:@selector(scrollViewDidScroll:) name:NSViewBoundsDidChangeNotification object:enclosingClipView];
+ [center addObserver:self selector:@selector(viewDidResize) name:NSViewFrameDidChangeNotification object:self];
+}
+
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"backgroundColor"])
View
3  Example/.gitignore
@@ -0,0 +1,3 @@
+Example.xcodeproj/*.mode1v3
+Example.xcodeproj/*.pbxuser
+build
View
16 Example/CellViewController.h
@@ -0,0 +1,16 @@
+//
+// CellViewController.h
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface CellViewController : NSViewController
+{
+ NSImageView *imageView;
+}
+@property(nonatomic,retain) IBOutlet NSImageView *imageView;
+@end
View
23 Example/CellViewController.m
@@ -0,0 +1,23 @@
+//
+// CellViewController.m
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. All rights reserved.
+//
+
+#import "CellViewController.h"
+
+@implementation CellViewController
+@synthesize imageView;
+
+- (id)init
+{
+ if ((self = [super initWithNibName:@"CellViewController" bundle:nil]))
+ {
+ //
+ }
+ return self;
+}
+
+@end
View
631 Example/CellViewController.xib
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1060</int>
+ <string key="IBDocument.SystemVersion">10J3250</string>
+ <string key="IBDocument.InterfaceBuilderVersion">851</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">851</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="1"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSCustomObject" id="1001">
+ <string key="NSClassName">CellViewController</string>
+ </object>
+ <object class="NSCustomObject" id="1003">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="1004">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSCustomView" id="165245756">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSImageView" id="602086474">
+ <reference key="NSNextResponder" ref="165245756"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>Apple PDF pasteboard type</string>
+ <string>Apple PICT pasteboard type</string>
+ <string>Apple PNG pasteboard type</string>
+ <string>NSFilenamesPboardType</string>
+ <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+ <string>NeXT TIFF v4.0 pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrameSize">{64, 64}</string>
+ <reference key="NSSuperview" ref="165245756"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSImageCell" key="NSCell" id="577131332">
+ <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags2">33554432</int>
+ <object class="NSCustomResource" key="NSContents">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSApplicationIcon</string>
+ </object>
+ <int key="NSAlign">0</int>
+ <int key="NSScale">0</int>
+ <int key="NSStyle">0</int>
+ <bool key="NSAnimates">NO</bool>
+ </object>
+ <bool key="NSEditable">YES</bool>
+ </object>
+ </object>
+ <string key="NSFrameSize">{64, 64}</string>
+ <reference key="NSSuperview"/>
+ <string key="NSClassName">NSView</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="165245756"/>
+ </object>
+ <int key="connectionID">4</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">imageView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="602086474"/>
+ </object>
+ <int key="connectionID">5</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="1001"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="1003"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="1004"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="165245756"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="602086474"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="602086474"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="577131332"/>
+ </object>
+ <reference key="parent" ref="165245756"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="577131332"/>
+ <reference key="parent" ref="602086474"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>1.IBEditorWindowLastContentRect</string>
+ <string>1.IBPluginDependency</string>
+ <string>2.IBPluginDependency</string>
+ <string>3.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>{{852, 856}, {64, 64}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">5</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">CellViewController</string>
+ <string key="superclassName">NSViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">imageView</string>
+ <string key="NS.object.0">NSImageView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">imageView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">imageView</string>
+ <string key="candidateClassName">NSImageView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">CellViewController.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <string key="superclassName">NSResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="167261504">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="754684667">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="380626371">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSCell</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSControl</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="789689056">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSFormatter</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSImageCell</string>
+ <string key="superclassName">NSCell</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSImageCell.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSImageView</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSImageView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMenu</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="878987521">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="167261504"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="754684667"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="380626371"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="789689056"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="878987521"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="243974479">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSResponder</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <string key="superclassName">NSResponder</string>
+ <reference key="sourceIdentifier" ref="243974479"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSViewController</string>
+ <string key="superclassName">NSResponder</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">view</string>
+ <string key="NS.object.0">NSView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">view</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">view</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSViewController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1060" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+ <integer value="3000" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">Example.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="NS.key.0">NSApplicationIcon</string>
+ <string key="NS.object.0">{128, 128}</string>
+ </object>
+ </data>
+</archive>
View
19 Example/Controller.h
@@ -0,0 +1,19 @@
+//
+// Controller.h
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BCCollectionView.h"
+
+@interface Controller : NSObject <BCCollectionViewDelegate>
+{
+ NSMutableArray *imageContent;
+ BCCollectionView *collectionView;
+}
+@property(nonatomic,retain) IBOutlet BCCollectionView *collectionView;
+@property(nonatomic,retain) NSMutableArray *imageContent;
+@end
View
106 Example/Controller.m
@@ -0,0 +1,106 @@
+//
+// Controller.m
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. All rights reserved.
+//
+
+#import "Controller.h"
+#import "CellViewController.h"
+
+@implementation Controller
+@synthesize collectionView;
+@synthesize imageContent;
+
+- (void)awakeFromNib
+{
+ [super awakeFromNib];
+
+ imageContent = [[NSMutableArray alloc] init];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameQuickLookTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameBluetoothTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameIChatTheaterTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameSlideshowTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameActionTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameSmartBadgeTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameIconViewTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameListViewTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameColumnViewTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameFlowViewTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNamePathTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameInvalidDataFreestandingTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameLockLockedTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameLockUnlockedTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameGoRightTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameGoLeftTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameRightFacingTriangleTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameLeftFacingTriangleTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameAddTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameRemoveTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameRevealFreestandingTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameFollowLinkFreestandingTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameEnterFullScreenTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameExitFullScreenTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameStopProgressTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameStopProgressFreestandingTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameRefreshTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameRefreshFreestandingTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameBonjour]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameComputer]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameFolderBurnable]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameFolderSmart]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameFolder]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameNetwork]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameDotMac]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameMobileMe]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameMultipleDocuments]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameUserAccounts]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNamePreferencesGeneral]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameAdvanced]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameInfo]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameFontPanel]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameColorPanel]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameUser]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameUserGroup]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameEveryone]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameUserGuest]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameMenuOnStateTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameMenuMixedStateTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameApplicationIcon]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameTrashEmpty]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameTrashFull]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameHomeTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameBookmarksTemplate]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameCaution]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameStatusAvailable]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameStatusPartiallyAvailable]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameStatusUnavailable]];
+ [imageContent addObject:[NSImage imageNamed:NSImageNameStatusNone]];
+
+ [self.collectionView reloadDataWithItems:imageContent emptyCaches:NO];
+}
+
+#pragma mark -
+#pragma mark BCCollectionViewDelegate
+
+//CollectionView assumes all cells are the same size and will resize its subviews to this size.
+- (NSSize)cellSizeForCollectionView:(BCCollectionView *)collectionView
+{
+ return NSMakeSize(64, 64);
+}
+
+//Return an empty ViewController, this might not be visible to the user immediately
+- (NSViewController *)reusableViewControllerForCollectionView:(BCCollectionView *)collectionView
+{
+ return [[[CellViewController alloc] init] autorelease];
+}
+
+//The CollectionView is about to display the ViewController. Use this method to populate the ViewController with data
+- (void)collectionView:(BCCollectionView *)collectionView willShowViewController:(NSViewController *)viewController forItem:(id)anItem
+{
+ CellViewController *cell = (CellViewController*)viewController;
+ [cell.imageView setImage:anItem];
+}
+
+@end
View
2  Example/English.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
3,702 Example/English.lproj/MainMenu.xib
3,702 additions, 0 deletions not shown
View
32 Example/Example-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>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>${MACOSX_DEPLOYMENT_TARGET}</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
View
365 Example/Example.xcodeproj/project.pbxproj
@@ -0,0 +1,365 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
+ 256AC3DA0F4B6AC300CF3369 /* ExampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* ExampleAppDelegate.m */; };
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
+ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ 93DF164613706EF300D6C085 /* BCCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF163513706EF300D6C085 /* BCCollectionView.m */; };
+ 93DF164713706EF300D6C085 /* BCCollectionView+Dragging.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF163713706EF300D6C085 /* BCCollectionView+Dragging.m */; };
+ 93DF164813706EF300D6C085 /* BCCollectionView+Keyboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF163913706EF300D6C085 /* BCCollectionView+Keyboard.m */; };
+ 93DF164913706EF300D6C085 /* BCCollectionView+Mouse.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF163B13706EF300D6C085 /* BCCollectionView+Mouse.m */; };
+ 93DF164A13706EF300D6C085 /* BCCollectionViewGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF163E13706EF300D6C085 /* BCCollectionViewGroup.m */; };
+ 93DF164B13706EF300D6C085 /* BCCollectionViewLayoutItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF164013706EF300D6C085 /* BCCollectionViewLayoutItem.m */; };
+ 93DF164C13706EF300D6C085 /* BCCollectionViewLayoutManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF164213706EF300D6C085 /* BCCollectionViewLayoutManager.m */; };
+ 93DF164D13706EF300D6C085 /* BCCollectionViewLayoutOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF164413706EF300D6C085 /* BCCollectionViewLayoutOperation.m */; };
+ 93DF165413706F5300D6C085 /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF165313706F5300D6C085 /* Controller.m */; };
+ 93DF16601370703900D6C085 /* CellViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DF165F1370703900D6C085 /* CellViewController.m */; };
+ 93DF16641370708900D6C085 /* CellViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 93DF16631370708900D6C085 /* CellViewController.xib */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 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>"; };
+ 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
+ 256AC3D80F4B6AC300CF3369 /* ExampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleAppDelegate.h; sourceTree = "<group>"; };
+ 256AC3D90F4B6AC300CF3369 /* ExampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleAppDelegate.m; sourceTree = "<group>"; };
+ 256AC3F00F4B6AF500CF3369 /* Example_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Example_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>"; };
+ 8D1107310486CEB800E47090 /* Example-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Example-Info.plist"; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 93DF163413706EF300D6C085 /* BCCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCCollectionView.h; path = ../BCCollectionView.h; sourceTree = SOURCE_ROOT; };
+ 93DF163513706EF300D6C085 /* BCCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BCCollectionView.m; path = ../BCCollectionView.m; sourceTree = SOURCE_ROOT; };
+ 93DF163613706EF300D6C085 /* BCCollectionView+Dragging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "BCCollectionView+Dragging.h"; path = "../BCCollectionView+Dragging.h"; sourceTree = SOURCE_ROOT; };
+ 93DF163713706EF300D6C085 /* BCCollectionView+Dragging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "BCCollectionView+Dragging.m"; path = "../BCCollectionView+Dragging.m"; sourceTree = SOURCE_ROOT; };
+ 93DF163813706EF300D6C085 /* BCCollectionView+Keyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "BCCollectionView+Keyboard.h"; path = "../BCCollectionView+Keyboard.h"; sourceTree = SOURCE_ROOT; };
+ 93DF163913706EF300D6C085 /* BCCollectionView+Keyboard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "BCCollectionView+Keyboard.m"; path = "../BCCollectionView+Keyboard.m"; sourceTree = SOURCE_ROOT; };
+ 93DF163A13706EF300D6C085 /* BCCollectionView+Mouse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "BCCollectionView+Mouse.h"; path = "../BCCollectionView+Mouse.h"; sourceTree = SOURCE_ROOT; };
+ 93DF163B13706EF300D6C085 /* BCCollectionView+Mouse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "BCCollectionView+Mouse.m"; path = "../BCCollectionView+Mouse.m"; sourceTree = SOURCE_ROOT; };
+ 93DF163C13706EF300D6C085 /* BCCollectionViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCCollectionViewDelegate.h; path = ../BCCollectionViewDelegate.h; sourceTree = SOURCE_ROOT; };
+ 93DF163D13706EF300D6C085 /* BCCollectionViewGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCCollectionViewGroup.h; path = ../BCCollectionViewGroup.h; sourceTree = SOURCE_ROOT; };
+ 93DF163E13706EF300D6C085 /* BCCollectionViewGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BCCollectionViewGroup.m; path = ../BCCollectionViewGroup.m; sourceTree = SOURCE_ROOT; };
+ 93DF163F13706EF300D6C085 /* BCCollectionViewLayoutItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCCollectionViewLayoutItem.h; path = ../BCCollectionViewLayoutItem.h; sourceTree = SOURCE_ROOT; };
+ 93DF164013706EF300D6C085 /* BCCollectionViewLayoutItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BCCollectionViewLayoutItem.m; path = ../BCCollectionViewLayoutItem.m; sourceTree = SOURCE_ROOT; };
+ 93DF164113706EF300D6C085 /* BCCollectionViewLayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCCollectionViewLayoutManager.h; path = ../BCCollectionViewLayoutManager.h; sourceTree = SOURCE_ROOT; };
+ 93DF164213706EF300D6C085 /* BCCollectionViewLayoutManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BCCollectionViewLayoutManager.m; path = ../BCCollectionViewLayoutManager.m; sourceTree = SOURCE_ROOT; };
+ 93DF164313706EF300D6C085 /* BCCollectionViewLayoutOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCCollectionViewLayoutOperation.h; path = ../BCCollectionViewLayoutOperation.h; sourceTree = SOURCE_ROOT; };
+ 93DF164413706EF300D6C085 /* BCCollectionViewLayoutOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BCCollectionViewLayoutOperation.m; path = ../BCCollectionViewLayoutOperation.m; sourceTree = SOURCE_ROOT; };
+ 93DF164513706EF300D6C085 /* BCGeometryExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCGeometryExtensions.h; path = ../BCGeometryExtensions.h; sourceTree = SOURCE_ROOT; };
+ 93DF165213706F5300D6C085 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Controller.h; sourceTree = "<group>"; };
+ 93DF165313706F5300D6C085 /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Controller.m; sourceTree = "<group>"; };
+ 93DF165E1370703900D6C085 /* CellViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CellViewController.h; sourceTree = "<group>"; };
+ 93DF165F1370703900D6C085 /* CellViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CellViewController.m; sourceTree = "<group>"; };
+ 93DF16631370708900D6C085 /* CellViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CellViewController.xib; 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 = (
+ 256AC3D80F4B6AC300CF3369 /* ExampleAppDelegate.h */,
+ 256AC3D90F4B6AC300CF3369 /* ExampleAppDelegate.m */,
+ 93DF165213706F5300D6C085 /* Controller.h */,
+ 93DF165313706F5300D6C085 /* Controller.m */,
+ 93DF165E1370703900D6C085 /* CellViewController.h */,
+ 93DF165F1370703900D6C085 /* CellViewController.m */,
+ 93DF16631370708900D6C085 /* CellViewController.xib */,
+ );
+ 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 /* Example.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* Example */ = {
+ isa = PBXGroup;
+ children = (
+ 93DF163313706EE400D6C085 /* BCCollectionView */,
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = Example;
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 256AC3F00F4B6AF500CF3369 /* Example_Prefix.pch */,
+ 29B97316FDCFA39411CA2CEA /* main.m */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* Example-Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ 1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
+ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 93DF163313706EE400D6C085 /* BCCollectionView */ = {
+ isa = PBXGroup;
+ children = (
+ 93DF163413706EF300D6C085 /* BCCollectionView.h */,
+ 93DF163513706EF300D6C085 /* BCCollectionView.m */,
+ 93DF163613706EF300D6C085 /* BCCollectionView+Dragging.h */,
+ 93DF163713706EF300D6C085 /* BCCollectionView+Dragging.m */,
+ 93DF163813706EF300D6C085 /* BCCollectionView+Keyboard.h */,
+ 93DF163913706EF300D6C085 /* BCCollectionView+Keyboard.m */,
+ 93DF163A13706EF300D6C085 /* BCCollectionView+Mouse.h */,
+ 93DF163B13706EF300D6C085 /* BCCollectionView+Mouse.m */,
+ 93DF163C13706EF300D6C085 /* BCCollectionViewDelegate.h */,
+ 93DF163D13706EF300D6C085 /* BCCollectionViewGroup.h */,
+ 93DF163E13706EF300D6C085 /* BCCollectionViewGroup.m */,
+ 93DF163F13706EF300D6C085 /* BCCollectionViewLayoutItem.h */,
+ 93DF164013706EF300D6C085 /* BCCollectionViewLayoutItem.m */,
+ 93DF164113706EF300D6C085 /* BCCollectionViewLayoutManager.h */,
+ 93DF164213706EF300D6C085 /* BCCollectionViewLayoutManager.m */,
+ 93DF164313706EF300D6C085 /* BCCollectionViewLayoutOperation.h */,
+ 93DF164413706EF300D6C085 /* BCCollectionViewLayoutOperation.m */,
+ 93DF164513706EF300D6C085 /* BCGeometryExtensions.h */,
+ );
+ name = BCCollectionView;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* Example */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Example" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Example;
+ productInstallPath = "$(HOME)/Applications";
+ productName = Example;
+ productReference = 8D1107320486CEB800E47090 /* Example.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 "Example" */;
+ compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 29B97314FDCFA39411CA2CEA /* Example */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* Example */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
+ 93DF16641370708900D6C085 /* CellViewController.xib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072D0486CEB800E47090 /* main.m in Sources */,
+ 256AC3DA0F4B6AC300CF3369 /* ExampleAppDelegate.m in Sources */,
+ 93DF164613706EF300D6C085 /* BCCollectionView.m in Sources */,
+ 93DF164713706EF300D6C085 /* BCCollectionView+Dragging.m in Sources */,
+ 93DF164813706EF300D6C085 /* BCCollectionView+Keyboard.m in Sources */,
+ 93DF164913706EF300D6C085 /* BCCollectionView+Mouse.m in Sources */,
+ 93DF164A13706EF300D6C085 /* BCCollectionViewGroup.m in Sources */,
+ 93DF164B13706EF300D6C085 /* BCCollectionViewLayoutItem.m in Sources */,
+ 93DF164C13706EF300D6C085 /* BCCollectionViewLayoutManager.m in Sources */,
+ 93DF164D13706EF300D6C085 /* BCCollectionViewLayoutOperation.m in Sources */,
+ 93DF165413706F5300D6C085 /* Controller.m in Sources */,
+ 93DF16601370703900D6C085 /* CellViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 1DDD58150DA1D0A300B32029 /* 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 = Example_Prefix.pch;
+ INFOPLIST_FILE = "Example-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = Example;
+ };
+ 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 = Example_Prefix.pch;
+ INFOPLIST_FILE = "Example-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_NAME = Example;
+ };
+ 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 "Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
View
17 Example/ExampleAppDelegate.h
@@ -0,0 +1,17 @@
+//
+// ExampleAppDelegate.h
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface ExampleAppDelegate : NSObject <NSApplicationDelegate> {
+ NSWindow *window;
+}
+
+@property (assign) IBOutlet NSWindow *window;
+
+@end
View
19 Example/ExampleAppDelegate.m
@@ -0,0 +1,19 @@
+//
+// ExampleAppDelegate.m
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. All rights reserved.
+//
+
+#import "ExampleAppDelegate.h"
+
+@implementation ExampleAppDelegate
+
+@synthesize window;
+
+- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
+ // Insert code here to initialize your application
+}
+
+@end
View
7 Example/Example_Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'Example' target in the 'Example' project
+//
+
+#ifdef __OBJC__
+ #import <Cocoa/Cocoa.h>
+#endif
View
14 Example/main.m
@@ -0,0 +1,14 @@
+//
+// main.m
+// Example
+//
+// Created by Aaron Brethorst on 5/3/11.
+// Copyright 2011 Structlab LLC. 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.