Profile Picture

unregistering a plugin

Posted By frank_461853 3 Years Ago
You don't have permission to rate!
Author
Message
frank_461853
frank_461853
Posted 3 Years Ago
View Quick Profile
Senior Member

Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 26, Visits: 96
in a python script how to i unregister a plugin from iclone 7's plugin menu?
wires
wires
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)Distinguished Member (15.0K reputation)

Group: Forum Members
Last Active: 7 hours ago
Posts: 5.7K, Visits: 26.4K
Jeff Little has a Plugin Manager in the Marketplace that lets users decide if a plugin should be loaded at start or not. Cool tool. CoolSmooooth

Gerry



System: Win 10 Pro (21H2), Asus X99-E WS, CPU i7-5930K -3,5 GHz, 32 GB DDR4 2666-16 RAM, NVidia GTX 1080 Ti GPU - 11 GB VRAM(Driver Studio-536.99), Samsung 850 Pro 512 GB SSD, 6 TB HD storage.


frank_461853
frank_461853
Posted 3 Years Ago
View Quick Profile
Senior Member

Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 26, Visits: 96
frank_461853 (12/8/2021)
in a python script how to i unregister a plugin from iclone 7's plugin menu?

is there a way of doing it from within python?

jlittle
jlittle
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)

Group: Forum Members
Last Active: Yesterday
Posts: 1.9K, Visits: 17.1K
Frank,

If you keep a pointer to the menu action that was created you can remove it by using the removeAction(action).

Jeff




Get my Plugin Manager and TaskNotes plugins for iClone.
Check out EZColors and Other products for CTA/CA. EZColors: the easy way to change Render Styled (RS) colors!
See my CTA Tutorials on the YouTube channel CTAStepByStep

frank_461853
frank_461853
Posted 3 Years Ago
View Quick Profile
Senior Member

Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 26, Visits: 96
frank_461853 (12/8/2021)
frank_461853 (12/8/2021)
in a python script how to i unregister a plugin from iclone 7's plugin menu?

is there a way of doing it from within python?


Thank you. there's no global area to store the handle. i did try getting the Actions collection of the Menu object but it retrieved only the default which is strange as i added an action.
jlittle
jlittle
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)

Group: Forum Members
Last Active: Yesterday
Posts: 1.9K, Visits: 17.1K
Are you trying to "unregister" your own menu item or the already existing ones?
If the existing ones, why would want you do this?

If all you want to do is disable certain plugins then my "Plugin Manger" will do that for you.

Once you "find" the main menu, you can then look at each of the menus child objects to "find" other menu items which then can be removed.

Jeff



Get my Plugin Manager and TaskNotes plugins for iClone.
Check out EZColors and Other products for CTA/CA. EZColors: the easy way to change Render Styled (RS) colors!
See my CTA Tutorials on the YouTube channel CTAStepByStep

frank_461853
frank_461853
Posted 3 Years Ago
View Quick Profile
Senior Member

Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)Senior Member (397 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 26, Visits: 96
jlittle (12/9/2021)
Are you trying to "unregister" your own menu item or the already existing ones?
If the existing ones, why would want you do this?

If all you want to do is disable certain plugins then my "Plugin Manger" will do that for you.

Once you "find" the main menu, you can then look at each of the menus child objects to "find" other menu items which then can be removed.

Jeff

i want to unregister my own plugin. 
my initialisation it thus
def initialize_plugin():
    # Add menu
    ic_dlg = wrapInstance(int(RLPy.RUi.GetMainWindow()), QtWidgets.QMainWindow)
    plugin_menu = ic_dlg.menuBar().findChild(QtWidgets.QMenu, "Platform_menu")
    if (plugin_menu == None):
        plugin_menu = wrapInstance(int(RLPy.RUi.AddMenu("Platform lights", RLPy.EMenu_Plugins)), QtWidgets.QMenu)
        plugin_menu.setObjectName("Platform_menu")

        platform_action = plugin_menu.addAction("Stages")
        platform_action.triggered.connect(show_dialog)

despite this 

when i unload or attempt to 

def UnloadMe(toHandle):
# remove menu
    ic_dlg = wrapInstance(int(RLPy.RUi.GetMainWindow()), QtWidgets.QMainWindow)
    plugin_menu = ic_dlg.menuBar().findChild(QtWidgets.QMenu, "Platform_menu")
    if (plugin_menu != None):
        #lAction =  plugin_menu.findChild(QtWidgets.QAction, "Stages")
        for ThatActions in ic_dlg.actions():
             print (ThatActions)
        for TotherAction in plugin_menu.actions():
            print (TotherAction) 
returns nothing. 
when you say "find  the main menu" do you mean by interrogating the "ic_dlg" handle?


jlittle
jlittle
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)Distinguished Member (6.7K reputation)

Group: Forum Members
Last Active: Yesterday
Posts: 1.9K, Visits: 17.1K
Frank,

Attached is a program that you can load using the Script | Load Python menu item.
It shows several methods of removing a Menu Item/Action.

Jeff




Get my Plugin Manager and TaskNotes plugins for iClone.
Check out EZColors and Other products for CTA/CA. EZColors: the easy way to change Render Styled (RS) colors!
See my CTA Tutorials on the YouTube channel CTAStepByStep

Attachments
RLMenuRemovalExample.zip (39 views, 1.00 KB)
Edited
3 Years Ago by jlittle



Reading This Topic