アクティビティー

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 などの製品レベルで定義されます。