Запретить изменение выбора в NSOutlineView при нажатии NSActionCell - PullRequest
2 голосов
/ 25 февраля 2010

У меня есть собственный NSActionCell, используемый для визуализации некоторых частей некоторых строк в моем NSOutlineView. Я могу получать и отвечать на щелчки по NSActionCell, но выбор также изменяется при щелчке по этой ячейке. Я бы хотел предотвратить изменение выбора, если щелкнуть по одной из моих пользовательских NSActionCells.

Есть ли простой способ сделать это?

1 Ответ

4 голосов
/ 25 февраля 2010

Чтобы ответить на мой вопрос:

Если ячейка, которую вы хотите щелкнуть (а затем , а не выбрать строку), находится в собственном столбце, то следующий пример Apple очень полезен:

DragNDropOutlineView

Этот пример основан на реализации следующего NSOutlineViewDelegate метода (реализован в AppController.m в строке 304):

- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item

Если у вас есть ячейка в другой ячейке, вы все равно можете использовать этот подход, но вам нужно будет проделать немного больше работы, чтобы определить, была ли нажата мышь внутри вашей подячейки. Хорошим примером, демонстрирующим эту логику, является следующий пример Apple:

PhotoSearch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...