Activiteiten

org.eclipse.ui.activities

3.0

Het extensiepunt org.eclipse.ui.activities wordt gebruikt voor het declareren van activiteiten en de bijbehorende elementen. De activiteiten worden gebruikt door het platform om bepaalde pluginbijdragen uit de gebruikersview te filteren totdat de gebruiker interesse heeft voor deze plugins. Zodoende kan Eclipse dynamisch groeien op basis van het patroon van gebruik door de gebruiker.

<!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>

Dit element wordt gebruikt voor het definiëren van activiteiten. Als meerdere elementen bestaan met hetzelfde id-kenmerk, wordt alleen het element dat het laatste werd gedeclareerd (op basis van de leesvolgorde van het register) als geldig beschouwd.



<!ELEMENT activityRequirementBinding EMPTY>

<!ATTLIST activityRequirementBinding

requiredActivityId CDATA #REQUIRED

activityId         CDATA #REQUIRED>

Dit element maakt het mogelijk activiteiten aan andere activiteiten te binden. De relatie is zodanig dat, als een activityId ingeschakeld is, het requiredActivityId ook is ingeschakeld.



<!ELEMENT activityPatternBinding EMPTY>

<!ATTLIST activityPatternBinding

activityId CDATA #REQUIRED

pattern    CDATA #REQUIRED>

Dit element maakt het mogelijk activiteiten aan modellen te binden.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

Dit element wordt gebruikt voor het definiëren van categorieën. Als meerdere elementen bestaan met hetzelfde id-kenmerk, wordt alleen het element dat het laatste werd gedeclareerd (op basis van de leesvolgorde van het register) als geldig beschouwd.



<!ELEMENT categoryActivityBinding EMPTY>

<!ATTLIST categoryActivityBinding

activityId CDATA #REQUIRED

categoryId CDATA #REQUIRED>

Dit element maakt het mogelijk categorieën aan activiteiten te binden.



<!ELEMENT defaultEnablement EMPTY>

<!ATTLIST defaultEnablement

id CDATA #REQUIRED>

Met behulp van dit element kan de gebruiker opgeven dat een bepaalde activiteit standaard moet worden ingeschakeld.



In de onderstaande voorbeelden worden verschillende activiteiten en categorieën met bijbehorende bindingen gedefinieerd.

 

<extension point=

"org.eclipse.ui.activities"

>

<activity id=

"com.xyz.Activity"

description=

"Filtert de bijdragen van com.xyz"

name=

"My Activity"

/>

<activity id=

"com.xyz.OtherActivity"

description=

"Filtert andere bijdragen van com.xyz"

name=

"Mijn andere activiteit"

/>

<!-- OtherActivity vereist Activity -->

<activityRequirementBinding activityId=

"com.xyz.OtherActivity"

requiredActivityId=

"com.xyz.Activity"

/>

<category id=

"com.xyz.Category"

description=

"com.xyz Activities"

name=

"Mijn categorie"

/>

<!-- activiteit in categorie plaatsen -->

<categoryActivityBinding activityId=

"com.xyz.Activity"

categoryId=

"com.xyz.Category"

/>

<!-- alle aanleveringen van plugin com.xyz koppelen -->

<activityPatternBinding id=

"com.xyz.Activity"

pattern=

"com\.xyz/.*"

/>

<!-- my.contribution van plugin com.xyz.other koppelen -->

<activityPatternBinding id=

"com.xyz.OtherActivity"

pattern=

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

/>

<!-- Activity moet standaard zijn ingeschakeld -->

<defaultEnablement id=

"com.xyz.Activity"

/>

</extension>

Er is, behalve dit extensiepunt, nog geen openbare API voor het declareren van activiteiten of de bijbehorende elementen. De status van de activiteiten in de workbench is toegankelijk via org.eclipse.ui.IWorkbench.getActivitySupport(). Hiervandaan kunt u de set huidige geactiveerde activiteiten opvragen en bijwerken.

Er worden geen "standaard activiteiten" door de workbench verstrekt. De activiteiten moeten op productniveau worden gedefinieerd, bijvoorbeeld Eclipse SDK, zodat alle (bekende) componenten die het product bevat, kunnen worden geïntegreerd.