As stated earlier, look up PluginRegistrar.RegisterMenu().

You cannot arbitrarily insert your custom tool into the factory menus of 
Softimage.  You can, however, insert your tool into a menu at a reserved 
anchor point for custom tools.  Most menus have reserved anchor points 
located immediately before and/or immediately after the native tools in that 
menu - including the context menu accessed via RMB.  Those anchor points are 
described in the SDK docs via PluginRegistrar.RegisterMenu().

You do not have access to all of the application's menus, but there are a 
LOT of anchor points.  If you want to see all their locations, then make a 
self-installing plugin and register a menu at every location defined by 
iterating through the enums using a 'for' loop in your XSILoadPlugin() 
callback.  When you start accessing menus, you'll see exactly what you can 
access.  Custom tools will have a "W" in the left margin of the menu (or U). 
A plugin can register more than one menu if you want to make it accessible 
from multiple places within the application.

Your plugin does not have any control over the context.  It can only respond 
to it.  You can do trivial things like add/remove submenus, or 
enable/disable them as defined in the SDK docs, but if you want to do more 
advanced things like make animated emoji's in full color which cast pixie 
dust all over your screen when you click it, then you'll have to explorer an 
external toolkit to do that.

Matt




Date: Sat, 19 Aug 2017 08:15:19 +0300
From: Andrew Prostrelov <[email protected]>
Subject: Re: XSI SelectTool context menus.
To: "Official Softimage Users Mailing List.
https://groups.google.com/forum/#!forum/xsi_list";

Ok. Lets try to approach this problem from a different angle.
CustomTools have callback Deactivate, right ?! So i suppose that we can
temporarily deactivate
our CustomTool and jump to SelectTool (process RMB and invoke menu), and
back to our CustomTool again.


------
Softimage Mailing List.
To unsubscribe, send a mail to [email protected] with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to