Группы действий

org.eclipse.ui.activities

3.0

Точка расширения org.eclipse.ui.activities служит для объявления групп действий и связанных с ними элементов. Группы действий применяются платформой для фильтрования дополнений пользовательского интерфейса некоторых модулей до тех пор, пока в них не появится необходимость. Это дает возможность динамически настраивать Eclipse на основе действий пользователей.

<!ELEMENT extension (activity , activityRequirementBinding , activityPatternBinding , category , categoryActivityBinding , defaultEnablement)*>

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT activity EMPTY>

<!ATTLIST activity

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

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



<!ELEMENT activityRequirementBinding EMPTY>

<!ATTLIST activityRequirementBinding

requiredActivityId CDATA #REQUIRED

activityId         CDATA #REQUIRED>

Этот элемент позволяет привязывать группы действий друг к другу. Отношения между группами действий такие: если указан атрибут activityId, то также указывается requiredActivityId.



<!ELEMENT activityPatternBinding EMPTY>

<!ATTLIST activityPatternBinding

activityId CDATA #REQUIRED

pattern    CDATA #REQUIRED>

Этот элемент позволяет привязывать группы действий к шаблонам.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

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



<!ELEMENT categoryActivityBinding EMPTY>

<!ATTLIST categoryActivityBinding

activityId CDATA #REQUIRED

categoryId CDATA #REQUIRED>

Этот элемент позволяет привязывать категории к группам действий.



<!ELEMENT defaultEnablement EMPTY>

<!ATTLIST defaultEnablement

id CDATA #REQUIRED>

Этот элемент позволяет указать, будет ли заданная группа действий включена по умолчанию.



Ниже приведен пример определений нескольких групп действий и категорий, а также связанных с ними привязок.

 

<extension point=

"org.eclipse.ui.activities"

>

<activity id=

"com.xyz.Activity"

description=

"Дополнения фильтров из com.xyz"

name=

"My Activity"

/>

<activity id=

"com.xyz.OtherActivity"

description=

"Фильтрует другие дополнения из com.xyz"

name=

"My Other Activity"

/>

<!-- другая группа действий требует наличия этой группы -->

<activityRequirementBinding activityId=

"com.xyz.OtherActivity"

requiredActivityId=

"com.xyz.Activity"

/>

<category id=

"com.xyz.Category"

description=

"группы действий com.xyz"

name=

"My Category"

/>

<!-- помещает группу действий в категорию -->

<categoryActivityBinding activityId=

"com.xyz.Activity"

categoryId=

"com.xyz.Category"

/>

<!-- привязывает все дополнения из модуля com.xyz -->

<activityPatternBinding id=

"com.xyz.Activity"

pattern=

"com\.xyz/.*"

/>

<!-- привязывает my.contribution из модуля com.xyz.other -->

<activityPatternBinding id=

"com.xyz.OtherActivity"

pattern=

"com\.xyz\.other/my.contribution"

/>

<!-- группа действий будет включена по умолчанию -->

<defaultEnablement id=

"com.xyz.Activity"

/>

</extension>

В настоящее время только API этой точки расширения является общим для объявления групп действий и связанных элементов. Состояние группы действий в рабочей среде доступно через org.eclipse.ui.IWorkbench.getActivitySupport(). Отсюда можно запросить и обновить группы действий, разрешенные в данный момент.

Никаких "групп действий по умолчанию" в рабочей среде нет. Для того чтобы можно было полнее интегрировать все известные компоненты продукта, группы действий должны определяться на уровне продукта, например, Eclipse SDK.