Go to Page... |
Compatibility: | Gold Road (10.0.0) Scions of Ithelia (9.3.0) |
Updated: | 06/02/24 01:51 PM |
Created: | 01/24/23 03:57 PM |
Monthly downloads: | 34,483 |
Total downloads: | 233,587 |
Favorites: | 112 |
MD5: |
--Adds a scrollable dropdown to the comboBoxControl, replacing the original dropdown, and enabling scrollable submenus (even with nested scrollable submenus) -- control parent Must be the parent control of the comboBox -- control comboBoxContainer Must be any ZO_ComboBox control (e.g. created from virtual template ZO_ComboBox -> Where ZO_ComboBox_ObjectFromContainer can find the m_comboBox object) -- -- table options:optional = { --> === Dropdown general customization ================================================================================= -- number visibleRowsDropdown:optional Number or function returning number of shown entries at 1 page of the scrollable comboBox's opened dropdown -- number visibleRowsSubmenu:optional Number or function returning number of shown entries at 1 page of the scrollable comboBox's opened submenus -- number maxDropdownHeight Number or function returning number of total dropdown's maximum height -- boolean sortEntries:optional Boolean or function returning boolean if items in the main-/submenu should be sorted alphabetically. !!!Attention: Default is TRUE (sorting is enabled)!!! -- table sortType:optional table or function returning table for the sort type, e.g. ZO_SORT_BY_NAME, ZO_SORT_BY_NAME_NUMERIC -- boolean sortOrder:optional Boolean or function returning boolean for the sort order ZO_SORT_ORDER_UP or ZO_SORT_ORDER_DOWN -- string font:optional String or function returning a string: font to use for the dropdown entries -- number spacing:optional, Number or function returning a Number: Spacing between the entries -- boolean disableFadeGradient:optional Boolean or function returning a boolean: for the fading of the top/bottom scrolled rows -- table headerColor:optional table (ZO_ColorDef) or function returning a color table with r, g, b, a keys and their values: for header entries -- table normalColor:optional table (ZO_ColorDef) or function returning a color table with r, g, b, a keys and their values: for all normal (enabled) entries -- table disabledColor:optional table (ZO_ColorDef) or function returning a color table with r, g, b, a keys and their values: for all disabled entries --> ===Dropdown header/title ========================================================================================== -- string titleText:optional String or function returning a string: Title text to show above the dropdown entries -- string titleFont:optional String or function returning a font string: Title text's font. Default: "ZoFontHeader3" -- string subtitleText:optional String or function returning a string: Sub-title text to show below the titleText and above the dropdown entries -- string subtitleFont:optional String or function returning a font string: Sub-Title text's font. Default: "ZoFontHeader2" -- number titleTextAlignment:optional Number or function returning a number: The title's vertical alignment, e.g. TEXT_ALIGN_CENTER -- userdata customHeaderControl:optional Userdata or function returning Userdata: A custom control thta should be shown above the dropdown entries --> === Dropdown text search & filter ================================================================================= -- boolean enableFilter:optional Boolean or function returning boolean which controls if the text search/filter editbox at the dropdown header is shown ---> === Dropdown callback functions -- function preshowDropdownFn:optional function function(ctrl) codeHere end: to run before the dropdown shows ---> === Dropdown's Custom XML virtual row/entry templates ============================================================ -- boolean useDefaultHighlightForSubmenuWithCallback Boolean or function returning a boolean if always the default ZO_ComboBox highlight XML template should be used for an entry having a submenu AND a callback function. If false the highlight 'LibScrollableMenu_Highlight_Green' will be used -- table XMLRowTemplates:optional Table or function returning a table with key = row type of lib.scrollListRowTypes and the value = subtable having -- "template" String = XMLVirtualTemplateName, -- rowHeight number = ZO_COMBO_BOX_ENTRY_TEMPLATE_HEIGHT, -- setupFunc = function(control, data, list) -- local comboBox = ZO_ComboBox_ObjectFromContainer(comboBoxContainer) -- comboBoxContainer = The ZO_ComboBox control you created via WINDOW_MANAGER:CreateControlFromVirtual("NameHere", yourTopLevelControlToAddAsAChild, "ZO_ComboBox") -- comboBox:SetupEntryLabel(control, data, list) -- -->See class comboBox_base:SetupEntry* functions above for examples how the setup functions provide the data to the row control -- -->Reuse those where possible by calling them via e.g. self:SetupEntryBase(...) and then just adding your additional controls setup routines -- end -- -->See local table "defaultXMLTemplates" in LibScrollableMenu -- -->Attention: If you do not specify all template attributes, the non-specified will be mixedIn from defaultXMLTemplates[entryType_ID] again! -- { -- [lib.scrollListRowTypes.LSM_ENTRY_TYPE_NORMAL] = { template = "XMLVirtualTemplateRow_ForEntryId", ... } -- [lib.scrollListRowTypes.LSM_ENTRY_TYPE_SUBMENU] = { template = "XMLVirtualTemplateRow_ForSubmenuEntryId", ... }, -- ... -- } ---> === Narration: UI screen reader, with accessibility mode enabled only ============================================ -- table narrate:optional Table or function returning a table with key = narration event and value = function called for that narration event. -- Each functions signature/parameters is shown below! -- -> The function either builds your narrateString and narrates it in your addon. -- Or you must return a string as 1st return param (and optionally a boolean "stopCurrentNarration" as 2nd return param. If this is nil it will be set to false!) -- and let the library here narrate it for you via the UI narration -- Optional narration events can be: -- "OnComboBoxMouseEnter" function(m_dropdownObject, comboBoxControl) Build your narrateString and narrate it now, or return a string and let the library narrate it for you end -- "OnComboBoxMouseExit" function(m_dropdownObject, comboBoxControl) end -- "OnMenuShow" function(m_dropdownObject, dropdownControl, nil, nil) end -- "OnMenuHide" function(m_dropdownObject, dropdownControl) end -- "OnSubMenuShow" function(m_dropdownObject, parentControl, anchorPoint) end -- "OnSubMenuHide" function(m_dropdownObject, parentControl) end -- "OnEntryMouseEnter" function(m_dropdownObject, entryControl, data, hasSubmenu) end -- "OnEntryMouseExit" function(m_dropdownObject, entryControl, data, hasSubmenu) end -- "OnEntrySelected" function(m_dropdownObject, entryControl, data, hasSubmenu) end -- "OnCheckboxUpdated" function(m_dropdownObject, checkboxControl, data) end -- Example: narrate = { ["OnComboBoxMouseEnter"] = myAddonsNarrateComboBoxOnMouseEnter, ... } -- } function AddCustomScrollableComboBoxDropdownMenu(parent, comboBoxContainer, options)
Entry types: LSM_ENTRY_TYPE_NORMAL LSM_ENTRY_TYPE_DIVIDER LSM_ENTRY_TYPE_HEADER LSM_ENTRY_TYPE_CHECKBOX LSM_ENTRY_TYPE_SUBMENU --Adds a new entry to the context menu entries with the shown text, where the callback function is called once the entry is clicked. --If entries is provided the entry will be a submenu having those entries. The callback can be used, if entries are passed in, too (to select a special entry and not an enry of the opening submenu). --But usually it should be nil if entries are specified, as each entry in entries got it's own callback then. --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) -- --Example - Normal entry without submenu --AddCustomScrollableMenuEntry("Test entry 1", function() d("test entry 1 clicked") end, LibScrollableMenu.LSM_ENTRY_TYPE_NORMAL, nil, nil) --Example - Normal entry with submenu --AddCustomScrollableMenuEntry("Test entry 1", function() d("test entry 1 clicked") end, LibScrollableMenu.LSM_ENTRY_TYPE_NORMAL, { -- [1] = { -- label = "Test submenu entry 1", --optional String or function returning a string. If missing: Name will be shown and used for clicked callback value -- name = "TestValue1" --String or function returning a string if label is givenm name will be only used for the clicked callback value -- isHeader = false, -- optional boolean or function returning a boolean Is this entry a non clickable header control with a headline text? -- isDivider = false, -- optional boolean or function returning a boolean Is this entry a non clickable divider control without any text? -- isCheckbox = false, -- optional boolean or function returning a boolean Is this entry a clickable checkbox control with text? -- isNew = false, -- optional booelan or function returning a boolean Is this entry a new entry and thus shows the "New" icon? -- entries = { ... see above ... }, -- optional table containing nested submenu entries in this submenu -> This entry opens a new nested submenu then. Contents of entries use the same values as shown in this example here -- contextMenuCallback = function(ctrl) ... end, -- optional function for a right click action, e.g. show a scrollable context menu at the menu entry -- } --}, --[[additionalData]] -- { isNew = true, normalColor = ZO_ColorDef, highlightColor = ZO_ColorDef, disabledColor = ZO_ColorDef, highlightTemplate = "ZO_SelectionHighlight", -- font = "ZO_FontGame", label="test label", name="test value", enabled = true, checked = true, customValue1="foo", cutomValue2="bar", ... } -- --[[ Attention: additionalData keys which are maintained in table LSMOptionsKeyToZO_ComboBoxOptionsKey will be mapped to ZO_ComboBox's key and taken over into the entry.data[ZO_ComboBox's key]. All other "custom keys" will stay in entry.data.additionalData[key]! ]] --) function AddCustomScrollableMenuEntry(text, callback, entryType, entries, additionalData) --Adds an entry having a submenu (or maybe nested submenues) in the entries table/entries function whch returns a table --> See examples for the table "entries" values above AddCustomScrollableMenuEntry --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) function AddCustomScrollableSubMenuEntry(text, entries) --Adds a divider line to the context menu entries --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) function AddCustomScrollableMenuDivider() --Adds a header line to the context menu entries --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) function AddCustomScrollableMenuHeader(text, additionalData) --Adds a checkbox line to the context menu entries --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) function AddCustomScrollableMenuCheckbox(text, callback, checked, additionalData) --Pass in a table/function returning a table with predefined context menu entries and let them all be added in order of the table's number key --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) function AddCustomScrollableMenuEntries(contextMenuEntries) --Populate a new scrollable context menu with the defined entries table/a functinon returning the entries. --Existing context menu entries will be reset, because ClearCustomScrollableMenu will be called! --You can add more entries later, prior to showing, via AddCustomScrollableMenuEntry / AddCustomScrollableMenuEntries functions too function AddCustomScrollableMenu(entries, options) --Set the options (visible rows max, etc.) for the scrollable context menu, or any passed in 2nd param comboBoxContainer -->See possible options above AddCustomScrollableComboBoxDropdownMenu function SetCustomScrollableMenuOptions(options, comboBoxContainer) --Show the custom scrollable context menu now at the control controlToAnchorTo, using optional options. --If controlToAnchorTo is nil it will be anchored to the current control's position below the mouse, like ZO_Menu does --Existing context menu entries will be kept (until ClearCustomScrollableMenu will be called) function ShowCustomScrollableMenu(controlToAnchorTo, options) --Hide the custom scrollable context menu and clear it's entries, clear internal variables, mouse clicks etc. function ClearCustomScrollableMenu() --Can be used within a callback function of any entry: --Run a callback function myAddonCallbackFunc passing in the entries of the opening menu/submneu of a clicked LSM context menu item -->Parameters of your function myAddonCallbackFunc must be: -->function myAddonCallbackFunc(userdata LSM_comboBox, userdata selectedContextMenuItem, table openingMenusEntries, ...) -->... can be any additional params that your function needs, and must be passed in to the ... of calling API function RunCustomScrollableMenuItemsCallback too! --->e.g. use this function in your LSM contextMenu entry's callback function, to call a function of your addon to update your SavedVariables -->based on the currently selected checkboxEntries of the opening LSM dropdown: --[[ AddCustomScrollableMenuEntry("Context menu Normal entry 1", function(comboBox, itemName, item, selectionChanged, oldItem) d('Context menu Normal entry 1') local function myAddonCallbackFunc(LSM_comboBox, selectedContextMenuItem, openingMenusEntries, customParam1, customParam2) --Loop at openingMenusEntries, get it's .dataSource, and if it's a checked checkbox then update SavedVariables of your addon accordingly --or do oher things --> Attention: Updating the entries in openingMenusEntries won't work as it's a copy of the data as the contextMenu was shown, and no reference! --> Updating the data directly would make the menus break, and sometimes the data would be even gone due to your mouse moving above any other entry --> wile the callbackFunc here runs end --Use LSM API func to get the opening control's list and m_sorted items properly so addons do not have to take care of that again and again on their own RunCustomScrollableMenuItemsCallback(comboBox, item, myAddonCallbackFunc, { LSM_ENTRY_TYPE_CHECKBOX }, true, "customParam1", "customParam2") end) ]] --If table/function returning a table parameter filterEntryTypes is not nil: --The table needs to have a number key and a LibScrollableMenu entryType constants e.g. LSM_ENTRY_TYPE_CHECKBOX as value. Only the provided entryTypes will be selected --from the m_sortedItems list of the parent dropdown! All others will be filtered out. Only the selected entries will be passed to the myAddonCallbackFunc's param openingMenusEntries. --If the param filterEntryTypes is nil: All entries will be selected and passed to the myAddonCallbackFunc's param openingMenusEntries. -- --If the boolean/function returning a boolean parameter fromParentMenu is true: The menu items of the opening (parent) menu will be returned. If false: The currently shown menu's items will be returned function RunCustomScrollableMenuItemsCallback(comboBox, item, myAddonCallbackFunc, filterEntryTypes, fromParentMenu, ...)
Entry types: LSM_ENTRY_TYPE_NORMAL LSM_ENTRY_TYPE_DIVIDER LSM_ENTRY_TYPE_HEADER LSM_ENTRY_TYPE_CHECKBOX --Adds a new entry to the context menu entries with the shown text, which calls the callback function once clicked. --If entries is provided the entry will be a submenu having those entries. The callback can only be used if entries are passed in --but normally it should be nil in that case function AddCustomScrollableMenuEntry(text, callback, entryType, entries, isNew) --Adds an entry having a submenu (or maybe nested submenues) in the entries table function AddCustomScrollableSubMenuEntry(text, entries) --Adds a divider line to the context menu entries function AddCustomScrollableMenuDivider() --Pass in a table with predefined context menu entries and let them all be added in order of the table's number key function AddCustomScrollableMenuEntries(contextMenuEntries) --Set the options (visible rows max, etc.) for the scrollable context menu function SetCustomScrollableMenuOptions(options, scrollHelper) --Add a new scrollable context menu with the defined entries table. --You can add more entries later via AddCustomScrollableMenuEntry function too function AddCustomScrollableMenu(parent, entries, options) --Show the custom scrollable context menu now function ShowCustomScrollableMenu(controlToAnchorTo, point, relativePoint, offsetX, offsetY, options) --Hide the custom scrollable context menu and clear internal variables, mouse clicks etc. function ClearCustomScrollableMenu()
File Name |
Version |
Size |
Uploader |
Date |
2.2 |
62kB |
Baertram |
06/02/24 11:06 AM |
|
2.1.1 |
41kB |
Baertram |
04/29/24 03:37 PM |
|
2.1 |
41kB |
Baertram |
04/26/24 02:02 PM |
|
2.0 |
29kB |
Baertram |
03/21/24 05:38 AM |
|
1.9 |
28kB |
Baertram |
03/11/24 03:10 AM |
|
1.8 |
31kB |
Baertram |
02/26/24 03:42 AM |
|
1.7 |
27kB |
Baertram |
01/11/24 06:09 PM |
|
1.6 |
23kB |
Baertram |
12/10/23 11:26 AM |
|
1.5 |
23kB |
Baertram |
12/09/23 06:05 PM |
|
1.4 |
22kB |
Baertram |
11/13/23 02:59 PM |
|
1.3 |
22kB |
Baertram |
10/31/23 04:15 AM |
|
1.2 |
22kB |
Baertram |
10/30/23 03:56 AM |
|
1.1 |
7kB |
tomstock |
03/19/23 02:51 PM |
|
1.0 |
7kB |
01/24/23 03:57 PM |
![]() |
Comment Options |
g0thicicecream |
View Public Profile |
Send a private message to g0thicicecream |
Find More Posts by g0thicicecream |
Add g0thicicecream to Your Buddy List |
![]() |
||
|
Re: similar error
Then please test if the error goes away if you disable AdvancedFilters.
I bet it does not... It's neither AS nor AF causing this. IF the error comes with LSM and AF and AS (only these 3 + needed dependencies enabled), which I really doubt as it cannot be, then I can do something. But I have tested it up and down meanwhile and NEVER ever get that problem. And I've asked my 5 guilds and there are more than 250 palyers that never ever get this error message and they use AF, AS, AF + AS all day. So it must be any other addon you guys got enabled, that does that ![]() What you guys never tell me is the important thing: Disable ALL other addons, only use Addon Selector OR AdvancedFilters (or both, but no other addons!) and LibScrollableMenu. Does that work fine? If so your other enabled addons are causing it somehow and we cannot do anything about this. YOU need to find out the causing addon then as I do not know what addons you use or what settings your addons got enabled or not etc. Thanks for testing this on your client.
Last edited by Baertram : 06/16/24 at 12:31 PM.
|
|
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 64
Uploads: 0
|
similar error
Well I get a similar error. I do not use "No Thank you", I do not have "advanced Filters" installed:
TopLevelControl AddonSelectorddl1 cannot be parented to ZO_Tutorial, it must be parented to GuiRoot stack traceback: [C]: in function 'CreateControlFromVirtual' /EsoUI/Libraries/Globals/GlobalVars.lua:18: in function 'CreateControlFromVirtual' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2095: in function 'dropdownClass:Initialize' /EsoUI/Libraries/Utility/BaseObject.lua:252: in function 'ZO_InitializingObject:New' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2718: in function 'comboBox_base:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3412: in function 'comboBoxClass:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3667: in function 'comboBoxClass:UpdateMetatable' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:4047: in function 'AddCustomScrollableComboBoxDropdownMenu' user:/AddOns/AddonSelector/AddonSelector.lua:3577: in function 'AddonSelector.CreateControlReferences' user:/AddOns/AddonSelector/AddonSelector.lua:4001: in function 'AddonSelector.Initialize' user:/AddOns/AddonSelector/AddonSelector.lua:4281: in function 'OnAddOnLoaded' Would be glad for help ![]() Btw: I cant use the scrollmenu in Addon Selector any more.
Last edited by Fly : 06/16/24 at 11:33 AM.
|
![]() |
![]() |
Fly |
View Public Profile |
Send a private message to Fly |
Find More Posts by Fly |
Add Fly to Your Buddy List |
![]() |
||
|
Do you use "No Thank You" addon as the error happens (on the 2nd character logged in), as the user below your post mentioned it would be related to this addon?
Do you get any error messages with that character? Check with LibdebugLogger and DebugLogger addon to see error messages that occur before chat is ready. Then please disable it and check if the error is gone! It needs to be fixed in other addons. LSM cannot fix that error, it's working fine and exactly the same as ZOs code of comboboxes and dropdowns work.
Last edited by Baertram : 06/16/24 at 09:30 AM.
|
|
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 21
Uploads: 0
|
I always get this error after logging off the first character I get on for the day then log into the second character. The second character produces this error. This is what I usually do:
1. Login on the first character to do daily crafting writs in West Weald 2. Do all the daily crafting writs, deconstruct with assistant, sell to merchant assistant, use bank assistant to deposit rewards and money 3. Log out 4. Log into the next character (same zone) and this always happens The addons I have that require this are (based on enabling/disabling the addon): Addon Selector Advanced Filters LibCustomMenu (maybe based on search of all addons .lua) Code:
TopLevelControl AF_FilterBarPlayerInventory_AllDropdownFilter1 cannot be parented to ZO_Tutorial, it must be parented to GuiRoot stack traceback: [C]: in function 'CreateControlFromVirtual' /EsoUI/Libraries/Globals/GlobalVars.lua:18: in function 'CreateControlFromVirtual' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2095: in function 'dropdownClass:Initialize' /EsoUI/Libraries/Utility/BaseObject.lua:252: in function 'ZO_InitializingObject:New' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2718: in function 'comboBox_base:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3412: in function 'comboBoxClass:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3667: in function 'comboBoxClass:UpdateMetatable' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:4047: in function 'AddCustomScrollableComboBoxDropdownMenu' user:/AddOns/AdvancedFilters/files/FilterBar/AF_FilterBar.lua:254: in function 'AF_FilterBar:Initialize' user:/AddOns/AdvancedFilters/files/FilterBar/AF_FilterBar.lua:180: in function 'AF_FilterBar:New' user:/AddOns/AdvancedFilters/files/FilterBar/AF_FilterBar.lua:1533: in function 'AF.CreateSubfilterBars' user:/AddOns/AdvancedFilters/AdvancedFilters.lua:2395: in function 'AdvancedFilters_Loaded' |
![]() |
![]() |
g0thicicecream |
View Public Profile |
Send a private message to g0thicicecream |
Find More Posts by g0thicicecream |
Add g0thicicecream to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 8
Uploads: 0
|
Got (looks) similar problem as ozveryashka
Code:
TopLevelControl AF_FilterBarSmithingImprovement_WOODWORKING_ArmorWoodworkingDropdownFilter1 cannot be parented to ZO_ObjectiveCapture, it must be parented to GuiRoot stack traceback: [C]: in function 'CreateControlFromVirtual' /EsoUI/Libraries/Globals/GlobalVars.lua:18: in function 'CreateControlFromVirtual' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2095: in function 'dropdownClass:Initialize' /EsoUI/Libraries/Utility/BaseObject.lua:252: in function 'ZO_InitializingObject:New' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2718: in function 'comboBox_base:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3412: in function 'comboBoxClass:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3667: in function 'comboBoxClass:UpdateMetatable' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:4047: in function 'AddCustomScrollableComboBoxDropdownMenu' user:/AddOns/AdvancedFilters/files/FilterBar/AF_FilterBar.lua:254: in function 'AF_FilterBar:Initialize' user:/AddOns/AdvancedFilters/files/FilterBar/AF_FilterBar.lua:180: in function 'AF_FilterBar:New' user:/AddOns/AdvancedFilters/files/FilterBar/AF_FilterBar.lua:1533: in function 'AF.CreateSubfilterBars' user:/AddOns/AdvancedFilters/AdvancedFilters.lua:2395: in function 'AdvancedFilters_Loaded' Additional LUA-errors that appeared on load (up to similar to 1st 120 errors in a row), except one that pointed to that decision: Code:
/EsoUI/Libraries/Utility/ZO_PlatformUtils.lua:123: Attempt to access a private function 'IsInUI' from insecure code. The callstack became untrusted 13 stack frame(s) from the top. stack traceback: /EsoUI/Libraries/Utility/ZO_PlatformUtils.lua:123: in function 'ZO_IsPregameUI' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:411: in function 'ZO_ErrorFrame:RefreshButtons' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:358: in function 'ZO_ErrorFrame:SetCurrentError' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:36: in function 'callback' /EsoUI/Libraries/Utility/ZO_CallbackObject.lua:132: in function 'ZO_CallbackObjectMixin:FireCallbacks' /EsoUI/Libraries/ZO_Spinner/ZO_Spinner.lua:312: in function 'ZO_Spinner:SetValue' /EsoUI/Libraries/ZO_Spinner/ZO_Spinner.lua:206: in function 'ZO_Spinner:SetValueMinAndMax' /EsoUI/Libraries/ZO_Spinner/ZO_Spinner.lua:213: in function 'ZO_Spinner:SetMinMax' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:313: in function 'ZO_ErrorFrame:RefreshPageSpinner' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:402: in function 'ZO_ErrorFrame:RefreshButtons' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:358: in function 'ZO_ErrorFrame:SetCurrentError' /EsoUI/Common/ZO_UIErrors/ErrorFrame.lua:374: in function 'ZO_ErrorFrame:OnUIError' user:/AddOns/NoThankYou/NoThankYou.lua:1271: in function 'keyboardAcceptCallback' user:/AddOns/LibNotification/LibNotification.lua:91: in function 'libNotificationKeyboardProvider:Accept' /EsoUI/Ingame/Contacts/Notifications_Common.lua:1879: in function 'ZO_NotificationManager:AcceptRequest' /EsoUI/Ingame/Contacts/Keyboard/Notifications_Keyboard.lua:626: in function 'ZO_KeyboardNotificationManager:Accept_OnClicked' /EsoUI/Ingame/Contacts/Keyboard/Notifications_Keyboard.lua:707: in function 'ZO_NotificationsTwoButtonAccept_OnClicked' ZO_NotificationsList1Row1Accept_Clicked:3: in function '(main chunk)' it's sad, but both listed addons looks like abandoned by authors, but was very useful in some situations and looks like don't have adequate analogs...
Last edited by seggert : 06/16/24 at 07:20 AM.
|
![]() |
![]() |
seggert |
View Public Profile |
Send a private message to seggert |
Find More Posts by seggert |
Add seggert to Your Buddy List |
![]() |
|
|
As I wrote in that other addon's comment already I cannot rebuild the error :-(
Whatever is happening there: I need more details what exactly you did and YOU need to test how to rebuild that bug in steps, and tell me. Also disable all addons except LibScrollableMenu and AdvancedFilters and test it again -> I can see you got AdvancedFilters enabled here. Here is a description how to properly report bugs, using LibDebugLogger: https://www.esoui.com/forums/showthread.php?t=8858 Please also contact the user "tdc-nl" here in the forum as he mentioned the same error. You two need to find out which of your addons are the same, so maybe you can find the 1 addon interfering here that way. Thank you
Last edited by Baertram : 06/15/24 at 12:56 PM.
|
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 9
Uploads: 0
|
bug during disassembly in npc
Code:
TopLevelControl AF_FilterBarUniversalDeconArmor_ArmorUniversalDeconDropdownFilter2 cannot be parented to ZO_ObjectiveCapture, it must be parented to GuiRoot stack traceback: [C]: in function 'CreateControlFromVirtual' /EsoUI/Libraries/Globals/GlobalVars.lua:18: in function 'CreateControlFromVirtual' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2095: in function 'dropdownClass:Initialize' /EsoUI/Libraries/Utility/BaseObject.lua:252: in function 'ZO_InitializingObject:New' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2718: in function 'comboBox_base:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3711: in function 'submenuClass:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3700: in function 'submenuClass:New' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2969: in function 'comboBox_base:GetSubmenu' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3062: in function 'comboBox_base:ShowSubmenu' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2507: in function 'dropdownClass:ShowSubmenu' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:1909: in function '(anonymous)' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2304: in function 'dropdownClass:OnMouseEnterEntry' AF_FilterBarUniversalDeconArmor_ArmorUniversalDeconDropdownFilter1Scroll3Row1_MouseEnter:5: in function '(main chunk)' |
![]() |
![]() |
ozveryashka |
View Public Profile |
Send a private message to ozveryashka |
Find More Posts by ozveryashka |
Add ozveryashka to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 9
Uploads: 0
|
bug while used addonselector
Code:
TopLevelControl AddonSelectorddl2 cannot be parented to ZO_ObjectiveCapture, it must be parented to GuiRoot stack traceback: [C]: in function 'CreateControlFromVirtual' /EsoUI/Libraries/Globals/GlobalVars.lua:18: in function 'CreateControlFromVirtual' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2095: in function 'dropdownClass:Initialize' /EsoUI/Libraries/Utility/BaseObject.lua:252: in function 'ZO_InitializingObject:New' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2718: in function 'comboBox_base:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3711: in function 'submenuClass:Initialize' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3700: in function 'submenuClass:New' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2969: in function 'comboBox_base:GetSubmenu' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:3062: in function 'comboBox_base:ShowSubmenu' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2507: in function 'dropdownClass:ShowSubmenu' user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:1909: in function '(anonymous)' (tail call): ? user:/AddOns/LibScrollableMenu/LibScrollableMenu.lua:2304: in function 'dropdownClass:OnMouseEnterEntry' AddonSelectorddl1Scroll7Row1_MouseEnter:5: in function '(main chunk)' |
![]() |
![]() |
ozveryashka |
View Public Profile |
Send a private message to ozveryashka |
Find More Posts by ozveryashka |
Add ozveryashka to Your Buddy List |
![]() |
||||
|
Re: Re: Re: Inventory implementation
If your addon adds a custom control to the inventoryRow, like a marker icon or similar, you could use that cntrol to show a custom LSM scrollable context menu at it.
Or you could use the image of the item, and make a right click contex menu there: ![]() Just adding it to the default row's right click context menu won't work. But depending on your usecase, if you only want to add 2 enries like "Add to banked set" or "Reove frm banked set" it would be just enough to use LibScrollableMenu to add that entries to the normal inventory menu. You can even use a submenu there like "XL Gear Banker" -> "Add to set", "Remove from set", "...", "..."
Last edited by Baertram : 04/01/24 at 06:38 AM.
|
|||
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|||
|
Re: Re: Inventory implementation
I guess I'll have to find another way and not use the inventory context menus for that purpose. |
||
![]() |
![]() |
B7TxSpeed |
View Public Profile |
Send a private message to B7TxSpeed |
Find More Posts by B7TxSpeed |
Add B7TxSpeed to Your Buddy List |
![]() |
||
|
Re: Inventory implementation
And as all inventory context menus use ZO_Menu you cannot use LSm there, only LibCustomMenu (which is based on ZO_Menu). Either you need to rewrite ALL inventory context menus to use LSM instead, and that would make you rewrite all vanilla code (ending with insecure error messages every here and there most probably) or there is no way to use LSM "in combination" with inventory context menus. You can use LSM as scrollHelper on a ZOComboBox or as new context menu at any custom control or at least any control where another context menu via ZO_Menu wasn't added yet. Both cannot be used in combination, you can only replace your LCM implementation with LSM so you remove ZO_Menu context menus. I've updated the description and added that info, sorry for the confusion. LSM is based on ZO_ComboBox's dropdownObject which uses a ZO_SortFilterList (and thus is scrollable) where LibCustomMenu and vanilla code AddMenuItem use ZO_Menu which is no scrollable list. Both cannot be used in combination.
Last edited by Baertram : 03/31/24 at 12:49 PM.
|
|
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
|
Inventory implementation
Hey,
I'm trying to use this lib in XLGearBanker to address the issue of the sets list being too long to display in a standard submenu entry in an inventory slot menu. So far, I haven't been able to make it work. I tried to replace AddCustomSubMenuItem with AddCustomScrollableSubMenuEntry but it just does not display. I don't have much experience with custom UI elements, but I know I'm missing something. I pushed my update on this PR: https://github.com/B7TxSpeed/XLGearBanker/pull/1 Could you provide some examples or help if you have time, please? |
![]() |
![]() |
B7TxSpeed |
View Public Profile |
Send a private message to B7TxSpeed |
Find More Posts by B7TxSpeed |
Add B7TxSpeed to Your Buddy List |
![]() |
|
|
Yes, m_sortsItems is true by default. Which is correct as it matches that in ZO_ComboBox. However, the issue was with submenus not inheriting those m_* variables on initialize. This was more of a laps in thought on my part.
This inheritance should be rectified in the next update. However, it will only effect newly created submenus. If any of these internal values are changed after a submenu is created, it will not be effected by the change. I'm looking at some options of dealing with this. |
![]() |
![]() |
IsJustaGhost |
View Public Profile |
Send a private message to IsJustaGhost |
Find More Posts by IsJustaGhost |
Add IsJustaGhost to Your Buddy List |
![]() |
||
|
Hi code, thanks for that info.
I'm not sure it's a bug with the default values. IsJustaGhost said he mixes in the original ZO_ComboBox settings (like sorting) with the LSM default values, and it should only add missing settings and overwrite them with the LSM defaults -> Which basically are the ZO_ComboBox default values -> Sorting is true in default comboboxes). -> Probably that is not working as intended then. Might be that LSM scrollhelper is added to AF combobox before sorting get's disabled at AF, and that way LSM is not recognizing the "option" change" afterwards. Code:
AF_FilterBar:Initialize(inventoryName, tradeSkillname, groupName, subfilterNames, excludeTheseButtons) 1st combobox line 162 2nd scroll helper with no options.sortEntries line 499 3rd manual comboBox:SetSortsItems(false) And 3rd does not update options.scrollEntries in self.dropdown.scrollHelper Code:
self.dropdown.scrollHelper = AddCustomScrollableComboBoxDropdownMenu(self.control, self.dropdown, { visibleRowsDropdown=settings.dropdownVisibleRows, visibleRowsSubmenu=settings.dropdownVisibleSubmenuRows, --dropdown=comboBoxObject font = "ZoFontGameSmall", sortEntries = false, --> add this } )
Last edited by Baertram : 03/21/24 at 10:06 AM.
|
|
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |