활동

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=

"Filters contributions from com.xyz"

name=

"My Activity"

/>

<activity id=

"com.xyz.OtherActivity"

description=

"Filters other contributions from com.xyz"

name=

"My Other Activity"

/>

<!-- other activity requires activity -->

<activityRequirementBinding activityId=

"com.xyz.OtherActivity"

requiredActivityId=

"com.xyz.Activity"

/>

<category id=

"com.xyz.Category"

description=

"com.xyz Activities"

name=

"My Category"

/>

<!-- put the activity in the category -->

<categoryActivityBinding activityId=

"com.xyz.Activity"

categoryId=

"com.xyz.Category"

/>

<!-- bind all contributions from plugin com.xyz -->

<activityPatternBinding id=

"com.xyz.Activity"

pattern=

"com\.xyz/.*"

/>

<!-- bind my.contribution from plugin com.xyz.other -->

<activityPatternBinding id=

"com.xyz.OtherActivity"

pattern=

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

/>

<!-- our activity should be enabled by default -->

<defaultEnablement id=

"com.xyz.Activity"

/>

</extension>

현재 이 확장점 이외의 활동 또는 연관된 요소를 선언하는 공용 API가 없습니다. Workbench의 활동 상태에는 org.eclipse.ui.IWorkbench.getActivitySupport()를 통해 액세스할 수 있습니다. 여기서 현재 사용 가능한 활동 세트를 조회하고 갱신할 수 있습니다.

Workbench에서 제공한 "기본 활동"이 없습니다. 활동은 제품에 포함되는 모든 알려진 컴포넌트를 정교하게 통합할 수 있도록 Eclipse SDK와 같은 제품 레벨에서 정의됩니다.