Матричные режимы выбора
Так как пользователи часто нажимают кнопку мыши, в то время как курсор в NSMatrix, и затем перетащите мышь вокруг, NSMatrix предлагает несколько методов, определяющих, как это отслеживает мышь. setMode:
позволяет Вам выбрать среди четырех «режимов выбора», широко определяющих, как матрица отслеживает мышь. setAllowsEmptySelection:
и setSelectionByRect:
методы позволяют Вам совершенствовать, как работают те режимы.
setMode:
метод позволяет Вам выбрать один из этих четырех режимов:
NSTrackModeMatrix
самый основной режим работы. В этом режиме NSCells просят отследить мышь сtrackMouse
каждый раз, когда мышь в их границах. Никакое выделение не выполняется. Примером этого режима мог бы быть «графический эквалайзер» NSMatrix ползунков, где, переместив мышь вокруг причин ползунки для перемещения под мышью.NSHighlightModeMatrix
модификацияNSTrackModeMatrix
. В этом режиме выделяется NSCell, прежде чем попросят отследить мышь, затем невыделенную, когда это сделало отслеживание. Это полезно для многократных несвязанных NSCells, использующих выделение, чтобы сообщить пользователю, что они прослеживаются (как кнопки и переключатели).NSRadioModeMatrix
используется, когда Вы хотите не больше, чем, чтобы один NSCell был выбран за один раз. Это может использоваться для создания ряда кнопок, из которых выбраны и только один. (Существует также опция разрешения никакой кнопки быть выбранной.) Любое время NSCell выбран, ранее выбрал NSCell, отменяется. Это обычно используется с группами переключателей. Вы могли бы также использовать его с группой кнопок, что Вы хотите вести себя как переключатели.NSListModeMatrix
противоположностьNSTrackModeMatrix
. NSCells выделяются, но не отслеживают мышь. Этот режим может использоваться для выбора диапазона текстовых значений, например. NSMatrix поддерживает стандартные парадигмы множественного выбора перетаскивания для выбора, использование клавиши Shift для создания непрерывных выборов и использования Командной клавиши для создания прерывистых выборов. Браузеры (как используется, например, объектами NSOpenPanel) используют этот режим.
setAllowsEmptySelection:
имеет эффект, только если режим выбора NSRadioModeMatrix
. Это позволяет Вам выбрать, не допускало ли в группе переключателей это ни одного из них для хождения. Например, скажите, что пользователь щелкает по одному переключателю в матрице, это идет. Если allowsEmptySelection
YES
, та кнопка выключает, и ни один из переключателей не идет. Если allowsEmptySelection
NO
, кнопка остается на, и единственный способ выключить ее состоит в том, чтобы нажать другую кнопку.
setSelectionByRect:
наборы, может ли пользователь выбрать диапазон ячеек путем перетаскивания мыши. Если isSelectionByRect
NO
, перетаскивание по диапазону выбирает только последнюю ячейку только. Если isSelectionByRect
YES
, перетаскивание по диапазону выбирает все ячейки, которые пользователь перетаскивает.