Go to Page... |
Compatibility: | Gold Road (10.0.0) Scions of Ithelia (9.3.0) |
Updated: | 04/29/24 03:37 PM |
Created: | 01/24/23 03:57 PM |
Monthly downloads: | 36,474 |
Total downloads: | 198,002 |
Favorites: | 106 |
MD5: |
--Adds a scrollable dropdown to the comboBoxControl, replacing the original dropdown, and enabling scrollable submenus (even with nested scrolable 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) -- table options:optional = { -- 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 -- boolean sortEntries:optional Boolean or function returning boolean if items in the main-/submenu should be sorted alphabetically: ZO_SORT_ORDER_UP or ZO_SORT_ORDER_DOWN -- 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 -- 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 -- function preshowDropdownFn:optional function function(ctrl) codeHere end: to run before the dropdown shows -- 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) -- 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.ENTRY_ID] = { template = "XMLVirtualTemplateRow_ForEntryId", ... } -- [lib.scrollListRowTypes.SUBMENU_ENTRY_ID] = { template = "XMLVirtualTemplateRow_ForSubmenuEntryId", ... }, -- ... -- } -- 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 --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, { -- { -- 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, font = "ZO_FontGame" } ) 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() --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()
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.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 |
12/01/23, 07:32 PM | ||
Forum posts: 0
File comments: 7
Uploads: 0
|
|
|
|
ewscharf |
View Public Profile |
Send a private message to ewscharf |
Find More Posts by ewscharf |
Add ewscharf to Your Buddy List |
12/01/23, 08:33 AM | |
|
Check your PM here please for a test BETA version, hope it works for you.
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
11/29/23, 04:27 PM | ||
Forum posts: 0
File comments: 7
Uploads: 0
|
I disabled all my addons and left only this one enabled (I even created a new addons folder and started the game again with only LibScrollableMenu there to be loaded). I tested it in more than 5 houses, from Pilgrim's Rest to Mathiisen Manor. I go into Housing Editor mode (key F5), and open the Housing panel (key R), then I click the Purchase menu. There I can navigate the left menu like usual (Services, Dining, Suite, etc), but if I try to use the dropdown-menu (at right top corner) to select a theme, as soon I chose any theme the UI Error panel will show the error. And the list of items will become messy. Thanks! Edit: When we open the Housing panel, we start at "Place" window, where we have a list of our items to use. The dropdown-menu to filter themes is also there, but it works fine. Only in the store window the bug happens.
Last edited by ewscharf : 11/29/23 at 04:40 PM.
|
|
|
ewscharf |
View Public Profile |
Send a private message to ewscharf |
Find More Posts by ewscharf |
Add ewscharf to Your Buddy List |
11/27/23, 03:50 AM | ||
|
Hi, thanks for the info but where do you see that its this lib causing it? ZO_combobox was changed during last U40 update by ZOs and maybe it's any addon still hooking into them inproperly.
Could you please tell me the steps to reproduce this error with only this library enabled (no other addons) and then from login/reloadui in simple steps (where to port, what do open by keybind/click, and where to click then) to get to that error message. Or do we need to enable any particular housing related addons to see this bug? Which one then, and how to configure it + the steps ike descried above to the error then. Thanks for that additional info.
Last edited by Baertram : 11/27/23 at 03:51 AM.
|
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
11/26/23, 07:29 AM | |
Forum posts: 0
File comments: 7
Uploads: 0
|
This lib is causing a bug in Housing panel, Purchase menu, when we try to filter items by theme.
Error code: E9F0F69D Code:
/EsoUI/Ingame/HousingEditor/FurnitureClasses_Shared.lua:650: Attempt to access a private function 'GetMarketProductPricingByPresentation' from insecure code. The callstack became untrusted 28 stack frame(s) from the top. stack traceback: /EsoUI/Ingame/HousingEditor/FurnitureClasses_Shared.lua:650: in function 'ZO_HousingMarketProduct:GetMarketProductPricingByPresentation' <Locals> self = [table:1]{quality = 3, displayQuality = 3, theme = 11, discountPercent = 0, limitType = 0, formattedName = "Leyawiin Windowbox, Irises", onSale = F, categoryId = 12, sortIndex = 1, isNew = F, subcategoryId = 111, furnitureDataId = 7839, currencyType = 1, costAfterDiscount = 55, displayState = 0, cost = 55, isFree = F, rawName = "Leyawiin Windowbox, Irises", marketProductId = 10545, passesTextFilter = T, icon = "/esoui/art/icons/housing_bad_s...", presentationIndex = 1} </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/HousingFurnitureProducts_Keyboard.lua:174: in function 'ZO_HousingFurnitureProducts_Keyboard:SetupMarketProductFurnitureRow' <Locals> self = [table:2]{childlessCategoryTemplate = "ZO_FurnitureBrowserChildless", numSlots = 156, subCategoryTemplate = "ZO_FurnitureBrowserSubCategory...", fireCallbackDepth = 0, numUsedSlots = 95, parentCategoryTemplate = "ZO_FurnitureBrowserCategory"}, rowControl = ud, marketProductFurnitureObject = [table:1], canBePurchased = T, nameColorR = 0.22745099663734, nameColorG = 0.57254904508591, nameColorB = 1, currencyColorR = 1, currencyColorG = 1, currencyColorB = 1, iconDesaturation = 0 </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/HousingFurnitureProducts_Keyboard.lua:139: in function 'setupCallback' /EsoUI/Libraries/ZO_Templates/ScrollTemplates.lua:2463: in function 'ZO_ScrollList_UpdateScroll' <Locals> self = ud, windowHeight = 594, activeControls = [table:3]{}, offset = 0, IS_REAL_NUMBER = F, activeIndex = 1, numActive = 0, allData = [table:4]{}, visibleDataIndices = [table:5]{1 = 1}, mode = 1, firstInViewVisibleIndex = 1, nextCandidateVisibleIndex = 1, currentDataIndex = 1, dataEntry = [table:6]{typeId = 8}, bottomEdge = 594, controlTop = 0, uniformControlHeight = 52, dataType = [table:7]{height = 52, selectable = T}, controlPool = [table:8]{m_NextFree = 29, m_NextControlId = 28}, control = ud </Locals> /EsoUI/Libraries/ZO_Templates/ScrollTemplates.lua:2219: in function 'ZO_ScrollList_Commit' <Locals> self = ud, windowHeight = 594, selectionsEnabled = T, scrollableDistance = -490, foundSelected = F, i = 0 </Locals> /EsoUI/Libraries/ZO_SortFilterList/ZO_SortFilterList.lua:154: in function 'ZO_SortFilterList:CommitScrollList' <Locals> self = [table:9]{automaticallyColorRows = T}, scrollData = [table:4] </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:438: in function 'ZO_HousingFurnitureList:ContentsCommitScrollList' <Locals> self = [table:2] </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:348: in function 'CommitScrollList' /EsoUI/Libraries/ZO_SortFilterList/ZO_SortFilterList.lua:137: in function 'ZO_SortFilterList:RefreshData' <Locals> self = [table:9] </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:408: in function 'ZO_HousingFurnitureList:OnCategorySelected' <Locals> self = [table:2], data = [table:10]{categoryId = 111, name = "Flowers (2)", isFakedSubcategory = F, pressedIcon = "/esoui/art/icons/icon_missing....", normalIcon = "/esoui/art/icons/icon_missing....", mouseoverIcon = "/esoui/art/icons/icon_missing...."} </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:255: in function 'TreeEntryOnSelected' <Locals> control = ud, data = [table:10], selected = T </Locals> /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:732: in function 'ZO_TreeNode:OnSelected' <Locals> self = [table:11]{childSpacing = -10, openPercentage = 0, selected = F, childrenHeight = 0, open = F, selectSound = "Click_TreeSubcategory", enabled = T, childrenCurrentHeight = 0, childIndent = 60} </Locals> /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:441: in function 'ZO_Tree:SelectNode' <Locals> self = [table:12]{suspendAnimations = T, defaultSpacing = -10, enabled = T, exclusive = T, defaultIndent = 60, width = 310, openAnimationDurationMS = 300, autoSelectChildOnNodeOpen = F}, treeNode = [table:11], bringParentIntoView = T </Locals> /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:103: in function 'ZO_Tree:SelectAnything' <Locals> self = [table:12], currentNode = [table:11] </Locals> /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:238: in function 'ZO_Tree:Commit' <Locals> self = [table:12] </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:165: in function 'ZO_HousingBrowserList:BuildCategories' <Locals> self = [table:2], currentSelectedData = [table:13]{categoryId = 182, name = "Music Boxes (1)", isFakedSubcategory = F, pressedIcon = "/esoui/art/icons/icon_missing....", normalIcon = "/esoui/art/icons/icon_missing....", mouseoverIcon = "/esoui/art/icons/icon_missing...."}, hasCategory = T, categoryTreeData = [table:14]{rootCategoryName = "market"} </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:403: in function 'ZO_HousingFurnitureList:BuildCategories' <Locals> self = [table:2] </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/FurnitureClasses_Keyboard.lua:390: in function 'ZO_HousingFurnitureList:UpdateLists' <Locals> self = [table:2] </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/HousingFurnitureBrowser_Keyboard.lua:107: in function 'ZO_HousingFurnitureBrowser_Keyboard:UpdateProductsPanel' <Locals> self = [table:15]{productListDirty = F, retrievableListDirty = F, isInitialized = T, mode = 2, placeableListDirty = F, retrievableListHeadingsDirty = F, retrievableListDistancesDirty = F} </Locals> /EsoUI/Ingame/HousingEditor/HousingFurnitureBrowser_Base.lua:61: in function 'callback' /EsoUI/Libraries/Utility/ZO_CallbackObject.lua:132: in function 'ZO_CallbackObjectMixin:FireCallbacks' <Locals> self = [table:16]{fireCallbackDepth = 28, retrievableFurnitureLimitFilters = 64, lastPlayerWorldX = 24421, retrievableFurnitureBoundFilters = 0, placementFurnitureLimitFilters = 64, placementFurnitureLocationFilters = 1, placeableTextFilter = "", purchaseFurnitureTheme = 11, lastPlayerHeading = 2.9384787082672, isPlaceableFiltered = F, retrievableTextFilter = "", isMarketFiltered = T, marketProductTextFilter = "", lastPlayerWorldZ = 24924, placementFurnitureTheme = 0, lastPlayerWorldY = 13167, placementFurnitureBoundFilters = 0, isRetrievableFiltered = F}, eventName = "MarketProductsChanged", registry = [table:17]{}, callbackInfoIndex = 1, callbackInfo = [table:18]{4 = F}, callback = /EsoUI/Ingame/HousingEditor/HousingFurnitureBrowser_Base.lua:59, deleted = F </Locals> /EsoUI/Ingame/HousingEditor/FurnitureManager_Shared.lua:1021: in function 'ZO_SharedFurnitureManager:OnPurchaseFiltersChanged' <Locals> self = [table:16] </Locals> /EsoUI/Ingame/HousingEditor/FurnitureManager_Shared.lua:1027: in function 'ZO_SharedFurnitureManager:SetPurchaseFurnitureTheme' <Locals> self = [table:16], theme = 11 </Locals> /EsoUI/Ingame/HousingEditor/Keyboard/HousingFurnitureProducts_Keyboard.lua:80: in function 'OnThemeChanged' <Locals> comboBox = [table:19]{m_nextScrollTypeId = 3, currentSelectedItemText = "Imperial", m_enableMultiSelect = F, m_sortOrder = T, m_height = 250, m_isDropdownVisible = T, m_sortsItems = F, horizontalAlignment = 0, m_containerWidth = 200, m_spacing = 4, m_name = "ZO_HousingFurnitureProductsPan...", m_font = "ZoFontWinT1"}, entryText = "Imperial", entry = [table:20]{name = "Imperial", furnitureTheme = 11, m_index = 12, enabled = T} </Locals> /EsoUI/Libraries/ZO_ComboBox/ZO_ComboBox_Base.lua:237: in function 'ZO_ComboBox_Base:ItemSelectedClickHelper' <Locals> self = [table:19], item = [table:20], oldItem = [table:21]{name = "Daedric", furnitureTheme = 13, m_index = 14, enabled = T}, selectionChanged = T </Locals> (tail call): ? /EsoUI/Libraries/ZO_ComboBox/ZO_ComboBox.lua:433: in function 'ZO_ComboBox:SelectItem' <Locals> self = [table:19], item = [table:20] </Locals> /EsoUI/Libraries/ZO_ComboBox/ZO_ComboBox.lua:263: in function 'ZO_ComboBox:SetSelected' <Locals> self = [table:19], index = 12, item = [table:20] </Locals> /EsoUI/Libraries/ZO_ComboBox/ZO_ComboBox.lua:496: in function 'ZO_ComboBox_Entry_OnSelected' <Locals> control = ud, comboBox = [table:19] </Locals> ZO_HousingFurnitureProductsPanel_KeyboardTopLevelContentsThemeDropdownDropdownScroll1Row1_MouseUp:4: in function '(main chunk)' <Locals> self = ud, button = 1, upInside = T, ctrl = F, alt = F, shift = F, command = F </Locals> |
|
ewscharf |
View Public Profile |
Send a private message to ewscharf |
Find More Posts by ewscharf |
Add ewscharf to Your Buddy List |
09/22/23, 01:45 PM | |
|
Only working on Update 40 - PTS API 101040
If you have overriden a ZO_ComboBox's :AddMenuItems() function to add the entries new by using ZO_Menu (via ZOs default "AddMenuItem" or via LibCustomMenu using "AddCustomMenuItem" or even submenus via "AddCustomSubMenuItem"):
This won't work anymore on current PTS -> As ZO_ComboBox is a ZO_ScrollableMultiselectComboBox now which does not use ZO_Menu anymore! -> Your box will be empty then. If you only want some non-submenu entries in the combobox: Do not override :AddMenuItems() and just do it the normal way. Your combobox will be scrollable by default now and will work well. If you still want to use submenus: Instructions how to change your ZO_ComboBox to a scrollable list with submenus (scrollable too!) Read here please: https://github.com/Baertram/eso-LibScrollableMenu/tree/PTS40_majorversion_2-IsJustaGhost readme.md And/or check the file LSM_test.lua for code example of usage, menus and submenu entries.
Last edited by Baertram : 10/23/23 at 01:41 PM.
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
03/21/23, 08:05 AM | |
|
Wouldn't it be best to maybe add this directly to LibCustomMenu so there is 1 menu related addon / library only? Less compatibility issues, more benefit to all (imho).
Maybe talk to Votan and show him your code here, if this will work. |
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
03/04/23, 10:18 AM | |
|
From what I remember I wrote this as a combination of ZO_ScrollableComboBox and LibCustomMenu so that the scrolling worked with submenus. I had planned to polish the code but due to me leaving the eso/addon scene that never happened.
Edit: Gonna look into the conflict with PixelPerfect (if I can get ESO at a resolution where that works as it should....)
Last edited by Kyoma : 03/04/23 at 10:31 AM.
|
|
Kyoma |
View Public Profile |
Send a private message to Kyoma |
Find More Posts by Kyoma |
Add Kyoma to Your Buddy List |
01/25/23, 02:32 AM | |
|
but ESO UI has ZO_ScrollableComboBox already
|
|
zelenin |
View Public Profile |
Send a private message to zelenin |
Find More Posts by zelenin |
Add zelenin to Your Buddy List |