[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