From: krzogr <do-...@jb...> - 2005-09-30 16:02:02
|
Hi Koen, Regarding the activity mechanism: I am using this mechanism to hide the unwanted contributions in my RCP application. It seems to work but there were some problems. First of all in order for this mechanism to work all contributed actions needs to be properly defined (definitionId should be specified). Using the activity mechanism I was able to hide nearly all unwanted contributions from the default source popup menu (when it was not set to null). Unfortunately there were few contributions made by one of the base classes which didn't specify the action definitionId. In that case even the activity mechanism didn't help and these contributions were visible in the popup menu. See e.g. org.eclipse.wst.sse.ui.internal.properties.ShowPropertiesAction. This action doesn't specify the definition id and I was not able to hide it from the popup menu (it was contributed by one of the base classes). All the activity settings are controlled declarativly through plugin.xml. Here is the configuration from my application: <extension point="org.eclipse.ui.activities"> | <category | name="Disabled category" | id="com.axxia.wd.disabledCategory"> | </category> | <activity | name="Disabled activity" | id="com.axxia.wd.disabledActivity"> | </activity> | <categoryActivityBinding | activityId="com.axxia.wd.disabledActivity" | categoryId="com.axxia.wd.disabledCategory"> | </categoryActivityBinding> | <activityPatternBinding | activityId="com.axxia.wd.disabledActivity" | pattern="org.eclipse.*/*"> | </activityPatternBinding> | </extension> | | <extension point="org.eclipse.ui.activities"> | <category | name="Enabled workflow category" | id="com.axxia.wd.enabledCategory"> | </category> | <activity | name="Enabled workflow activity" | id="com.axxia.wd.enabledActivity"> | </activity> | <categoryActivityBinding | activityId="com.axxia.wd.enabledActivity" | categoryId="com.axxia.wd.enabledCategory"> | </categoryActivityBinding> | <activityPatternBinding | activityId="com.axxia.wd.enabledActivity" | pattern="org.eclipse.ui.texteditor.save"> | </activityPatternBinding> | <activityPatternBinding | activityId="com.axxia.wd.enabledActivity" | pattern="org.eclipse.ui.file.*"> | </activityPatternBinding> | <activityPatternBinding | activityId="com.axxia.wd.enabledActivity" | pattern="org.eclipse.ui.edit.(cut|copy|paste|delete|undo|redo)"> | </activityPatternBinding> | <activityPatternBinding | activityId="com.axxia.wd.enabledActivity" | pattern="org.eclipse.ui.help.*"> | </activityPatternBinding> | <activityPatternBinding | activityId="com.axxia.wd.enabledActivity" | pattern="org.eclipse.ui.views.*"> | </activityPatternBinding> | <defaultEnablement id="com.axxia.wd.enabledActivity"/> | </extension> The first entry tries to disable everything in the eclipse. The second specifies what should be enabled (I am using these actions). If I didn't enable them than even if I explicitly added them to the popup menu they wouldn't be visible. The last line (<defaultEnablement id="com.axxia.wd.enabledActivity"/>) explicitly enables the activity when the application starts. Hope this helps. Let me know if you have any questions. I am still new to all these concepts so maybe some of these things can be done better/quicker? Kind regards, Krzysztof View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3898276#3898276 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3898276 |