Change Log:
--------------------
version 5:
- Supporting checkboxes in submenus.
- Fixed Divider menu item.
version 4.3:
- Update for "Horns of the Reach".
version 4.2.0:
- Fixed rare timing issue closing menu while mouse is over sub-menu.
- APIVersion update to 100017.
version 4.1.1:
- APIVersion update to 100014.
version 4.1:
- Added ZO_InventorySlotActions:AddCustomSlotAction. (Requested by merlight)
- APIVersion update to 100013.
version 4: * Working with Orsinium. Just the manifest APIVersion must be updated
- Fixed issue: main menu not closing if sub-menu used outside inventory. Thanks to circonian.
version 3:
- New menu item type: Divider. A static text "-" will be displayed as a divider. You can use.DIVIDER for better readability.
version 2:
- New global function AddCustomSubMenuItem
version 1:
- New global function AddCustomMenuItem as a replacement for AddMenuItem.
Description:
--------------------
Info
This library is not intended as stand-alone. It is for addon developers, because it requires additional changes in the addon source anyway.
Description
This library is written to overcome one way to get the "Access a private function XYZ from insecure code". But beginning with version 2.0, it does additional provide a new feature: sub menus.
Beginning with version 3.0, it does additional provide a new feature: divider.
Background
Controls, created from add-on code (as part of code path) are marked as "insecure/compromissed".
Functions, which have no problem with been called from "insecure" controls, are still working perfectly.
Like those of add-ons or Show On Map, Link in Chat or Get Help.
But "secured" functions like UseItem, InitiateDestroy, PickupInventoryItem raising the error message from above.
Once you hook AddMenuItem ALL controls created for the context-menu are "insecure".
Prior to ESO 2.0.13 if an add-on offers a full custom context-menu (no build-in menu entries) and this context-menu is shown first after (re-)load UI the first menu item controls are insecure. A crash of "Use" in the inventory afterwards was guaranteed.
Starting with ESO 2.0.13 ZOS preallocates 10 "secure" menu items. See here.
But this just reduces the chance of running into that problem, it does not fix it.
Currently the number of preallocated controls is 30. Running into this problem with AddMenuItem is real rare, but inventory action slots still don't like custom menu entries.
To avoid the error message, the controls of build-in menu items and add-on menu items must be strictly separated. That's what AddCustomMenuItem of this library does. It uses an own pool of controls, which look exactly...
--------------------
version 5:
- Supporting checkboxes in submenus.
- Fixed Divider menu item.
version 4.3:
- Update for "Horns of the Reach".
version 4.2.0:
- Fixed rare timing issue closing menu while mouse is over sub-menu.
- APIVersion update to 100017.
version 4.1.1:
- APIVersion update to 100014.
version 4.1:
- Added ZO_InventorySlotActions:AddCustomSlotAction. (Requested by merlight)
- APIVersion update to 100013.
version 4: * Working with Orsinium. Just the manifest APIVersion must be updated
- Fixed issue: main menu not closing if sub-menu used outside inventory. Thanks to circonian.
version 3:
- New menu item type: Divider. A static text "-" will be displayed as a divider. You can use
version 2:
- New global function AddCustomSubMenuItem
version 1:
- New global function AddCustomMenuItem as a replacement for AddMenuItem.
Description:
--------------------
Info
This library is not intended as stand-alone. It is for addon developers, because it requires additional changes in the addon source anyway.
Description
This library is written to overcome one way to get the "Access a private function XYZ from insecure code". But beginning with version 2.0, it does additional provide a new feature: sub menus.
Beginning with version 3.0, it does additional provide a new feature: divider.
Background
Controls, created from add-on code (as part of code path) are marked as "insecure/compromissed".
Functions, which have no problem with been called from "insecure" controls, are still working perfectly.
Like those of add-ons or Show On Map, Link in Chat or Get Help.
But "secured" functions like UseItem, InitiateDestroy, PickupInventoryItem raising the error message from above.
Once you hook AddMenuItem ALL controls created for the context-menu are "insecure".
Prior to ESO 2.0.13 if an add-on offers a full custom context-menu (no build-in menu entries) and this context-menu is shown first after (re-)load UI the first menu item controls are insecure. A crash of "Use" in the inventory afterwards was guaranteed.
Starting with ESO 2.0.13 ZOS preallocates 10 "secure" menu items. See here.
But this just reduces the chance of running into that problem, it does not fix it.
Currently the number of preallocated controls is 30. Running into this problem with AddMenuItem is real rare, but inventory action slots still don't like custom menu entries.
To avoid the error message, the controls of build-in menu items and add-on menu items must be strictly separated. That's what AddCustomMenuItem of this library does. It uses an own pool of controls, which look exactly...