Инструменты пользователя

Инструменты сайта


Боковая панель

developers:tutorial:selectionset

Это старая версия документа.


Выделение элементов

За выделение объектов на видовом экране отвечает класс, наследник от абстрактного класса SelectionSet. Он за возвращение списка всех выделяемых элементов, выделение элементов и их хранение, а также за копирование элементов через буфер обмена и их перемещение, если это необходимо. Каждый слой видового экрана при реализации возвращает свой экземпляр SelectionSet.

Если слой не поддерживает выделение элементов, то в качестве SelectionSet можно вернуть экземпляр DefaultSelectionSet. Это реализация по умолчанию, не позволяющая выделить элементы.

Для реализации наследника от SelectionSet необходимо реализовать следующие функции и методы:

  • Select - предназначен для выделения или снятия выделения с объекта.
  • Clear - снимает выделение со всех выделенных объектов
  • Erase - удаляет все выделенные объекты.
  • GetObjectsAtPoint - возвращает список элементов в указанной точке и расстояние до них.
  • GetObjectsByFrame - выделение объектов рамкой
  • GetObjectsByPolygon - выделение объектов полигоном. В данный момент метод не поддерживается.
  • GetEnumerator - перечисление выделенных объектов.
  • GetSelectable - перечисление всех объектов которые можно выделить.
  • Count - количество выделенных элементов
  • IsEnable - проверяет включен ли объект на этом SelectionSet.
  • IsOwned - проверяет принадлежит ли объект выделяемым объектам этого SelectionSet.
  • IsSelected - проверяет выделен ли объект на этом SelectionSet.
В функцию GetObjectsAtPoint в качестве параметра приходит временной интервал, в течении которого вы должны завершить выполнение функции. Если интервал равен 0 то время на выполнение функции не ограничено.
developers/tutorial/selectionset.1552229972.txt.gz · Последние изменения: 2021/07/22 14:28 (внешнее изменение)