ObjectARX, AutoCAD. Среда программирования библиотеки C++


         

События контекста ввода


AcEdInputContextReactor класс определяет повторные вызовы, которые посланы, чтобы указать начало и окончание различных операций подсказки. События контекста ввода могут использоваться, чтобы определить, когда добавлять и удалить фильтры точки входа и мониторы. Они могут использоваться независимо, или с другими повторными вызовами типа AcEditorReactor:: commandWillBegin () и AcEditorReactor:: commandEnded (), определять, которые команды происходят, который подсказка команды является в настоящее время активной, и как пользователь отвечал.

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

События контекста ввода

Тип

 Описание

Статический

 Введенный, когда beginQuiescentState () повторный вызов сделан, и выходится, когда endQuiescentState () повторный вызов сделан в результате команды AutoCAD, функции AutoLISP, или инициализируемой функции ввода ActiveX. Это должно быть единственное состояние в стеке для документа, когда это введено; это не может быть помещено в стек на вершине другого состояния. CMDACT переменная системы нулевая когда в этом состоянии.

Геометрический объект, Точка

 Введенный, если beginGetPoint () повторный вызов сделан без уже нахождения в Геометрическом объекте, Переходном процессе Неточки, Отбор Переходного процесса, или Перетаскивать состояние Последовательности. Всякий раз, когда это состояние введено, возвращенная точка - окончательная цель, не промежуточное значение. Фильтры ввода точки  и мониторы запрашивают все события в этом состоянии.

Геометрический объект, Неточка

 Введенный от Геометрического объекта, Ненаправляет Переходный процесс, когда beginGetPoint () повторный вызов сделан. От этого состояния, другой запрос направлять средства ввода, располагающие в стеке новое состояние. Любая точка - промежуточное значение и может быть перегружена непосредственно напечатанным значением. Из этого состояния выходят, когда любой из endGetAngle (), endGetDistance

(), endGetOrientation

(), endGetCorner

(), или endGetScaleFactor

() повторные вызовы сделан. Фильтры ввода точки и мониторы запрашивают все события в этом состоянии.

Выбирая

 Введенный от Отбор, Переходный процесс, когда beginGetPoint

() повторный вызов сделан. Фильтры ввода точки и мониторы запрашивают все события в этом состоянии.

Негеометрический объект, Невыбирая

 Введенный, когда любой из beginGetString

(), beginGetKeyword

(), beginGetInteger

(), beginGetColor

(), или beginGetReal

() повторные вызовы сделаны. Эти контексты непосредственно голосуют для ввода и не исполняют объектную привязку, Автопривязку, или фильтрацию точки входа, даже при том, что курсор активен, когда интерактивный трэкинг цифрового преобразователя выполнен. Принудительный выбор примитива нужно позволить для мониторов ввода точки получить повторные вызовы от этого состояния. Фильтры ввода точки не вызваны от этого состояния.

Перетащите Последовательность

 Введенный, когда beginDragSequence () повторный вызов сделан, и выходится, когда endDragsequence () повторный вызов сделан. Вложенный вызывает к beginGetPoint

(), beginGetAngle

(), и beginGetDistance

() сделаны в промежуточном режиме, так что никакой государственный переход не сделан. Фильтры ввода точки и мониторы запрашивают все события в этом состоянии.

Освободите Переходный процесс

Из  наиболее удаленного входного состояния выходят, и новый собирается быть введенным.

Геометрический объект, Неточка Переходный процесс

Введенный, когда beginGetAngle(), beginGetDistance(), beginGetOrientation(), beginGetCorner(), или beginGetScaleFactor() повторные вызовы сделаны, кроме того, когда уже в Перетаскивают состояние Последовательности. Это означает, что вложил подсказки,  возвратится, немедленно и изменение состояния сделано. Ввод этого состояния подразумевает добавление входного контекста к состоянию ввода стеку для документа. Это состояние всегда переходы к Геометрическому объекту, Неточка с beginGetPoint

() повторный вызов.

Отбор Переходного процесса

Введенный, когда любой из beginEntsel

(), beginNentsel

(), или beginSSGet

() повторные вызовы сделаны. Будет или в непосредственном{*немедленном*} выборе режима, заявляют, или будет переход в состояние Отбора с beginGetPoint

() повторный вызов.

Перетащите Последовательность,Вложенную Действие, Переходный процесс

Введенным от Перетаскивают Последовательность, когда AcEditorReactor::commandWillBegin() или AcEditorReactor::LispWillStart() повторные вызовы сделаны. Они приостанавливают Перетащенную Последовательность и располагают в стеке новое состояние ввода на вершине этого. От этого состояния, это возможно к переходу к любому другому состоянию ввода. Это помещенное в стек состояние закончится, когда балансирование AcEditorReactor

повторный вызов сделано, и состояние под высшим состоянием - Перетаскивают Последовательность.

<

Содержание  Назад  Вперед