34 Commits

Author SHA1 Message Date
Alex Rozanski 8ff0daee2e Fix for #25: iconRect.y calculated from iconSize.width not iconSize.height.
This commit fixes an issue where setting a non-square icon size for a
Source List could cause the icons to display incorrectly. This was
because the min-y value used when calculating icon rects was being based
on the width set for the Source List's icon size, rather than the height.
2012-11-02 10:14:03 +00:00
Alex Rozanski 0abec5e66e Merge pull request #24 from Abizern/master
10.7 added some extra methods to outline views to support drag and drop.
2012-09-12 07:41:06 -07:00
Abizer Nasir de1019eb30 Add 10.7 supported drag and drop methods 2012-09-12 15:10:12 +01:00
Christian Klotz 5c616dddbe Merge pull request #2 from Abizern/hidpi
Update project settings for HiDPI images
2012-07-05 14:38:49 -07:00
Abizer Nasir ac8accdbe5 Update project settings for HiDPI images
Recommended by Xcode 4.5.

Can be merged into main line once 4.4 is released with ML.
2012-07-05 15:58:19 +01:00
Alex Rozanski ac8f9db463 Merge pull request #21 from Abizern/master
Correct a cast
2012-06-28 13:18:34 -07:00
Christian Klotz 41a0ecfd9f Merge pull request #1 from Abizern/master
Minor correction to the changes in your last commit
2012-06-28 09:57:51 -07:00
Alex Rozanski 2181ea6ab6 Merge pull request #20 from christianklotz/master
PXSourceList works as an external library
2012-06-28 04:30:31 -07:00
Abizer Nasir 242a38a5eb Add the correct cast to long for formatting NSInteger with %ld 2012-06-28 11:07:18 +01:00
Christian Klotz 9ce4d06331 Resolve formatted string issue 2012-05-27 19:04:50 +01:00
Christian Klotz 127d4a2e2e Adjust library build settings to make it work as static library 2012-05-27 19:04:30 +01:00
Alex Rozanski 0124633b12 Reorganise the project and filesystem structure into more logical groupings 2012-01-08 11:20:11 +00:00
Alex Rozanski 310f7df19f Fix Lion display bugs 2012-01-08 11:01:21 +00:00
Alex Rozanski d0f3eb6259 Update gitignore file 2012-01-08 11:01:11 +00:00
Alex Rozanski 203a5c8b27 Update the README file to include more detailed license information (PXSourceList is still New BSD licensed) 2012-01-08 10:38:49 +00:00
Alex Rozanski ac660ba1f7 Merge pull request #18 from robelkin/DeleteKeySupport
Support the delete key found below 'fn' on a full size apple keyboard
2012-01-06 12:24:04 -08:00
Rob Elkin af5b8b9d35 Support the delete key found below 'fn' on a full size apple keyboard 2012-01-06 19:08:38 +00:00
Brian Chapados 0c87fe4400 Add -[SourceListItem description] as a debugging aid 2011-11-21 17:54:01 -08:00
Brian Chapados 51784809bf Declare iconSize property as (nonatomic, assign) to fix LLVM3 compiler warning 2011-11-18 10:57:32 -08:00
Alex Rozanski 079ae55635 Removed Gestalt for 10.6/10.5 compatibility and used -respondsToSelector: instead 2011-03-17 17:44:38 +00:00
Alex Rozanski 280837b6c7 Updated icon drawing to make it 10.5-compatible 2011-03-17 10:57:00 +00:00
Alex Rozanski 8987876099 Remove -[NSImage setFlipped:] which is deprecated. Replace with -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] 2011-02-01 07:25:37 +00:00
Alex Rozanski d5922b1689 Updated GC-compatible code contributed by @byteproject 2011-01-13 17:19:05 +00:00
Alex Rozanski a9a0c60400 Made PXSourceList GC-compatible (thanks to @byteproject) 2011-01-11 15:52:01 +00:00
Alex Rozanski 45d0a1b884 Updated min SDK version to be 10.5 in the build settings 2011-01-11 15:38:58 +00:00
Alex Rozanski ce456c4bdd Updated gitignore 2011-01-11 15:32:53 +00:00
wagerlabs 016be05f1b Changed install path to relative to the executable and made framework GC-capable 2011-01-11 13:24:10 +00:00
wagerlabs 0f9d67e2fc Moved PXSourceList into a framework of its own 2011-01-11 12:42:20 +00:00
Alex Rozanski a435282302 Updated link to Source List docs on Apple's developer site 2010-12-07 16:06:57 +00:00
Simon Wolf 1559687bb6 NSCell subclass sizes are returned properly in frameOfCellAtColumn:row: 2010-11-18 14:05:40 +00:00
Alex Rozanski a9727a34f1 Fixed bug in registering delegate for the PXSLItemDidCollapseNotification notification 2010-05-11 13:47:21 +01:00
Alex Rozanski fb6716633e Fixed issue causing early truncation of cells when the Source List is resized 2010-03-31 14:23:47 +01:00
Alex Rozanski 2fcb584ed5 Missed a download link in the README that needed changing 2010-03-24 20:47:43 +00:00
Alex Rozanski 349b39e1d7 Updated README to link to the new downloads page for documentation 2010-03-24 20:45:59 +00:00
26 changed files with 788 additions and 489 deletions
+15 -3
View File
@@ -1,7 +1,19 @@
*.DS_Store
# Mac OS X
.DS_Store
# From http://github.com/github/gitignore
# Xcode
build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
/Build
/build
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside

Before

Width:  |  Height:  |  Size: 415 B

After

Width:  |  Height:  |  Size: 415 B

Before

Width:  |  Height:  |  Size: 654 B

After

Width:  |  Height:  |  Size: 654 B

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 721 B

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 671 B

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 511 B

Before

Width:  |  Height:  |  Size: 702 B

After

Width:  |  Height:  |  Size: 702 B

@@ -1,28 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">9L30</string>
<string key="IBDocument.InterfaceBuilderVersion">677</string>
<string key="IBDocument.AppKitVersion">949.54</string>
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<string key="IBDocument.SystemVersion">11A2063</string>
<string key="IBDocument.InterfaceBuilderVersion">1938</string>
<string key="IBDocument.AppKitVersion">1138.1</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">1938</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="685"/>
<integer value="368"/>
<string>NSView</string>
<string>NSMenu</string>
<string>NSScrollView</string>
<string>NSWindowTemplate</string>
<string>NSMenuItem</string>
<string>NSOutlineView</string>
<string>NSTextFieldCell</string>
<string>NSTextField</string>
<string>NSTableColumn</string>
<string>NSScroller</string>
<string>NSCustomObject</string>
</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">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -80,7 +88,7 @@
</object>
<object class="NSMenuItem" id="609285721">
<reference key="NSMenu" ref="110575045"/>
<string type="base64-UTF8" key="NSTitle">UHJlZmVyZW5jZXPigKY</string>
<string key="NSTitle">Preferences…</string>
<string key="NSKeyEquiv">,</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -195,7 +203,7 @@
</object>
<object class="NSMenuItem" id="722745758">
<reference key="NSMenu" ref="720053764"/>
<string type="base64-UTF8" key="NSTitle">T3BlbuKApg</string>
<string key="NSTitle">Open…</string>
<string key="NSKeyEquiv">o</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -256,7 +264,7 @@
</object>
<object class="NSMenuItem" id="117038363">
<reference key="NSMenu" ref="720053764"/>
<string type="base64-UTF8" key="NSTitle">U2F2ZSBBc+KApg</string>
<string key="NSTitle">Save As…</string>
<string key="NSKeyEquiv">S</string>
<int key="NSKeyEquivModMask">1179648</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -293,7 +301,7 @@
</object>
<object class="NSMenuItem" id="49223823">
<reference key="NSMenu" ref="720053764"/>
<string type="base64-UTF8" key="NSTitle">UHJpbnTigKY</string>
<string key="NSTitle">Print…</string>
<string key="NSKeyEquiv">p</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -420,7 +428,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="671868626">
<reference key="NSMenu" ref="930654435"/>
<string type="base64-UTF8" key="NSTitle">RmluZOKApg</string>
<string key="NSTitle">Find…</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -1198,7 +1206,7 @@
</object>
<object class="NSMenuItem" id="237841660">
<reference key="NSMenu" ref="466310130"/>
<string type="base64-UTF8" key="NSTitle">Q3VzdG9taXplIFRvb2xiYXLigKY</string>
<string key="NSTitle">Customize Toolbar…</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="756751024"/>
@@ -1294,7 +1302,7 @@
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="414427165">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@@ -1315,6 +1323,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{212, 568}</string>
<reference key="NSSuperview" ref="924312602"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
@@ -1324,16 +1333,16 @@
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="689724943">
<double key="NSWidth">2.090000e+02</double>
<double key="NSMinWidth">1.600000e+01</double>
<double key="NSMaxWidth">1.000000e+03</double>
<double key="NSWidth">209</double>
<double key="NSMinWidth">16</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">1.100000e+01</double>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor">
@@ -1356,7 +1365,7 @@
<string key="NSContents">Text Cell</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">1.100000e+01</double>
<double key="NSSize">11</double>
<int key="NSfFlags">16</int>
</object>
<reference key="NSControlView" ref="925440050"/>
@@ -1366,7 +1375,7 @@
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor" id="256543720">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="407411988">
@@ -1382,14 +1391,20 @@
<reference key="NSTableView" ref="925440050"/>
</object>
</object>
<double key="NSIntercellSpacingWidth">3.000000e+00</double>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">0.0</double>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">_sourceListBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC44MzkyMTU3IDAuODY2NjY2NjcgMC44OTgwMzkyMgA</bytes>
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">alternateSelectedControlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDEAA</bytes>
</object>
</object>
</object>
<object class="NSColor" key="NSGridColor">
@@ -1401,18 +1416,24 @@
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">2.000000e+01</double>
<double key="NSRowHeight">20</double>
<int key="NSTvFlags">-633339904</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewSelectionHighlightStyle">1</int>
<float key="NSOutlineViewIndentationPerLevelKey">1.400000e+01</float>
<int key="NSTableViewDraggingDestinationStyle">1</int>
<int key="NSTableViewGroupRowStyle">1</int>
<bool key="NSOutlineViewAutoresizesOutlineColumnKey">NO</bool>
<float key="NSOutlineViewIndentationPerLevelKey">14</float>
</object>
</object>
<string key="NSFrame">{{1, 1}, {212, 568}}</string>
<reference key="NSSuperview" ref="94723020"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="925440050"/>
<reference key="NSDocView" ref="925440050"/>
<reference key="NSBGColor" ref="439976330"/>
@@ -1421,27 +1442,30 @@
<object class="NSScroller" id="709110795">
<reference key="NSNextResponder" ref="94723020"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{198, 17}, {15, 539}}</string>
<string key="NSFrame">{{-100, -100}, {15, 539}}</string>
<reference key="NSSuperview" ref="94723020"/>
<reference key="NSWindow"/>
<reference key="NSTarget" ref="94723020"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">9.982487e-01</double>
<double key="NSPercent">0.99824869999999999</double>
</object>
<object class="NSScroller" id="268821861">
<reference key="NSNextResponder" ref="94723020"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 556}, {212, 15}}</string>
<string key="NSFrame">{{-100, -100}, {212, 15}}</string>
<reference key="NSSuperview" ref="94723020"/>
<reference key="NSWindow"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="94723020"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">9.953052e-01</double>
<double key="NSPercent">0.9953052</double>
</object>
</object>
<string key="NSFrameSize">{214, 570}</string>
<reference key="NSSuperview" ref="414427165"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="924312602"/>
<int key="NSsFlags">562</int>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="709110795"/>
<reference key="NSHScroller" ref="268821861"/>
<reference key="NSContentView" ref="924312602"/>
@@ -1452,6 +1476,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{361, 277}, {195, 17}}</string>
<reference key="NSSuperview" ref="414427165"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="182048349">
<int key="NSCellFlags">68288064</int>
@@ -1459,7 +1484,7 @@
<string key="NSContents">The currently selected item is:</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">1.300000e+01</double>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="814645353"/>
@@ -1477,6 +1502,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{558, 277}, {252, 17}}</string>
<reference key="NSSuperview" ref="414427165"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="88851921">
<int key="NSCellFlags">68288064</int>
@@ -1484,7 +1510,7 @@
<string key="NSContents"/>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande-Bold</string>
<double key="NSSize">1.300000e+01</double>
<double key="NSSize">13</double>
<int key="NSfFlags">16</int>
</object>
<reference key="NSControlView" ref="438895827"/>
@@ -1495,9 +1521,11 @@
</object>
<string key="NSFrameSize">{853, 570}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 832}}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSCustomObject" id="491749271">
<string key="NSClassName">AppDelegate</string>
@@ -1506,6 +1534,22 @@
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontStandardAboutPanel:</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="238522557"/>
</object>
<int key="connectionID">142</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">terminate:</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="632727374"/>
</object>
<int key="connectionID">448</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performMiniaturize:</string>
@@ -1546,14 +1590,6 @@
</object>
<int key="connectionID">127</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontStandardAboutPanel:</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="238522557"/>
</object>
<int key="connectionID">142</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performClose:</string>
@@ -1642,46 +1678,6 @@
</object>
<int key="connectionID">372</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addFontTrait:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="878418168"/>
</object>
<int key="connectionID">420</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addFontTrait:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="454477206"/>
</object>
<int key="connectionID">421</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">modifyFont:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="324950511"/>
</object>
<int key="connectionID">422</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontFontPanel:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="441815405"/>
</object>
<int key="connectionID">423</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">modifyFont:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="759504030"/>
</object>
<int key="connectionID">424</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">raiseBaseline:</string>
@@ -1810,14 +1806,6 @@
</object>
<int key="connectionID">440</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">terminate:</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="632727374"/>
</object>
<int key="connectionID">448</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">cut:</string>
@@ -2050,6 +2038,46 @@
</object>
<int key="connectionID">804</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addFontTrait:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="878418168"/>
</object>
<int key="connectionID">420</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addFontTrait:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="454477206"/>
</object>
<int key="connectionID">421</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">modifyFont:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="324950511"/>
</object>
<int key="connectionID">422</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontFontPanel:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="441815405"/>
</object>
<int key="connectionID">423</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">modifyFont:</string>
<reference key="source" ref="203559887"/>
<reference key="destination" ref="759504030"/>
</object>
<int key="connectionID">424</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
@@ -2098,7 +2126,7 @@
<int key="objectID">-2</int>
<reference key="object" ref="1021"/>
<reference key="parent" ref="761199673"/>
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
@@ -3213,86 +3241,46 @@
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>103.IBPluginDependency</string>
<string>103.ImportedFromIB2</string>
<string>106.IBEditorWindowLastContentRect</string>
<string>106.IBPluginDependency</string>
<string>106.ImportedFromIB2</string>
<string>106.editorWindowContentRectSynchronizationRect</string>
<string>111.IBPluginDependency</string>
<string>111.ImportedFromIB2</string>
<string>112.IBPluginDependency</string>
<string>112.ImportedFromIB2</string>
<string>124.IBPluginDependency</string>
<string>124.ImportedFromIB2</string>
<string>125.IBEditorWindowLastContentRect</string>
<string>125.IBPluginDependency</string>
<string>125.ImportedFromIB2</string>
<string>125.editorWindowContentRectSynchronizationRect</string>
<string>126.IBPluginDependency</string>
<string>126.ImportedFromIB2</string>
<string>129.IBPluginDependency</string>
<string>129.ImportedFromIB2</string>
<string>130.IBEditorWindowLastContentRect</string>
<string>130.IBPluginDependency</string>
<string>130.ImportedFromIB2</string>
<string>130.editorWindowContentRectSynchronizationRect</string>
<string>131.IBPluginDependency</string>
<string>131.ImportedFromIB2</string>
<string>134.IBPluginDependency</string>
<string>134.ImportedFromIB2</string>
<string>136.IBPluginDependency</string>
<string>136.ImportedFromIB2</string>
<string>143.IBPluginDependency</string>
<string>143.ImportedFromIB2</string>
<string>144.IBPluginDependency</string>
<string>144.ImportedFromIB2</string>
<string>145.IBPluginDependency</string>
<string>145.ImportedFromIB2</string>
<string>149.IBPluginDependency</string>
<string>149.ImportedFromIB2</string>
<string>150.IBPluginDependency</string>
<string>150.ImportedFromIB2</string>
<string>19.IBPluginDependency</string>
<string>19.ImportedFromIB2</string>
<string>23.IBPluginDependency</string>
<string>23.ImportedFromIB2</string>
<string>236.IBPluginDependency</string>
<string>236.ImportedFromIB2</string>
<string>239.IBPluginDependency</string>
<string>239.ImportedFromIB2</string>
<string>24.IBEditorWindowLastContentRect</string>
<string>24.IBPluginDependency</string>
<string>24.ImportedFromIB2</string>
<string>24.editorWindowContentRectSynchronizationRect</string>
<string>29.IBEditorWindowLastContentRect</string>
<string>29.IBPluginDependency</string>
<string>29.ImportedFromIB2</string>
<string>29.WindowOrigin</string>
<string>29.editorWindowContentRectSynchronizationRect</string>
<string>295.IBPluginDependency</string>
<string>296.IBEditorWindowLastContentRect</string>
<string>296.IBPluginDependency</string>
<string>296.editorWindowContentRectSynchronizationRect</string>
<string>297.IBPluginDependency</string>
<string>298.IBPluginDependency</string>
<string>367.IBEditorWindowLastContentRect</string>
<string>367.IBPluginDependency</string>
<string>367.IBWindowTemplateEditedContentRect</string>
<string>367.NSWindowTemplate.visibleAtLaunch</string>
<string>367.editorWindowContentRectSynchronizationRect</string>
<string>367.windowTemplate.maxSize</string>
<string>368.IBPluginDependency</string>
<string>373.IBPluginDependency</string>
<string>375.IBPluginDependency</string>
<string>376.IBEditorWindowLastContentRect</string>
<string>376.IBPluginDependency</string>
<string>377.IBPluginDependency</string>
<string>388.IBEditorWindowLastContentRect</string>
<string>388.IBPluginDependency</string>
<string>389.IBPluginDependency</string>
<string>390.IBPluginDependency</string>
@@ -3326,17 +3314,10 @@
<string>418.IBPluginDependency</string>
<string>419.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.ImportedFromIB2</string>
<string>56.IBPluginDependency</string>
<string>56.ImportedFromIB2</string>
<string>57.IBEditorWindowLastContentRect</string>
<string>57.IBPluginDependency</string>
<string>57.ImportedFromIB2</string>
<string>57.editorWindowContentRectSynchronizationRect</string>
<string>58.IBPluginDependency</string>
<string>58.ImportedFromIB2</string>
<string>684.IBPluginDependency</string>
<string>685.IBEditorWindowLastContentRect</string>
<string>685.IBPluginDependency</string>
<string>686.IBPluginDependency</string>
<string>687.IBPluginDependency</string>
@@ -3363,7 +3344,6 @@
<string>718.IBPluginDependency</string>
<string>719.IBPluginDependency</string>
<string>72.IBPluginDependency</string>
<string>72.ImportedFromIB2</string>
<string>720.IBPluginDependency</string>
<string>721.IBPluginDependency</string>
<string>722.IBPluginDependency</string>
@@ -3371,12 +3351,10 @@
<string>724.IBPluginDependency</string>
<string>725.IBPluginDependency</string>
<string>726.IBPluginDependency</string>
<string>727.IBEditorWindowLastContentRect</string>
<string>727.IBPluginDependency</string>
<string>728.IBPluginDependency</string>
<string>729.IBPluginDependency</string>
<string>73.IBPluginDependency</string>
<string>73.ImportedFromIB2</string>
<string>730.IBPluginDependency</string>
<string>731.IBPluginDependency</string>
<string>732.IBPluginDependency</string>
@@ -3388,18 +3366,13 @@
<string>738.IBPluginDependency</string>
<string>739.IBPluginDependency</string>
<string>74.IBPluginDependency</string>
<string>74.ImportedFromIB2</string>
<string>75.IBPluginDependency</string>
<string>75.ImportedFromIB2</string>
<string>77.IBPluginDependency</string>
<string>77.ImportedFromIB2</string>
<string>776.IBPluginDependency</string>
<string>777.IBEditorWindowLastContentRect</string>
<string>777.IBPluginDependency</string>
<string>778.IBPluginDependency</string>
<string>779.IBPluginDependency</string>
<string>78.IBPluginDependency</string>
<string>78.ImportedFromIB2</string>
<string>780.IBPluginDependency</string>
<string>781.IBPluginDependency</string>
<string>782.IBPluginDependency</string>
@@ -3408,11 +3381,9 @@
<string>785.IBPluginDependency</string>
<string>786.IBPluginDependency</string>
<string>787.IBPluginDependency</string>
<string>788.IBEditorWindowLastContentRect</string>
<string>788.IBPluginDependency</string>
<string>789.IBPluginDependency</string>
<string>79.IBPluginDependency</string>
<string>79.ImportedFromIB2</string>
<string>790.IBPluginDependency</string>
<string>791.IBPluginDependency</string>
<string>792.IBPluginDependency</string>
@@ -3422,11 +3393,7 @@
<string>796.IBPluginDependency</string>
<string>797.IBPluginDependency</string>
<string>80.IBPluginDependency</string>
<string>80.ImportedFromIB2</string>
<string>81.IBEditorWindowLastContentRect</string>
<string>81.IBPluginDependency</string>
<string>81.ImportedFromIB2</string>
<string>81.editorWindowContentRectSynchronizationRect</string>
<string>811.IBPluginDependency</string>
<string>812.IBPluginDependency</string>
<string>813.IBPluginDependency</string>
@@ -3435,16 +3402,13 @@
<string>816.IBPluginDependency</string>
<string>819.IBPluginDependency</string>
<string>82.IBPluginDependency</string>
<string>82.ImportedFromIB2</string>
<string>820.IBPluginDependency</string>
<string>83.IBPluginDependency</string>
<string>83.ImportedFromIB2</string>
<string>830.IBPluginDependency</string>
<string>831.IBPluginDependency</string>
<string>832.IBPluginDependency</string>
<string>833.IBPluginDependency</string>
<string>92.IBPluginDependency</string>
<string>92.ImportedFromIB2</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -3452,80 +3416,40 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1" id="9"/>
<string>{{743, 629}, {217, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{596, 852}, {216, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{420, 712}, {132, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{522, 812}, {146, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{509, 573}, {64, 6}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{436, 809}, {64, 6}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{423, 702}, {197, 73}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{525, 802}, {197, 73}}</string>
<string>{{73, 775}, {482, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{74, 862}</string>
<string>{{11, 977}, {478, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{373, 732}, {234, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{475, 832}, {234, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{85, 60}, {853, 570}}</string>
<string>{{85, 60}, {853, 570}}</string>
<reference ref="9"/>
<string>{{11, 666}, {480, 270}}</string>
<string>{3.40282e+38, 3.40282e+38}</string>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{307, 732}, {86, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{393, 491}, {178, 283}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3559,17 +3483,10 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{334, 469}, {246, 183}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{23, 794}, {245, 183}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{263, 492}, {257, 283}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3596,7 +3513,6 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3604,12 +3520,10 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{520, 462}, {278, 113}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3621,18 +3535,13 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{393, 571}, {207, 183}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3641,11 +3550,9 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{870, 801}, {164, 173}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3655,11 +3562,7 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{221, 572}, {199, 203}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{323, 672}, {199, 203}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3668,36 +3571,25 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.sortedKeys" ref="761199673"/>
<reference key="dict.values" ref="761199673"/>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.sortedKeys" ref="761199673"/>
<reference key="dict.values" ref="761199673"/>
</object>
<nil key="sourceID"/>
<int key="maxID">835</int>
@@ -3710,7 +3602,7 @@
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>selectedItemLabel</string>
<string>sourceList</string>
@@ -3721,16 +3613,95 @@
<string>PXSourceList</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>selectedItemLabel</string>
<string>sourceList</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">selectedItemLabel</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">sourceList</string>
<string key="candidateClassName">PXSourceList</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/AppDelegate.h</string>
<string key="minorKey">./Classes/AppDelegate.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<string key="className">NSDocument</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>printDocument:</string>
<string>revertDocumentToSaved:</string>
<string>runPageLayout:</string>
<string>saveDocument:</string>
<string>saveDocumentAs:</string>
<string>saveDocumentTo:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>printDocument:</string>
<string>revertDocumentToSaved:</string>
<string>runPageLayout:</string>
<string>saveDocument:</string>
<string>saveDocumentAs:</string>
<string>saveDocumentTo:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">printDocument:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">revertDocumentToSaved:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">runPageLayout:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">saveDocument:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">saveDocumentAs:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">saveDocumentTo:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/PXSourceListDelegate.h</string>
<string key="minorKey">./Classes/NSDocument.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -3738,13 +3709,35 @@
<string key="superclassName">NSOutlineView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/PXSourceList.h</string>
<string key="minorKey">./Classes/PXSourceList.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.LastKnownRelativeProjectPath">../PXSourceList.xcodeproj</string>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1050" 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>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSMenuCheckmark</string>
<string>NSMenuMixedState</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>{9, 8}</string>
<string>{7, 2}</string>
</object>
</object>
</data>
</archive>
@@ -9,7 +9,7 @@
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.perspx.${PRODUCT_NAME:rfc1034identifier}</string>
<string>uk.co.alexrozanski.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@@ -5,6 +5,8 @@
// Created by Alex Rozanski on 08/01/2010.
// Copyright 2010 Alex Rozanski http://perspx.com
//
// GC-enabled code revised by Stefan Vogt http://byteproject.net
//
#import "SourceListItem.h"
@@ -18,7 +20,7 @@
@synthesize children;
#pragma mark -
#pragma mark Init/Dealloc
#pragma mark Init/Dealloc/Finalize
- (id)init
{
@@ -50,7 +52,6 @@
return item;
}
- (void)dealloc
{
[title release];
@@ -61,6 +62,16 @@
[super dealloc];
}
- (void)finalize
{
title = nil;
identifier = nil;
icon = nil;
children = nil;
[super finalize];
}
#pragma mark -
#pragma mark Custom Accessors
@@ -79,4 +90,11 @@
return icon!=nil;
}
#pragma mark -
#pragma mark Custom Accessors
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@: %p | identifier = %@ | title = %@ >", [self class], self, self.identifier, self.title];
}
@end
View File
+34 -53
View File
@@ -18,9 +18,9 @@
activeBuildConfigurationName = Release;
activeExecutable = D2EA6EB110D9202800402758 /* PXSourceList */;
activeSDKPreference = macosx10.6;
activeTarget = 8D1107260486CEB800E47090 /* PXSourceList */;
activeTarget = 8D1107260486CEB800E47090 /* PXSourceListDemo */;
addToTargets = (
8D1107260486CEB800E47090 /* PXSourceList */,
8D1107260486CEB800E47090 /* PXSourceListDemo */,
);
breakpoints = (
);
@@ -111,44 +111,45 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 284758363;
PBXWorkspaceStateSaveDate = 284758363;
PBXPerProjectTemplateStateSaveDate = 316452921;
PBXWorkspaceStateSaveDate = 316452921;
};
perUserProjectItems = {
D205EE4010F7A84B004C6545 /* PBXTextBookmark */ = D205EE4010F7A84B004C6545 /* PBXTextBookmark */;
D205EE7810F7AB18004C6545 /* PBXTextBookmark */ = D205EE7810F7AB18004C6545 /* PBXTextBookmark */;
D205EE7910F7AB18004C6545 /* PBXTextBookmark */ = D205EE7910F7AB18004C6545 /* PBXTextBookmark */;
D2456CB110F8F80F00B8045C /* PBXTextBookmark */ = D2456CB110F8F80F00B8045C /* PBXTextBookmark */;
D2456CE210F9059100B8045C /* PBXTextBookmark */ = D2456CE210F9059100B8045C /* PBXTextBookmark */;
D2456CF310F905AD00B8045C /* PBXTextBookmark */ = D2456CF310F905AD00B8045C /* PBXTextBookmark */;
D2456D0710F907AB00B8045C /* PBXTextBookmark */ = D2456D0710F907AB00B8045C /* PBXTextBookmark */;
D2456D0810F907AB00B8045C /* PBXTextBookmark */ = D2456D0810F907AB00B8045C /* PBXTextBookmark */;
D2456D6110F90CE000B8045C /* PBXTextBookmark */ = D2456D6110F90CE000B8045C /* PBXTextBookmark */;
D2456D9210F90D5000B8045C /* PBXTextBookmark */ = D2456D9210F90D5000B8045C /* PBXTextBookmark */;
D2456D9310F90D5000B8045C /* PBXTextBookmark */ = D2456D9310F90D5000B8045C /* PBXTextBookmark */;
D2456DF110F9116000B8045C /* PBXTextBookmark */ = D2456DF110F9116000B8045C /* PBXTextBookmark */;
D2456DF210F9116000B8045C /* PBXTextBookmark */ = D2456DF210F9116000B8045C /* PBXTextBookmark */;
D2456DF310F9116000B8045C /* PBXTextBookmark */ = D2456DF310F9116000B8045C /* PBXTextBookmark */;
D27B7D5B10E11399004D7DBC /* PBXTextBookmark */ = D27B7D5B10E11399004D7DBC /* PBXTextBookmark */;
D27B7D5C10E11399004D7DBC /* PBXTextBookmark */ = D27B7D5C10E11399004D7DBC /* PBXTextBookmark */;
D27B7D5E10E11399004D7DBC /* PBXTextBookmark */ = D27B7D5E10E11399004D7DBC /* PBXTextBookmark */;
D27B7D6010E11399004D7DBC /* PBXTextBookmark */ = D27B7D6010E11399004D7DBC /* PBXTextBookmark */;
D27B7D6210E11399004D7DBC /* PBXTextBookmark */ = D27B7D6210E11399004D7DBC /* PBXTextBookmark */;
D27B7D6410E11399004D7DBC /* PBXTextBookmark */ = D27B7D6410E11399004D7DBC /* PBXTextBookmark */;
D27B7D6610E11399004D7DBC /* PBXTextBookmark */ = D27B7D6610E11399004D7DBC /* PBXTextBookmark */;
D27B7D6810E11399004D7DBC /* PBXTextBookmark */ = D27B7D6810E11399004D7DBC /* PBXTextBookmark */;
D27B7D6C10E11399004D7DBC /* PBXTextBookmark */ = D27B7D6C10E11399004D7DBC /* PBXTextBookmark */;
D27B7D6E10E11399004D7DBC /* PBXTextBookmark */ = D27B7D6E10E11399004D7DBC /* PBXTextBookmark */;
D27B7D7010E11399004D7DBC /* PBXTextBookmark */ = D27B7D7010E11399004D7DBC /* PBXTextBookmark */;
D27B7D7210E11399004D7DBC /* PBXTextBookmark */ = D27B7D7210E11399004D7DBC /* PBXTextBookmark */;
D27B7D7410E11399004D7DBC /* PBXTextBookmark */ = D27B7D7410E11399004D7DBC /* PBXTextBookmark */;
D2E0722E10F89C030056126C /* PBXTextBookmark */ = D2E0722E10F89C030056126C /* PBXTextBookmark */;
D205EE4010F7A84B004C6545 = D205EE4010F7A84B004C6545 /* PBXTextBookmark */;
D205EE7810F7AB18004C6545 = D205EE7810F7AB18004C6545 /* PBXTextBookmark */;
D205EE7910F7AB18004C6545 = D205EE7910F7AB18004C6545 /* PBXTextBookmark */;
D2456CB110F8F80F00B8045C = D2456CB110F8F80F00B8045C /* PBXTextBookmark */;
D2456CE210F9059100B8045C = D2456CE210F9059100B8045C /* PBXTextBookmark */;
D2456CF310F905AD00B8045C = D2456CF310F905AD00B8045C /* PBXTextBookmark */;
D2456D0710F907AB00B8045C = D2456D0710F907AB00B8045C /* PBXTextBookmark */;
D2456D0810F907AB00B8045C = D2456D0810F907AB00B8045C /* PBXTextBookmark */;
D2456D6110F90CE000B8045C = D2456D6110F90CE000B8045C /* PBXTextBookmark */;
D2456D9210F90D5000B8045C = D2456D9210F90D5000B8045C /* PBXTextBookmark */;
D2456D9310F90D5000B8045C = D2456D9310F90D5000B8045C /* PBXTextBookmark */;
D2456DF110F9116000B8045C = D2456DF110F9116000B8045C /* PBXTextBookmark */;
D27B7D5B10E11399004D7DBC = D27B7D5B10E11399004D7DBC /* PBXTextBookmark */;
D27B7D5C10E11399004D7DBC = D27B7D5C10E11399004D7DBC /* PBXTextBookmark */;
D27B7D5E10E11399004D7DBC = D27B7D5E10E11399004D7DBC /* PBXTextBookmark */;
D27B7D6010E11399004D7DBC = D27B7D6010E11399004D7DBC /* PBXTextBookmark */;
D27B7D6210E11399004D7DBC = D27B7D6210E11399004D7DBC /* PBXTextBookmark */;
D27B7D6410E11399004D7DBC = D27B7D6410E11399004D7DBC /* PBXTextBookmark */;
D27B7D6610E11399004D7DBC = D27B7D6610E11399004D7DBC /* PBXTextBookmark */;
D27B7D6810E11399004D7DBC = D27B7D6810E11399004D7DBC /* PBXTextBookmark */;
D27B7D6C10E11399004D7DBC = D27B7D6C10E11399004D7DBC /* PBXTextBookmark */;
D27B7D6E10E11399004D7DBC = D27B7D6E10E11399004D7DBC /* PBXTextBookmark */;
D27B7D7010E11399004D7DBC = D27B7D7010E11399004D7DBC /* PBXTextBookmark */;
D27B7D7210E11399004D7DBC = D27B7D7210E11399004D7DBC /* PBXTextBookmark */;
D27B7D7410E11399004D7DBC = D27B7D7410E11399004D7DBC /* PBXTextBookmark */;
D2E0722E10F89C030056126C = D2E0722E10F89C030056126C /* PBXTextBookmark */;
};
sourceControlManager = D2EA6EBE10D9203500402758 /* Source Control */;
userBuildSettings = {
};
};
8D1107260486CEB800E47090 /* PXSourceList */ = {
4CC5EA2912DC81ED001F282E /* PXSourceList */ = {
activeExec = 0;
};
8D1107260486CEB800E47090 /* PXSourceListDemo */ = {
activeExec = 0;
executables = (
D2EA6EB110D9202800402758 /* PXSourceList */,
@@ -309,26 +310,6 @@
vrLen = 1343;
vrLoc = 1314;
};
D2456DF210F9116000B8045C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = D205EDDD10F7A1EE004C6545 /* README.markdown */;
name = "README.markdown: 60";
rLen = 0;
rLoc = 4839;
rType = 0;
vrLen = 1858;
vrLoc = 2880;
};
D2456DF310F9116000B8045C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = D205EDDD10F7A1EE004C6545 /* README.markdown */;
name = "README.markdown: 64";
rLen = 0;
rLoc = 4839;
rType = 0;
vrLen = 1928;
vrLoc = 2911;
};
D265C2D610E3814B00A1E824 /* TODO.rtf */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {818, 620}}";
@@ -231,6 +231,8 @@
<key>Layout</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -279,12 +281,12 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>2</integer>
<integer>0</integer>
<integer>30</integer>
<integer>28</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 1}, {259, 624}}</string>
<string>{{0, 0}, {259, 624}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -314,8 +316,6 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -330,10 +330,6 @@
<string>D2EA6EDB10D9255200402758</string>
<key>PBXProjectModuleLabel</key>
<string>README.markdown</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>D2456DF310F9116000B8045C</string>
<key>history</key>
<array>
<string>D27B7D5B10E11399004D7DBC</string>
@@ -362,7 +358,6 @@
<string>D2456D9210F90D5000B8045C</string>
<string>D2456D9310F90D5000B8045C</string>
<string>D2456DF110F9116000B8045C</string>
<string>D2456DF210F9116000B8045C</string>
</array>
</dict>
<key>SplitCount</key>
@@ -376,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {865, 406}}</string>
<string>{{0, 0}, {865, 347}}</string>
<key>RubberWindowFrame</key>
<string>4 74 1146 683 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>406pt</string>
<string>347pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>231pt</string>
<string>290pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -401,7 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {865, 204}}</string>
<string>{{10, 27}, {865, 263}}</string>
<key>RubberWindowFrame</key>
<string>4 74 1146 683 0 0 1280 778 </string>
</dict>
@@ -506,11 +501,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>D2456DF410F9116000B8045C</string>
<string>D25DB35D12DCB03B00C3C707</string>
<string>1CA23ED40692098700951B8B</string>
<string>D2456DF510F9116000B8045C</string>
<string>D25DB35E12DCB03B00C3C707</string>
<string>D2EA6EDA10D9255200402758</string>
<string>D2456DF610F9116000B8045C</string>
<string>D25DB35F12DCB03B00C3C707</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,13 +652,13 @@
</array>
<key>TableOfContents</key>
<array>
<string>D2456D9B10F90D5600B8045C</string>
<string>D25DB32312DCAE6200C3C707</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
<string>D2456D9C10F90D5600B8045C</string>
<string>D2456D9D10F90D5600B8045C</string>
<string>D2456D9E10F90D5600B8045C</string>
<string>D2456D9F10F90D5600B8045C</string>
<string>D25DB32412DCAE6200C3C707</string>
<string>D25DB32512DCAE6200C3C707</string>
<string>D25DB32612DCAE6200C3C707</string>
<string>D25DB32712DCAE6200C3C707</string>
<string>D2EA6EDA10D9255200402758</string>
</array>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
+275 -99
View File
@@ -3,56 +3,77 @@
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
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 */; };
D205EDF010F7A609004C6545 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D205EDEF10F7A609004C6545 /* MainMenu.xib */; };
D205EDF710F7A693004C6545 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D205EDF610F7A693004C6545 /* AppDelegate.m */; };
D2456CAA10F8F7F500B8045C /* audiobooks.png in Resources */ = {isa = PBXBuildFile; fileRef = D2456CA410F8F7F500B8045C /* audiobooks.png */; };
D2456CAB10F8F7F500B8045C /* movies.png in Resources */ = {isa = PBXBuildFile; fileRef = D2456CA510F8F7F500B8045C /* movies.png */; };
D2456CAC10F8F7F500B8045C /* music.png in Resources */ = {isa = PBXBuildFile; fileRef = D2456CA610F8F7F500B8045C /* music.png */; };
D2456CAD10F8F7F500B8045C /* playlist.png in Resources */ = {isa = PBXBuildFile; fileRef = D2456CA710F8F7F500B8045C /* playlist.png */; };
D2456CAE10F8F7F500B8045C /* playlistFolder.png in Resources */ = {isa = PBXBuildFile; fileRef = D2456CA810F8F7F500B8045C /* playlistFolder.png */; };
D2456CAF10F8F7F500B8045C /* podcasts.png in Resources */ = {isa = PBXBuildFile; fileRef = D2456CA910F8F7F500B8045C /* podcasts.png */; };
D2456D8C10F90D3B00B8045C /* SourceListItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D2456D8B10F90D3B00B8045C /* SourceListItem.m */; };
D2456D8D10F90D4A00B8045C /* PXSourceList.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EA6EC110D9205A00402758 /* PXSourceList.m */; };
D265C2D710E3814B00A1E824 /* TODO.rtf in Resources */ = {isa = PBXBuildFile; fileRef = D265C2D610E3814B00A1E824 /* TODO.rtf */; };
D213027C14B9AFE200AAFF85 /* PXSourceList.h in Headers */ = {isa = PBXBuildFile; fileRef = D213027814B9AFE200AAFF85 /* PXSourceList.h */; settings = {ATTRIBUTES = (Public, ); }; };
D213027D14B9AFE200AAFF85 /* PXSourceList.m in Sources */ = {isa = PBXBuildFile; fileRef = D213027914B9AFE200AAFF85 /* PXSourceList.m */; };
D213027E14B9AFE200AAFF85 /* PXSourceList.m in Sources */ = {isa = PBXBuildFile; fileRef = D213027914B9AFE200AAFF85 /* PXSourceList.m */; };
D213027F14B9AFE200AAFF85 /* PXSourceListDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = D213027A14B9AFE200AAFF85 /* PXSourceListDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
D213028014B9AFE200AAFF85 /* PXSourceListDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D213027B14B9AFE200AAFF85 /* PXSourceListDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
D213028B14B9B01F00AAFF85 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D213028814B9B01F00AAFF85 /* AppDelegate.m */; };
D213028C14B9B01F00AAFF85 /* SourceListItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D213028A14B9B01F00AAFF85 /* SourceListItem.m */; };
D213028E14B9B02A00AAFF85 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D213028D14B9B02A00AAFF85 /* main.m */; };
D21302BE14B9B24C00AAFF85 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D21302BD14B9B24C00AAFF85 /* MainMenu.xib */; };
D21302C514B9B25700AAFF85 /* audiobooks.png in Resources */ = {isa = PBXBuildFile; fileRef = D21302BF14B9B25700AAFF85 /* audiobooks.png */; };
D21302C614B9B25700AAFF85 /* movies.png in Resources */ = {isa = PBXBuildFile; fileRef = D21302C014B9B25700AAFF85 /* movies.png */; };
D21302C714B9B25700AAFF85 /* music.png in Resources */ = {isa = PBXBuildFile; fileRef = D21302C114B9B25700AAFF85 /* music.png */; };
D21302C814B9B25700AAFF85 /* playlist.png in Resources */ = {isa = PBXBuildFile; fileRef = D21302C214B9B25700AAFF85 /* playlist.png */; };
D21302C914B9B25700AAFF85 /* playlistFolder.png in Resources */ = {isa = PBXBuildFile; fileRef = D21302C314B9B25700AAFF85 /* playlistFolder.png */; };
D21302CA14B9B25700AAFF85 /* podcasts.png in Resources */ = {isa = PBXBuildFile; fileRef = D21302C414B9B25700AAFF85 /* podcasts.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
4CC5EA2F12DC8209001F282E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4CC5EA2912DC81ED001F282E;
remoteInfo = PXSourceList;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = Resources/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>"; };
256AC3F00F4B6AF500CF3369 /* PXSourceList_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PXSourceList_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 /* PXSourceList-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "PXSourceList-Info.plist"; sourceTree = "<group>"; };
4CC5EA2A12DC81ED001F282E /* PXSourceList.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PXSourceList.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8D1107320486CEB800E47090 /* PXSourceList.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PXSourceList.app; sourceTree = BUILT_PRODUCTS_DIR; };
D205EDDD10F7A1EE004C6545 /* README.markdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.markdown; sourceTree = "<group>"; };
D205EDEF10F7A609004C6545 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = Resources/MainMenu.xib; sourceTree = "<group>"; };
D205EDF510F7A693004C6545 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Classes/AppDelegate.h; sourceTree = "<group>"; };
D205EDF610F7A693004C6545 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Classes/AppDelegate.m; sourceTree = "<group>"; };
D205EE7D10F7B5AB004C6545 /* SourceListItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SourceListItem.h; path = Classes/SourceListItem.h; sourceTree = "<group>"; };
D2456CA410F8F7F500B8045C /* audiobooks.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = audiobooks.png; path = Resources/audiobooks.png; sourceTree = "<group>"; };
D2456CA510F8F7F500B8045C /* movies.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = movies.png; path = Resources/movies.png; sourceTree = "<group>"; };
D2456CA610F8F7F500B8045C /* music.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = music.png; path = Resources/music.png; sourceTree = "<group>"; };
D2456CA710F8F7F500B8045C /* playlist.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playlist.png; path = Resources/playlist.png; sourceTree = "<group>"; };
D2456CA810F8F7F500B8045C /* playlistFolder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playlistFolder.png; path = Resources/playlistFolder.png; sourceTree = "<group>"; };
D2456CA910F8F7F500B8045C /* podcasts.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = podcasts.png; path = Resources/podcasts.png; sourceTree = "<group>"; };
D2456D8B10F90D3B00B8045C /* SourceListItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SourceListItem.m; path = Classes/SourceListItem.m; sourceTree = "<group>"; };
D213027814B9AFE200AAFF85 /* PXSourceList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXSourceList.h; path = PXSourceList/PXSourceList.h; sourceTree = "<group>"; };
D213027914B9AFE200AAFF85 /* PXSourceList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PXSourceList.m; path = PXSourceList/PXSourceList.m; sourceTree = "<group>"; };
D213027A14B9AFE200AAFF85 /* PXSourceListDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXSourceListDataSource.h; path = PXSourceList/PXSourceListDataSource.h; sourceTree = "<group>"; };
D213027B14B9AFE200AAFF85 /* PXSourceListDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXSourceListDelegate.h; path = PXSourceList/PXSourceListDelegate.h; sourceTree = "<group>"; };
D213028714B9B01F00AAFF85 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "Demo Project/AppDelegate.h"; sourceTree = "<group>"; };
D213028814B9B01F00AAFF85 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "Demo Project/AppDelegate.m"; sourceTree = "<group>"; };
D213028914B9B01F00AAFF85 /* SourceListItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SourceListItem.h; path = "Demo Project/SourceListItem.h"; sourceTree = "<group>"; };
D213028A14B9B01F00AAFF85 /* SourceListItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SourceListItem.m; path = "Demo Project/SourceListItem.m"; sourceTree = "<group>"; };
D213028D14B9B02A00AAFF85 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "Demo Project/main.m"; sourceTree = "<group>"; };
D21302B614B9B16400AAFF85 /* PXSourceListDemo-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "PXSourceListDemo-Info.plist"; path = "Demo Project/PXSourceListDemo-Info.plist"; sourceTree = "<group>"; };
D21302B814B9B17200AAFF85 /* PXSourceList-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "PXSourceList-Info.plist"; path = "PXSourceList/PXSourceList-Info.plist"; sourceTree = "<group>"; };
D21302BC14B9B23700AAFF85 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = "Demo Project/English.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
D21302BD14B9B24C00AAFF85 /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MainMenu.xib; path = "Demo Project/MainMenu.xib"; sourceTree = "<group>"; };
D21302BF14B9B25700AAFF85 /* audiobooks.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = audiobooks.png; path = "Demo Project/Images/audiobooks.png"; sourceTree = "<group>"; };
D21302C014B9B25700AAFF85 /* movies.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = movies.png; path = "Demo Project/Images/movies.png"; sourceTree = "<group>"; };
D21302C114B9B25700AAFF85 /* music.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = music.png; path = "Demo Project/Images/music.png"; sourceTree = "<group>"; };
D21302C214B9B25700AAFF85 /* playlist.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playlist.png; path = "Demo Project/Images/playlist.png"; sourceTree = "<group>"; };
D21302C314B9B25700AAFF85 /* playlistFolder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playlistFolder.png; path = "Demo Project/Images/playlistFolder.png"; sourceTree = "<group>"; };
D21302C414B9B25700AAFF85 /* podcasts.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = podcasts.png; path = "Demo Project/Images/podcasts.png"; sourceTree = "<group>"; };
D21302CB14B9B2FC00AAFF85 /* PXSourceListDemo_Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PXSourceListDemo_Prefix.pch; path = "Demo Project/PXSourceListDemo_Prefix.pch"; sourceTree = "<group>"; };
D265C2D610E3814B00A1E824 /* TODO.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = TODO.rtf; sourceTree = "<group>"; };
D2EA6EC010D9205A00402758 /* PXSourceList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXSourceList.h; path = Classes/PXSourceList.h; sourceTree = "<group>"; };
D2EA6EC110D9205A00402758 /* PXSourceList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PXSourceList.m; path = Classes/PXSourceList.m; sourceTree = "<group>"; };
D2EA6EFF10D925AA00402758 /* PXSourceListDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXSourceListDataSource.h; path = Classes/PXSourceListDataSource.h; sourceTree = "<group>"; };
D2EA6F0010D925AA00402758 /* PXSourceListDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PXSourceListDelegate.h; path = Classes/PXSourceListDelegate.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
4CC5EA2812DC81ED001F282E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -64,16 +85,16 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
080E96DDFE201D6D7F000001 /* PXSourceList */ = {
isa = PBXGroup;
children = (
D205EDF510F7A693004C6545 /* AppDelegate.h */,
D205EDF610F7A693004C6545 /* AppDelegate.m */,
D205EE7D10F7B5AB004C6545 /* SourceListItem.h */,
D2456D8B10F90D3B00B8045C /* SourceListItem.m */,
D2EA702910D92EB300402758 /* PXSourceList */,
D213027814B9AFE200AAFF85 /* PXSourceList.h */,
D213027914B9AFE200AAFF85 /* PXSourceList.m */,
D213027A14B9AFE200AAFF85 /* PXSourceListDataSource.h */,
D213027B14B9AFE200AAFF85 /* PXSourceListDelegate.h */,
D21302BA14B9B1DC00AAFF85 /* Supporting Files */,
);
name = Classes;
name = PXSourceList;
sourceTree = "<group>";
};
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
@@ -98,6 +119,7 @@
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* PXSourceList.app */,
4CC5EA2A12DC81ED001F282E /* PXSourceList.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -107,31 +129,30 @@
children = (
D265C2D610E3814B00A1E824 /* TODO.rtf */,
D205EDDD10F7A1EE004C6545 /* README.markdown */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
080E96DDFE201D6D7F000001 /* PXSourceList */,
D213027714B9AFCA00AAFF85 /* Demo Project */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = PXSourceList;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
29B97315FDCFA39411CA2CEA /* Supporting Files */ = {
isa = PBXGroup;
children = (
256AC3F00F4B6AF500CF3369 /* PXSourceList_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
D21302CB14B9B2FC00AAFF85 /* PXSourceListDemo_Prefix.pch */,
D21302B614B9B16400AAFF85 /* PXSourceListDemo-Info.plist */,
D21302BB14B9B23700AAFF85 /* InfoPlist.strings */,
D213028D14B9B02A00AAFF85 /* main.m */,
);
name = "Other Sources";
name = "Supporting Files";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
D21302BD14B9B24C00AAFF85 /* MainMenu.xib */,
D27B7D2710E0C925004D7DBC /* Icons */,
8D1107310486CEB800E47090 /* PXSourceList-Info.plist */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
D205EDEF10F7A609004C6545 /* MainMenu.xib */,
);
name = Resources;
sourceTree = "<group>";
@@ -145,36 +166,77 @@
name = Frameworks;
sourceTree = "<group>";
};
D213027714B9AFCA00AAFF85 /* Demo Project */ = {
isa = PBXGroup;
children = (
D213028714B9B01F00AAFF85 /* AppDelegate.h */,
D213028814B9B01F00AAFF85 /* AppDelegate.m */,
D213028914B9B01F00AAFF85 /* SourceListItem.h */,
D213028A14B9B01F00AAFF85 /* SourceListItem.m */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97315FDCFA39411CA2CEA /* Supporting Files */,
);
name = "Demo Project";
sourceTree = "<group>";
};
D21302BA14B9B1DC00AAFF85 /* Supporting Files */ = {
isa = PBXGroup;
children = (
D21302B814B9B17200AAFF85 /* PXSourceList-Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
D27B7D2710E0C925004D7DBC /* Icons */ = {
isa = PBXGroup;
children = (
D2456CA410F8F7F500B8045C /* audiobooks.png */,
D2456CA510F8F7F500B8045C /* movies.png */,
D2456CA610F8F7F500B8045C /* music.png */,
D2456CA710F8F7F500B8045C /* playlist.png */,
D2456CA810F8F7F500B8045C /* playlistFolder.png */,
D2456CA910F8F7F500B8045C /* podcasts.png */,
D21302BF14B9B25700AAFF85 /* audiobooks.png */,
D21302C014B9B25700AAFF85 /* movies.png */,
D21302C114B9B25700AAFF85 /* music.png */,
D21302C214B9B25700AAFF85 /* playlist.png */,
D21302C314B9B25700AAFF85 /* playlistFolder.png */,
D21302C414B9B25700AAFF85 /* podcasts.png */,
);
name = Icons;
sourceTree = "<group>";
};
D2EA702910D92EB300402758 /* PXSourceList */ = {
isa = PBXGroup;
children = (
D2EA6EC010D9205A00402758 /* PXSourceList.h */,
D2EA6EC110D9205A00402758 /* PXSourceList.m */,
D2EA6EFF10D925AA00402758 /* PXSourceListDataSource.h */,
D2EA6F0010D925AA00402758 /* PXSourceListDelegate.h */,
);
name = PXSourceList;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
4CC5EA2512DC81ED001F282E /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
D213027C14B9AFE200AAFF85 /* PXSourceList.h in Headers */,
D213027F14B9AFE200AAFF85 /* PXSourceListDataSource.h in Headers */,
D213028014B9AFE200AAFF85 /* PXSourceListDelegate.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* PXSourceList */ = {
4CC5EA2912DC81ED001F282E /* PXSourceList */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXSourceList" */;
buildConfigurationList = 4CC5EA4B12DC8264001F282E /* Build configuration list for PBXNativeTarget "PXSourceList" */;
buildPhases = (
4CC5EA2512DC81ED001F282E /* Headers */,
4CC5EA2612DC81ED001F282E /* Resources */,
4CC5EA2712DC81ED001F282E /* Sources */,
4CC5EA2812DC81ED001F282E /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = PXSourceList;
productName = PXSourceList;
productReference = 4CC5EA2A12DC81ED001F282E /* PXSourceList.framework */;
productType = "com.apple.product-type.framework";
};
8D1107260486CEB800E47090 /* PXSourceListDemo */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXSourceListDemo" */;
buildPhases = (
8D11072C0486CEB800E47090 /* Sources */,
8D1107290486CEB800E47090 /* Resources */,
@@ -183,8 +245,9 @@
buildRules = (
);
dependencies = (
4CC5EA3012DC8209001F282E /* PBXTargetDependency */,
);
name = PXSourceList;
name = PXSourceListDemo;
productInstallPath = "$(HOME)/Applications";
productName = PXSourceList;
productReference = 8D1107320486CEB800E47090 /* PXSourceList.app */;
@@ -195,56 +258,88 @@
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0450;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "PXSourceList" */;
compatibilityVersion = "Xcode 3.1";
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* PXSourceList */;
projectDirPath = "";
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* PXSourceList */,
8D1107260486CEB800E47090 /* PXSourceListDemo */,
4CC5EA2912DC81ED001F282E /* PXSourceList */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
4CC5EA2612DC81ED001F282E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
D265C2D710E3814B00A1E824 /* TODO.rtf in Resources */,
D205EDF010F7A609004C6545 /* MainMenu.xib in Resources */,
D2456CAA10F8F7F500B8045C /* audiobooks.png in Resources */,
D2456CAB10F8F7F500B8045C /* movies.png in Resources */,
D2456CAC10F8F7F500B8045C /* music.png in Resources */,
D2456CAD10F8F7F500B8045C /* playlist.png in Resources */,
D2456CAE10F8F7F500B8045C /* playlistFolder.png in Resources */,
D2456CAF10F8F7F500B8045C /* podcasts.png in Resources */,
D21302BE14B9B24C00AAFF85 /* MainMenu.xib in Resources */,
D21302C514B9B25700AAFF85 /* audiobooks.png in Resources */,
D21302C614B9B25700AAFF85 /* movies.png in Resources */,
D21302C714B9B25700AAFF85 /* music.png in Resources */,
D21302C814B9B25700AAFF85 /* playlist.png in Resources */,
D21302C914B9B25700AAFF85 /* playlistFolder.png in Resources */,
D21302CA14B9B25700AAFF85 /* podcasts.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
4CC5EA2712DC81ED001F282E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D213027E14B9AFE200AAFF85 /* PXSourceList.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072D0486CEB800E47090 /* main.m in Sources */,
D2456D8D10F90D4A00B8045C /* PXSourceList.m in Sources */,
D205EDF710F7A693004C6545 /* AppDelegate.m in Sources */,
D2456D8C10F90D3B00B8045C /* SourceListItem.m in Sources */,
D213027D14B9AFE200AAFF85 /* PXSourceList.m in Sources */,
D213028B14B9B01F00AAFF85 /* AppDelegate.m in Sources */,
D213028C14B9B01F00AAFF85 /* SourceListItem.m in Sources */,
D213028E14B9B02A00AAFF85 /* main.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
4CC5EA3012DC8209001F282E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4CC5EA2912DC81ED001F282E /* PXSourceList */;
targetProxy = 4CC5EA2F12DC8209001F282E /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
D21302BB14B9B23700AAFF85 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C165DFE840E0CC02AAC07 /* InfoPlist.strings */,
D21302BC14B9B23700AAFF85 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
@@ -252,20 +347,84 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
4CC5EA2B12DC81ED001F282E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_GC = supported;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
INFOPLIST_FILE = "PXSourceList/PXSourceList-Info.plist";
INSTALL_PATH = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.7;
OTHER_LDFLAGS = (
"-framework",
Foundation,
"-framework",
AppKit,
);
PRODUCT_NAME = PXSourceList;
SDKROOT = macosx;
};
name = Debug;
};
4CC5EA2C12DC81ED001F282E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
GCC_ENABLE_OBJC_GC = supported;
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
INFOPLIST_FILE = "PXSourceList/PXSourceList-Info.plist";
INSTALL_PATH = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.7;
OTHER_LDFLAGS = (
"-framework",
Foundation,
"-framework",
AppKit,
);
PRODUCT_NAME = PXSourceList;
SDKROOT = macosx;
ZERO_LINK = NO;
};
name = Release;
};
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/build/Debug\"",
);
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 = PXSourceList_Prefix.pch;
INFOPLIST_FILE = "PXSourceList-Info.plist";
GCC_PREFIX_HEADER = "Demo Project/PXSourceListDemo_Prefix.pch";
INFOPLIST_FILE = "Demo Project/PXSourceListDemo-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.7;
PRODUCT_NAME = PXSourceList;
SDKROOT = macosx;
};
name = Debug;
};
@@ -273,46 +432,63 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COMBINE_HIDPI_IMAGES = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/build/Debug\"",
);
GCC_ENABLE_OBJC_GC = unsupported;
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = PXSourceList_Prefix.pch;
INFOPLIST_FILE = "PXSourceList-Info.plist";
GCC_PREFIX_HEADER = "Demo Project/PXSourceListDemo_Prefix.pch";
INFOPLIST_FILE = "Demo Project/PXSourceListDemo-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.7;
PRODUCT_NAME = PXSourceList;
SDKROOT = macosx;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
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.5;
SDKROOT = macosx;
VALID_ARCHS = "i386 x86_64";
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.5;
SDKROOT = macosx;
VALID_ARCHS = "i386 x86_64";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXSourceList" */ = {
4CC5EA4B12DC8264001F282E /* Build configuration list for PBXNativeTarget "PXSourceList" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4CC5EA2B12DC81ED001F282E /* Debug */,
4CC5EA2C12DC81ED001F282E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "PXSourceListDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
+30
View File
@@ -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>uk.co.alexrozanski.${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 © 2012 Alex Rozanski. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -24,7 +24,7 @@
NSSize _iconSize; //The size of icons in the Source List. Defaults to 16x16
}
@property NSSize iconSize;
@property (nonatomic, assign) NSSize iconSize;
@property (assign) id<PXSourceListDataSource> dataSource;
@property (assign) id<PXSourceListDelegate> delegate;
@@ -5,7 +5,8 @@
// Created by Alex Rozanski on 05/09/2009.
// Copyright 2009-10 Alex Rozanski http://perspx.com
//
// GC-enabled code revised by Stefan Vogt http://byteproject.net
//
#import "PXSourceList.h"
@@ -37,6 +38,8 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
#pragma mark -
@interface PXSourceList ()
- (void)PXSL_setup;
- (NSSize)sizeOfBadgeAtRow:(NSInteger)rowIndex;
- (void)drawBadgeForRow:(NSInteger)rowIndex inRect:(NSRect)badgeFrame;
- (void)registerDelegateToReceiveNotification:(NSString*)notification withSelector:(SEL)selector;
@@ -50,24 +53,37 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
@dynamic dataSource;
@dynamic delegate;
#pragma mark Init/Dealloc
#pragma mark - Setup/Teardown
- (id)initWithCoder:(NSCoder*)decoder
{
if(self=[super initWithCoder:decoder])
{
[self setDelegate:(id<PXSourceListDelegate>)[super delegate]];
[super setDelegate:self];
[self setDataSource:(id<PXSourceListDataSource>)[super dataSource]];
[super setDataSource:self];
_iconSize = NSMakeSize(16,16);
if(self=[super initWithCoder:decoder]) {
[self PXSL_setup];
}
return self;
}
- (id)initWithFrame:(NSRect)frameRect
{
if((self = [super initWithFrame:frameRect])) {
[self PXSL_setup];
}
return self;
}
- (void)PXSL_setup
{
[self setDelegate:(id<PXSourceListDelegate>)[super delegate]];
[super setDelegate:self];
[self setDataSource:(id<PXSourceListDataSource>)[super dataSource]];
[super setDataSource:self];
_iconSize = NSMakeSize(16,16);
}
- (void)dealloc
{
//Remove ourselves as the delegate and data source to be safe
@@ -80,6 +96,18 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
[super dealloc];
}
- (void)finalize
{
//Remove ourselves as the delegate and data source to be safe
[super setDataSource:nil];
[super setDelegate:nil];
//Unregister the delegate from receiving notifications
[[NSNotificationCenter defaultCenter] removeObserver:_secondaryDelegate name:nil object:self];
[super finalize];
}
#pragma mark -
#pragma mark Custom Accessors
@@ -102,7 +130,7 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
[self registerDelegateToReceiveNotification:PXSLItemWillCollapseNotification
withSelector:@selector(sourceListItemWillCollapse:)];
[self registerDelegateToReceiveNotification:PXSLItemDidCollapseNotification
withSelector:@selector(sourceListItemWillCollapse:)];
withSelector:@selector(sourceListItemDidCollapse:)];
[self registerDelegateToReceiveNotification:PXSLDeleteKeyPressedOnRowsNotification
withSelector:@selector(sourceListDeleteKeyPressedOnRows:)];
}
@@ -289,8 +317,14 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
if([self isGroupAlwaysExpanded:[self itemAtRow:row]]) {
return NSZeroRect;
}
return [super frameOfOutlineCellAtRow:row];
NSRect frame = [super frameOfOutlineCellAtRow:row];
if([self levelForRow:row] > 0) {
frame.origin.x = [self levelForRow:row] * [self indentationPerLevel];
}
return frame;
}
@@ -300,11 +334,14 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
NSCell *cell = [self preparedCellAtColumn:column row:row];
NSSize cellSize = [cell cellSize];
if (!([cell type] == NSImageCellType) && !([cell type] == NSTextCellType))
cellSize = [cell cellSizeForBounds:[super frameOfCellAtColumn:column row:row]];
NSRect cellFrame = [super frameOfCellAtColumn:column row:row];
NSRect rowRect = [self rectOfRow:row];
if([self isGroupItem:item])
{
NSRect rowRect = [self rectOfRow:row];
CGFloat minX = NSMinX(cellFrame);
//Set the origin x-coord; if there are no children of the group at current, there will still be a
@@ -334,8 +371,8 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
}
return NSMakeRect(leftIndent,
NSMidY(cellFrame)-(cellSize.height/2.0),
NSWidth(cellFrame)-rightIndent-leftIndent,
NSMidY(rowRect)-(cellSize.height/2.0),
NSWidth(rowRect)-rightIndent-leftIndent,
cellSize.height);
}
}
@@ -352,7 +389,7 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
return NSZeroSize;
}
NSAttributedString *badgeAttrString = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%d", [self badgeValueForItem:rowItem]]
NSAttributedString *badgeAttrString = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%ld", (long)[self badgeValueForItem:rowItem]]
attributes:[NSDictionary dictionaryWithObjectsAndKeys:BADGE_FONT, NSFontAttributeName, nil]];
NSSize stringSize = [badgeAttrString size];
@@ -369,6 +406,11 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
return NSMakeSize(width, BADGE_HEIGHT);
}
- (void)viewDidMoveToSuperview
{
//If set to YES, this will cause display issues in Lion where the right part of the outline view is cut off
[self setAutoresizesOutlineColumn:NO];
}
#pragma mark -
#pragma mark Drawing
@@ -387,7 +429,7 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
NSRect cellFrame = [self frameOfCellAtColumn:0 row:rowIndex];
NSSize iconSize = [self iconSize];
NSRect iconRect = NSMakeRect(NSMinX(cellFrame)-iconSize.width-ICON_SPACING,
NSMidY(cellFrame)-(iconSize.width/2.0),
NSMidY(cellFrame)-(iconSize.height/2.0f),
iconSize.width,
iconSize.height);
@@ -397,20 +439,33 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
if(icon!=nil)
{
[icon setFlipped:[self isFlipped]];
NSSize actualIconSize = [icon size];
//If the icon is *smaller* than the size retrieved from the -iconSize property, make sure we
//reduce the size of the rectangle to draw the icon in, so that it is not stretched.
if((actualIconSize.width<iconSize.width)||(actualIconSize.height<iconSize.height))
{
iconRect = NSMakeRect(NSMidX(iconRect)-(actualIconSize.width/2.0),
NSMidY(iconRect)-(actualIconSize.height/2.0),
actualIconSize.width,
actualIconSize.height);
iconRect = NSMakeRect(NSMidX(iconRect)-(actualIconSize.width/2.0f),
NSMidY(iconRect)-(actualIconSize.height/2.0f),
actualIconSize.width,
actualIconSize.height);
}
[icon drawInRect:iconRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1];
//Use 10.6 NSImage drawing if we can
if([icon respondsToSelector:@selector(drawInRect:fromRect:operation:fraction:respectFlipped:hints:)]) {
[icon drawInRect:iconRect
fromRect:NSZeroRect
operation:NSCompositeSourceOver
fraction:1
respectFlipped:YES hints:nil];
}
else {
[icon setFlipped:[self isFlipped]];
[icon drawInRect:iconRect
fromRect:NSZeroRect
operation:NSCompositeSourceOver
fraction:1];
}
}
}
}
@@ -505,7 +560,7 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
[badgePath fill];
//Draw the badge text
NSAttributedString *badgeAttrString = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%d", [self badgeValueForItem:rowItem]]
NSAttributedString *badgeAttrString = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%ld", (long)[self badgeValueForItem:rowItem]]
attributes:attributes];
NSSize stringSize = [badgeAttrString size];
NSPoint badgeTextPoint = NSMakePoint(NSMidX(badgeFrame)-(stringSize.width/2.0), //Center in the badge frame
@@ -548,13 +603,13 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
if(newRow<0||newRow==[self numberOfRows])
break;
} while([self isGroupItem:[self itemAtRow:newRow]]);
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:newRow] byExtendingSelection:NO];
return;
}
}
else if(firstKey==NSDeleteCharacter||firstKey==NSBackspaceCharacter)
else if(firstKey==NSDeleteCharacter||firstKey==NSBackspaceCharacter||firstKey==0xf728)
{
//Post the notification
[[NSNotificationCenter defaultCenter] postNotificationName:PXSLDeleteKeyPressedOnRowsNotification
@@ -693,6 +748,37 @@ NSString * const PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
return nil;
}
#pragma mark 10.7 only methods
- (id <NSPasteboardWriting>)outlineView:(NSOutlineView *)outlineView pasteboardWriterForItem:(id)item
{
if ([_secondaryDataSource respondsToSelector:@selector(sourceList:pasteboardWriterForItem:)]) {
return [_secondaryDataSource sourceList:self pasteboardWriterForItem:item];
}
return nil;
}
- (void)outlineView:(NSOutlineView *)outlineView draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint)screenPoint forItems:(NSArray *)draggedItems
{
if ([_secondaryDataSource respondsToSelector:@selector(sourceList:draggingSession:willBeginAtPoint:forItems:)]) {
return [_secondaryDataSource sourceList:self draggingSession:session willBeginAtPoint:screenPoint forItems:draggedItems];
}
}
- (void)outlineView:(NSOutlineView *)outlineView draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint)screenPoint operation:(NSDragOperation)operation
{
if ([_secondaryDataSource respondsToSelector:@selector(sourceList:draggingSession:endedAtPoint:operation:)]) {
return [_secondaryDataSource sourceList:self draggingSession:session endedAtPoint:screenPoint operation:operation];
}
}
- (void)outlineView:(NSOutlineView *)outlineView updateDraggingItemsForDrag:(id <NSDraggingInfo>)draggingInfo
{
if ([_secondaryDataSource respondsToSelector:@selector(sourceList:updateDraggingItemsForDrag:)]) {
return [_secondaryDataSource sourceList:self updateDraggingItemsForDrag:draggingInfo];
}
}
#pragma mark -
#pragma mark NSOutlineView Delegate methods
@@ -38,4 +38,10 @@
- (BOOL)sourceList:(PXSourceList*)aSourceList acceptDrop:(id < NSDraggingInfo >)info item:(id)item childIndex:(NSInteger)index;
- (NSArray *)sourceList:(PXSourceList*)aSourceList namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination forDraggedItems:(NSArray *)items;
//Drag and drop methods added for 10.7
- (id <NSPasteboardWriting>)sourceList:(PXSourceList *)aSourceList pasteboardWriterForItem:(id)item;
- (void)sourceList:(PXSourceList *)aSourceList draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint)screenPoint forItems:(NSArray *)draggedItems;
- (void)sourceList:(PXSourceList *)aSourceList draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint)screenPoint operation:(NSDragOperation)operation;
- (void)sourceList:(PXSourceList *)aSourceList updateDraggingItemsForDrag:(id <NSDraggingInfo>)draggingInfo;
@end
+30 -16
View File
@@ -38,8 +38,7 @@ If you feel that any areas of the documentation are lacking or missing, please f
**Note:** the documentation for the Source List notifications can be found in the `NSObject(PXSourceListNotifications)` reference, which is linked to from the documentation index page.
###Documentation Revision History
17th Jan - PXSourceList Documentation [version 0.7.1][7] released
9th Jan - PXSourceList Documentation [version 0.7][8] released
For the latest documentation see the PXSourceList [downloads page][7].
##Known Issues
@@ -48,24 +47,39 @@ If you feel that any areas of the documentation are lacking or missing, please f
##Attribution
I was spurred along the way by many sources, but in particular [BWToolkit][9] by Brandon Walkin and Fraser Kuyvenhoven, which gave me the idea of how to handle the Source List delegate and data source methods.
I was spurred along the way by many sources, but in particular [BWToolkit][8] by Brandon Walkin and Fraser Kuyvenhoven, which gave me the idea of how to handle the Source List delegate and data source methods.
Also Brian Dunagan's post on [Source List badging][10] and determining state for the various colours was a great help when I came to the drawing code for that.
Also Brian Dunagan's post on [Source List badging][9] and determining state for the various colours was a great help when I came to the drawing code for that.
The documentation was created using [Doxygen][11] and [appledoc][12], thanks of which go to the developers of both.
The documentation was created using [Doxygen][10] and [appledoc][11], thanks of which go to the developers of both.
The icons used in the demo project bundled with the source code are from the [Fugue icon set][13] by Yusuke Kamiyamane.
The icons used in the demo project bundled with the source code are from the [Fugue icon set][12] by Yusuke Kamiyamane.
[1]: http://perspx.com/software/PXSourceList/#docs
[2]: http://developer.apple.com/Mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGWindows/XHIGWindows.html#//apple_ref/doc/uid/20000961-CHDDIGDE
##License
PXSourceList is licensed under the New BSD License, as detailed below (adapted from OSI http://www.opensource.org/licenses/bsd-license.php):
Copyright &copy; 2011, Alex Rozanski.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
[1]: http://github.com/Perspx/PXSourceList/downloads
[2]: http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGWindows/XHIGWindows.html#//apple_ref/doc/uid/20000961-CHDDIGDE
[3]: http://perspx.com/wp-content/uploads/2010/01/pxsourcelist.jpg
[4]: http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/OutlineView/Articles/UsingOutlineDataSource.html
[5]: http://perspx.com/software/PXSourceList/#docs
[5]: http://github.com/Perspx/PXSourceList/downloads
[6]: http://perspx.com/contact
[7]: http://perspx.com/wp-content/uploads/2010/01/PXSourceList_0-7-1_Documentation.zip
[8]: http://perspx.com/wp-content/uploads/2010/01/PXSourceList_0-7_Documentation.zip
[9]: http://brandonwalkin.com/bwtoolkit/
[10]: http://www.bdunagan.com/2008/11/10/cocoa-tutorial-source-list-badges-part-2/
[11]: http://www.doxygen.org/
[12]: http://www.gentlebytes.com/freeware/appledoc/
[13]: http://www.pinvoke.com/
[7]: http://github.com/Perspx/PXSourceList/downloads
[8]: http://brandonwalkin.com/bwtoolkit/
[9]: http://www.bdunagan.com/2008/11/10/cocoa-tutorial-source-list-badges-part-2/
[10]: http://www.doxygen.org/
[11]: http://www.gentlebytes.com/freeware/appledoc/
[12]: http://www.pinvoke.com/
-12
View File
@@ -1,12 +0,0 @@
<?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>CFBundleIdentifier</key>
<string>com.custom.PXSourceList.docset</string>
<key>CFBundleName</key>
<string>PXSourceList</string>
<key>DocSetFeedName</key>
<string>Custom documentation</string>
</dict>
</plist>