活動

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 可宣告這個延伸點以外的活動或相關聯元素。工作台中的活動狀態可透過 org.eclipse.ui.IWorkbench.getActivitySupport() 存取。您可以在此查詢和更新目前已啟用的活動集。

工作台未提供「預設活動」。活動是要定義在產品層次(例如 Eclipse SDK),以便能緊密地整合該產品包含的所有(已知)元件。