[oXygen-user] Dynamic Menu Items in Selection Plugin

oXygen XML Editor Support support at oxygenxml.com
Tue Oct 30 08:54:17 CDT 2012


Hi Thomas,

Form a selection plugin you could just present a dialog with the 
possible choices when the plugin is activated. If you want to customize 
the menu then you would probably have to implement an workspace access 
plugin. More information about this type of plugin can be found here:

http://www.oxygenxml.com/doc/ug-editor/concepts/workspace-access-plugin.html

On the applicationStarted() callback you will have to obtain access to 
an WSEditor (for example using 
StandalonePluginWorkspace.getEditorAccess()). You should also listen for 
notifications when a new editor is opened. Once you have a WSEditor 
instance you can use it to obtain the current page (through 
WSEditor.getCurrentPage()). This will either be an instance of 
WSAuthorEditorPageBase (if you are in author mode) or an instance of 
WSTextEditorPage (if you are in text mode). Now you can use one of the 
addPopUpMenuCustomizer() methods you've already identified. The editor 
page offers API to detect the current selection, for example : 
WSTextBasedEditorPage.getSelectionStart().

Please let us know if you require additional information.

Best regards,
Alex
-- 
Alex Jitianu
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


On 26-Oct-12 11:00 PM, Thomas, Alexander wrote:
> I have a selection plugin that can be activated either by <ctrl> + 
> <shift> + N OR <right click> > Plugins > PluginName.
>
>
> I want to add the ability to dynamicaly create a menu with choices of 
> things to do with the selection that will both work with the click and 
> the shortcut key.
>
> I think I want to use 
> *addPopUpMenuCustomizer(AuthorPopupMenuCustomizer)* 
> <http://www.oxygenxml.com/InstData/Editor/Plugins/javadoc/ro/sync/exml/workspace/api/editor/page/author/WSAuthorEditorPageBase.html#addPopUpMenuCustomizer%28ro.sync.ecss.extensions.api.structure.AuthorPopupMenuCustomizer%29> 
> in 
> ro.sync.exml.workspace.api.editor.page.author.WSAuthorEditorPageBase 
> <http://www.oxygenxml.com/InstData/Editor/Plugins/javadoc/ro/sync/exml/workspace/api/editor/page/author/WSAuthorEditorPageBase.html>
> OR
> *addPopUpMenuCustomizer(TextPopupMenuCustomizer)* 
> <http://www.oxygenxml.com/InstData/Editor/Plugins/javadoc/ro/sync/exml/workspace/api/editor/page/text/WSTextEditorPage.html#addPopUpMenuCustomizer%28ro.sync.exml.workspace.api.editor.page.text.TextPopupMenuCustomizer%29> 
> in ro.sync.exml.workspace.api.editor.page.text.WSTextEditorPage 
> <http://www.oxygenxml.com/InstData/Editor/Plugins/javadoc/ro/sync/exml/workspace/api/editor/page/text/WSTextEditorPage.html>
>
> But I am not sure if either of these are the correct directions to go in.
>
> How would I accomplish such a task?
>
> ------------------------------------------------------------------------
>
> This e-mail message (including any attachments) is for the sole use of
> the intended recipient(s) and may contain confidential and privileged
> information. If the reader of this message is not the intended
> recipient, you are hereby notified that any dissemination, distribution
> or copying of this message (including any attachments) is strictly
> prohibited.
>
> If you have received this message in error, please contact
> the sender by reply e-mail message and destroy all copies of the
> original message (including attachments).
>
>
> _______________________________________________
> oXygen-user mailing list
> oXygen-user at oxygenxml.com
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20121030/5a6150bd/attachment.html 


More information about the oXygen-user mailing list