From d0204a2a3b286198e8b2ee0b4a3c331641ba1c0a Mon Sep 17 00:00:00 2001 From: Leo Natan Date: Fri, 27 Aug 2021 17:31:31 +0300 Subject: [PATCH] Add support for data editing --- .gitmodules | 3 + HexFiend | 1 + .../HexFiend.xcodeproj/project.pbxproj | 858 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../include/HexFiend/HFAnnotatedTree.h | 1 + HexFiendFramework/include/HexFiend/HFAssert.h | 1 + .../include/HexFiend/HFAttributedByteArray.h | 1 + HexFiendFramework/include/HexFiend/HFBTree.h | 1 + .../include/HexFiend/HFBTreeByteArray.h | 1 + .../include/HexFiend/HFBinaryGlyphTable.h | 1 + .../HexFiend/HFBinaryTextRepresenter.h | 1 + .../include/HexFiend/HFByteArray.h | 1 + .../include/HexFiend/HFByteArrayEditScript.h | 1 + .../include/HexFiend/HFByteArrayProxiedData.h | 1 + .../include/HexFiend/HFByteArray_Internal.h | 1 + .../include/HexFiend/HFByteRangeAttribute.h | 1 + .../HexFiend/HFByteRangeAttributeArray.h | 1 + .../include/HexFiend/HFByteSlice.h | 1 + .../HexFiend/HFByteSliceFileOperation.h | 1 + .../HFByteSliceFileOperationQueueEntry.h | 1 + .../include/HexFiend/HFByteSlice_Private.h | 1 + .../include/HexFiend/HFCancelButton.h | 1 + .../include/HexFiend/HFColorRange.h | 1 + .../include/HexFiend/HFColumnRepresenter.h | 1 + .../include/HexFiend/HFColumnView.h | 1 + .../include/HexFiend/HFController.h | 1 + .../HexFiend/HFControllerCoalescedUndo.h | 1 + .../include/HexFiend/HFCustomEncoding.h | 1 + .../include/HexFiend/HFEncodingManager.h | 1 + .../include/HexFiend/HFFastMemchr.h | 1 + .../include/HexFiend/HFFileByteSlice.h | 1 + .../include/HexFiend/HFFileReference.h | 1 + .../include/HexFiend/HFFrameworkPrefix.h | 1 + .../include/HexFiend/HFFullMemoryByteArray.h | 1 + .../include/HexFiend/HFFullMemoryByteSlice.h | 1 + .../include/HexFiend/HFFunctions.h | 1 + .../include/HexFiend/HFGlyphTrie.h | 1 + .../HexFiend/HFHelperProcessSharedCode.h | 1 + .../include/HexFiend/HFHexGlyphTable.h | 1 + .../include/HexFiend/HFHexPasteboardOwner.h | 1 + .../include/HexFiend/HFHexTextRepresenter.h | 1 + .../include/HexFiend/HFLayoutRepresenter.h | 1 + .../HexFiend/HFLineCountingRepresenter.h | 1 + .../include/HexFiend/HFLineCountingView.h | 1 + .../include/HexFiend/HFNSStringEncoding.h | 1 + .../include/HexFiend/HFObjectGraph.h | 1 + .../include/HexFiend/HFPasteboardOwner.h | 1 + .../include/HexFiend/HFProgressTracker.h | 1 + .../include/HexFiend/HFRandomDataByteSlice.h | 1 + .../include/HexFiend/HFRepresenter.h | 1 + .../HexFiend/HFRepresenterBinaryTextView.h | 1 + .../HexFiend/HFRepresenterHexTextView.h | 1 + .../HFRepresenterStringEncodingTextView.h | 1 + .../include/HexFiend/HFRepresenterTextView.h | 1 + .../HexFiend/HFRepresenterTextViewCallout.h | 1 + .../include/HexFiend/HFRepresenter_Internal.h | 1 + .../HexFiend/HFSharedMemoryByteSlice.h | 1 + .../include/HexFiend/HFStatusBarRepresenter.h | 1 + .../include/HexFiend/HFStringEncoding.h | 1 + .../HFStringEncodingTextRepresenter.h | 1 + HexFiendFramework/include/HexFiend/HFTest.h | 1 + .../include/HexFiend/HFTextField.h | 1 + .../include/HexFiend/HFTextRepresenter.h | 1 + .../HexFiend/HFTextRepresenter_Internal.h | 1 + .../HexFiend/HFTextSelectionPulseView.h | 1 + .../include/HexFiend/HFTextView.h | 1 + .../include/HexFiend/HFTextVisualStyleRun.h | 1 + HexFiendFramework/include/HexFiend/HFTypes.h | 1 + .../include/HexFiend/HFUIUtils.h | 1 + .../HexFiend/HFVerticalScrollerRepresenter.h | 1 + HexFiendFramework/include/HexFiend/HexFiend.h | 1 + HexFiendFramework/src/HFAnnotatedTree.h | 1 + HexFiendFramework/src/HFAnnotatedTree.m | 1 + HexFiendFramework/src/HFAssert.h | 1 + HexFiendFramework/src/HFAttributedByteArray.h | 1 + HexFiendFramework/src/HFAttributedByteArray.m | 1 + HexFiendFramework/src/HFBTree.h | 1 + HexFiendFramework/src/HFBTree.m | 1 + HexFiendFramework/src/HFBTreeByteArray.h | 1 + HexFiendFramework/src/HFBTreeByteArray.m | 1 + HexFiendFramework/src/HFBinaryGlyphTable.h | 1 + HexFiendFramework/src/HFBinaryGlyphTable.m | 1 + .../src/HFBinaryTextRepresenter.h | 1 + .../src/HFBinaryTextRepresenter.m | 1 + HexFiendFramework/src/HFByteArray.h | 1 + HexFiendFramework/src/HFByteArray.m | 1 + HexFiendFramework/src/HFByteArrayEditScript.h | 1 + HexFiendFramework/src/HFByteArrayEditScript.m | 1 + .../src/HFByteArrayProxiedData.h | 1 + .../src/HFByteArrayProxiedData.m | 1 + .../src/HFByteArray_FileWriting.m | 1 + .../src/HFByteArray_FindReplace.m | 1 + HexFiendFramework/src/HFByteArray_Internal.h | 1 + HexFiendFramework/src/HFByteRangeAttribute.h | 1 + HexFiendFramework/src/HFByteRangeAttribute.m | 1 + .../src/HFByteRangeAttributeArray.h | 1 + .../src/HFByteRangeAttributeArray.m | 1 + HexFiendFramework/src/HFByteSlice.h | 1 + HexFiendFramework/src/HFByteSlice.m | 1 + .../src/HFByteSliceFileOperation.h | 1 + .../src/HFByteSliceFileOperation.m | 1 + .../src/HFByteSliceFileOperationQueueEntry.h | 1 + .../src/HFByteSliceFileOperationQueueEntry.m | 1 + HexFiendFramework/src/HFByteSlice_Private.h | 1 + HexFiendFramework/src/HFCancelButton.h | 1 + HexFiendFramework/src/HFCancelButton.m | 1 + HexFiendFramework/src/HFColorRange.h | 1 + HexFiendFramework/src/HFColorRange.m | 1 + HexFiendFramework/src/HFColumnRepresenter.h | 1 + HexFiendFramework/src/HFColumnRepresenter.m | 1 + HexFiendFramework/src/HFColumnView.h | 1 + HexFiendFramework/src/HFColumnView.m | 1 + HexFiendFramework/src/HFController.h | 1 + HexFiendFramework/src/HFController.m | 1 + .../src/HFControllerCoalescedUndo.h | 1 + .../src/HFControllerCoalescedUndo.m | 1 + HexFiendFramework/src/HFCustomEncoding.h | 1 + HexFiendFramework/src/HFCustomEncoding.m | 1 + HexFiendFramework/src/HFEncodingManager.h | 1 + HexFiendFramework/src/HFEncodingManager.m | 1 + HexFiendFramework/src/HFFastMemchr.h | 1 + HexFiendFramework/src/HFFastMemchr.m | 1 + HexFiendFramework/src/HFFileByteSlice.h | 1 + HexFiendFramework/src/HFFileByteSlice.m | 1 + HexFiendFramework/src/HFFileReference.h | 1 + HexFiendFramework/src/HFFileReference.m | 1 + HexFiendFramework/src/HFFrameworkPrefix.h | 1 + HexFiendFramework/src/HFFullMemoryByteArray.h | 1 + HexFiendFramework/src/HFFullMemoryByteArray.m | 1 + HexFiendFramework/src/HFFullMemoryByteSlice.h | 1 + HexFiendFramework/src/HFFullMemoryByteSlice.m | 1 + HexFiendFramework/src/HFFunctions.h | 1 + HexFiendFramework/src/HFFunctions.m | 1 + HexFiendFramework/src/HFGlyphTrie.h | 1 + HexFiendFramework/src/HFGlyphTrie.m | 1 + .../src/HFHelperProcessSharedCode.h | 1 + HexFiendFramework/src/HFHexGlyphTable.h | 1 + HexFiendFramework/src/HFHexGlyphTable.m | 1 + HexFiendFramework/src/HFHexPasteboardOwner.h | 1 + HexFiendFramework/src/HFHexPasteboardOwner.m | 1 + HexFiendFramework/src/HFHexTextRepresenter.h | 1 + HexFiendFramework/src/HFHexTextRepresenter.m | 1 + HexFiendFramework/src/HFLayoutRepresenter.h | 1 + HexFiendFramework/src/HFLayoutRepresenter.m | 1 + .../src/HFLineCountingRepresenter.h | 1 + .../src/HFLineCountingRepresenter.m | 1 + HexFiendFramework/src/HFLineCountingView.h | 1 + HexFiendFramework/src/HFLineCountingView.m | 1 + HexFiendFramework/src/HFNSStringEncoding.h | 1 + HexFiendFramework/src/HFNSStringEncoding.m | 1 + HexFiendFramework/src/HFObjectGraph.h | 1 + HexFiendFramework/src/HFObjectGraph.m | 1 + HexFiendFramework/src/HFPasteboardOwner.h | 1 + HexFiendFramework/src/HFPasteboardOwner.m | 1 + HexFiendFramework/src/HFProgressTracker.h | 1 + HexFiendFramework/src/HFProgressTracker.m | 1 + HexFiendFramework/src/HFRandomDataByteSlice.h | 1 + HexFiendFramework/src/HFRandomDataByteSlice.m | 1 + HexFiendFramework/src/HFRepresenter.h | 1 + HexFiendFramework/src/HFRepresenter.m | 1 + .../src/HFRepresenterBinaryTextView.h | 1 + .../src/HFRepresenterBinaryTextView.m | 1 + .../src/HFRepresenterHexTextView.h | 1 + .../src/HFRepresenterHexTextView.m | 1 + .../src/HFRepresenterStringEncodingTextView.h | 1 + .../src/HFRepresenterStringEncodingTextView.m | 1 + HexFiendFramework/src/HFRepresenterTextView.h | 1 + HexFiendFramework/src/HFRepresenterTextView.m | 1 + .../src/HFRepresenterTextViewCallout.h | 1 + .../src/HFRepresenterTextViewCallout.m | 1 + .../src/HFRepresenter_Internal.h | 1 + .../src/HFSharedMemoryByteSlice.h | 1 + .../src/HFSharedMemoryByteSlice.m | 1 + .../src/HFStatusBarRepresenter.h | 1 + .../src/HFStatusBarRepresenter.m | 1 + HexFiendFramework/src/HFStringEncoding.h | 1 + HexFiendFramework/src/HFStringEncoding.m | 1 + .../src/HFStringEncodingTextRepresenter.h | 1 + .../src/HFStringEncodingTextRepresenter.m | 1 + HexFiendFramework/src/HFTest.h | 1 + HexFiendFramework/src/HFTextField.h | 1 + HexFiendFramework/src/HFTextField.m | 1 + HexFiendFramework/src/HFTextRepresenter.h | 1 + HexFiendFramework/src/HFTextRepresenter.m | 1 + .../src/HFTextRepresenter_Internal.h | 1 + .../src/HFTextRepresenter_KeyBinding.m | 1 + .../src/HFTextSelectionPulseView.h | 1 + .../src/HFTextSelectionPulseView.m | 1 + HexFiendFramework/src/HFTextView.h | 1 + HexFiendFramework/src/HFTextView.m | 1 + HexFiendFramework/src/HFTextVisualStyleRun.h | 1 + HexFiendFramework/src/HFTextVisualStyleRun.m | 1 + HexFiendFramework/src/HFTypes.h | 1 + HexFiendFramework/src/HFUIUtils.h | 1 + HexFiendFramework/src/HFUIUtils.m | 1 + .../src/HFVerticalScrollerRepresenter.h | 1 + .../src/HFVerticalScrollerRepresenter.m | 1 + HexFiendFramework/src/HexFiend.h | 1 + .../project.pbxproj | 88 ++ .../LNPropertyListDataEditorPanel.h | 21 + .../LNPropertyListDataEditorPanel.m | 204 +++++ .../Implementation/LNPropertyListEditor.m | 49 +- .../LNPropertyListEditorOutline.xib | 14 +- .../LNPropertyListNode-Private.h | 1 + .../Implementation/LNPropertyListNode.m | 5 + .../LNPropertyListEditor/Info.plist | 4 +- .../LNPropertyListEditor.h | 10 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../LNPropertyListEditorExample.xcscheme | 16 +- .../ViewController.m | 25 +- Package.swift | 22 +- README.md | 11 +- prepare_spm_support.rb | 100 ++ 213 files changed, 1604 insertions(+), 37 deletions(-) create mode 100644 .gitmodules create mode 160000 HexFiend create mode 100644 HexFiendFramework/HexFiend.xcodeproj/project.pbxproj create mode 100644 HexFiendFramework/HexFiend.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 120000 HexFiendFramework/include/HexFiend/HFAnnotatedTree.h create mode 120000 HexFiendFramework/include/HexFiend/HFAssert.h create mode 120000 HexFiendFramework/include/HexFiend/HFAttributedByteArray.h create mode 120000 HexFiendFramework/include/HexFiend/HFBTree.h create mode 120000 HexFiendFramework/include/HexFiend/HFBTreeByteArray.h create mode 120000 HexFiendFramework/include/HexFiend/HFBinaryGlyphTable.h create mode 120000 HexFiendFramework/include/HexFiend/HFBinaryTextRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteArray.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteArrayEditScript.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteArrayProxiedData.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteArray_Internal.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteRangeAttribute.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteRangeAttributeArray.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteSlice.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteSliceFileOperation.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteSliceFileOperationQueueEntry.h create mode 120000 HexFiendFramework/include/HexFiend/HFByteSlice_Private.h create mode 120000 HexFiendFramework/include/HexFiend/HFCancelButton.h create mode 120000 HexFiendFramework/include/HexFiend/HFColorRange.h create mode 120000 HexFiendFramework/include/HexFiend/HFColumnRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFColumnView.h create mode 120000 HexFiendFramework/include/HexFiend/HFController.h create mode 120000 HexFiendFramework/include/HexFiend/HFControllerCoalescedUndo.h create mode 120000 HexFiendFramework/include/HexFiend/HFCustomEncoding.h create mode 120000 HexFiendFramework/include/HexFiend/HFEncodingManager.h create mode 120000 HexFiendFramework/include/HexFiend/HFFastMemchr.h create mode 120000 HexFiendFramework/include/HexFiend/HFFileByteSlice.h create mode 120000 HexFiendFramework/include/HexFiend/HFFileReference.h create mode 120000 HexFiendFramework/include/HexFiend/HFFrameworkPrefix.h create mode 120000 HexFiendFramework/include/HexFiend/HFFullMemoryByteArray.h create mode 120000 HexFiendFramework/include/HexFiend/HFFullMemoryByteSlice.h create mode 120000 HexFiendFramework/include/HexFiend/HFFunctions.h create mode 120000 HexFiendFramework/include/HexFiend/HFGlyphTrie.h create mode 120000 HexFiendFramework/include/HexFiend/HFHelperProcessSharedCode.h create mode 120000 HexFiendFramework/include/HexFiend/HFHexGlyphTable.h create mode 120000 HexFiendFramework/include/HexFiend/HFHexPasteboardOwner.h create mode 120000 HexFiendFramework/include/HexFiend/HFHexTextRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFLayoutRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFLineCountingRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFLineCountingView.h create mode 120000 HexFiendFramework/include/HexFiend/HFNSStringEncoding.h create mode 120000 HexFiendFramework/include/HexFiend/HFObjectGraph.h create mode 120000 HexFiendFramework/include/HexFiend/HFPasteboardOwner.h create mode 120000 HexFiendFramework/include/HexFiend/HFProgressTracker.h create mode 120000 HexFiendFramework/include/HexFiend/HFRandomDataByteSlice.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenterBinaryTextView.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenterHexTextView.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenterStringEncodingTextView.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenterTextView.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenterTextViewCallout.h create mode 120000 HexFiendFramework/include/HexFiend/HFRepresenter_Internal.h create mode 120000 HexFiendFramework/include/HexFiend/HFSharedMemoryByteSlice.h create mode 120000 HexFiendFramework/include/HexFiend/HFStatusBarRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFStringEncoding.h create mode 120000 HexFiendFramework/include/HexFiend/HFStringEncodingTextRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFTest.h create mode 120000 HexFiendFramework/include/HexFiend/HFTextField.h create mode 120000 HexFiendFramework/include/HexFiend/HFTextRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HFTextRepresenter_Internal.h create mode 120000 HexFiendFramework/include/HexFiend/HFTextSelectionPulseView.h create mode 120000 HexFiendFramework/include/HexFiend/HFTextView.h create mode 120000 HexFiendFramework/include/HexFiend/HFTextVisualStyleRun.h create mode 120000 HexFiendFramework/include/HexFiend/HFTypes.h create mode 120000 HexFiendFramework/include/HexFiend/HFUIUtils.h create mode 120000 HexFiendFramework/include/HexFiend/HFVerticalScrollerRepresenter.h create mode 120000 HexFiendFramework/include/HexFiend/HexFiend.h create mode 120000 HexFiendFramework/src/HFAnnotatedTree.h create mode 120000 HexFiendFramework/src/HFAnnotatedTree.m create mode 120000 HexFiendFramework/src/HFAssert.h create mode 120000 HexFiendFramework/src/HFAttributedByteArray.h create mode 120000 HexFiendFramework/src/HFAttributedByteArray.m create mode 120000 HexFiendFramework/src/HFBTree.h create mode 120000 HexFiendFramework/src/HFBTree.m create mode 120000 HexFiendFramework/src/HFBTreeByteArray.h create mode 120000 HexFiendFramework/src/HFBTreeByteArray.m create mode 120000 HexFiendFramework/src/HFBinaryGlyphTable.h create mode 120000 HexFiendFramework/src/HFBinaryGlyphTable.m create mode 120000 HexFiendFramework/src/HFBinaryTextRepresenter.h create mode 120000 HexFiendFramework/src/HFBinaryTextRepresenter.m create mode 120000 HexFiendFramework/src/HFByteArray.h create mode 120000 HexFiendFramework/src/HFByteArray.m create mode 120000 HexFiendFramework/src/HFByteArrayEditScript.h create mode 120000 HexFiendFramework/src/HFByteArrayEditScript.m create mode 120000 HexFiendFramework/src/HFByteArrayProxiedData.h create mode 120000 HexFiendFramework/src/HFByteArrayProxiedData.m create mode 120000 HexFiendFramework/src/HFByteArray_FileWriting.m create mode 120000 HexFiendFramework/src/HFByteArray_FindReplace.m create mode 120000 HexFiendFramework/src/HFByteArray_Internal.h create mode 120000 HexFiendFramework/src/HFByteRangeAttribute.h create mode 120000 HexFiendFramework/src/HFByteRangeAttribute.m create mode 120000 HexFiendFramework/src/HFByteRangeAttributeArray.h create mode 120000 HexFiendFramework/src/HFByteRangeAttributeArray.m create mode 120000 HexFiendFramework/src/HFByteSlice.h create mode 120000 HexFiendFramework/src/HFByteSlice.m create mode 120000 HexFiendFramework/src/HFByteSliceFileOperation.h create mode 120000 HexFiendFramework/src/HFByteSliceFileOperation.m create mode 120000 HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.h create mode 120000 HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.m create mode 120000 HexFiendFramework/src/HFByteSlice_Private.h create mode 120000 HexFiendFramework/src/HFCancelButton.h create mode 120000 HexFiendFramework/src/HFCancelButton.m create mode 120000 HexFiendFramework/src/HFColorRange.h create mode 120000 HexFiendFramework/src/HFColorRange.m create mode 120000 HexFiendFramework/src/HFColumnRepresenter.h create mode 120000 HexFiendFramework/src/HFColumnRepresenter.m create mode 120000 HexFiendFramework/src/HFColumnView.h create mode 120000 HexFiendFramework/src/HFColumnView.m create mode 120000 HexFiendFramework/src/HFController.h create mode 120000 HexFiendFramework/src/HFController.m create mode 120000 HexFiendFramework/src/HFControllerCoalescedUndo.h create mode 120000 HexFiendFramework/src/HFControllerCoalescedUndo.m create mode 120000 HexFiendFramework/src/HFCustomEncoding.h create mode 120000 HexFiendFramework/src/HFCustomEncoding.m create mode 120000 HexFiendFramework/src/HFEncodingManager.h create mode 120000 HexFiendFramework/src/HFEncodingManager.m create mode 120000 HexFiendFramework/src/HFFastMemchr.h create mode 120000 HexFiendFramework/src/HFFastMemchr.m create mode 120000 HexFiendFramework/src/HFFileByteSlice.h create mode 120000 HexFiendFramework/src/HFFileByteSlice.m create mode 120000 HexFiendFramework/src/HFFileReference.h create mode 120000 HexFiendFramework/src/HFFileReference.m create mode 120000 HexFiendFramework/src/HFFrameworkPrefix.h create mode 120000 HexFiendFramework/src/HFFullMemoryByteArray.h create mode 120000 HexFiendFramework/src/HFFullMemoryByteArray.m create mode 120000 HexFiendFramework/src/HFFullMemoryByteSlice.h create mode 120000 HexFiendFramework/src/HFFullMemoryByteSlice.m create mode 120000 HexFiendFramework/src/HFFunctions.h create mode 120000 HexFiendFramework/src/HFFunctions.m create mode 120000 HexFiendFramework/src/HFGlyphTrie.h create mode 120000 HexFiendFramework/src/HFGlyphTrie.m create mode 120000 HexFiendFramework/src/HFHelperProcessSharedCode.h create mode 120000 HexFiendFramework/src/HFHexGlyphTable.h create mode 120000 HexFiendFramework/src/HFHexGlyphTable.m create mode 120000 HexFiendFramework/src/HFHexPasteboardOwner.h create mode 120000 HexFiendFramework/src/HFHexPasteboardOwner.m create mode 120000 HexFiendFramework/src/HFHexTextRepresenter.h create mode 120000 HexFiendFramework/src/HFHexTextRepresenter.m create mode 120000 HexFiendFramework/src/HFLayoutRepresenter.h create mode 120000 HexFiendFramework/src/HFLayoutRepresenter.m create mode 120000 HexFiendFramework/src/HFLineCountingRepresenter.h create mode 120000 HexFiendFramework/src/HFLineCountingRepresenter.m create mode 120000 HexFiendFramework/src/HFLineCountingView.h create mode 120000 HexFiendFramework/src/HFLineCountingView.m create mode 120000 HexFiendFramework/src/HFNSStringEncoding.h create mode 120000 HexFiendFramework/src/HFNSStringEncoding.m create mode 120000 HexFiendFramework/src/HFObjectGraph.h create mode 120000 HexFiendFramework/src/HFObjectGraph.m create mode 120000 HexFiendFramework/src/HFPasteboardOwner.h create mode 120000 HexFiendFramework/src/HFPasteboardOwner.m create mode 120000 HexFiendFramework/src/HFProgressTracker.h create mode 120000 HexFiendFramework/src/HFProgressTracker.m create mode 120000 HexFiendFramework/src/HFRandomDataByteSlice.h create mode 120000 HexFiendFramework/src/HFRandomDataByteSlice.m create mode 120000 HexFiendFramework/src/HFRepresenter.h create mode 120000 HexFiendFramework/src/HFRepresenter.m create mode 120000 HexFiendFramework/src/HFRepresenterBinaryTextView.h create mode 120000 HexFiendFramework/src/HFRepresenterBinaryTextView.m create mode 120000 HexFiendFramework/src/HFRepresenterHexTextView.h create mode 120000 HexFiendFramework/src/HFRepresenterHexTextView.m create mode 120000 HexFiendFramework/src/HFRepresenterStringEncodingTextView.h create mode 120000 HexFiendFramework/src/HFRepresenterStringEncodingTextView.m create mode 120000 HexFiendFramework/src/HFRepresenterTextView.h create mode 120000 HexFiendFramework/src/HFRepresenterTextView.m create mode 120000 HexFiendFramework/src/HFRepresenterTextViewCallout.h create mode 120000 HexFiendFramework/src/HFRepresenterTextViewCallout.m create mode 120000 HexFiendFramework/src/HFRepresenter_Internal.h create mode 120000 HexFiendFramework/src/HFSharedMemoryByteSlice.h create mode 120000 HexFiendFramework/src/HFSharedMemoryByteSlice.m create mode 120000 HexFiendFramework/src/HFStatusBarRepresenter.h create mode 120000 HexFiendFramework/src/HFStatusBarRepresenter.m create mode 120000 HexFiendFramework/src/HFStringEncoding.h create mode 120000 HexFiendFramework/src/HFStringEncoding.m create mode 120000 HexFiendFramework/src/HFStringEncodingTextRepresenter.h create mode 120000 HexFiendFramework/src/HFStringEncodingTextRepresenter.m create mode 120000 HexFiendFramework/src/HFTest.h create mode 120000 HexFiendFramework/src/HFTextField.h create mode 120000 HexFiendFramework/src/HFTextField.m create mode 120000 HexFiendFramework/src/HFTextRepresenter.h create mode 120000 HexFiendFramework/src/HFTextRepresenter.m create mode 120000 HexFiendFramework/src/HFTextRepresenter_Internal.h create mode 120000 HexFiendFramework/src/HFTextRepresenter_KeyBinding.m create mode 120000 HexFiendFramework/src/HFTextSelectionPulseView.h create mode 120000 HexFiendFramework/src/HFTextSelectionPulseView.m create mode 120000 HexFiendFramework/src/HFTextView.h create mode 120000 HexFiendFramework/src/HFTextView.m create mode 120000 HexFiendFramework/src/HFTextVisualStyleRun.h create mode 120000 HexFiendFramework/src/HFTextVisualStyleRun.m create mode 120000 HexFiendFramework/src/HFTypes.h create mode 120000 HexFiendFramework/src/HFUIUtils.h create mode 120000 HexFiendFramework/src/HFUIUtils.m create mode 120000 HexFiendFramework/src/HFVerticalScrollerRepresenter.h create mode 120000 HexFiendFramework/src/HFVerticalScrollerRepresenter.m create mode 120000 HexFiendFramework/src/HexFiend.h create mode 100644 LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.h create mode 100644 LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.m create mode 100644 LNPropertyListEditorExample/LNPropertyListEditorExample.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100755 prepare_spm_support.rb diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..502cdf1 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "HexFiend"] + path = HexFiend + url = https://github.com/HexFiend/HexFiend.git diff --git a/HexFiend b/HexFiend new file mode 160000 index 0000000..9348631 --- /dev/null +++ b/HexFiend @@ -0,0 +1 @@ +Subproject commit 93486311a7418c3094c2f462d23bb0c4c4d45296 diff --git a/HexFiendFramework/HexFiend.xcodeproj/project.pbxproj b/HexFiendFramework/HexFiend.xcodeproj/project.pbxproj new file mode 100644 index 0000000..1c3916d --- /dev/null +++ b/HexFiendFramework/HexFiend.xcodeproj/project.pbxproj @@ -0,0 +1,858 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 003733918D588513DED7AD1C /* HFPasteboardOwner.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CEE40D2DAA87EB1A2910B07 /* HFPasteboardOwner.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 033C69CB575B026CE8A81930 /* HFFastMemchr.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C9FD70102D9CEE0163DD8E2 /* HFFastMemchr.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 079F57E9FDCBA10EA89CDC3F /* HFProgressTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8666A597D50A19AEA8FCE19A /* HFProgressTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A9A09B84680BA228A9A329C /* HFBTreeByteArray.h in Headers */ = {isa = PBXBuildFile; fileRef = F0B3CC9D23CC5392D37E7A65 /* HFBTreeByteArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0DF91E92FEF4ED73DE1CBFEA /* HFByteRangeAttributeArray.h in Headers */ = {isa = PBXBuildFile; fileRef = C70D9DD6E0E6454385C25AE2 /* HFByteRangeAttributeArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0FA42FA3C565E401648CC598 /* HFColorRange.m in Sources */ = {isa = PBXBuildFile; fileRef = 1025A1A990FEA9256DDFAB21 /* HFColorRange.m */; }; + 114EF233755E1D1C81C768B6 /* HFByteSlice.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A43A8E0AE1D72F9E830416F /* HFByteSlice.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12611703DABC7AADF7D47C40 /* HFByteArray_FindReplace.m in Sources */ = {isa = PBXBuildFile; fileRef = 39DE0790A11727E7F1989363 /* HFByteArray_FindReplace.m */; }; + 14877DD7E8070F6328A8BCA5 /* HFByteRangeAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DC94474FC0E6DD12A97E472 /* HFByteRangeAttribute.m */; }; + 18F907FB96EC8A96E73AC5E6 /* HFRandomDataByteSlice.m in Sources */ = {isa = PBXBuildFile; fileRef = 84731AD7FBB8A5A4EC7902B5 /* HFRandomDataByteSlice.m */; }; + 1BC3C135B3F5999B416024BC /* HFByteArray_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DE899D402833FA88DC6B5E56 /* HFByteArray_Internal.h */; }; + 1D19BE39B13EE6A0C20B67B9 /* HFVerticalScrollerRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EF84F046EAFEC69E79EC01F /* HFVerticalScrollerRepresenter.m */; }; + 1DDADCE193285C058F277C63 /* HFNSStringEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 566175F40C02B68881818D14 /* HFNSStringEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1E1F2DAF669C28E196BB6DC6 /* HFGlyphTrie.m in Sources */ = {isa = PBXBuildFile; fileRef = D6776F14808FD6AA738F3555 /* HFGlyphTrie.m */; }; + 1E4C813F440D605E5EEB2EB9 /* HFUIUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E355AE9D0A909FB93334B5E9 /* HFUIUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 20DB92787EA9B19F6F2D0511 /* HFFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = D525244F52DB7994A18C42C2 /* HFFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2728EE8C3038DCCF919BD6E4 /* HFGlyphTrie.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DCE650A2D3FE81ED25C7029 /* HFGlyphTrie.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 279AEFB0E934718042968B78 /* HFAnnotatedTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 81A545136FC2B2F8596B12E0 /* HFAnnotatedTree.h */; }; + 289C1C0D5DD5DE9B326E76F0 /* HFTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 887D0B92C907018E24D839EC /* HFTextField.m */; }; + 299AF01EAA17E65871F0D6D1 /* HFLayoutRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = A5AFCA5DAD51A7B312FC1E63 /* HFLayoutRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2AAE09A256A597A8128B4C02 /* HexFiend.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BE1EDB70BAE2991F89E55D7 /* HexFiend.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C49E0BB57A33D73F15CB69D /* HFLayoutRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = A159A9C9E747D596FF32C8D2 /* HFLayoutRepresenter.m */; }; + 2CFE2DB615AD45240AFF2C42 /* HFLineCountingRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B3FFE60770DBEE33B2003BF /* HFLineCountingRepresenter.m */; }; + 32068326EBBCAA251E047FC5 /* HFByteSliceFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C68FAD9249EF85A9E1F3E91 /* HFByteSliceFileOperation.m */; }; + 33037A31CF607BD6C99C39EE /* HFTextSelectionPulseView.h in Headers */ = {isa = PBXBuildFile; fileRef = D6CCEF7F4370052594C3AE7D /* HFTextSelectionPulseView.h */; }; + 33DEBC03CA8320630BF3A7F6 /* HFTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = A1970A9CFE4B52AEA8983C67 /* HFTextView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3836FE63CF07119153727261 /* HFByteArrayProxiedData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B3093DF682450F1E5F15A40 /* HFByteArrayProxiedData.m */; }; + 39E2CB54E1DEEEC187C4EE16 /* HFByteArrayEditScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 308A0D18E591942B6711B852 /* HFByteArrayEditScript.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3BD31CF44055E48D68563938 /* HFSharedMemoryByteSlice.h in Headers */ = {isa = PBXBuildFile; fileRef = 633C838705A922A69C68B022 /* HFSharedMemoryByteSlice.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3D8131CAFF09150BBC3C7095 /* HFEncodingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F8A5282F45A034C09F3868F /* HFEncodingManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3EF6AC92BB0C9300741374C7 /* HFHexGlyphTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 216CD5C3401EED3A0E40F6F6 /* HFHexGlyphTable.m */; }; + 41101BAD99915D0D44DC29B9 /* HFTest.h in Headers */ = {isa = PBXBuildFile; fileRef = CC38A9F6D887B6352836FBBB /* HFTest.h */; }; + 466B20E021F44AFB2777D4EA /* HFBinaryGlyphTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2528222C41BF28C049EA6F65 /* HFBinaryGlyphTable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49256E2930EE9CFE7982C873 /* HFController.m in Sources */ = {isa = PBXBuildFile; fileRef = 70D62CF31AF76C36444D51DC /* HFController.m */; }; + 4961629767374E5DCAA0587C /* HFRepresenter_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E5CD44B915A7B9040106105D /* HFRepresenter_Internal.h */; }; + 5021306493A18E503F4CAB81 /* HFRepresenterTextViewCallout.h in Headers */ = {isa = PBXBuildFile; fileRef = AB2BE72471B4118D01620336 /* HFRepresenterTextViewCallout.h */; }; + 52B2C44FA8C80B075711210C /* HFTextRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7290B9692453E332BC97EAE7 /* HFTextRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 53A153F9730E285FDCD313C6 /* HFHelperProcessSharedCode.h in Headers */ = {isa = PBXBuildFile; fileRef = A14122C3916540F0FA5FA073 /* HFHelperProcessSharedCode.h */; }; + 5AD675343D3AAF3B0F7395BB /* HFProgressTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7823AB2A018CC74B3A4A8DCF /* HFProgressTracker.m */; }; + 5C0C461DFDFE438037CC3734 /* HFRepresenterBinaryTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E38A6DEFFC35EF91B4A0FAC /* HFRepresenterBinaryTextView.h */; }; + 5CAB132529AC717F37E69B05 /* HFObjectGraph.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D2DFD5D9B227771499A3882 /* HFObjectGraph.m */; }; + 5E27D9F38460ED5DEEAF1DFE /* HFVerticalScrollerRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 503292D75A914179217A12E1 /* HFVerticalScrollerRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 60E13D825BCA8741759E01D7 /* HFRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = BC8CC8D449C1FA9854F2B8C5 /* HFRepresenter.m */; }; + 60E1926A76BFBE69BA69A3F4 /* HFBinaryTextRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8931FEF6EE3F8088CC3A67B5 /* HFBinaryTextRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62CCDD01BE596992B31ABF28 /* HFFullMemoryByteSlice.m in Sources */ = {isa = PBXBuildFile; fileRef = AA88DB9B07103109D76F0352 /* HFFullMemoryByteSlice.m */; }; + 64BB162D9240143E7D2F7BFA /* HFCancelButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E879DB7716510D87117B9F /* HFCancelButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66D2CB600C7638FEA2BCF566 /* HFFullMemoryByteSlice.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A6227AA92EC9A6EA58B844F /* HFFullMemoryByteSlice.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6702E531FBA3A551717276B7 /* HFPasteboardOwner.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3B085664328497D765FE90 /* HFPasteboardOwner.m */; }; + 6887F2CC0B15D36DC6088299 /* HFHexGlyphTable.h in Headers */ = {isa = PBXBuildFile; fileRef = BBA194125A944C2DAF411532 /* HFHexGlyphTable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68C65C92326E41DF5CA641A1 /* HFTextRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C7AA6B3924D3410A91958A4 /* HFTextRepresenter.m */; }; + 68D4D6D0811A0CAAC39FD4BC /* HFByteRangeAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EECAB6F58A22271FC2F57C2 /* HFByteRangeAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 69CEB282A111AB5C4BED622D /* HFTextSelectionPulseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D4B20DA7FA47E50EF022EF /* HFTextSelectionPulseView.m */; }; + 6A2C9B9417537DA0FBECE21C /* HFAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = A07E8277A66FE84620C9447F /* HFAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6CED19896D77563B9EE4D22E /* HFTextVisualStyleRun.h in Headers */ = {isa = PBXBuildFile; fileRef = D77586031B1AE47EB3B9B386 /* HFTextVisualStyleRun.h */; settings = {ATTRIBUTES = (); }; }; + 6E63FF648DAE9D685E75359F /* HFFileReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EAAAE509DAFE79A4456E682 /* HFFileReference.m */; }; + 729288E9281E74EDBD3596B6 /* HFColumnView.h in Headers */ = {isa = PBXBuildFile; fileRef = 842BE48F75813CBF477A4242 /* HFColumnView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 73EBAE4D3C9F1F6FD74184D9 /* HFAttributedByteArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A051B83993646BC6EFD694C2 /* HFAttributedByteArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7DCAB47BB751ECCB593832EE /* HFHexTextRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = CFA81498B1D36852FEFD069D /* HFHexTextRepresenter.m */; }; + 7DDBFA3D499873F8C4D7EB65 /* HFLineCountingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81E1E6549A5916912916ECDC /* HFLineCountingView.m */; }; + 802FB1AE26EC8B7422FB7132 /* HFControllerCoalescedUndo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6061BE51E38A8599436B6BAF /* HFControllerCoalescedUndo.h */; }; + 80AD7B96B74A772DDD495054 /* HFByteArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 769690DE947AD185C7D8236C /* HFByteArray.m */; }; + 81F8312EF35747BD1145A369 /* HFObjectGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 389EA3A3ACE3CE4FF0BA2986 /* HFObjectGraph.h */; }; + 83E71202AA67BB8574756664 /* HFByteArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 94AE18499240032C12CEBCD2 /* HFByteArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83FA2A1CBD20510F7B713317 /* HFByteSliceFileOperationQueueEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B8161105100A09655A102C /* HFByteSliceFileOperationQueueEntry.h */; }; + 850E270FB7A478167C9D7546 /* HFAttributedByteArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B53400BE20828F721BC1A9E /* HFAttributedByteArray.m */; }; + 86D64600CD4BD505D6D8BC46 /* HFSharedMemoryByteSlice.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CE52EEFF684419E9510F323 /* HFSharedMemoryByteSlice.m */; }; + 896F4CB4A9FC46BF02B75DAA /* HFRepresenterStringEncodingTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F6933E24CB67CECE989424 /* HFRepresenterStringEncodingTextView.m */; }; + 91523654712C5E20BF923BC8 /* HFBinaryGlyphTable.m in Sources */ = {isa = PBXBuildFile; fileRef = 5342643EC5644E7C0EC20F48 /* HFBinaryGlyphTable.m */; }; + 917A48043EA607E66766E296 /* HFBTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EBEC4770829BFD00AB9909C /* HFBTree.m */; }; + 96B10E4695117AB891E1A56D /* HFAnnotatedTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2E40765E857A711890D491 /* HFAnnotatedTree.m */; }; + 9B9FA275FC0A3FA6FD1E654B /* HFBTreeByteArray.m in Sources */ = {isa = PBXBuildFile; fileRef = C0E3A9F51C15F0DE4102EFC2 /* HFBTreeByteArray.m */; }; + 9D44A6A29D214B91DF26D9EF /* HFControllerCoalescedUndo.m in Sources */ = {isa = PBXBuildFile; fileRef = AB9953DC6750348A392504F9 /* HFControllerCoalescedUndo.m */; }; + A0790288D49FE9D1D00AC4AF /* HFTextRepresenter_KeyBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = E0945B4222F0EAE37101B44B /* HFTextRepresenter_KeyBinding.m */; }; + A27543B41793F36EAEB36EE0 /* HFFullMemoryByteArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 759051E5E5D90343BA90D9C2 /* HFFullMemoryByteArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A5178ECCAAEEE121D1948E01 /* HFStringEncodingTextRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D83F98364095F609DB6CB4A /* HFStringEncodingTextRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A543E047AC267532DB0CB57A /* HFRepresenterTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CD66D1CF5DCD240F85B371F /* HFRepresenterTextView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A548297E95EE125210871084 /* HFByteSliceFileOperationQueueEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = EAE4E14CCA178C976C061AD4 /* HFByteSliceFileOperationQueueEntry.m */; }; + A71B6204F1ED68BEC33FFD48 /* HFStringEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F666B445CC402F81408020F /* HFStringEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A73C3E4AF98693F294AA232D /* HFTextRepresenter_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = A0FA8D7B2B987A2E1771DD0A /* HFTextRepresenter_Internal.h */; }; + A7ECF268BE60CA0DDA323C5C /* HFTextVisualStyleRun.m in Sources */ = {isa = PBXBuildFile; fileRef = B76E9C027D4AC5059643630C /* HFTextVisualStyleRun.m */; }; + A88C3B2D8142602A9153B41F /* HFRepresenterHexTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E9D59265B3935573A7184D7 /* HFRepresenterHexTextView.h */; settings = {ATTRIBUTES = (); }; }; + A8DA9115F9A166AD1AB56A96 /* HFRepresenterStringEncodingTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EDA1F81680855EB0DDA0CB6 /* HFRepresenterStringEncodingTextView.h */; settings = {ATTRIBUTES = (); }; }; + A9F122E34055B90F92965657 /* HFLineCountingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 57F78ABD273178847465674F /* HFLineCountingView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA33A09227E7F2A1705DD844 /* HFCancelButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A41D87588885D7C57090565 /* HFCancelButton.m */; }; + ADED709F4D12C890A7DDF6CF /* HFByteSlice_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8EBC399C0EE59958E5EA98 /* HFByteSlice_Private.h */; }; + ADFE9778CE8F32E1F6C90782 /* HFHexPasteboardOwner.m in Sources */ = {isa = PBXBuildFile; fileRef = F9AAB100D53BBC9141FD1A12 /* HFHexPasteboardOwner.m */; }; + AE3D19C36F6BB7E5BB4A0D79 /* HFByteArrayProxiedData.h in Headers */ = {isa = PBXBuildFile; fileRef = D5622206963322B8D5648214 /* HFByteArrayProxiedData.h */; }; + B1382524B28078C956F65F97 /* HFFileReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AF85B53B6461E5DABD529B2 /* HFFileReference.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B38C614179FEBD0D2833F388 /* HFHexTextRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 50C3E1C1711AACF8C212D5C1 /* HFHexTextRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B48ACA3DD90B0D36003E78B8 /* HFColumnView.m in Sources */ = {isa = PBXBuildFile; fileRef = 599D1D0FA886B06CF93671F8 /* HFColumnView.m */; }; + B4F303CD1F42690130E2DA69 /* HFFileByteSlice.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A8CEA6821836B9C8C890F5 /* HFFileByteSlice.m */; }; + B5A6D8A3D30B7736E4E4DA14 /* HFColumnRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = C4223B5156A446BCAE14D26C /* HFColumnRepresenter.m */; }; + B64FBF935F86ADAE1994D16D /* HFByteSliceFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = BFA658262A81EDD2D8B48693 /* HFByteSliceFileOperation.h */; }; + B676DC650E20EE700CA442FE /* HFHexPasteboardOwner.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FA1FB7E42B5148D97F4E2CE /* HFHexPasteboardOwner.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B842FE303AE33865666157D1 /* HFLineCountingRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 66B3BB8936F2398405314167 /* HFLineCountingRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B86F6AD460E12982F65782A0 /* HFByteRangeAttributeArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F3FA372842FF74D2941A5D6 /* HFByteRangeAttributeArray.m */; }; + B9A15ED73F35730207B5A2A3 /* HFCustomEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E2BBDAE8B4E7A2A0D9EAEEE /* HFCustomEncoding.m */; }; + BA3D9F9007F230CDC4B02064 /* HFTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FE8F4C38AF2B1550C9EDAD8 /* HFTextView.m */; }; + C07B2C9B5AE8A692BF6096B7 /* HFFullMemoryByteArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B444E9F9E64AFD1231912F9 /* HFFullMemoryByteArray.m */; }; + C33D92E34168AAFF2538389D /* HFStatusBarRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E43FBE8D6C8AA5CDF3317A03 /* HFStatusBarRepresenter.m */; }; + C4628AE2D6EA23D2186499A8 /* HFFrameworkPrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = ABC4E0C1E29EA244F1BFEBB5 /* HFFrameworkPrefix.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6BACED1E73511CA0E17B544 /* HFFastMemchr.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F717328D8C0385C310755FA /* HFFastMemchr.m */; }; + C8A8EF0E55352169B77F0BAA /* HFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E169B58577CF7B7FAA6FF79 /* HFTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CA5FF96AC55D3DE445996BD1 /* HFColumnRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = B8C0D36F67C39490FD7C572B /* HFColumnRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC4EFB0383F7BFE99EEFD122 /* HFFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = E01BC61C54364B431B4BEB16 /* HFFunctions.m */; }; + CD5E42F74962AA7541E7FAEC /* HFNSStringEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = BFFE36CAFEFC59F7C286CCC0 /* HFNSStringEncoding.m */; }; + D0FF43FBEAB20B11ECC2374D /* HFRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = D0DAF5B25935848E8E184698 /* HFRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D205D4B6EF0615869D3F6902 /* HFByteArrayEditScript.m in Sources */ = {isa = PBXBuildFile; fileRef = 924BC220ED0590E29D44D2E4 /* HFByteArrayEditScript.m */; }; + D27A01FBC785CB310F46EC35 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B3CED76D7B4D2AF51922764 /* Cocoa.framework */; }; + D3E2A2CD4859BC75F1B4C6EB /* HFRepresenterHexTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 83BC2715B8671C1A3B919E70 /* HFRepresenterHexTextView.m */; }; + D5E7209D983B568AADF61A5F /* HFRepresenterBinaryTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = E51A2B0CE2254DFC47BCE4F5 /* HFRepresenterBinaryTextView.m */; }; + D8D8CE70A38F280314056A90 /* HFController.h in Headers */ = {isa = PBXBuildFile; fileRef = E24687153BB6DB49A8A4CDC6 /* HFController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E25FFF91204B4B9A3F9C6683 /* HFStatusBarRepresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 15F4CA156604554C87B33D28 /* HFStatusBarRepresenter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E448B53DF926ECB059DFC7C4 /* HFRepresenterTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3B9125F1F6F44DDB5D21D0 /* HFRepresenterTextView.m */; }; + E7879304A75EC4810B350081 /* HFTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 054E91BAF1360ABF353EF13A /* HFTextField.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E988B5AAEFF2878BCC6F457F /* HFUIUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 808376D67553AE958353CD19 /* HFUIUtils.m */; }; + E9A4E9B47AA46BEE1845EABE /* HFColorRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 08DF3AF7169223A6E95262D2 /* HFColorRange.h */; }; + EAB61B0EF7648E63C0490B18 /* HFEncodingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D51D54EC97C5A5393DA98494 /* HFEncodingManager.m */; }; + EB0F64BAA467F3F577A440C7 /* HFStringEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CBA192FE3DA6CE8F137DB8 /* HFStringEncoding.m */; }; + EED5E98F8961F7F377A207B8 /* HFByteArray_FileWriting.m in Sources */ = {isa = PBXBuildFile; fileRef = 49FC44FA817CE730345714B8 /* HFByteArray_FileWriting.m */; }; + F13CCF08A58E7C04EE9F1A65 /* HFBinaryTextRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E4AEC4C0457F29DE3FE2F84D /* HFBinaryTextRepresenter.m */; }; + F1669602DE9C1195B1E12127 /* HFRandomDataByteSlice.h in Headers */ = {isa = PBXBuildFile; fileRef = A85C3D6CA2E51C3D783C8904 /* HFRandomDataByteSlice.h */; settings = {ATTRIBUTES = (); }; }; + F519F9BBAC71E9A3442D8EF2 /* HFBTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EDB1DCC2811B58320DEC1E8 /* HFBTree.h */; }; + F7349422B6662A2589A0A0A2 /* HFFileByteSlice.h in Headers */ = {isa = PBXBuildFile; fileRef = B8D73096C7FFA8B201152034 /* HFFileByteSlice.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FAB94895223F1447CAFB1FCD /* HFByteSlice.m in Sources */ = {isa = PBXBuildFile; fileRef = 26C75F7D27D8CB968902974D /* HFByteSlice.m */; }; + FACC958F1553BBF581177FB0 /* HFRepresenterTextViewCallout.m in Sources */ = {isa = PBXBuildFile; fileRef = CF7707F3F48E6AC7C3AC24D9 /* HFRepresenterTextViewCallout.m */; }; + FB01D9EA8970D4AF82CDBE29 /* HFCustomEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ADE7C1360ADF5756267DBE6 /* HFCustomEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FCCAA88CFED6E7B55AB16A36 /* HFStringEncodingTextRepresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FCF9CCD1788A34D3B89203E /* HFStringEncodingTextRepresenter.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 054E91BAF1360ABF353EF13A /* HFTextField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTextField.h; path = ../HexFiend/framework/sources/HFTextField.h; sourceTree = ""; }; + 08DF3AF7169223A6E95262D2 /* HFColorRange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFColorRange.h; path = ../HexFiend/framework/sources/HFColorRange.h; sourceTree = ""; }; + 0E9D59265B3935573A7184D7 /* HFRepresenterHexTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenterHexTextView.h; path = ../HexFiend/framework/sources/HFRepresenterHexTextView.h; sourceTree = ""; }; + 0EAAAE509DAFE79A4456E682 /* HFFileReference.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFFileReference.m; path = ../HexFiend/framework/sources/HFFileReference.m; sourceTree = ""; }; + 0F3FA372842FF74D2941A5D6 /* HFByteRangeAttributeArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteRangeAttributeArray.m; path = ../HexFiend/framework/sources/HFByteRangeAttributeArray.m; sourceTree = ""; }; + 1025A1A990FEA9256DDFAB21 /* HFColorRange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFColorRange.m; path = ../HexFiend/framework/sources/HFColorRange.m; sourceTree = ""; }; + 15F4CA156604554C87B33D28 /* HFStatusBarRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFStatusBarRepresenter.h; path = ../HexFiend/framework/sources/HFStatusBarRepresenter.h; sourceTree = ""; }; + 1CD66D1CF5DCD240F85B371F /* HFRepresenterTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenterTextView.h; path = ../HexFiend/framework/sources/HFRepresenterTextView.h; sourceTree = ""; }; + 1F666B445CC402F81408020F /* HFStringEncoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFStringEncoding.h; path = ../HexFiend/framework/sources/HFStringEncoding.h; sourceTree = ""; }; + 20A8CEA6821836B9C8C890F5 /* HFFileByteSlice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFFileByteSlice.m; path = ../HexFiend/framework/sources/HFFileByteSlice.m; sourceTree = ""; }; + 216CD5C3401EED3A0E40F6F6 /* HFHexGlyphTable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFHexGlyphTable.m; path = ../HexFiend/framework/sources/HFHexGlyphTable.m; sourceTree = ""; }; + 2528222C41BF28C049EA6F65 /* HFBinaryGlyphTable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFBinaryGlyphTable.h; path = ../HexFiend/framework/sources/HFBinaryGlyphTable.h; sourceTree = ""; }; + 26C75F7D27D8CB968902974D /* HFByteSlice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteSlice.m; path = ../HexFiend/framework/sources/HFByteSlice.m; sourceTree = ""; }; + 2A41D87588885D7C57090565 /* HFCancelButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFCancelButton.m; path = ../HexFiend/framework/sources/HFCancelButton.m; sourceTree = ""; }; + 2A43A8E0AE1D72F9E830416F /* HFByteSlice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteSlice.h; path = ../HexFiend/framework/sources/HFByteSlice.h; sourceTree = ""; }; + 2AF85B53B6461E5DABD529B2 /* HFFileReference.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFileReference.h; path = ../HexFiend/framework/sources/HFFileReference.h; sourceTree = ""; }; + 2DC94474FC0E6DD12A97E472 /* HFByteRangeAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteRangeAttribute.m; path = ../HexFiend/framework/sources/HFByteRangeAttribute.m; sourceTree = ""; }; + 2EECAB6F58A22271FC2F57C2 /* HFByteRangeAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteRangeAttribute.h; path = ../HexFiend/framework/sources/HFByteRangeAttribute.h; sourceTree = ""; }; + 2FE8F4C38AF2B1550C9EDAD8 /* HFTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFTextView.m; path = ../HexFiend/framework/sources/HFTextView.m; sourceTree = ""; }; + 308A0D18E591942B6711B852 /* HFByteArrayEditScript.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteArrayEditScript.h; path = ../HexFiend/framework/sources/HFByteArrayEditScript.h; sourceTree = ""; }; + 34CBA192FE3DA6CE8F137DB8 /* HFStringEncoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFStringEncoding.m; path = ../HexFiend/framework/sources/HFStringEncoding.m; sourceTree = ""; }; + 389EA3A3ACE3CE4FF0BA2986 /* HFObjectGraph.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFObjectGraph.h; path = ../HexFiend/framework/sources/HFObjectGraph.h; sourceTree = ""; }; + 39DE0790A11727E7F1989363 /* HFByteArray_FindReplace.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteArray_FindReplace.m; path = ../HexFiend/framework/sources/HFByteArray_FindReplace.m; sourceTree = ""; }; + 3ADE7C1360ADF5756267DBE6 /* HFCustomEncoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFCustomEncoding.h; path = ../HexFiend/framework/sources/HFCustomEncoding.h; sourceTree = ""; }; + 3CE52EEFF684419E9510F323 /* HFSharedMemoryByteSlice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFSharedMemoryByteSlice.m; path = ../HexFiend/framework/sources/HFSharedMemoryByteSlice.m; sourceTree = ""; }; + 3CEE40D2DAA87EB1A2910B07 /* HFPasteboardOwner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFPasteboardOwner.h; path = ../HexFiend/framework/sources/HFPasteboardOwner.h; sourceTree = ""; }; + 3E2BBDAE8B4E7A2A0D9EAEEE /* HFCustomEncoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFCustomEncoding.m; path = ../HexFiend/framework/sources/HFCustomEncoding.m; sourceTree = ""; }; + 3EDA1F81680855EB0DDA0CB6 /* HFRepresenterStringEncodingTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenterStringEncodingTextView.h; path = ../HexFiend/framework/sources/HFRepresenterStringEncodingTextView.h; sourceTree = ""; }; + 3EF84F046EAFEC69E79EC01F /* HFVerticalScrollerRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFVerticalScrollerRepresenter.m; path = ../HexFiend/framework/sources/HFVerticalScrollerRepresenter.m; sourceTree = ""; }; + 42D4B20DA7FA47E50EF022EF /* HFTextSelectionPulseView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFTextSelectionPulseView.m; path = ../HexFiend/framework/sources/HFTextSelectionPulseView.m; sourceTree = ""; }; + 49FC44FA817CE730345714B8 /* HFByteArray_FileWriting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteArray_FileWriting.m; path = ../HexFiend/framework/sources/HFByteArray_FileWriting.m; sourceTree = ""; }; + 4B444E9F9E64AFD1231912F9 /* HFFullMemoryByteArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFFullMemoryByteArray.m; path = ../HexFiend/framework/sources/HFFullMemoryByteArray.m; sourceTree = ""; }; + 4C3B085664328497D765FE90 /* HFPasteboardOwner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFPasteboardOwner.m; path = ../HexFiend/framework/sources/HFPasteboardOwner.m; sourceTree = ""; }; + 4D2DFD5D9B227771499A3882 /* HFObjectGraph.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFObjectGraph.m; path = ../HexFiend/framework/sources/HFObjectGraph.m; sourceTree = ""; }; + 503292D75A914179217A12E1 /* HFVerticalScrollerRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFVerticalScrollerRepresenter.h; path = ../HexFiend/framework/sources/HFVerticalScrollerRepresenter.h; sourceTree = ""; }; + 50C3E1C1711AACF8C212D5C1 /* HFHexTextRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFHexTextRepresenter.h; path = ../HexFiend/framework/sources/HFHexTextRepresenter.h; sourceTree = ""; }; + 5342643EC5644E7C0EC20F48 /* HFBinaryGlyphTable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFBinaryGlyphTable.m; path = ../HexFiend/framework/sources/HFBinaryGlyphTable.m; sourceTree = ""; }; + 566175F40C02B68881818D14 /* HFNSStringEncoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFNSStringEncoding.h; path = ../HexFiend/framework/sources/HFNSStringEncoding.h; sourceTree = ""; }; + 57F78ABD273178847465674F /* HFLineCountingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFLineCountingView.h; path = ../HexFiend/framework/sources/HFLineCountingView.h; sourceTree = ""; }; + 599D1D0FA886B06CF93671F8 /* HFColumnView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFColumnView.m; path = ../HexFiend/framework/sources/HFColumnView.m; sourceTree = ""; }; + 5B3FFE60770DBEE33B2003BF /* HFLineCountingRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFLineCountingRepresenter.m; path = ../HexFiend/framework/sources/HFLineCountingRepresenter.m; sourceTree = ""; }; + 5D83F98364095F609DB6CB4A /* HFStringEncodingTextRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFStringEncodingTextRepresenter.h; path = ../HexFiend/framework/sources/HFStringEncodingTextRepresenter.h; sourceTree = ""; }; + 5F8A5282F45A034C09F3868F /* HFEncodingManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFEncodingManager.h; path = ../HexFiend/framework/sources/HFEncodingManager.h; sourceTree = ""; }; + 5FA1FB7E42B5148D97F4E2CE /* HFHexPasteboardOwner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFHexPasteboardOwner.h; path = ../HexFiend/framework/sources/HFHexPasteboardOwner.h; sourceTree = ""; }; + 6061BE51E38A8599436B6BAF /* HFControllerCoalescedUndo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFControllerCoalescedUndo.h; path = ../HexFiend/framework/sources/HFControllerCoalescedUndo.h; sourceTree = ""; }; + 61F6933E24CB67CECE989424 /* HFRepresenterStringEncodingTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRepresenterStringEncodingTextView.m; path = ../HexFiend/framework/sources/HFRepresenterStringEncodingTextView.m; sourceTree = ""; }; + 633C838705A922A69C68B022 /* HFSharedMemoryByteSlice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFSharedMemoryByteSlice.h; path = ../HexFiend/framework/sources/HFSharedMemoryByteSlice.h; sourceTree = ""; }; + 66B3BB8936F2398405314167 /* HFLineCountingRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFLineCountingRepresenter.h; path = ../HexFiend/framework/sources/HFLineCountingRepresenter.h; sourceTree = ""; }; + 6B3CED76D7B4D2AF51922764 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + 6C9FD70102D9CEE0163DD8E2 /* HFFastMemchr.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFastMemchr.h; path = ../HexFiend/framework/sources/HFFastMemchr.h; sourceTree = ""; }; + 70D62CF31AF76C36444D51DC /* HFController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFController.m; path = ../HexFiend/framework/sources/HFController.m; sourceTree = ""; }; + 7290B9692453E332BC97EAE7 /* HFTextRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTextRepresenter.h; path = ../HexFiend/framework/sources/HFTextRepresenter.h; sourceTree = ""; }; + 73E879DB7716510D87117B9F /* HFCancelButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFCancelButton.h; path = ../HexFiend/framework/sources/HFCancelButton.h; sourceTree = ""; }; + 759051E5E5D90343BA90D9C2 /* HFFullMemoryByteArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFullMemoryByteArray.h; path = ../HexFiend/framework/sources/HFFullMemoryByteArray.h; sourceTree = ""; }; + 769690DE947AD185C7D8236C /* HFByteArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteArray.m; path = ../HexFiend/framework/sources/HFByteArray.m; sourceTree = ""; }; + 77B8161105100A09655A102C /* HFByteSliceFileOperationQueueEntry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteSliceFileOperationQueueEntry.h; path = ../HexFiend/framework/sources/HFByteSliceFileOperationQueueEntry.h; sourceTree = ""; }; + 7823AB2A018CC74B3A4A8DCF /* HFProgressTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFProgressTracker.m; path = ../HexFiend/framework/sources/HFProgressTracker.m; sourceTree = ""; }; + 7A6227AA92EC9A6EA58B844F /* HFFullMemoryByteSlice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFullMemoryByteSlice.h; path = ../HexFiend/framework/sources/HFFullMemoryByteSlice.h; sourceTree = ""; }; + 7C7AA6B3924D3410A91958A4 /* HFTextRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFTextRepresenter.m; path = ../HexFiend/framework/sources/HFTextRepresenter.m; sourceTree = ""; }; + 7DCE650A2D3FE81ED25C7029 /* HFGlyphTrie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFGlyphTrie.h; path = ../HexFiend/framework/sources/HFGlyphTrie.h; sourceTree = ""; }; + 7E38A6DEFFC35EF91B4A0FAC /* HFRepresenterBinaryTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenterBinaryTextView.h; path = ../HexFiend/framework/sources/HFRepresenterBinaryTextView.h; sourceTree = ""; }; + 808376D67553AE958353CD19 /* HFUIUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFUIUtils.m; path = ../HexFiend/framework/sources/HFUIUtils.m; sourceTree = ""; }; + 81A545136FC2B2F8596B12E0 /* HFAnnotatedTree.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFAnnotatedTree.h; path = ../HexFiend/framework/sources/HFAnnotatedTree.h; sourceTree = ""; }; + 81E1E6549A5916912916ECDC /* HFLineCountingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFLineCountingView.m; path = ../HexFiend/framework/sources/HFLineCountingView.m; sourceTree = ""; }; + 83BC2715B8671C1A3B919E70 /* HFRepresenterHexTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRepresenterHexTextView.m; path = ../HexFiend/framework/sources/HFRepresenterHexTextView.m; sourceTree = ""; }; + 842BE48F75813CBF477A4242 /* HFColumnView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFColumnView.h; path = ../HexFiend/framework/sources/HFColumnView.h; sourceTree = ""; }; + 84731AD7FBB8A5A4EC7902B5 /* HFRandomDataByteSlice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRandomDataByteSlice.m; path = ../HexFiend/framework/sources/HFRandomDataByteSlice.m; sourceTree = ""; }; + 8666A597D50A19AEA8FCE19A /* HFProgressTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFProgressTracker.h; path = ../HexFiend/framework/sources/HFProgressTracker.h; sourceTree = ""; }; + 887D0B92C907018E24D839EC /* HFTextField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFTextField.m; path = ../HexFiend/framework/sources/HFTextField.m; sourceTree = ""; }; + 8931FEF6EE3F8088CC3A67B5 /* HFBinaryTextRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFBinaryTextRepresenter.h; path = ../HexFiend/framework/sources/HFBinaryTextRepresenter.h; sourceTree = ""; }; + 8B3093DF682450F1E5F15A40 /* HFByteArrayProxiedData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteArrayProxiedData.m; path = ../HexFiend/framework/sources/HFByteArrayProxiedData.m; sourceTree = ""; }; + 8C2E40765E857A711890D491 /* HFAnnotatedTree.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFAnnotatedTree.m; path = ../HexFiend/framework/sources/HFAnnotatedTree.m; sourceTree = ""; }; + 8C68FAD9249EF85A9E1F3E91 /* HFByteSliceFileOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteSliceFileOperation.m; path = ../HexFiend/framework/sources/HFByteSliceFileOperation.m; sourceTree = ""; }; + 8E169B58577CF7B7FAA6FF79 /* HFTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTypes.h; path = ../HexFiend/framework/sources/HFTypes.h; sourceTree = ""; }; + 8EBEC4770829BFD00AB9909C /* HFBTree.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFBTree.m; path = ../HexFiend/framework/sources/BTree/HFBTree.m; sourceTree = ""; }; + 8EDB1DCC2811B58320DEC1E8 /* HFBTree.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFBTree.h; path = ../HexFiend/framework/sources/BTree/HFBTree.h; sourceTree = ""; }; + 924BC220ED0590E29D44D2E4 /* HFByteArrayEditScript.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteArrayEditScript.m; path = ../HexFiend/framework/sources/HFByteArrayEditScript.m; sourceTree = ""; }; + 94AE18499240032C12CEBCD2 /* HFByteArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteArray.h; path = ../HexFiend/framework/sources/HFByteArray.h; sourceTree = ""; }; + 9B53400BE20828F721BC1A9E /* HFAttributedByteArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFAttributedByteArray.m; path = ../HexFiend/framework/sources/HFAttributedByteArray.m; sourceTree = ""; }; + 9BE1EDB70BAE2991F89E55D7 /* HexFiend.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HexFiend.h; path = ../HexFiend/framework/sources/HexFiend.h; sourceTree = ""; }; + 9F717328D8C0385C310755FA /* HFFastMemchr.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFFastMemchr.m; path = ../HexFiend/framework/sources/HFFastMemchr.m; sourceTree = ""; }; + 9FCF9CCD1788A34D3B89203E /* HFStringEncodingTextRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFStringEncodingTextRepresenter.m; path = ../HexFiend/framework/sources/HFStringEncodingTextRepresenter.m; sourceTree = ""; }; + A051B83993646BC6EFD694C2 /* HFAttributedByteArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFAttributedByteArray.h; path = ../HexFiend/framework/sources/HFAttributedByteArray.h; sourceTree = ""; }; + A07E8277A66FE84620C9447F /* HFAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFAssert.h; path = ../HexFiend/framework/sources/HFAssert.h; sourceTree = ""; }; + A0FA8D7B2B987A2E1771DD0A /* HFTextRepresenter_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTextRepresenter_Internal.h; path = ../HexFiend/framework/sources/HFTextRepresenter_Internal.h; sourceTree = ""; }; + A14122C3916540F0FA5FA073 /* HFHelperProcessSharedCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFHelperProcessSharedCode.h; path = ../HexFiend/framework/sources/HFHelperProcessSharedCode.h; sourceTree = ""; }; + A159A9C9E747D596FF32C8D2 /* HFLayoutRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFLayoutRepresenter.m; path = ../HexFiend/framework/sources/HFLayoutRepresenter.m; sourceTree = ""; }; + A1970A9CFE4B52AEA8983C67 /* HFTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTextView.h; path = ../HexFiend/framework/sources/HFTextView.h; sourceTree = ""; }; + A21250C8A62E762C71702AD5 /* HexFiend.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = HexFiend.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A5AFCA5DAD51A7B312FC1E63 /* HFLayoutRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFLayoutRepresenter.h; path = ../HexFiend/framework/sources/HFLayoutRepresenter.h; sourceTree = ""; }; + A85C3D6CA2E51C3D783C8904 /* HFRandomDataByteSlice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRandomDataByteSlice.h; path = ../HexFiend/framework/sources/HFRandomDataByteSlice.h; sourceTree = ""; }; + AA88DB9B07103109D76F0352 /* HFFullMemoryByteSlice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFFullMemoryByteSlice.m; path = ../HexFiend/framework/sources/HFFullMemoryByteSlice.m; sourceTree = ""; }; + AB2BE72471B4118D01620336 /* HFRepresenterTextViewCallout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenterTextViewCallout.h; path = ../HexFiend/framework/sources/HFRepresenterTextViewCallout.h; sourceTree = ""; }; + AB9953DC6750348A392504F9 /* HFControllerCoalescedUndo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFControllerCoalescedUndo.m; path = ../HexFiend/framework/sources/HFControllerCoalescedUndo.m; sourceTree = ""; }; + ABC4E0C1E29EA244F1BFEBB5 /* HFFrameworkPrefix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFrameworkPrefix.h; path = ../HexFiend/framework/sources/HFFrameworkPrefix.h; sourceTree = ""; }; + B76E9C027D4AC5059643630C /* HFTextVisualStyleRun.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFTextVisualStyleRun.m; path = ../HexFiend/framework/sources/HFTextVisualStyleRun.m; sourceTree = ""; }; + B8C0D36F67C39490FD7C572B /* HFColumnRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFColumnRepresenter.h; path = ../HexFiend/framework/sources/HFColumnRepresenter.h; sourceTree = ""; }; + B8D73096C7FFA8B201152034 /* HFFileByteSlice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFileByteSlice.h; path = ../HexFiend/framework/sources/HFFileByteSlice.h; sourceTree = ""; }; + BBA194125A944C2DAF411532 /* HFHexGlyphTable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFHexGlyphTable.h; path = ../HexFiend/framework/sources/HFHexGlyphTable.h; sourceTree = ""; }; + BC8CC8D449C1FA9854F2B8C5 /* HFRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRepresenter.m; path = ../HexFiend/framework/sources/HFRepresenter.m; sourceTree = ""; }; + BFA658262A81EDD2D8B48693 /* HFByteSliceFileOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteSliceFileOperation.h; path = ../HexFiend/framework/sources/HFByteSliceFileOperation.h; sourceTree = ""; }; + BFFE36CAFEFC59F7C286CCC0 /* HFNSStringEncoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFNSStringEncoding.m; path = ../HexFiend/framework/sources/HFNSStringEncoding.m; sourceTree = ""; }; + C0E3A9F51C15F0DE4102EFC2 /* HFBTreeByteArray.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFBTreeByteArray.m; path = ../HexFiend/framework/sources/HFBTreeByteArray.m; sourceTree = ""; }; + C4223B5156A446BCAE14D26C /* HFColumnRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFColumnRepresenter.m; path = ../HexFiend/framework/sources/HFColumnRepresenter.m; sourceTree = ""; }; + C70D9DD6E0E6454385C25AE2 /* HFByteRangeAttributeArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteRangeAttributeArray.h; path = ../HexFiend/framework/sources/HFByteRangeAttributeArray.h; sourceTree = ""; }; + CC38A9F6D887B6352836FBBB /* HFTest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTest.h; path = ../HexFiend/framework/tests/HFTest.h; sourceTree = ""; }; + CF7707F3F48E6AC7C3AC24D9 /* HFRepresenterTextViewCallout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRepresenterTextViewCallout.m; path = ../HexFiend/framework/sources/HFRepresenterTextViewCallout.m; sourceTree = ""; }; + CFA81498B1D36852FEFD069D /* HFHexTextRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFHexTextRepresenter.m; path = ../HexFiend/framework/sources/HFHexTextRepresenter.m; sourceTree = ""; }; + D0DAF5B25935848E8E184698 /* HFRepresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenter.h; path = ../HexFiend/framework/sources/HFRepresenter.h; sourceTree = ""; }; + D51D54EC97C5A5393DA98494 /* HFEncodingManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFEncodingManager.m; path = ../HexFiend/framework/sources/HFEncodingManager.m; sourceTree = ""; }; + D525244F52DB7994A18C42C2 /* HFFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFFunctions.h; path = ../HexFiend/framework/sources/HFFunctions.h; sourceTree = ""; }; + D5622206963322B8D5648214 /* HFByteArrayProxiedData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteArrayProxiedData.h; path = ../HexFiend/framework/sources/HFByteArrayProxiedData.h; sourceTree = ""; }; + D6776F14808FD6AA738F3555 /* HFGlyphTrie.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFGlyphTrie.m; path = ../HexFiend/framework/sources/HFGlyphTrie.m; sourceTree = ""; }; + D6CCEF7F4370052594C3AE7D /* HFTextSelectionPulseView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTextSelectionPulseView.h; path = ../HexFiend/framework/sources/HFTextSelectionPulseView.h; sourceTree = ""; }; + D77586031B1AE47EB3B9B386 /* HFTextVisualStyleRun.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFTextVisualStyleRun.h; path = ../HexFiend/framework/sources/HFTextVisualStyleRun.h; sourceTree = ""; }; + DC3B9125F1F6F44DDB5D21D0 /* HFRepresenterTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRepresenterTextView.m; path = ../HexFiend/framework/sources/HFRepresenterTextView.m; sourceTree = ""; }; + DE899D402833FA88DC6B5E56 /* HFByteArray_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteArray_Internal.h; path = ../HexFiend/framework/sources/HFByteArray_Internal.h; sourceTree = ""; }; + E01BC61C54364B431B4BEB16 /* HFFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFFunctions.m; path = ../HexFiend/framework/sources/HFFunctions.m; sourceTree = ""; }; + E0945B4222F0EAE37101B44B /* HFTextRepresenter_KeyBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFTextRepresenter_KeyBinding.m; path = ../HexFiend/framework/sources/HFTextRepresenter_KeyBinding.m; sourceTree = ""; }; + E24687153BB6DB49A8A4CDC6 /* HFController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFController.h; path = ../HexFiend/framework/sources/HFController.h; sourceTree = ""; }; + E355AE9D0A909FB93334B5E9 /* HFUIUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFUIUtils.h; path = ../HexFiend/framework/sources/HFUIUtils.h; sourceTree = ""; }; + E43FBE8D6C8AA5CDF3317A03 /* HFStatusBarRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFStatusBarRepresenter.m; path = ../HexFiend/framework/sources/HFStatusBarRepresenter.m; sourceTree = ""; }; + E4AEC4C0457F29DE3FE2F84D /* HFBinaryTextRepresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFBinaryTextRepresenter.m; path = ../HexFiend/framework/sources/HFBinaryTextRepresenter.m; sourceTree = ""; }; + E51A2B0CE2254DFC47BCE4F5 /* HFRepresenterBinaryTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFRepresenterBinaryTextView.m; path = ../HexFiend/framework/sources/HFRepresenterBinaryTextView.m; sourceTree = ""; }; + E5CD44B915A7B9040106105D /* HFRepresenter_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFRepresenter_Internal.h; path = ../HexFiend/framework/sources/HFRepresenter_Internal.h; sourceTree = ""; }; + EAE4E14CCA178C976C061AD4 /* HFByteSliceFileOperationQueueEntry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFByteSliceFileOperationQueueEntry.m; path = ../HexFiend/framework/sources/HFByteSliceFileOperationQueueEntry.m; sourceTree = ""; }; + F0B3CC9D23CC5392D37E7A65 /* HFBTreeByteArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFBTreeByteArray.h; path = ../HexFiend/framework/sources/HFBTreeByteArray.h; sourceTree = ""; }; + F9AAB100D53BBC9141FD1A12 /* HFHexPasteboardOwner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HFHexPasteboardOwner.m; path = ../HexFiend/framework/sources/HFHexPasteboardOwner.m; sourceTree = ""; }; + FE8EBC399C0EE59958E5EA98 /* HFByteSlice_Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HFByteSlice_Private.h; path = ../HexFiend/framework/sources/HFByteSlice_Private.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + BAF0558C275E1B803506FEF6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D27A01FBC785CB310F46EC35 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 6B7322CE79A3733B30490467 /* Headers */ = { + isa = PBXGroup; + children = ( + 9BE1EDB70BAE2991F89E55D7 /* HexFiend.h */, + 308A0D18E591942B6711B852 /* HFByteArrayEditScript.h */, + 7DCE650A2D3FE81ED25C7029 /* HFGlyphTrie.h */, + 759051E5E5D90343BA90D9C2 /* HFFullMemoryByteArray.h */, + E5CD44B915A7B9040106105D /* HFRepresenter_Internal.h */, + 7A6227AA92EC9A6EA58B844F /* HFFullMemoryByteSlice.h */, + BBA194125A944C2DAF411532 /* HFHexGlyphTable.h */, + 94AE18499240032C12CEBCD2 /* HFByteArray.h */, + 2A43A8E0AE1D72F9E830416F /* HFByteSlice.h */, + 2528222C41BF28C049EA6F65 /* HFBinaryGlyphTable.h */, + D525244F52DB7994A18C42C2 /* HFFunctions.h */, + 8E169B58577CF7B7FAA6FF79 /* HFTypes.h */, + D0DAF5B25935848E8E184698 /* HFRepresenter.h */, + 7290B9692453E332BC97EAE7 /* HFTextRepresenter.h */, + 1CD66D1CF5DCD240F85B371F /* HFRepresenterTextView.h */, + 0E9D59265B3935573A7184D7 /* HFRepresenterHexTextView.h */, + 50C3E1C1711AACF8C212D5C1 /* HFHexTextRepresenter.h */, + 7E38A6DEFFC35EF91B4A0FAC /* HFRepresenterBinaryTextView.h */, + ABC4E0C1E29EA244F1BFEBB5 /* HFFrameworkPrefix.h */, + DE899D402833FA88DC6B5E56 /* HFByteArray_Internal.h */, + 3EDA1F81680855EB0DDA0CB6 /* HFRepresenterStringEncodingTextView.h */, + 08DF3AF7169223A6E95262D2 /* HFColorRange.h */, + 1F666B445CC402F81408020F /* HFStringEncoding.h */, + 5D83F98364095F609DB6CB4A /* HFStringEncodingTextRepresenter.h */, + 503292D75A914179217A12E1 /* HFVerticalScrollerRepresenter.h */, + E355AE9D0A909FB93334B5E9 /* HFUIUtils.h */, + 66B3BB8936F2398405314167 /* HFLineCountingRepresenter.h */, + 57F78ABD273178847465674F /* HFLineCountingView.h */, + 6C9FD70102D9CEE0163DD8E2 /* HFFastMemchr.h */, + 3ADE7C1360ADF5756267DBE6 /* HFCustomEncoding.h */, + A5AFCA5DAD51A7B312FC1E63 /* HFLayoutRepresenter.h */, + 842BE48F75813CBF477A4242 /* HFColumnView.h */, + 15F4CA156604554C87B33D28 /* HFStatusBarRepresenter.h */, + 6061BE51E38A8599436B6BAF /* HFControllerCoalescedUndo.h */, + 566175F40C02B68881818D14 /* HFNSStringEncoding.h */, + 3CEE40D2DAA87EB1A2910B07 /* HFPasteboardOwner.h */, + FE8EBC399C0EE59958E5EA98 /* HFByteSlice_Private.h */, + 2AF85B53B6461E5DABD529B2 /* HFFileReference.h */, + B8D73096C7FFA8B201152034 /* HFFileByteSlice.h */, + 5FA1FB7E42B5148D97F4E2CE /* HFHexPasteboardOwner.h */, + A07E8277A66FE84620C9447F /* HFAssert.h */, + A051B83993646BC6EFD694C2 /* HFAttributedByteArray.h */, + 054E91BAF1360ABF353EF13A /* HFTextField.h */, + 8666A597D50A19AEA8FCE19A /* HFProgressTracker.h */, + 633C838705A922A69C68B022 /* HFSharedMemoryByteSlice.h */, + B8C0D36F67C39490FD7C572B /* HFColumnRepresenter.h */, + BFA658262A81EDD2D8B48693 /* HFByteSliceFileOperation.h */, + 389EA3A3ACE3CE4FF0BA2986 /* HFObjectGraph.h */, + 5F8A5282F45A034C09F3868F /* HFEncodingManager.h */, + 77B8161105100A09655A102C /* HFByteSliceFileOperationQueueEntry.h */, + D6CCEF7F4370052594C3AE7D /* HFTextSelectionPulseView.h */, + E24687153BB6DB49A8A4CDC6 /* HFController.h */, + 73E879DB7716510D87117B9F /* HFCancelButton.h */, + A85C3D6CA2E51C3D783C8904 /* HFRandomDataByteSlice.h */, + 8EDB1DCC2811B58320DEC1E8 /* HFBTree.h */, + F0B3CC9D23CC5392D37E7A65 /* HFBTreeByteArray.h */, + A1970A9CFE4B52AEA8983C67 /* HFTextView.h */, + A0FA8D7B2B987A2E1771DD0A /* HFTextRepresenter_Internal.h */, + D5622206963322B8D5648214 /* HFByteArrayProxiedData.h */, + A14122C3916540F0FA5FA073 /* HFHelperProcessSharedCode.h */, + 2EECAB6F58A22271FC2F57C2 /* HFByteRangeAttribute.h */, + 8931FEF6EE3F8088CC3A67B5 /* HFBinaryTextRepresenter.h */, + C70D9DD6E0E6454385C25AE2 /* HFByteRangeAttributeArray.h */, + 81A545136FC2B2F8596B12E0 /* HFAnnotatedTree.h */, + D77586031B1AE47EB3B9B386 /* HFTextVisualStyleRun.h */, + AB2BE72471B4118D01620336 /* HFRepresenterTextViewCallout.h */, + CC38A9F6D887B6352836FBBB /* HFTest.h */, + ); + name = Headers; + sourceTree = ""; + }; + 6D438C22C882EB1F863C88DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + CCA64569FC642D4D77899499 /* OS X */, + ); + name = Frameworks; + sourceTree = ""; + }; + B81406E11C5CC5D5BB4A91A5 = { + isa = PBXGroup; + children = ( + BBA7D5A93A32515C7F8C51AC /* Products */, + 6D438C22C882EB1F863C88DB /* Frameworks */, + 6B7322CE79A3733B30490467 /* Headers */, + E76F0A70E4D7A7C725BE406F /* Sources */, + ); + sourceTree = ""; + }; + BBA7D5A93A32515C7F8C51AC /* Products */ = { + isa = PBXGroup; + children = ( + A21250C8A62E762C71702AD5 /* HexFiend.framework */, + ); + name = Products; + sourceTree = ""; + }; + CCA64569FC642D4D77899499 /* OS X */ = { + isa = PBXGroup; + children = ( + 6B3CED76D7B4D2AF51922764 /* Cocoa.framework */, + ); + name = "OS X"; + sourceTree = ""; + }; + E76F0A70E4D7A7C725BE406F /* Sources */ = { + isa = PBXGroup; + children = ( + 70D62CF31AF76C36444D51DC /* HFController.m */, + BC8CC8D449C1FA9854F2B8C5 /* HFRepresenter.m */, + E01BC61C54364B431B4BEB16 /* HFFunctions.m */, + C4223B5156A446BCAE14D26C /* HFColumnRepresenter.m */, + E51A2B0CE2254DFC47BCE4F5 /* HFRepresenterBinaryTextView.m */, + 7C7AA6B3924D3410A91958A4 /* HFTextRepresenter.m */, + DC3B9125F1F6F44DDB5D21D0 /* HFRepresenterTextView.m */, + E4AEC4C0457F29DE3FE2F84D /* HFBinaryTextRepresenter.m */, + 3E2BBDAE8B4E7A2A0D9EAEEE /* HFCustomEncoding.m */, + BFFE36CAFEFC59F7C286CCC0 /* HFNSStringEncoding.m */, + 34CBA192FE3DA6CE8F137DB8 /* HFStringEncoding.m */, + 83BC2715B8671C1A3B919E70 /* HFRepresenterHexTextView.m */, + CFA81498B1D36852FEFD069D /* HFHexTextRepresenter.m */, + D6776F14808FD6AA738F3555 /* HFGlyphTrie.m */, + 769690DE947AD185C7D8236C /* HFByteArray.m */, + 5342643EC5644E7C0EC20F48 /* HFBinaryGlyphTable.m */, + 26C75F7D27D8CB968902974D /* HFByteSlice.m */, + AA88DB9B07103109D76F0352 /* HFFullMemoryByteSlice.m */, + 4B444E9F9E64AFD1231912F9 /* HFFullMemoryByteArray.m */, + 61F6933E24CB67CECE989424 /* HFRepresenterStringEncodingTextView.m */, + 9FCF9CCD1788A34D3B89203E /* HFStringEncodingTextRepresenter.m */, + 3EF84F046EAFEC69E79EC01F /* HFVerticalScrollerRepresenter.m */, + E0945B4222F0EAE37101B44B /* HFTextRepresenter_KeyBinding.m */, + 5B3FFE60770DBEE33B2003BF /* HFLineCountingRepresenter.m */, + 81E1E6549A5916912916ECDC /* HFLineCountingView.m */, + A159A9C9E747D596FF32C8D2 /* HFLayoutRepresenter.m */, + E43FBE8D6C8AA5CDF3317A03 /* HFStatusBarRepresenter.m */, + AB9953DC6750348A392504F9 /* HFControllerCoalescedUndo.m */, + 4C3B085664328497D765FE90 /* HFPasteboardOwner.m */, + 39DE0790A11727E7F1989363 /* HFByteArray_FindReplace.m */, + 1025A1A990FEA9256DDFAB21 /* HFColorRange.m */, + D51D54EC97C5A5393DA98494 /* HFEncodingManager.m */, + 0EAAAE509DAFE79A4456E682 /* HFFileReference.m */, + 20A8CEA6821836B9C8C890F5 /* HFFileByteSlice.m */, + 887D0B92C907018E24D839EC /* HFTextField.m */, + F9AAB100D53BBC9141FD1A12 /* HFHexPasteboardOwner.m */, + 216CD5C3401EED3A0E40F6F6 /* HFHexGlyphTable.m */, + 7823AB2A018CC74B3A4A8DCF /* HFProgressTracker.m */, + 3CE52EEFF684419E9510F323 /* HFSharedMemoryByteSlice.m */, + 808376D67553AE958353CD19 /* HFUIUtils.m */, + 49FC44FA817CE730345714B8 /* HFByteArray_FileWriting.m */, + 924BC220ED0590E29D44D2E4 /* HFByteArrayEditScript.m */, + 8C68FAD9249EF85A9E1F3E91 /* HFByteSliceFileOperation.m */, + 4D2DFD5D9B227771499A3882 /* HFObjectGraph.m */, + EAE4E14CCA178C976C061AD4 /* HFByteSliceFileOperationQueueEntry.m */, + 9F717328D8C0385C310755FA /* HFFastMemchr.m */, + 42D4B20DA7FA47E50EF022EF /* HFTextSelectionPulseView.m */, + 2A41D87588885D7C57090565 /* HFCancelButton.m */, + 84731AD7FBB8A5A4EC7902B5 /* HFRandomDataByteSlice.m */, + 8EBEC4770829BFD00AB9909C /* HFBTree.m */, + C0E3A9F51C15F0DE4102EFC2 /* HFBTreeByteArray.m */, + 2FE8F4C38AF2B1550C9EDAD8 /* HFTextView.m */, + 8B3093DF682450F1E5F15A40 /* HFByteArrayProxiedData.m */, + 9B53400BE20828F721BC1A9E /* HFAttributedByteArray.m */, + 599D1D0FA886B06CF93671F8 /* HFColumnView.m */, + 2DC94474FC0E6DD12A97E472 /* HFByteRangeAttribute.m */, + 0F3FA372842FF74D2941A5D6 /* HFByteRangeAttributeArray.m */, + B76E9C027D4AC5059643630C /* HFTextVisualStyleRun.m */, + 8C2E40765E857A711890D491 /* HFAnnotatedTree.m */, + CF7707F3F48E6AC7C3AC24D9 /* HFRepresenterTextViewCallout.m */, + ); + name = Sources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 88C8AB49324372DF09588ECA /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2AAE09A256A597A8128B4C02 /* HexFiend.h in Headers */, + 39E2CB54E1DEEEC187C4EE16 /* HFByteArrayEditScript.h in Headers */, + 2728EE8C3038DCCF919BD6E4 /* HFGlyphTrie.h in Headers */, + A27543B41793F36EAEB36EE0 /* HFFullMemoryByteArray.h in Headers */, + 4961629767374E5DCAA0587C /* HFRepresenter_Internal.h in Headers */, + 66D2CB600C7638FEA2BCF566 /* HFFullMemoryByteSlice.h in Headers */, + 6887F2CC0B15D36DC6088299 /* HFHexGlyphTable.h in Headers */, + 83E71202AA67BB8574756664 /* HFByteArray.h in Headers */, + 114EF233755E1D1C81C768B6 /* HFByteSlice.h in Headers */, + 466B20E021F44AFB2777D4EA /* HFBinaryGlyphTable.h in Headers */, + 20DB92787EA9B19F6F2D0511 /* HFFunctions.h in Headers */, + C8A8EF0E55352169B77F0BAA /* HFTypes.h in Headers */, + D0FF43FBEAB20B11ECC2374D /* HFRepresenter.h in Headers */, + 52B2C44FA8C80B075711210C /* HFTextRepresenter.h in Headers */, + A543E047AC267532DB0CB57A /* HFRepresenterTextView.h in Headers */, + A88C3B2D8142602A9153B41F /* HFRepresenterHexTextView.h in Headers */, + B38C614179FEBD0D2833F388 /* HFHexTextRepresenter.h in Headers */, + 5C0C461DFDFE438037CC3734 /* HFRepresenterBinaryTextView.h in Headers */, + C4628AE2D6EA23D2186499A8 /* HFFrameworkPrefix.h in Headers */, + 1BC3C135B3F5999B416024BC /* HFByteArray_Internal.h in Headers */, + A8DA9115F9A166AD1AB56A96 /* HFRepresenterStringEncodingTextView.h in Headers */, + E9A4E9B47AA46BEE1845EABE /* HFColorRange.h in Headers */, + A71B6204F1ED68BEC33FFD48 /* HFStringEncoding.h in Headers */, + A5178ECCAAEEE121D1948E01 /* HFStringEncodingTextRepresenter.h in Headers */, + 5E27D9F38460ED5DEEAF1DFE /* HFVerticalScrollerRepresenter.h in Headers */, + 1E4C813F440D605E5EEB2EB9 /* HFUIUtils.h in Headers */, + B842FE303AE33865666157D1 /* HFLineCountingRepresenter.h in Headers */, + A9F122E34055B90F92965657 /* HFLineCountingView.h in Headers */, + 033C69CB575B026CE8A81930 /* HFFastMemchr.h in Headers */, + FB01D9EA8970D4AF82CDBE29 /* HFCustomEncoding.h in Headers */, + 299AF01EAA17E65871F0D6D1 /* HFLayoutRepresenter.h in Headers */, + 729288E9281E74EDBD3596B6 /* HFColumnView.h in Headers */, + E25FFF91204B4B9A3F9C6683 /* HFStatusBarRepresenter.h in Headers */, + 802FB1AE26EC8B7422FB7132 /* HFControllerCoalescedUndo.h in Headers */, + 1DDADCE193285C058F277C63 /* HFNSStringEncoding.h in Headers */, + 003733918D588513DED7AD1C /* HFPasteboardOwner.h in Headers */, + ADED709F4D12C890A7DDF6CF /* HFByteSlice_Private.h in Headers */, + B1382524B28078C956F65F97 /* HFFileReference.h in Headers */, + F7349422B6662A2589A0A0A2 /* HFFileByteSlice.h in Headers */, + B676DC650E20EE700CA442FE /* HFHexPasteboardOwner.h in Headers */, + 6A2C9B9417537DA0FBECE21C /* HFAssert.h in Headers */, + 73EBAE4D3C9F1F6FD74184D9 /* HFAttributedByteArray.h in Headers */, + E7879304A75EC4810B350081 /* HFTextField.h in Headers */, + 079F57E9FDCBA10EA89CDC3F /* HFProgressTracker.h in Headers */, + 3BD31CF44055E48D68563938 /* HFSharedMemoryByteSlice.h in Headers */, + CA5FF96AC55D3DE445996BD1 /* HFColumnRepresenter.h in Headers */, + B64FBF935F86ADAE1994D16D /* HFByteSliceFileOperation.h in Headers */, + 81F8312EF35747BD1145A369 /* HFObjectGraph.h in Headers */, + 3D8131CAFF09150BBC3C7095 /* HFEncodingManager.h in Headers */, + 83FA2A1CBD20510F7B713317 /* HFByteSliceFileOperationQueueEntry.h in Headers */, + 33037A31CF607BD6C99C39EE /* HFTextSelectionPulseView.h in Headers */, + D8D8CE70A38F280314056A90 /* HFController.h in Headers */, + 64BB162D9240143E7D2F7BFA /* HFCancelButton.h in Headers */, + F1669602DE9C1195B1E12127 /* HFRandomDataByteSlice.h in Headers */, + F519F9BBAC71E9A3442D8EF2 /* HFBTree.h in Headers */, + 0A9A09B84680BA228A9A329C /* HFBTreeByteArray.h in Headers */, + 33DEBC03CA8320630BF3A7F6 /* HFTextView.h in Headers */, + A73C3E4AF98693F294AA232D /* HFTextRepresenter_Internal.h in Headers */, + AE3D19C36F6BB7E5BB4A0D79 /* HFByteArrayProxiedData.h in Headers */, + 53A153F9730E285FDCD313C6 /* HFHelperProcessSharedCode.h in Headers */, + 68D4D6D0811A0CAAC39FD4BC /* HFByteRangeAttribute.h in Headers */, + 60E1926A76BFBE69BA69A3F4 /* HFBinaryTextRepresenter.h in Headers */, + 0DF91E92FEF4ED73DE1CBFEA /* HFByteRangeAttributeArray.h in Headers */, + 279AEFB0E934718042968B78 /* HFAnnotatedTree.h in Headers */, + 6CED19896D77563B9EE4D22E /* HFTextVisualStyleRun.h in Headers */, + 5021306493A18E503F4CAB81 /* HFRepresenterTextViewCallout.h in Headers */, + 41101BAD99915D0D44DC29B9 /* HFTest.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 1070E7C728563E78C6C95AC7 /* HexFiend */ = { + isa = PBXNativeTarget; + buildConfigurationList = A3AFCE73FEE7C606721DB0B7 /* Build configuration list for PBXNativeTarget "HexFiend" */; + buildPhases = ( + 88C8AB49324372DF09588ECA /* Headers */, + 2C822D3D3BF16782FA901A66 /* Sources */, + BAF0558C275E1B803506FEF6 /* Frameworks */, + A299A0E390067A6624746574 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = HexFiend; + productName = HexFiend; + productReference = A21250C8A62E762C71702AD5 /* HexFiend.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + A615AD989ECB429066403814 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1240; + LastUpgradeCheck = 1240; + }; + buildConfigurationList = E38581E6B92C2A139B530FDB /* Build configuration list for PBXProject "HexFiend" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = B81406E11C5CC5D5BB4A91A5; + productRefGroup = BBA7D5A93A32515C7F8C51AC /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1070E7C728563E78C6C95AC7 /* HexFiend */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + A299A0E390067A6624746574 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 2C822D3D3BF16782FA901A66 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 49256E2930EE9CFE7982C873 /* HFController.m in Sources */, + 60E13D825BCA8741759E01D7 /* HFRepresenter.m in Sources */, + CC4EFB0383F7BFE99EEFD122 /* HFFunctions.m in Sources */, + B5A6D8A3D30B7736E4E4DA14 /* HFColumnRepresenter.m in Sources */, + D5E7209D983B568AADF61A5F /* HFRepresenterBinaryTextView.m in Sources */, + 68C65C92326E41DF5CA641A1 /* HFTextRepresenter.m in Sources */, + E448B53DF926ECB059DFC7C4 /* HFRepresenterTextView.m in Sources */, + F13CCF08A58E7C04EE9F1A65 /* HFBinaryTextRepresenter.m in Sources */, + B9A15ED73F35730207B5A2A3 /* HFCustomEncoding.m in Sources */, + CD5E42F74962AA7541E7FAEC /* HFNSStringEncoding.m in Sources */, + EB0F64BAA467F3F577A440C7 /* HFStringEncoding.m in Sources */, + D3E2A2CD4859BC75F1B4C6EB /* HFRepresenterHexTextView.m in Sources */, + 7DCAB47BB751ECCB593832EE /* HFHexTextRepresenter.m in Sources */, + 1E1F2DAF669C28E196BB6DC6 /* HFGlyphTrie.m in Sources */, + 80AD7B96B74A772DDD495054 /* HFByteArray.m in Sources */, + 91523654712C5E20BF923BC8 /* HFBinaryGlyphTable.m in Sources */, + FAB94895223F1447CAFB1FCD /* HFByteSlice.m in Sources */, + 62CCDD01BE596992B31ABF28 /* HFFullMemoryByteSlice.m in Sources */, + C07B2C9B5AE8A692BF6096B7 /* HFFullMemoryByteArray.m in Sources */, + 896F4CB4A9FC46BF02B75DAA /* HFRepresenterStringEncodingTextView.m in Sources */, + FCCAA88CFED6E7B55AB16A36 /* HFStringEncodingTextRepresenter.m in Sources */, + 1D19BE39B13EE6A0C20B67B9 /* HFVerticalScrollerRepresenter.m in Sources */, + A0790288D49FE9D1D00AC4AF /* HFTextRepresenter_KeyBinding.m in Sources */, + 2CFE2DB615AD45240AFF2C42 /* HFLineCountingRepresenter.m in Sources */, + 7DDBFA3D499873F8C4D7EB65 /* HFLineCountingView.m in Sources */, + 2C49E0BB57A33D73F15CB69D /* HFLayoutRepresenter.m in Sources */, + C33D92E34168AAFF2538389D /* HFStatusBarRepresenter.m in Sources */, + 9D44A6A29D214B91DF26D9EF /* HFControllerCoalescedUndo.m in Sources */, + 6702E531FBA3A551717276B7 /* HFPasteboardOwner.m in Sources */, + 12611703DABC7AADF7D47C40 /* HFByteArray_FindReplace.m in Sources */, + 0FA42FA3C565E401648CC598 /* HFColorRange.m in Sources */, + EAB61B0EF7648E63C0490B18 /* HFEncodingManager.m in Sources */, + 6E63FF648DAE9D685E75359F /* HFFileReference.m in Sources */, + B4F303CD1F42690130E2DA69 /* HFFileByteSlice.m in Sources */, + 289C1C0D5DD5DE9B326E76F0 /* HFTextField.m in Sources */, + ADFE9778CE8F32E1F6C90782 /* HFHexPasteboardOwner.m in Sources */, + 3EF6AC92BB0C9300741374C7 /* HFHexGlyphTable.m in Sources */, + 5AD675343D3AAF3B0F7395BB /* HFProgressTracker.m in Sources */, + 86D64600CD4BD505D6D8BC46 /* HFSharedMemoryByteSlice.m in Sources */, + E988B5AAEFF2878BCC6F457F /* HFUIUtils.m in Sources */, + EED5E98F8961F7F377A207B8 /* HFByteArray_FileWriting.m in Sources */, + D205D4B6EF0615869D3F6902 /* HFByteArrayEditScript.m in Sources */, + 32068326EBBCAA251E047FC5 /* HFByteSliceFileOperation.m in Sources */, + 5CAB132529AC717F37E69B05 /* HFObjectGraph.m in Sources */, + A548297E95EE125210871084 /* HFByteSliceFileOperationQueueEntry.m in Sources */, + C6BACED1E73511CA0E17B544 /* HFFastMemchr.m in Sources */, + 69CEB282A111AB5C4BED622D /* HFTextSelectionPulseView.m in Sources */, + AA33A09227E7F2A1705DD844 /* HFCancelButton.m in Sources */, + 18F907FB96EC8A96E73AC5E6 /* HFRandomDataByteSlice.m in Sources */, + 917A48043EA607E66766E296 /* HFBTree.m in Sources */, + 9B9FA275FC0A3FA6FD1E654B /* HFBTreeByteArray.m in Sources */, + BA3D9F9007F230CDC4B02064 /* HFTextView.m in Sources */, + 3836FE63CF07119153727261 /* HFByteArrayProxiedData.m in Sources */, + 850E270FB7A478167C9D7546 /* HFAttributedByteArray.m in Sources */, + B48ACA3DD90B0D36003E78B8 /* HFColumnView.m in Sources */, + 14877DD7E8070F6328A8BCA5 /* HFByteRangeAttribute.m in Sources */, + B86F6AD460E12982F65782A0 /* HFByteRangeAttributeArray.m in Sources */, + A7ECF268BE60CA0DDA323C5C /* HFTextVisualStyleRun.m in Sources */, + 96B10E4695117AB891E1A56D /* HFAnnotatedTree.m in Sources */, + FACC958F1553BBF581177FB0 /* HFRepresenterTextViewCallout.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 49317E417383341150DF5F58 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREPROCESSOR_DEFINITIONS = "HF_NO_PRIVILEGED_FILE_OPERATIONS=1"; + INFOPLIST_FILE = "../HexFiend/framework/HexFiend_Framework-Info.plist"; + INFOPLIST_PREFIX_HEADER = ../HexFiend/version.h; + INFOPLIST_PREPROCESS = YES; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + PRODUCT_BUNDLE_IDENTIFIER = "com.ridiculousfish.HexFiend-Framework"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = "-Wno-conditional-uninitialized"; + }; + name = Debug; + }; + 5808A099FC615B15BE5AF873 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 64947FDC9D96B25C255F2120 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREPROCESSOR_DEFINITIONS = "HF_NO_PRIVILEGED_FILE_OPERATIONS=1"; + INFOPLIST_FILE = "../HexFiend/framework/HexFiend_Framework-Info.plist"; + INFOPLIST_PREFIX_HEADER = ../HexFiend/version.h; + INFOPLIST_PREPROCESS = YES; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + PRODUCT_BUNDLE_IDENTIFIER = "com.ridiculousfish.HexFiend-Framework"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WARNING_CFLAGS = "-Wno-conditional-uninitialized"; + }; + name = Release; + }; + 7FBD19D56B459ECE4A75D771 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + A3AFCE73FEE7C606721DB0B7 /* Build configuration list for PBXNativeTarget "HexFiend" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 64947FDC9D96B25C255F2120 /* Release */, + 49317E417383341150DF5F58 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E38581E6B92C2A139B530FDB /* Build configuration list for PBXProject "HexFiend" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7FBD19D56B459ECE4A75D771 /* Debug */, + 5808A099FC615B15BE5AF873 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = A615AD989ECB429066403814 /* Project object */; +} diff --git a/HexFiendFramework/HexFiend.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/HexFiendFramework/HexFiend.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/HexFiendFramework/HexFiend.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/HexFiendFramework/include/HexFiend/HFAnnotatedTree.h b/HexFiendFramework/include/HexFiend/HFAnnotatedTree.h new file mode 120000 index 0000000..cbe9515 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFAnnotatedTree.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFAnnotatedTree.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFAssert.h b/HexFiendFramework/include/HexFiend/HFAssert.h new file mode 120000 index 0000000..b65c5b2 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFAssert.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFAssert.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFAttributedByteArray.h b/HexFiendFramework/include/HexFiend/HFAttributedByteArray.h new file mode 120000 index 0000000..cfc9b6c --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFAttributedByteArray.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFAttributedByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFBTree.h b/HexFiendFramework/include/HexFiend/HFBTree.h new file mode 120000 index 0000000..1cb30c6 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFBTree.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/BTree/HFBTree.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFBTreeByteArray.h b/HexFiendFramework/include/HexFiend/HFBTreeByteArray.h new file mode 120000 index 0000000..bbda71d --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFBTreeByteArray.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFBTreeByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFBinaryGlyphTable.h b/HexFiendFramework/include/HexFiend/HFBinaryGlyphTable.h new file mode 120000 index 0000000..1f88e08 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFBinaryGlyphTable.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFBinaryGlyphTable.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFBinaryTextRepresenter.h b/HexFiendFramework/include/HexFiend/HFBinaryTextRepresenter.h new file mode 120000 index 0000000..1c7aa33 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFBinaryTextRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFBinaryTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteArray.h b/HexFiendFramework/include/HexFiend/HFByteArray.h new file mode 120000 index 0000000..24a8d15 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteArray.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteArrayEditScript.h b/HexFiendFramework/include/HexFiend/HFByteArrayEditScript.h new file mode 120000 index 0000000..531026a --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteArrayEditScript.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteArrayEditScript.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteArrayProxiedData.h b/HexFiendFramework/include/HexFiend/HFByteArrayProxiedData.h new file mode 120000 index 0000000..8ef4776 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteArrayProxiedData.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteArrayProxiedData.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteArray_Internal.h b/HexFiendFramework/include/HexFiend/HFByteArray_Internal.h new file mode 120000 index 0000000..a287f3a --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteArray_Internal.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteArray_Internal.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteRangeAttribute.h b/HexFiendFramework/include/HexFiend/HFByteRangeAttribute.h new file mode 120000 index 0000000..a09320c --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteRangeAttribute.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteRangeAttribute.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteRangeAttributeArray.h b/HexFiendFramework/include/HexFiend/HFByteRangeAttributeArray.h new file mode 120000 index 0000000..ebd7469 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteRangeAttributeArray.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteRangeAttributeArray.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteSlice.h b/HexFiendFramework/include/HexFiend/HFByteSlice.h new file mode 120000 index 0000000..785a0f3 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteSlice.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteSliceFileOperation.h b/HexFiendFramework/include/HexFiend/HFByteSliceFileOperation.h new file mode 120000 index 0000000..580da52 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteSliceFileOperation.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteSliceFileOperation.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteSliceFileOperationQueueEntry.h b/HexFiendFramework/include/HexFiend/HFByteSliceFileOperationQueueEntry.h new file mode 120000 index 0000000..ee5ad32 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteSliceFileOperationQueueEntry.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteSliceFileOperationQueueEntry.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFByteSlice_Private.h b/HexFiendFramework/include/HexFiend/HFByteSlice_Private.h new file mode 120000 index 0000000..67e6d19 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFByteSlice_Private.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFByteSlice_Private.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFCancelButton.h b/HexFiendFramework/include/HexFiend/HFCancelButton.h new file mode 120000 index 0000000..870b688 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFCancelButton.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFCancelButton.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFColorRange.h b/HexFiendFramework/include/HexFiend/HFColorRange.h new file mode 120000 index 0000000..e523c3e --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFColorRange.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFColorRange.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFColumnRepresenter.h b/HexFiendFramework/include/HexFiend/HFColumnRepresenter.h new file mode 120000 index 0000000..c3aebfb --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFColumnRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFColumnRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFColumnView.h b/HexFiendFramework/include/HexFiend/HFColumnView.h new file mode 120000 index 0000000..0db58a5 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFColumnView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFColumnView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFController.h b/HexFiendFramework/include/HexFiend/HFController.h new file mode 120000 index 0000000..c69aec2 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFController.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFController.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFControllerCoalescedUndo.h b/HexFiendFramework/include/HexFiend/HFControllerCoalescedUndo.h new file mode 120000 index 0000000..aa6d950 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFControllerCoalescedUndo.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFControllerCoalescedUndo.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFCustomEncoding.h b/HexFiendFramework/include/HexFiend/HFCustomEncoding.h new file mode 120000 index 0000000..1681d65 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFCustomEncoding.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFCustomEncoding.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFEncodingManager.h b/HexFiendFramework/include/HexFiend/HFEncodingManager.h new file mode 120000 index 0000000..99ddc81 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFEncodingManager.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFEncodingManager.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFastMemchr.h b/HexFiendFramework/include/HexFiend/HFFastMemchr.h new file mode 120000 index 0000000..b4d4e92 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFastMemchr.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFastMemchr.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFileByteSlice.h b/HexFiendFramework/include/HexFiend/HFFileByteSlice.h new file mode 120000 index 0000000..2202277 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFileByteSlice.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFileByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFileReference.h b/HexFiendFramework/include/HexFiend/HFFileReference.h new file mode 120000 index 0000000..94ffaf8 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFileReference.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFileReference.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFrameworkPrefix.h b/HexFiendFramework/include/HexFiend/HFFrameworkPrefix.h new file mode 120000 index 0000000..9833421 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFrameworkPrefix.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFrameworkPrefix.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFullMemoryByteArray.h b/HexFiendFramework/include/HexFiend/HFFullMemoryByteArray.h new file mode 120000 index 0000000..7c40a3b --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFullMemoryByteArray.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFullMemoryByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFullMemoryByteSlice.h b/HexFiendFramework/include/HexFiend/HFFullMemoryByteSlice.h new file mode 120000 index 0000000..5a05ca6 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFullMemoryByteSlice.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFullMemoryByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFFunctions.h b/HexFiendFramework/include/HexFiend/HFFunctions.h new file mode 120000 index 0000000..5f367bb --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFFunctions.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFFunctions.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFGlyphTrie.h b/HexFiendFramework/include/HexFiend/HFGlyphTrie.h new file mode 120000 index 0000000..d8f1525 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFGlyphTrie.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFGlyphTrie.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFHelperProcessSharedCode.h b/HexFiendFramework/include/HexFiend/HFHelperProcessSharedCode.h new file mode 120000 index 0000000..1984035 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFHelperProcessSharedCode.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFHelperProcessSharedCode.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFHexGlyphTable.h b/HexFiendFramework/include/HexFiend/HFHexGlyphTable.h new file mode 120000 index 0000000..aff2195 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFHexGlyphTable.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFHexGlyphTable.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFHexPasteboardOwner.h b/HexFiendFramework/include/HexFiend/HFHexPasteboardOwner.h new file mode 120000 index 0000000..ffee1e6 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFHexPasteboardOwner.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFHexPasteboardOwner.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFHexTextRepresenter.h b/HexFiendFramework/include/HexFiend/HFHexTextRepresenter.h new file mode 120000 index 0000000..d53fefb --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFHexTextRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFHexTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFLayoutRepresenter.h b/HexFiendFramework/include/HexFiend/HFLayoutRepresenter.h new file mode 120000 index 0000000..bbfa573 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFLayoutRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFLayoutRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFLineCountingRepresenter.h b/HexFiendFramework/include/HexFiend/HFLineCountingRepresenter.h new file mode 120000 index 0000000..a7bf16e --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFLineCountingRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFLineCountingRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFLineCountingView.h b/HexFiendFramework/include/HexFiend/HFLineCountingView.h new file mode 120000 index 0000000..484fb6c --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFLineCountingView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFLineCountingView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFNSStringEncoding.h b/HexFiendFramework/include/HexFiend/HFNSStringEncoding.h new file mode 120000 index 0000000..961fad9 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFNSStringEncoding.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFNSStringEncoding.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFObjectGraph.h b/HexFiendFramework/include/HexFiend/HFObjectGraph.h new file mode 120000 index 0000000..0491b4d --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFObjectGraph.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFObjectGraph.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFPasteboardOwner.h b/HexFiendFramework/include/HexFiend/HFPasteboardOwner.h new file mode 120000 index 0000000..83f4c51 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFPasteboardOwner.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFPasteboardOwner.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFProgressTracker.h b/HexFiendFramework/include/HexFiend/HFProgressTracker.h new file mode 120000 index 0000000..89923bf --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFProgressTracker.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFProgressTracker.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRandomDataByteSlice.h b/HexFiendFramework/include/HexFiend/HFRandomDataByteSlice.h new file mode 120000 index 0000000..1e82efe --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRandomDataByteSlice.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRandomDataByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenter.h b/HexFiendFramework/include/HexFiend/HFRepresenter.h new file mode 120000 index 0000000..aafc113 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenterBinaryTextView.h b/HexFiendFramework/include/HexFiend/HFRepresenterBinaryTextView.h new file mode 120000 index 0000000..46c493c --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenterBinaryTextView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenterBinaryTextView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenterHexTextView.h b/HexFiendFramework/include/HexFiend/HFRepresenterHexTextView.h new file mode 120000 index 0000000..1d6da82 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenterHexTextView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenterHexTextView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenterStringEncodingTextView.h b/HexFiendFramework/include/HexFiend/HFRepresenterStringEncodingTextView.h new file mode 120000 index 0000000..5ead828 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenterStringEncodingTextView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenterStringEncodingTextView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenterTextView.h b/HexFiendFramework/include/HexFiend/HFRepresenterTextView.h new file mode 120000 index 0000000..4332819 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenterTextView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenterTextView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenterTextViewCallout.h b/HexFiendFramework/include/HexFiend/HFRepresenterTextViewCallout.h new file mode 120000 index 0000000..fc69bbb --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenterTextViewCallout.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenterTextViewCallout.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFRepresenter_Internal.h b/HexFiendFramework/include/HexFiend/HFRepresenter_Internal.h new file mode 120000 index 0000000..1f80d6d --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFRepresenter_Internal.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFRepresenter_Internal.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFSharedMemoryByteSlice.h b/HexFiendFramework/include/HexFiend/HFSharedMemoryByteSlice.h new file mode 120000 index 0000000..017ca8f --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFSharedMemoryByteSlice.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFSharedMemoryByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFStatusBarRepresenter.h b/HexFiendFramework/include/HexFiend/HFStatusBarRepresenter.h new file mode 120000 index 0000000..970148b --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFStatusBarRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFStatusBarRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFStringEncoding.h b/HexFiendFramework/include/HexFiend/HFStringEncoding.h new file mode 120000 index 0000000..c167fa7 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFStringEncoding.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFStringEncoding.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFStringEncodingTextRepresenter.h b/HexFiendFramework/include/HexFiend/HFStringEncodingTextRepresenter.h new file mode 120000 index 0000000..fa2a224 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFStringEncodingTextRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFStringEncodingTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTest.h b/HexFiendFramework/include/HexFiend/HFTest.h new file mode 120000 index 0000000..4f10f6a --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTest.h @@ -0,0 +1 @@ +../../../HexFiend/framework/tests/HFTest.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTextField.h b/HexFiendFramework/include/HexFiend/HFTextField.h new file mode 120000 index 0000000..5cc91c8 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTextField.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTextField.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTextRepresenter.h b/HexFiendFramework/include/HexFiend/HFTextRepresenter.h new file mode 120000 index 0000000..3acd512 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTextRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTextRepresenter_Internal.h b/HexFiendFramework/include/HexFiend/HFTextRepresenter_Internal.h new file mode 120000 index 0000000..d2abb5a --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTextRepresenter_Internal.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTextRepresenter_Internal.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTextSelectionPulseView.h b/HexFiendFramework/include/HexFiend/HFTextSelectionPulseView.h new file mode 120000 index 0000000..98015fd --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTextSelectionPulseView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTextSelectionPulseView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTextView.h b/HexFiendFramework/include/HexFiend/HFTextView.h new file mode 120000 index 0000000..64db3c1 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTextView.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTextView.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTextVisualStyleRun.h b/HexFiendFramework/include/HexFiend/HFTextVisualStyleRun.h new file mode 120000 index 0000000..3fef74c --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTextVisualStyleRun.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTextVisualStyleRun.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFTypes.h b/HexFiendFramework/include/HexFiend/HFTypes.h new file mode 120000 index 0000000..d8cbe71 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFTypes.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFTypes.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFUIUtils.h b/HexFiendFramework/include/HexFiend/HFUIUtils.h new file mode 120000 index 0000000..cd28c84 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFUIUtils.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFUIUtils.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HFVerticalScrollerRepresenter.h b/HexFiendFramework/include/HexFiend/HFVerticalScrollerRepresenter.h new file mode 120000 index 0000000..be32e22 --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HFVerticalScrollerRepresenter.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HFVerticalScrollerRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/include/HexFiend/HexFiend.h b/HexFiendFramework/include/HexFiend/HexFiend.h new file mode 120000 index 0000000..b92ec6c --- /dev/null +++ b/HexFiendFramework/include/HexFiend/HexFiend.h @@ -0,0 +1 @@ +../../../HexFiend/framework/sources/HexFiend.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFAnnotatedTree.h b/HexFiendFramework/src/HFAnnotatedTree.h new file mode 120000 index 0000000..5d940b3 --- /dev/null +++ b/HexFiendFramework/src/HFAnnotatedTree.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFAnnotatedTree.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFAnnotatedTree.m b/HexFiendFramework/src/HFAnnotatedTree.m new file mode 120000 index 0000000..e4a1e64 --- /dev/null +++ b/HexFiendFramework/src/HFAnnotatedTree.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFAnnotatedTree.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFAssert.h b/HexFiendFramework/src/HFAssert.h new file mode 120000 index 0000000..2ff4b49 --- /dev/null +++ b/HexFiendFramework/src/HFAssert.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFAssert.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFAttributedByteArray.h b/HexFiendFramework/src/HFAttributedByteArray.h new file mode 120000 index 0000000..747a200 --- /dev/null +++ b/HexFiendFramework/src/HFAttributedByteArray.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFAttributedByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFAttributedByteArray.m b/HexFiendFramework/src/HFAttributedByteArray.m new file mode 120000 index 0000000..7bc5c6e --- /dev/null +++ b/HexFiendFramework/src/HFAttributedByteArray.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFAttributedByteArray.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFBTree.h b/HexFiendFramework/src/HFBTree.h new file mode 120000 index 0000000..6124e6e --- /dev/null +++ b/HexFiendFramework/src/HFBTree.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/BTree/HFBTree.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFBTree.m b/HexFiendFramework/src/HFBTree.m new file mode 120000 index 0000000..0dd7b5b --- /dev/null +++ b/HexFiendFramework/src/HFBTree.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/BTree/HFBTree.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFBTreeByteArray.h b/HexFiendFramework/src/HFBTreeByteArray.h new file mode 120000 index 0000000..47f05bb --- /dev/null +++ b/HexFiendFramework/src/HFBTreeByteArray.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFBTreeByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFBTreeByteArray.m b/HexFiendFramework/src/HFBTreeByteArray.m new file mode 120000 index 0000000..de39f1f --- /dev/null +++ b/HexFiendFramework/src/HFBTreeByteArray.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFBTreeByteArray.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFBinaryGlyphTable.h b/HexFiendFramework/src/HFBinaryGlyphTable.h new file mode 120000 index 0000000..6ad5dac --- /dev/null +++ b/HexFiendFramework/src/HFBinaryGlyphTable.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFBinaryGlyphTable.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFBinaryGlyphTable.m b/HexFiendFramework/src/HFBinaryGlyphTable.m new file mode 120000 index 0000000..9e62d52 --- /dev/null +++ b/HexFiendFramework/src/HFBinaryGlyphTable.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFBinaryGlyphTable.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFBinaryTextRepresenter.h b/HexFiendFramework/src/HFBinaryTextRepresenter.h new file mode 120000 index 0000000..2292a1b --- /dev/null +++ b/HexFiendFramework/src/HFBinaryTextRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFBinaryTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFBinaryTextRepresenter.m b/HexFiendFramework/src/HFBinaryTextRepresenter.m new file mode 120000 index 0000000..d5515f0 --- /dev/null +++ b/HexFiendFramework/src/HFBinaryTextRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFBinaryTextRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArray.h b/HexFiendFramework/src/HFByteArray.h new file mode 120000 index 0000000..891b599 --- /dev/null +++ b/HexFiendFramework/src/HFByteArray.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArray.m b/HexFiendFramework/src/HFByteArray.m new file mode 120000 index 0000000..26c1ee2 --- /dev/null +++ b/HexFiendFramework/src/HFByteArray.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArray.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArrayEditScript.h b/HexFiendFramework/src/HFByteArrayEditScript.h new file mode 120000 index 0000000..67a12ce --- /dev/null +++ b/HexFiendFramework/src/HFByteArrayEditScript.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArrayEditScript.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArrayEditScript.m b/HexFiendFramework/src/HFByteArrayEditScript.m new file mode 120000 index 0000000..45e3f92 --- /dev/null +++ b/HexFiendFramework/src/HFByteArrayEditScript.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArrayEditScript.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArrayProxiedData.h b/HexFiendFramework/src/HFByteArrayProxiedData.h new file mode 120000 index 0000000..09e70bc --- /dev/null +++ b/HexFiendFramework/src/HFByteArrayProxiedData.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArrayProxiedData.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArrayProxiedData.m b/HexFiendFramework/src/HFByteArrayProxiedData.m new file mode 120000 index 0000000..fec5f9f --- /dev/null +++ b/HexFiendFramework/src/HFByteArrayProxiedData.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArrayProxiedData.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArray_FileWriting.m b/HexFiendFramework/src/HFByteArray_FileWriting.m new file mode 120000 index 0000000..cba36b7 --- /dev/null +++ b/HexFiendFramework/src/HFByteArray_FileWriting.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArray_FileWriting.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArray_FindReplace.m b/HexFiendFramework/src/HFByteArray_FindReplace.m new file mode 120000 index 0000000..cdb7799 --- /dev/null +++ b/HexFiendFramework/src/HFByteArray_FindReplace.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArray_FindReplace.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteArray_Internal.h b/HexFiendFramework/src/HFByteArray_Internal.h new file mode 120000 index 0000000..27e80ab --- /dev/null +++ b/HexFiendFramework/src/HFByteArray_Internal.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteArray_Internal.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteRangeAttribute.h b/HexFiendFramework/src/HFByteRangeAttribute.h new file mode 120000 index 0000000..27d18a5 --- /dev/null +++ b/HexFiendFramework/src/HFByteRangeAttribute.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteRangeAttribute.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteRangeAttribute.m b/HexFiendFramework/src/HFByteRangeAttribute.m new file mode 120000 index 0000000..ba91f5d --- /dev/null +++ b/HexFiendFramework/src/HFByteRangeAttribute.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteRangeAttribute.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteRangeAttributeArray.h b/HexFiendFramework/src/HFByteRangeAttributeArray.h new file mode 120000 index 0000000..689e055 --- /dev/null +++ b/HexFiendFramework/src/HFByteRangeAttributeArray.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteRangeAttributeArray.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteRangeAttributeArray.m b/HexFiendFramework/src/HFByteRangeAttributeArray.m new file mode 120000 index 0000000..7d56578 --- /dev/null +++ b/HexFiendFramework/src/HFByteRangeAttributeArray.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteRangeAttributeArray.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSlice.h b/HexFiendFramework/src/HFByteSlice.h new file mode 120000 index 0000000..46935b0 --- /dev/null +++ b/HexFiendFramework/src/HFByteSlice.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSlice.m b/HexFiendFramework/src/HFByteSlice.m new file mode 120000 index 0000000..3b886f0 --- /dev/null +++ b/HexFiendFramework/src/HFByteSlice.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSlice.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSliceFileOperation.h b/HexFiendFramework/src/HFByteSliceFileOperation.h new file mode 120000 index 0000000..cc1411c --- /dev/null +++ b/HexFiendFramework/src/HFByteSliceFileOperation.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSliceFileOperation.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSliceFileOperation.m b/HexFiendFramework/src/HFByteSliceFileOperation.m new file mode 120000 index 0000000..c5f2298 --- /dev/null +++ b/HexFiendFramework/src/HFByteSliceFileOperation.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSliceFileOperation.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.h b/HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.h new file mode 120000 index 0000000..de32dbf --- /dev/null +++ b/HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSliceFileOperationQueueEntry.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.m b/HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.m new file mode 120000 index 0000000..5610837 --- /dev/null +++ b/HexFiendFramework/src/HFByteSliceFileOperationQueueEntry.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSliceFileOperationQueueEntry.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFByteSlice_Private.h b/HexFiendFramework/src/HFByteSlice_Private.h new file mode 120000 index 0000000..ba05ed2 --- /dev/null +++ b/HexFiendFramework/src/HFByteSlice_Private.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFByteSlice_Private.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFCancelButton.h b/HexFiendFramework/src/HFCancelButton.h new file mode 120000 index 0000000..03c4f0d --- /dev/null +++ b/HexFiendFramework/src/HFCancelButton.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFCancelButton.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFCancelButton.m b/HexFiendFramework/src/HFCancelButton.m new file mode 120000 index 0000000..26ec52a --- /dev/null +++ b/HexFiendFramework/src/HFCancelButton.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFCancelButton.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFColorRange.h b/HexFiendFramework/src/HFColorRange.h new file mode 120000 index 0000000..b918c8b --- /dev/null +++ b/HexFiendFramework/src/HFColorRange.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFColorRange.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFColorRange.m b/HexFiendFramework/src/HFColorRange.m new file mode 120000 index 0000000..7d539b0 --- /dev/null +++ b/HexFiendFramework/src/HFColorRange.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFColorRange.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFColumnRepresenter.h b/HexFiendFramework/src/HFColumnRepresenter.h new file mode 120000 index 0000000..3b8f59c --- /dev/null +++ b/HexFiendFramework/src/HFColumnRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFColumnRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFColumnRepresenter.m b/HexFiendFramework/src/HFColumnRepresenter.m new file mode 120000 index 0000000..2cc0c3c --- /dev/null +++ b/HexFiendFramework/src/HFColumnRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFColumnRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFColumnView.h b/HexFiendFramework/src/HFColumnView.h new file mode 120000 index 0000000..6c8c07c --- /dev/null +++ b/HexFiendFramework/src/HFColumnView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFColumnView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFColumnView.m b/HexFiendFramework/src/HFColumnView.m new file mode 120000 index 0000000..75de354 --- /dev/null +++ b/HexFiendFramework/src/HFColumnView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFColumnView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFController.h b/HexFiendFramework/src/HFController.h new file mode 120000 index 0000000..41ee1a4 --- /dev/null +++ b/HexFiendFramework/src/HFController.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFController.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFController.m b/HexFiendFramework/src/HFController.m new file mode 120000 index 0000000..e7203b3 --- /dev/null +++ b/HexFiendFramework/src/HFController.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFController.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFControllerCoalescedUndo.h b/HexFiendFramework/src/HFControllerCoalescedUndo.h new file mode 120000 index 0000000..c84be4e --- /dev/null +++ b/HexFiendFramework/src/HFControllerCoalescedUndo.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFControllerCoalescedUndo.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFControllerCoalescedUndo.m b/HexFiendFramework/src/HFControllerCoalescedUndo.m new file mode 120000 index 0000000..caae6aa --- /dev/null +++ b/HexFiendFramework/src/HFControllerCoalescedUndo.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFControllerCoalescedUndo.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFCustomEncoding.h b/HexFiendFramework/src/HFCustomEncoding.h new file mode 120000 index 0000000..5d7e8e0 --- /dev/null +++ b/HexFiendFramework/src/HFCustomEncoding.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFCustomEncoding.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFCustomEncoding.m b/HexFiendFramework/src/HFCustomEncoding.m new file mode 120000 index 0000000..63a3359 --- /dev/null +++ b/HexFiendFramework/src/HFCustomEncoding.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFCustomEncoding.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFEncodingManager.h b/HexFiendFramework/src/HFEncodingManager.h new file mode 120000 index 0000000..286bf35 --- /dev/null +++ b/HexFiendFramework/src/HFEncodingManager.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFEncodingManager.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFEncodingManager.m b/HexFiendFramework/src/HFEncodingManager.m new file mode 120000 index 0000000..845f5e5 --- /dev/null +++ b/HexFiendFramework/src/HFEncodingManager.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFEncodingManager.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFFastMemchr.h b/HexFiendFramework/src/HFFastMemchr.h new file mode 120000 index 0000000..744300f --- /dev/null +++ b/HexFiendFramework/src/HFFastMemchr.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFastMemchr.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFastMemchr.m b/HexFiendFramework/src/HFFastMemchr.m new file mode 120000 index 0000000..d79cdfe --- /dev/null +++ b/HexFiendFramework/src/HFFastMemchr.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFastMemchr.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFFileByteSlice.h b/HexFiendFramework/src/HFFileByteSlice.h new file mode 120000 index 0000000..2264087 --- /dev/null +++ b/HexFiendFramework/src/HFFileByteSlice.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFileByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFileByteSlice.m b/HexFiendFramework/src/HFFileByteSlice.m new file mode 120000 index 0000000..102b936 --- /dev/null +++ b/HexFiendFramework/src/HFFileByteSlice.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFileByteSlice.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFFileReference.h b/HexFiendFramework/src/HFFileReference.h new file mode 120000 index 0000000..2dad81b --- /dev/null +++ b/HexFiendFramework/src/HFFileReference.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFileReference.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFileReference.m b/HexFiendFramework/src/HFFileReference.m new file mode 120000 index 0000000..563e1d8 --- /dev/null +++ b/HexFiendFramework/src/HFFileReference.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFileReference.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFFrameworkPrefix.h b/HexFiendFramework/src/HFFrameworkPrefix.h new file mode 120000 index 0000000..fbe0424 --- /dev/null +++ b/HexFiendFramework/src/HFFrameworkPrefix.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFrameworkPrefix.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFullMemoryByteArray.h b/HexFiendFramework/src/HFFullMemoryByteArray.h new file mode 120000 index 0000000..cf40f20 --- /dev/null +++ b/HexFiendFramework/src/HFFullMemoryByteArray.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFullMemoryByteArray.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFullMemoryByteArray.m b/HexFiendFramework/src/HFFullMemoryByteArray.m new file mode 120000 index 0000000..86796ae --- /dev/null +++ b/HexFiendFramework/src/HFFullMemoryByteArray.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFullMemoryByteArray.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFFullMemoryByteSlice.h b/HexFiendFramework/src/HFFullMemoryByteSlice.h new file mode 120000 index 0000000..22519e5 --- /dev/null +++ b/HexFiendFramework/src/HFFullMemoryByteSlice.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFullMemoryByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFullMemoryByteSlice.m b/HexFiendFramework/src/HFFullMemoryByteSlice.m new file mode 120000 index 0000000..756905c --- /dev/null +++ b/HexFiendFramework/src/HFFullMemoryByteSlice.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFullMemoryByteSlice.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFFunctions.h b/HexFiendFramework/src/HFFunctions.h new file mode 120000 index 0000000..e6d9c25 --- /dev/null +++ b/HexFiendFramework/src/HFFunctions.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFunctions.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFFunctions.m b/HexFiendFramework/src/HFFunctions.m new file mode 120000 index 0000000..bc73251 --- /dev/null +++ b/HexFiendFramework/src/HFFunctions.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFFunctions.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFGlyphTrie.h b/HexFiendFramework/src/HFGlyphTrie.h new file mode 120000 index 0000000..54a8d77 --- /dev/null +++ b/HexFiendFramework/src/HFGlyphTrie.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFGlyphTrie.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFGlyphTrie.m b/HexFiendFramework/src/HFGlyphTrie.m new file mode 120000 index 0000000..ddfd39e --- /dev/null +++ b/HexFiendFramework/src/HFGlyphTrie.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFGlyphTrie.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFHelperProcessSharedCode.h b/HexFiendFramework/src/HFHelperProcessSharedCode.h new file mode 120000 index 0000000..7224f8b --- /dev/null +++ b/HexFiendFramework/src/HFHelperProcessSharedCode.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHelperProcessSharedCode.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFHexGlyphTable.h b/HexFiendFramework/src/HFHexGlyphTable.h new file mode 120000 index 0000000..396ae01 --- /dev/null +++ b/HexFiendFramework/src/HFHexGlyphTable.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHexGlyphTable.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFHexGlyphTable.m b/HexFiendFramework/src/HFHexGlyphTable.m new file mode 120000 index 0000000..8df0184 --- /dev/null +++ b/HexFiendFramework/src/HFHexGlyphTable.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHexGlyphTable.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFHexPasteboardOwner.h b/HexFiendFramework/src/HFHexPasteboardOwner.h new file mode 120000 index 0000000..480c9fc --- /dev/null +++ b/HexFiendFramework/src/HFHexPasteboardOwner.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHexPasteboardOwner.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFHexPasteboardOwner.m b/HexFiendFramework/src/HFHexPasteboardOwner.m new file mode 120000 index 0000000..7e6233d --- /dev/null +++ b/HexFiendFramework/src/HFHexPasteboardOwner.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHexPasteboardOwner.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFHexTextRepresenter.h b/HexFiendFramework/src/HFHexTextRepresenter.h new file mode 120000 index 0000000..5be01ee --- /dev/null +++ b/HexFiendFramework/src/HFHexTextRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHexTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFHexTextRepresenter.m b/HexFiendFramework/src/HFHexTextRepresenter.m new file mode 120000 index 0000000..5fe54fb --- /dev/null +++ b/HexFiendFramework/src/HFHexTextRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFHexTextRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFLayoutRepresenter.h b/HexFiendFramework/src/HFLayoutRepresenter.h new file mode 120000 index 0000000..f408d90 --- /dev/null +++ b/HexFiendFramework/src/HFLayoutRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFLayoutRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFLayoutRepresenter.m b/HexFiendFramework/src/HFLayoutRepresenter.m new file mode 120000 index 0000000..cd9d044 --- /dev/null +++ b/HexFiendFramework/src/HFLayoutRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFLayoutRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFLineCountingRepresenter.h b/HexFiendFramework/src/HFLineCountingRepresenter.h new file mode 120000 index 0000000..ea7ba47 --- /dev/null +++ b/HexFiendFramework/src/HFLineCountingRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFLineCountingRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFLineCountingRepresenter.m b/HexFiendFramework/src/HFLineCountingRepresenter.m new file mode 120000 index 0000000..3e3c2f6 --- /dev/null +++ b/HexFiendFramework/src/HFLineCountingRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFLineCountingRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFLineCountingView.h b/HexFiendFramework/src/HFLineCountingView.h new file mode 120000 index 0000000..ce41bb3 --- /dev/null +++ b/HexFiendFramework/src/HFLineCountingView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFLineCountingView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFLineCountingView.m b/HexFiendFramework/src/HFLineCountingView.m new file mode 120000 index 0000000..2fc7c0d --- /dev/null +++ b/HexFiendFramework/src/HFLineCountingView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFLineCountingView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFNSStringEncoding.h b/HexFiendFramework/src/HFNSStringEncoding.h new file mode 120000 index 0000000..7654371 --- /dev/null +++ b/HexFiendFramework/src/HFNSStringEncoding.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFNSStringEncoding.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFNSStringEncoding.m b/HexFiendFramework/src/HFNSStringEncoding.m new file mode 120000 index 0000000..db30e30 --- /dev/null +++ b/HexFiendFramework/src/HFNSStringEncoding.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFNSStringEncoding.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFObjectGraph.h b/HexFiendFramework/src/HFObjectGraph.h new file mode 120000 index 0000000..e5186d4 --- /dev/null +++ b/HexFiendFramework/src/HFObjectGraph.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFObjectGraph.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFObjectGraph.m b/HexFiendFramework/src/HFObjectGraph.m new file mode 120000 index 0000000..2337c90 --- /dev/null +++ b/HexFiendFramework/src/HFObjectGraph.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFObjectGraph.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFPasteboardOwner.h b/HexFiendFramework/src/HFPasteboardOwner.h new file mode 120000 index 0000000..fa04385 --- /dev/null +++ b/HexFiendFramework/src/HFPasteboardOwner.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFPasteboardOwner.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFPasteboardOwner.m b/HexFiendFramework/src/HFPasteboardOwner.m new file mode 120000 index 0000000..112b0f4 --- /dev/null +++ b/HexFiendFramework/src/HFPasteboardOwner.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFPasteboardOwner.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFProgressTracker.h b/HexFiendFramework/src/HFProgressTracker.h new file mode 120000 index 0000000..111bf2a --- /dev/null +++ b/HexFiendFramework/src/HFProgressTracker.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFProgressTracker.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFProgressTracker.m b/HexFiendFramework/src/HFProgressTracker.m new file mode 120000 index 0000000..53e11b6 --- /dev/null +++ b/HexFiendFramework/src/HFProgressTracker.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFProgressTracker.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRandomDataByteSlice.h b/HexFiendFramework/src/HFRandomDataByteSlice.h new file mode 120000 index 0000000..aa7b247 --- /dev/null +++ b/HexFiendFramework/src/HFRandomDataByteSlice.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRandomDataByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRandomDataByteSlice.m b/HexFiendFramework/src/HFRandomDataByteSlice.m new file mode 120000 index 0000000..6e78b90 --- /dev/null +++ b/HexFiendFramework/src/HFRandomDataByteSlice.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRandomDataByteSlice.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenter.h b/HexFiendFramework/src/HFRepresenter.h new file mode 120000 index 0000000..0c93aae --- /dev/null +++ b/HexFiendFramework/src/HFRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenter.m b/HexFiendFramework/src/HFRepresenter.m new file mode 120000 index 0000000..dd721b7 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterBinaryTextView.h b/HexFiendFramework/src/HFRepresenterBinaryTextView.h new file mode 120000 index 0000000..89ed1b7 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterBinaryTextView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterBinaryTextView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterBinaryTextView.m b/HexFiendFramework/src/HFRepresenterBinaryTextView.m new file mode 120000 index 0000000..2e0f37b --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterBinaryTextView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterBinaryTextView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterHexTextView.h b/HexFiendFramework/src/HFRepresenterHexTextView.h new file mode 120000 index 0000000..39829a6 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterHexTextView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterHexTextView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterHexTextView.m b/HexFiendFramework/src/HFRepresenterHexTextView.m new file mode 120000 index 0000000..927519d --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterHexTextView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterHexTextView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterStringEncodingTextView.h b/HexFiendFramework/src/HFRepresenterStringEncodingTextView.h new file mode 120000 index 0000000..76c67ef --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterStringEncodingTextView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterStringEncodingTextView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterStringEncodingTextView.m b/HexFiendFramework/src/HFRepresenterStringEncodingTextView.m new file mode 120000 index 0000000..ce206f7 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterStringEncodingTextView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterStringEncodingTextView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterTextView.h b/HexFiendFramework/src/HFRepresenterTextView.h new file mode 120000 index 0000000..bc4c498 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterTextView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterTextView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterTextView.m b/HexFiendFramework/src/HFRepresenterTextView.m new file mode 120000 index 0000000..6dddae7 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterTextView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterTextView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterTextViewCallout.h b/HexFiendFramework/src/HFRepresenterTextViewCallout.h new file mode 120000 index 0000000..f0aa1d1 --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterTextViewCallout.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterTextViewCallout.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenterTextViewCallout.m b/HexFiendFramework/src/HFRepresenterTextViewCallout.m new file mode 120000 index 0000000..dbe7bdc --- /dev/null +++ b/HexFiendFramework/src/HFRepresenterTextViewCallout.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenterTextViewCallout.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFRepresenter_Internal.h b/HexFiendFramework/src/HFRepresenter_Internal.h new file mode 120000 index 0000000..43f173a --- /dev/null +++ b/HexFiendFramework/src/HFRepresenter_Internal.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFRepresenter_Internal.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFSharedMemoryByteSlice.h b/HexFiendFramework/src/HFSharedMemoryByteSlice.h new file mode 120000 index 0000000..7afb915 --- /dev/null +++ b/HexFiendFramework/src/HFSharedMemoryByteSlice.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFSharedMemoryByteSlice.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFSharedMemoryByteSlice.m b/HexFiendFramework/src/HFSharedMemoryByteSlice.m new file mode 120000 index 0000000..00e0753 --- /dev/null +++ b/HexFiendFramework/src/HFSharedMemoryByteSlice.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFSharedMemoryByteSlice.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFStatusBarRepresenter.h b/HexFiendFramework/src/HFStatusBarRepresenter.h new file mode 120000 index 0000000..811d447 --- /dev/null +++ b/HexFiendFramework/src/HFStatusBarRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFStatusBarRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFStatusBarRepresenter.m b/HexFiendFramework/src/HFStatusBarRepresenter.m new file mode 120000 index 0000000..b466255 --- /dev/null +++ b/HexFiendFramework/src/HFStatusBarRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFStatusBarRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFStringEncoding.h b/HexFiendFramework/src/HFStringEncoding.h new file mode 120000 index 0000000..b2573f1 --- /dev/null +++ b/HexFiendFramework/src/HFStringEncoding.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFStringEncoding.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFStringEncoding.m b/HexFiendFramework/src/HFStringEncoding.m new file mode 120000 index 0000000..7779843 --- /dev/null +++ b/HexFiendFramework/src/HFStringEncoding.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFStringEncoding.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFStringEncodingTextRepresenter.h b/HexFiendFramework/src/HFStringEncodingTextRepresenter.h new file mode 120000 index 0000000..7448a77 --- /dev/null +++ b/HexFiendFramework/src/HFStringEncodingTextRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFStringEncodingTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFStringEncodingTextRepresenter.m b/HexFiendFramework/src/HFStringEncodingTextRepresenter.m new file mode 120000 index 0000000..66ecc09 --- /dev/null +++ b/HexFiendFramework/src/HFStringEncodingTextRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFStringEncodingTextRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTest.h b/HexFiendFramework/src/HFTest.h new file mode 120000 index 0000000..afa3123 --- /dev/null +++ b/HexFiendFramework/src/HFTest.h @@ -0,0 +1 @@ +../../HexFiend/framework/tests/HFTest.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextField.h b/HexFiendFramework/src/HFTextField.h new file mode 120000 index 0000000..1cfb543 --- /dev/null +++ b/HexFiendFramework/src/HFTextField.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextField.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextField.m b/HexFiendFramework/src/HFTextField.m new file mode 120000 index 0000000..5caa14c --- /dev/null +++ b/HexFiendFramework/src/HFTextField.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextField.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextRepresenter.h b/HexFiendFramework/src/HFTextRepresenter.h new file mode 120000 index 0000000..7565178 --- /dev/null +++ b/HexFiendFramework/src/HFTextRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextRepresenter.m b/HexFiendFramework/src/HFTextRepresenter.m new file mode 120000 index 0000000..ed7fecc --- /dev/null +++ b/HexFiendFramework/src/HFTextRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextRepresenter_Internal.h b/HexFiendFramework/src/HFTextRepresenter_Internal.h new file mode 120000 index 0000000..8ad6a22 --- /dev/null +++ b/HexFiendFramework/src/HFTextRepresenter_Internal.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextRepresenter_Internal.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextRepresenter_KeyBinding.m b/HexFiendFramework/src/HFTextRepresenter_KeyBinding.m new file mode 120000 index 0000000..b45538f --- /dev/null +++ b/HexFiendFramework/src/HFTextRepresenter_KeyBinding.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextRepresenter_KeyBinding.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextSelectionPulseView.h b/HexFiendFramework/src/HFTextSelectionPulseView.h new file mode 120000 index 0000000..7238d48 --- /dev/null +++ b/HexFiendFramework/src/HFTextSelectionPulseView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextSelectionPulseView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextSelectionPulseView.m b/HexFiendFramework/src/HFTextSelectionPulseView.m new file mode 120000 index 0000000..0903a17 --- /dev/null +++ b/HexFiendFramework/src/HFTextSelectionPulseView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextSelectionPulseView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextView.h b/HexFiendFramework/src/HFTextView.h new file mode 120000 index 0000000..b286219 --- /dev/null +++ b/HexFiendFramework/src/HFTextView.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextView.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextView.m b/HexFiendFramework/src/HFTextView.m new file mode 120000 index 0000000..162633a --- /dev/null +++ b/HexFiendFramework/src/HFTextView.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextView.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextVisualStyleRun.h b/HexFiendFramework/src/HFTextVisualStyleRun.h new file mode 120000 index 0000000..561c217 --- /dev/null +++ b/HexFiendFramework/src/HFTextVisualStyleRun.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextVisualStyleRun.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFTextVisualStyleRun.m b/HexFiendFramework/src/HFTextVisualStyleRun.m new file mode 120000 index 0000000..7b08b34 --- /dev/null +++ b/HexFiendFramework/src/HFTextVisualStyleRun.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTextVisualStyleRun.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFTypes.h b/HexFiendFramework/src/HFTypes.h new file mode 120000 index 0000000..40a8c73 --- /dev/null +++ b/HexFiendFramework/src/HFTypes.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFTypes.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFUIUtils.h b/HexFiendFramework/src/HFUIUtils.h new file mode 120000 index 0000000..c6a6b66 --- /dev/null +++ b/HexFiendFramework/src/HFUIUtils.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFUIUtils.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFUIUtils.m b/HexFiendFramework/src/HFUIUtils.m new file mode 120000 index 0000000..9f5bce6 --- /dev/null +++ b/HexFiendFramework/src/HFUIUtils.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFUIUtils.m \ No newline at end of file diff --git a/HexFiendFramework/src/HFVerticalScrollerRepresenter.h b/HexFiendFramework/src/HFVerticalScrollerRepresenter.h new file mode 120000 index 0000000..fa600a5 --- /dev/null +++ b/HexFiendFramework/src/HFVerticalScrollerRepresenter.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFVerticalScrollerRepresenter.h \ No newline at end of file diff --git a/HexFiendFramework/src/HFVerticalScrollerRepresenter.m b/HexFiendFramework/src/HFVerticalScrollerRepresenter.m new file mode 120000 index 0000000..0baeaa6 --- /dev/null +++ b/HexFiendFramework/src/HFVerticalScrollerRepresenter.m @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HFVerticalScrollerRepresenter.m \ No newline at end of file diff --git a/HexFiendFramework/src/HexFiend.h b/HexFiendFramework/src/HexFiend.h new file mode 120000 index 0000000..8ff4bfd --- /dev/null +++ b/HexFiendFramework/src/HexFiend.h @@ -0,0 +1 @@ +../../HexFiend/framework/sources/HexFiend.h \ No newline at end of file diff --git a/LNPropertyListEditor/LNPropertyListEditor.xcodeproj/project.pbxproj b/LNPropertyListEditor/LNPropertyListEditor.xcodeproj/project.pbxproj index aad72e1..69f5da3 100644 --- a/LNPropertyListEditor/LNPropertyListEditor.xcodeproj/project.pbxproj +++ b/LNPropertyListEditor/LNPropertyListEditor.xcodeproj/project.pbxproj @@ -26,10 +26,14 @@ 394148702095E85900A21F96 /* LNPropertyListDatePickerCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3941486E2095E85900A21F96 /* LNPropertyListDatePickerCell.mm */; }; 3946906C20976ED300B4A457 /* LNPropertyListDatePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3946906A20976ED300B4A457 /* LNPropertyListDatePicker.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3946906D20976ED300B4A457 /* LNPropertyListDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3946906B20976ED300B4A457 /* LNPropertyListDatePicker.m */; }; + 39D1276E26D9255D007E64D1 /* HexFiend.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39D1276B26D9254C007E64D1 /* HexFiend.framework */; }; + 39D1276F26D9255D007E64D1 /* HexFiend.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 39D1276B26D9254C007E64D1 /* HexFiend.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 39D1528F23289668009124C8 /* LNPropertyListDatePickerPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = 39D1528D23289668009124C8 /* LNPropertyListDatePickerPanel.h */; settings = {ATTRIBUTES = (Private, ); }; }; 39D1529023289668009124C8 /* LNPropertyListDatePickerPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D1528E23289668009124C8 /* LNPropertyListDatePickerPanel.m */; }; 39D152962328A9C4009124C8 /* _LNPropertyListDatePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 39D152942328A9C4009124C8 /* _LNPropertyListDatePicker.h */; settings = {ATTRIBUTES = (Private, ); }; }; 39D152972328A9C4009124C8 /* _LNPropertyListDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D152952328A9C4009124C8 /* _LNPropertyListDatePicker.m */; }; + 39D55F2026D82C100013B105 /* LNPropertyListDataEditorPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = 39D55F1E26D82C100013B105 /* LNPropertyListDataEditorPanel.h */; }; + 39D55F2126D82C100013B105 /* LNPropertyListDataEditorPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D55F1F26D82C100013B105 /* LNPropertyListDataEditorPanel.m */; }; 39DE8E942092030500ED16B4 /* LNPropertyListPopUpButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 39DE8E922092030500ED16B4 /* LNPropertyListPopUpButtonCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; 39DE8E952092030500ED16B4 /* LNPropertyListPopUpButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 39DE8E932092030500ED16B4 /* LNPropertyListPopUpButtonCell.m */; }; 39DE8E9C2092214400ED16B4 /* LNPropertyListEditor-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 39DE8E9B2092214300ED16B4 /* LNPropertyListEditor-Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -37,6 +41,37 @@ 39F537F4264305AF00AB263A /* NSObject+LNPropertyListValueSorting.m in Sources */ = {isa = PBXBuildFile; fileRef = 39F537F2264305AF00AB263A /* NSObject+LNPropertyListValueSorting.m */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 39D1276A26D9254C007E64D1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 39D1276626D9254C007E64D1 /* HexFiend.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2A5473BE36E204DC14FF8C9C; + remoteInfo = HexFiend; + }; + 39D1276C26D92552007E64D1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 39D1276626D9254C007E64D1 /* HexFiend.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 68C279F96A1255D4C25C79AE; + remoteInfo = HexFiend; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 39D55F1D26D829970013B105 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 39D1276F26D9255D007E64D1 /* HexFiend.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 391FF02A2084060000005D0F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 391FF02D208412CC00005D0F /* LNPropertyListRowView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LNPropertyListRowView.h; sourceTree = ""; }; @@ -59,10 +94,13 @@ 3941486E2095E85900A21F96 /* LNPropertyListDatePickerCell.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = LNPropertyListDatePickerCell.mm; sourceTree = ""; }; 3946906A20976ED300B4A457 /* LNPropertyListDatePicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LNPropertyListDatePicker.h; sourceTree = ""; }; 3946906B20976ED300B4A457 /* LNPropertyListDatePicker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LNPropertyListDatePicker.m; sourceTree = ""; }; + 39D1276626D9254C007E64D1 /* HexFiend.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = HexFiend.xcodeproj; path = ../HexFiendFramework/HexFiend.xcodeproj; sourceTree = ""; }; 39D1528D23289668009124C8 /* LNPropertyListDatePickerPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LNPropertyListDatePickerPanel.h; sourceTree = ""; }; 39D1528E23289668009124C8 /* LNPropertyListDatePickerPanel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LNPropertyListDatePickerPanel.m; sourceTree = ""; }; 39D152942328A9C4009124C8 /* _LNPropertyListDatePicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = _LNPropertyListDatePicker.h; sourceTree = ""; }; 39D152952328A9C4009124C8 /* _LNPropertyListDatePicker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = _LNPropertyListDatePicker.m; sourceTree = ""; }; + 39D55F1E26D82C100013B105 /* LNPropertyListDataEditorPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LNPropertyListDataEditorPanel.h; sourceTree = ""; }; + 39D55F1F26D82C100013B105 /* LNPropertyListDataEditorPanel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LNPropertyListDataEditorPanel.m; sourceTree = ""; }; 39DE8E922092030500ED16B4 /* LNPropertyListPopUpButtonCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LNPropertyListPopUpButtonCell.h; sourceTree = ""; }; 39DE8E932092030500ED16B4 /* LNPropertyListPopUpButtonCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LNPropertyListPopUpButtonCell.m; sourceTree = ""; }; 39DE8E9B2092214300ED16B4 /* LNPropertyListEditor-Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "LNPropertyListEditor-Private.h"; sourceTree = ""; }; @@ -75,6 +113,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 39D1276E26D9255D007E64D1 /* HexFiend.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -84,8 +123,10 @@ 393E182F207F6119002E6136 = { isa = PBXGroup; children = ( + 39D1276626D9254C007E64D1 /* HexFiend.xcodeproj */, 393E183B207F6119002E6136 /* LNPropertyListEditor */, 393E183A207F6119002E6136 /* Products */, + 39D55F1926D829600013B105 /* Frameworks */, ); sourceTree = ""; }; @@ -137,10 +178,27 @@ 391FF02E208412CC00005D0F /* LNPropertyListRowView.m */, 39F537F1264305AF00AB263A /* NSObject+LNPropertyListValueSorting.h */, 39F537F2264305AF00AB263A /* NSObject+LNPropertyListValueSorting.m */, + 39D55F1E26D82C100013B105 /* LNPropertyListDataEditorPanel.h */, + 39D55F1F26D82C100013B105 /* LNPropertyListDataEditorPanel.m */, ); path = Implementation; sourceTree = ""; }; + 39D1276726D9254C007E64D1 /* Products */ = { + isa = PBXGroup; + children = ( + 39D1276B26D9254C007E64D1 /* HexFiend.framework */, + ); + name = Products; + sourceTree = ""; + }; + 39D55F1926D829600013B105 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -158,6 +216,7 @@ 3946906C20976ED300B4A457 /* LNPropertyListDatePicker.h in Headers */, 39F537F3264305AF00AB263A /* NSObject+LNPropertyListValueSorting.h in Headers */, 3941486F2095E85900A21F96 /* LNPropertyListDatePickerCell.h in Headers */, + 39D55F2026D82C100013B105 /* LNPropertyListDataEditorPanel.h in Headers */, 39D152962328A9C4009124C8 /* _LNPropertyListDatePicker.h in Headers */, 393E1875207F64A0002E6136 /* LNPropertyListEditor.h in Headers */, 3925913A263C52B100AF78D3 /* LNPropertyListCellTextField.h in Headers */, @@ -176,10 +235,12 @@ 393E1835207F6119002E6136 /* Frameworks */, 393E1836207F6119002E6136 /* Headers */, 393E1837207F6119002E6136 /* Resources */, + 39D55F1D26D829970013B105 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 39D1276D26D92552007E64D1 /* PBXTargetDependency */, ); name = LNPropertyListEditor; productName = LNPlistEditorView; @@ -211,6 +272,12 @@ mainGroup = 393E182F207F6119002E6136; productRefGroup = 393E183A207F6119002E6136 /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 39D1276726D9254C007E64D1 /* Products */; + ProjectRef = 39D1276626D9254C007E64D1 /* HexFiend.xcodeproj */; + }, + ); projectRoot = ""; targets = ( 393E1838207F6119002E6136 /* LNPropertyListEditor */, @@ -218,6 +285,16 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + 39D1276B26D9254C007E64D1 /* HexFiend.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HexFiend.framework; + remoteRef = 39D1276A26D9254C007E64D1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 393E1837207F6119002E6136 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -238,6 +315,7 @@ 391FF030208412CC00005D0F /* LNPropertyListRowView.m in Sources */, 393E187A207F68B4002E6136 /* LNPropertyListNode.m in Sources */, 393E1886207FAEC6002E6136 /* LNPropertyListCellView.m in Sources */, + 39D55F2126D82C100013B105 /* LNPropertyListDataEditorPanel.m in Sources */, 391FF0342084270400005D0F /* LNPropertyListOutlineView.m in Sources */, 39D152972328A9C4009124C8 /* _LNPropertyListDatePicker.m in Sources */, 3946906D20976ED300B4A457 /* LNPropertyListDatePicker.m in Sources */, @@ -252,6 +330,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 39D1276D26D92552007E64D1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = HexFiend; + targetProxy = 39D1276C26D92552007E64D1 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 393E183F207F6119002E6136 /* Debug */ = { isa = XCBuildConfiguration; @@ -394,6 +480,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.leonatan.LNPropertyListEditor; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; + WARNING_CFLAGS = "-Wno-incomplete-umbrella"; }; name = Debug; }; @@ -420,6 +507,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.leonatan.LNPropertyListEditor; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; + WARNING_CFLAGS = "-Wno-incomplete-umbrella"; }; name = Release; }; diff --git a/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.h b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.h new file mode 100644 index 0000000..ed51480 --- /dev/null +++ b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.h @@ -0,0 +1,21 @@ +// +// LNPropertyListDataEditorPanel.h +// LNPropertyListDataEditorPanel +// +// Created by Leo Natan on 8/26/21. +// Copyright © 2021 Leo Natan. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface LNPropertyListDataEditorPanel : NSPanel + +@property (nonatomic, copy) NSData* data; + +- (void)beginSheetModalForWindow:(NSWindow *)window completionHandler:(void (^)(NSModalResponse result))handler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.m b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.m new file mode 100644 index 0000000..6fa6145 --- /dev/null +++ b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListDataEditorPanel.m @@ -0,0 +1,204 @@ +// +// LNPropertyListDataEditorPanel.m +// LNPropertyListDataEditorPanel +// +// Created by Leo Natan on 8/26/21. +// Copyright © 2021 Leo Natan. All rights reserved. +// + +#import "LNPropertyListDataEditorPanel.h" +#import + +@interface _LNPropertyListDataEditorTextDividerRepresenter : HFRepresenter @end + +@implementation _LNPropertyListDataEditorTextDividerRepresenter + +- (NSView *)createView { + NSBox* separator = [NSBox new]; + separator.boxType = NSBoxSeparator; + separator.autoresizingMask = NSViewHeightSizable; + + return separator; +} + +- (CGFloat)minimumViewWidthForBytesPerLine:(NSUInteger)bytesPerLine { + USE(bytesPerLine); + return 1; +} + ++ (NSPoint)defaultLayoutPosition { + return NSMakePoint(2, 0); +} + +@end + +@interface LNPropertyListDataEditorPanel () + +@end + +@implementation LNPropertyListDataEditorPanel +{ + HFTextView* _hexTextView; +} + +- (void)setData:(NSData *)data +{ + _data = [data copy]; + + [self _reloadHexTextField]; +} + +- (void)_reloadHexTextField +{ + _hexTextView.data = _data; + + [self _updateWindowSizeToContent]; + + [_hexTextView.layoutRepresenter performLayout]; + [self.undoManager removeAllActions]; +} + +- (instancetype)init +{ + self = [super init]; + + if(self) + { + [self setFrame:NSMakeRect(0, 0, 900, 550) display:NO]; + [self center]; + self.styleMask |= NSWindowStyleMaskResizable; + self.delegate = self; + self.minSize = NSMakeSize(400, 300); + + _hexTextView = [[HFTextView alloc] initWithFrame:self.contentView.bounds]; + _hexTextView.controller.bytesPerColumn = 4; + _hexTextView.delegate = self; + + HFLineCountingRepresenter* lineCountingRepresenter = [HFLineCountingRepresenter new]; + lineCountingRepresenter.lineNumberFormat = HFLineNumberFormatHexadecimal; +// HFStatusBarRepresenter* statusBarRepresenter = [HFStatusBarRepresenter new]; +// statusBarRepresenter.statusMode = HFStatusModeDecimal; + _LNPropertyListDataEditorTextDividerRepresenter* textDivider = [_LNPropertyListDataEditorTextDividerRepresenter new]; + + _hexTextView.layoutRepresenter.maximizesBytesPerLine = YES; + [_hexTextView.layoutRepresenter addRepresenter:lineCountingRepresenter]; + [_hexTextView.layoutRepresenter addRepresenter:textDivider]; +// [_hexTextView.layoutRepresenter addRepresenter:statusBarRepresenter]; + [_hexTextView.controller addRepresenter:lineCountingRepresenter]; +// [_hexTextView.controller addRepresenter:statusBarRepresenter]; + _hexTextView.controller.font = [NSFont userFixedPitchFontOfSize:0]; + + _hexTextView.controller.undoManager = self.undoManager; + + _hexTextView.translatesAutoresizingMaskIntoConstraints = NO; + [self.contentView addSubview:_hexTextView]; + + NSButton* OKButton = [NSButton buttonWithTitle:@"Save" target:self action:@selector(_save:)]; + OKButton.keyEquivalent = [NSString stringWithFormat:@"\r"]; + NSButton* cancelButton = [NSButton buttonWithTitle:@"Cancel" target:self action:@selector(_cancel:)]; + cancelButton.keyEquivalent = [NSString stringWithFormat:@"%C", 0x1b]; + + NSStackView* controlButtonsStackView = [NSStackView stackViewWithViews:@[cancelButton, OKButton]]; + controlButtonsStackView.translatesAutoresizingMaskIntoConstraints = NO; + + [self.contentView addSubview:controlButtonsStackView]; + + NSBox* backgroundBox = [NSBox new]; + backgroundBox.translatesAutoresizingMaskIntoConstraints = NO; + backgroundBox.boxType = NSBoxCustom; + backgroundBox.borderColor = NSColor.clearColor; + backgroundBox.fillColor = NSColor.windowBackgroundColor; + + NSBox* separator = [NSBox new]; + separator.translatesAutoresizingMaskIntoConstraints = NO; + separator.boxType = NSBoxSeparator; + + [self.contentView addSubview:backgroundBox positioned:NSWindowBelow relativeTo:nil]; + [self.contentView addSubview:separator positioned:NSWindowAbove relativeTo:nil]; + + [NSLayoutConstraint activateConstraints:@[ + [self.contentView.topAnchor constraintEqualToAnchor:_hexTextView.topAnchor], + [self.contentView.leadingAnchor constraintEqualToAnchor:_hexTextView.leadingAnchor], + [self.contentView.trailingAnchor constraintEqualToAnchor:_hexTextView.trailingAnchor], + [_hexTextView.bottomAnchor constraintEqualToAnchor:controlButtonsStackView.topAnchor constant:-20], + + [self.contentView.trailingAnchor constraintEqualToAnchor:controlButtonsStackView.trailingAnchor constant:20], + [self.contentView.bottomAnchor constraintEqualToAnchor:controlButtonsStackView.bottomAnchor constant:20], + + [OKButton.widthAnchor constraintEqualToAnchor:cancelButton.widthAnchor], + + [self.contentView.leadingAnchor constraintEqualToAnchor:backgroundBox.leadingAnchor], + [self.contentView.trailingAnchor constraintEqualToAnchor:backgroundBox.trailingAnchor], + [self.contentView.bottomAnchor constraintEqualToAnchor:backgroundBox.bottomAnchor], + [controlButtonsStackView.topAnchor constraintEqualToAnchor:backgroundBox.topAnchor constant:20], + + [self.contentView.leadingAnchor constraintEqualToAnchor:separator.leadingAnchor], + [self.contentView.trailingAnchor constraintEqualToAnchor:separator.trailingAnchor], + [controlButtonsStackView.topAnchor constraintEqualToAnchor:separator.topAnchor constant:20], + ]]; + + [_hexTextView.layoutRepresenter performLayout]; + + NSNotificationCenter *center = NSNotificationCenter.defaultCenter; + [center addObserver:self selector:@selector(_updateWindowSizeToContent) name:HFLineCountingRepresenterMinimumViewWidthChanged object:lineCountingRepresenter]; + } + + return self; +} + +- (void)_save:(id)sender +{ + _data = [_hexTextView.data copy]; + + [self.sheetParent endSheet:self returnCode:NSModalResponseOK]; +} + +- (void)_cancel:(id)sender +{ + [self.sheetParent endSheet:self returnCode:NSModalResponseCancel]; +} + +- (void)beginSheetModalForWindow:(NSWindow *)window completionHandler:(void (^)(NSModalResponse))handler +{ +// [self makeKeyAndOrderFront:nil]; + + [window beginCriticalSheet:self completionHandler:^(NSModalResponse returnCode) { + handler(returnCode); + }]; +} + +- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize +{ + if(_hexTextView.layoutRepresenter == nil) + { + return frameSize; + } + + return [self minimumWindowFrameSizeForProposedSize:frameSize]; +} + +- (NSSize)minimumWindowFrameSizeForProposedSize:(NSSize)frameSize +{ + NSSize proposedSizeInLayoutCoordinates = [_hexTextView convertSize:frameSize fromView:nil]; + CGFloat resultingWidthInLayoutCoordinates = [_hexTextView.layoutRepresenter minimumViewWidthForLayoutInProposedWidth:proposedSizeInLayoutCoordinates.width]; + NSSize resultSize = [_hexTextView convertSize:NSMakeSize(resultingWidthInLayoutCoordinates, proposedSizeInLayoutCoordinates.height) toView:nil]; + return resultSize; +} + +- (void)_updateWindowSizeToContent +{ + NSRect windowFrame = self.frame; + CGFloat minViewWidth = [_hexTextView.layoutRepresenter minimumViewWidthForBytesPerLine:_hexTextView.controller.bytesPerLine]; + CGFloat minWindowWidth = [_hexTextView convertSize:NSMakeSize(minViewWidth, 1) toView:nil].width; + windowFrame.size.width = minWindowWidth; + [self setFrame:windowFrame display:YES]; +} + +#pragma mark HFTextViewDelegate + +- (void)hexTextView:(HFTextView *)view didChangeProperties:(HFControllerPropertyBits)properties +{ + +} + +@end diff --git a/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditor.m b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditor.m index bf488c9..093b1e6 100644 --- a/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditor.m +++ b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditor.m @@ -10,6 +10,7 @@ #import "LNPropertyListNode-Private.h" #import "LNPropertyListRowView.h" #import "LNPropertyListCellView.h" +#import "LNPropertyListDataEditorPanel.h" @import ObjectiveC; @@ -1028,20 +1029,53 @@ - (void)_outlineViewSingleClick } } +- (void)_editDataNodeIfPossible:(LNPropertyListNode*)node +{ + BOOL editable = YES; + if(_flags.delegate_canEditValueOfNode) + { + editable = [self.delegate propertyListEditor:self canEditValueOfNode:node]; + } + + if(editable == NO) + { + return; + } + + LNPropertyListDataEditorPanel* dataEditor = [LNPropertyListDataEditorPanel new]; + dataEditor.data = node.value; + [dataEditor beginSheetModalForWindow:self.window completionHandler:^(NSModalResponse result) { + if(result == NSModalResponseCancel) + { + return; + } + + [self _updateValue:dataEditor.data ofNode:node reloadItem:YES]; + }]; +} + - (void)_outlineViewDoubleClick { LNPropertyListNode* node = [_outlineView itemAtRow:_outlineView.clickedRow]; + LNPropertyListNodeType type = node._appropriateType; if(node == nil) { return; } - if(node.type == LNPropertyListNodeTypeDate) + if(type == LNPropertyListNodeTypeDate) { return; } + if(type == LNPropertyListNodeTypeData) + { + [self _editDataNodeIfPossible:node]; + + return; + } + [_outlineView editColumn:_outlineView.clickedColumn row:_outlineView.clickedRow withEvent:NSApp.currentEvent select:YES]; } @@ -1062,6 +1096,7 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn NSString* identifier; NSString* value; BOOL editable = NO; + BOOL isData = NO; if(tableColumn == _keyColumn) { @@ -1093,7 +1128,7 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn if(_flags.dataTransformer_transformValueForDisplay && item.type != LNPropertyListNodeTypeArray && item.type != LNPropertyListNodeTypeDictionary) { item._cachedDisplayValue = [self.dataTransformer propertyListEditor:self displayValueForNode:item]; - value = [LNPropertyListNode stringForType:[LNPropertyListNode _typeForObject:item._cachedDisplayValue]]; + value = [LNPropertyListNode stringForType:item._appropriateType]; } if(value == nil) @@ -1109,7 +1144,7 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn } else if(tableColumn == _valueColumn) { - LNPropertyListNodeType type = item._cachedDisplayValue ? [LNPropertyListNode _typeForObject:item._cachedDisplayValue] : item.type; + LNPropertyListNodeType type = item._appropriateType; if(type == LNPropertyListNodeTypeBoolean) { @@ -1124,13 +1159,15 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn identifier = @"ValueCell"; } - editable = !(type == LNPropertyListNodeTypeArray || type == LNPropertyListNodeTypeDictionary || type == LNPropertyListNodeTypeData); + editable = !(type == LNPropertyListNodeTypeArray || type == LNPropertyListNodeTypeDictionary); value = [LNPropertyListNode stringValueOfNode:item]; if(editable && _flags.delegate_canEditValueOfNode) { editable = [self.delegate propertyListEditor:self canEditValueOfNode:item]; } + + isData = type == LNPropertyListNodeTypeData; } cellView = [outlineView makeViewWithIdentifier:identifier owner:self]; @@ -1147,7 +1184,7 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn [cellView setControlWithString:value setToolTip:(tableColumn == _keyColumn || (tableColumn == _valueColumn && editable))]; } - [cellView setControlEditable:editable]; + [cellView setControlEditable:editable && !isData]; cellView.textField.delegate = self; @@ -1320,7 +1357,7 @@ - (void)controlTextDidEndEditing:(NSNotification *)note } else if(column == 2) { - id newValue = [LNPropertyListNode convertString:textField.stringValue toObjectOfType:node.type]; + id newValue = [LNPropertyListNode convertString:textField.stringValue toObjectOfType:node._appropriateType]; if(newValue != nil) { [self _updateValue:newValue ofNode:node reloadItem:YES]; diff --git a/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditorOutline.xib b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditorOutline.xib index f0e4026..1dfb543 100644 --- a/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditorOutline.xib +++ b/LNPropertyListEditor/LNPropertyListEditor/Implementation/LNPropertyListEditorOutline.xib @@ -1,8 +1,8 @@ - + - + @@ -42,7 +42,7 @@ - +