This repository has been archived by the owner on Jan 18, 2023. It is now read-only.
2.0.0
New Features
- Added support for view-based mode to
PXSourceList
, whilst retaining legacy cell-based support. (View-based delegate methods added are detailed below). - Added a new view-based Source List example target which includes an example of how to use drag-and-drop in the Source List.
- Added
PXSourceListTableCellView
, anNSTableCellView
subclass which is useful when usingPXSourceList
in view-based mode. - Added
PXSourceListBadgeView
, which can be used inPXSourceListTableCellView
s to display badges. This class's drawing is done by the internalPXSourceListBadgeCell
class. - Added a generic
PXSourceListItem
data source model class which can be used for easily constructing data source models without having to implement your own class.
API Changes
- *Incompatible change. Marked
-[PXSourceList delegate]
and -[PXSourceList dataSource]` as unavailable using the “unavailable” attribute. These methods shouldn’t be used because of the internal implementation of PXSourceList, and have been documented as such since version 0.8. However, adding this attribute is more robust because a compile-time error will be generated if you use either of these methods. - Added view-based Source List delegate methods to
PXSourceListDelegate
, namely:-sourceList:viewForItem:
-sourceList:rowViewForItem:
-sourceList:didAddRowView:forRow:
-sourceList:didRemoveRowView:forRow:
- Added missing
PXSourceListDelegate
methods which map to theirNSOutlineViewDelegate
counterpart methods, namely:-sourceList:toolTipForCell:rect:item:mouseLocation:
-sourceList:typeSelectStringForItem:
-sourceList:nextTypeSelectMatchFromItem:toItem:forString:
-sourceList:shouldTypeSelectForEvent:withCurrentSearchString:
- Moved the Source List delegate notification methods that were previously part of an
NSObject
category intoPXSourceListDelegate
. The methods affected are:-sourceListSelectionIsChanging:
-sourceListSelectionDidChange:
-sourceListItemWillExpand:
-sourceListItemDidExpand:
-sourceListItemWillCollapse:
-sourceListItemDidCollapse:
-sourceListDeleteKeyPressedOnRows:
Bugfixes
- Fixed a huge bug where several delegate methods which weren't being called in version 0.x and 1.x of PXSourceList, by removing explicit implementations of
NSOutlineViewDelegate
methods inPXSourceList
which are now forwarded using a shiny new proxy-based implementation. The stub method implementations removed fromPXSourceList
are:-outlineView:numberOfChildrenOfItem:
-outlineView:child:ofItem:
-outlineView:isItemExpandable:
-outlineView:objectValueForTableColumn:byItem:
-outlineView:setObjectValue:forTableColumn:byItem:
-outlineView:itemForPersistentObject:
-outlineView:persistentObjectForItem:
-outlineView:writeItems:toPasteboard:
-outlineView:writeItems:toPasteboard:
-outlineView:validateDrop:proposedItem:proposedChildIndex:
-outlineView:acceptDrop:item:childIndex:
-outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:
-outlineView:pasteboardWriterForItem:
-outlineView:draggingSession:willBeginAtPoint:forItems:
-outlineView:draggingSession:endedAtPoint:operation:
-outlineView:updateDraggingItemsForDrag:
-outlineView:shouldExpandItem:
-outlineView:shouldTrackCell:forTableColumn:item:
-outlineView:heightOfRowByItem:
-outlineView:selectionIndexesForProposedSelection:
-outlineView:dataCellForTableColumn:item:
-outlineView:willDisplayCell:forTableColumn:item:
- Fixed the PXSourceList framework's
CFBundleIdentifier
. It should have beencom.alexrozanski.PXSourceList
.
Documentation, Documentation, Documentation
- Updated documentation for all public members of
PXSourceList
and its related classes and protocols. - Added documentation for new classes and
PXSourceListDelegate
methods. - Added documentation for
PXSourceList
delegate notifications. - Added a Documentation target to the Xcode project, which can be used to build documentation from source using appledoc.
Other Changes
- Removed
SourceListItem
from the old example project as it has been superseded byPXSourceListItem
. - Removed the TODO.rtf file from the project as all issues are now being tracked through GitHub.
- Upgraded the Xcode project to the Xcode 5 project format.
LastUpgradeCheck
was updated from0450
to0500
. - Added a Release Notes file ;)