У меня есть программа с NSOutlineView (которая поддерживает только одиночный выбор), из которой я хотел бы иметь возможность перетаскивать элементы.Эти элементы должны быть получены в виде текста или файлов: например, удаление элемента в окне TextEdit должно поместить текст, а удаление элемента в Finder должно создать файл.Я не хочу, чтобы что-либо было пропущено через мой контурный вид, даже если оно исходит от самого себя.Это кажется достаточно простым, но по какой-то причине я не могу заставить его работать.
Я проверил пример перетаскивания NSOutlineView от Apple, и я пришел к реализации следующих методов (плюс некоторые, безусловно, не связанныеиз них):
-(BOOL)outlineView:shouldSelectItem: // I don't expect to drag unselectable items
-(NSArray*)outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:
-(BOOL)outlineView:writeItems:toPasteboard:
Тем не менее, когда я пытаюсь перетащить элемент из моего вида структуры, ничего не происходит.Вместо этого он просто меняет выделение после курсора.
Я поставил точки останова в двух последних методах, и они никогда не вызываются, поэтому их реализация не является непосредственной проблемой.
Iздесь должно быть что-то действительно очевидное.
Кроме того, это (пока) не проблема, но как мне предоставить содержимое моих обещанных файлов?