Go to Page... |
Compatibility: | Gold Road (10.0.0) |
Updated: | 06/03/24 01:19 PM |
Created: | 02/14/14 10:28 PM |
Monthly downloads: | 146,027 |
Total downloads: | 4,874,021 |
Favorites: | 2,790 |
MD5: |
IMPORTANT In case you get an error that contains text like this: user:/AddOns/<some other addon>/Libs/LibAddonMenu-2.0 Some other addon you have installed likely contains an old version of LibAddonMenu which is loaded before the most current one. Make sure to search for LibAddonMenu-2.0 folders in your AddOns folder and delete all of them. Afterwards install the latest version of LibAddonMenu-2.0 separately. Check Kyzderp's guide for more detailed instructions |
## DependsOn: LibAddonMenu-2.0
## DependsOn: LibAddonMenu-2.0>=30
local LAM = LibAddonMenu2 local saveData = {} -- TODO this should be a reference to your actual saved variables table local panelName = "MyAddOnSettingsPanel" -- TODO the name will be used to create a global variable, pick something unique or you may overwrite an existing variable! local panelData = { type = "panel", name = "MyAddOn Settings", author = "me", } local panel = LAM:RegisterAddonPanel(panelName, panelData) local optionsData = { { type = "checkbox", name = "My First Checkbox", getFunc = function() return saveData.myValue end, setFunc = function(value) saveData.myValue = value end } } LAM:RegisterOptionControls(panelName, optionsData)
- use the callbacks "LAM-PanelControlsCreated", "LAM-PanelOpened" and "LAM-PanelClosed" instead- updated Brazilian translation (thanks FelipeS11)
- the panel control is returned by RegisterAddonPanel- added "translation", "feedback" and "donation" properties to panel (#88, thanks Baertram)
- all three (and also the "website" property) accept a function or a string- added "disabled" and "disabledLabel" property for submenus (#86, #90, thanks klingo)
- the function receives the value, min and max as arguments and has to return a clamped value- added optional support for LibDebugLogger
- in case it is loaded, it logs the full error when control creation failed- updated LibStub to r5
- when set to true it changes the text color of the button to red and opens a dialog which shows the label and the warning text before running the callback- added new options for sliders and fixed some bugs (#49)
- autoSelect (boolean): when set to true it makes the input field select all text when it gains focus- for other internal code changes take a look at the git history
- inputLocation (string): setting it to "right" will move the input field to the right side of the slider and make it slightly bigger. For aesthetic reasons this should only be used in custom panels and not in the addon menu
- clampInput (boolean): true by default and if set to false it allows the input values of the slider to exceed the min and max value
- NOTE: the menu is now a bit wider than before, if you created custom elements you might need to update them accordingly- added search box to addon list (thanks votan & merlight)
File Name |
Version |
Size |
Uploader |
Date |
2.0 r36 |
49kB |
sirinsidiator |
03/10/24 04:21 PM |
|
2.0 r35 |
49kB |
sirinsidiator |
10/31/23 01:16 PM |
|
2.0 r34 |
48kB |
sirinsidiator |
06/06/22 05:35 AM |
|
2.0 r33 |
48kB |
sirinsidiator |
03/14/22 02:51 PM |
|
2.0 r32 |
48kB |
sirinsidiator |
12/17/20 02:04 PM |
|
2.0 r31 |
49kB |
sirinsidiator |
06/21/20 03:06 PM |
|
2.0 r30 |
48kB |
sirinsidiator |
10/21/19 03:23 AM |
|
2.0 r29 |
48kB |
sirinsidiator |
05/07/19 11:00 AM |
|
2.0 r28 |
47kB |
sirinsidiator |
05/01/19 09:33 AM |
|
2.0 r27 |
47kB |
sirinsidiator |
04/18/19 03:07 PM |
|
2.0 r26 |
45kB |
sirinsidiator |
05/21/18 02:36 AM |
|
2.0 r25 |
45kB |
sirinsidiator |
09/29/17 12:28 PM |
|
2.0 r24 |
45kB |
sirinsidiator |
07/14/17 01:00 PM |
|
2.0 r23 |
42kB |
sirinsidiator |
10/30/16 10:00 AM |
|
2.0 r22 |
39kB |
sirinsidiator |
08/06/16 07:42 AM |
|
2.0 r21 |
38kB |
sirinsidiator |
07/17/16 11:04 AM |
|
2.0 r20 |
41kB |
sirinsidiator |
03/26/16 10:45 AM |
|
2.0 r19 |
37kB |
sirinsidiator |
02/24/16 12:24 PM |
|
2.0 r18 |
36kB |
sirinsidiator |
06/14/15 01:12 PM |
|
2.0 r17 |
30kB |
sirinsidiator |
02/22/15 11:09 AM |
|
2.0 r16 |
27kB |
Seerah |
11/02/14 02:03 PM |
|
2.0 r14 |
26kB |
Seerah |
07/27/14 10:17 PM |
|
2.0 r13 |
26kB |
Seerah |
07/20/14 09:35 PM |
|
2.0 r12 |
26kB |
Seerah |
07/20/14 07:55 PM |
|
2.0 r11 |
26kB |
Seerah |
07/19/14 02:49 PM |
|
2.0 r10 |
25kB |
Seerah |
07/13/14 09:18 PM |
|
2.0 r9 |
25kB |
Seerah |
07/05/14 06:55 PM |
|
2.0 r8 |
25kB |
Seerah |
06/22/14 09:47 PM |
|
2.0 r7 |
25kB |
Seerah |
06/15/14 05:17 PM |
|
2.0 r6 |
25kB |
Seerah |
06/13/14 11:28 PM |
|
2.0 r5 |
25kB |
Seerah |
06/12/14 10:32 PM |
|
2.0 r4 |
25kB |
Seerah |
06/11/14 08:56 PM |
|
2.0 r3 |
25kB |
Seerah |
06/11/14 07:49 PM |
|
2.0 r2 |
24kB |
Seerah |
06/10/14 10:06 PM |
|
1.0 r8 |
6kB |
Seerah |
05/24/14 10:01 PM |
![]() |
Comment Options |
circonian |
View Public Profile |
Send a private message to circonian |
Send email to circonian |
Find More Posts by circonian |
Add circonian to Your Buddy List |
![]() |
||
|
I have an idea how the fail action (assert or warning) could be optionally overridden, but that's fancy stuff that can be added later if deemed useful. Back to my auto-junk example: when it suddenly stops junking stuff it's nothing serious, the user will probably check settings, see it's been reset; maybe post a complaint; but then set the desired value and be fine. No need to trigger error from LAM in this particular case. |
|
![]() |
![]() |
merlight |
View Public Profile |
Send a private message to merlight |
Send email to merlight |
Find More Posts by merlight |
Add merlight to Your Buddy List |
![]() |
|
This is something that also has bothered me since I wrote the first version of Social Indicators, so I am also interested in making this possible. Reading your comments I think you are over complicating it though.
![]() I wouldn't change the existing choices array to support putting localized labels into the list, but instead would add an optional choicesLabels array. In addition the choices array would also accept other value types besides string as long as the choicesLabels array is present and return these values to the getFunc. From an addon authors perspective everything pretty much stays the same and it is 100% backwards compatible with only minimal changes to the dropdown widget. |
|
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
Still my dynamic requests
![]() So, in BMR, I would like that the name of my control be dynamic. I got control 1 (dropdown) , when I set it to a value, some values are updated like this : Lua Code:
Then, I would like to set my other control the value set by this function in another control Lua Code:
Then 2 others requests : A "visible" option A dynamic configuration (function) of width too. A screen to explain why : ![]() Feel free to say "no", if a bit too hard ^^
Last edited by Ayantir : 11/07/15 at 08:11 PM.
|
|
![]() |
![]() |
Ayantir |
View Public Profile |
Send a private message to Ayantir |
Send email to Ayantir |
Visit Ayantir's homepage! |
Find More Posts by Ayantir |
Add Ayantir to Your Buddy List |
![]() |
|
Changing name will be added. Someone else also asked me about it recently.
Dynamic changing of the layout is not easily possible right now. The controls are all anchored together on creation and changing the width of specific elements is bound to cause problems. Especially because the width property is a dirty hack in the first place. There are a few other changes to LAM necessary before that will be feasible. |
|
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
|
two questions
I have two questions:
How do I go about deleting a control at runtime (e.g. an entire submenu)? How are references used and how might I use them to accomplish the above?and Context: I'm trying to delete and add entire submenus at runtime on certain events and I dont want to interrupt the user with ReloadUI calls. Thanks for any answers! Sorry if this was already answered, I don't see any search function for addon threads.
Last edited by Terrillyn : 01/18/16 at 11:37 PM.
|
![]() |
![]() |
Terrillyn |
View Public Profile |
Send a private message to Terrillyn |
Send email to Terrillyn |
Visit Terrillyn's homepage! |
Find More Posts by Terrillyn |
Add Terrillyn to Your Buddy List |
![]() |
||
Re: two questions
As for references, they are just global names for your controls. When you specify reference = "MyAddonSettingsControl1" you can access MyAddonSettingsControl1 as a global object in your functions. Keep in mind that those names need to be globally unique, or you will get an error when a second control has the same name. |
||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
|
Thanks for the answer, I understand, I'll go with disabling the controls for now,
I'm not entirely sure but I'm guessing that ReloadUI is called on map changes? If so then the disabled menu entries will be "removed" (excluded) next time the user changes maps, which should be good enough. |
![]() |
![]() |
Terrillyn |
View Public Profile |
Send a private message to Terrillyn |
Send email to Terrillyn |
Visit Terrillyn's homepage! |
Find More Posts by Terrillyn |
Add Terrillyn to Your Buddy List |
![]() |
||
The "disabled" I was referring to was the disabled callback in the option control table. You can specify a function that returns a boolean that tells LAM if it should lock the control or not. Lua Code:
|
||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
|
Any plans to update the APIVersion so that this doesn't keep showing up as out of date?
|
![]() |
![]() |
Agathorn |
View Public Profile |
Send a private message to Agathorn |
Send email to Agathorn |
Visit Agathorn's homepage! |
Find More Posts by Agathorn |
Add Agathorn to Your Buddy List |
![]() |
||
|
||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
|
When nesting submenus the controls inside the nested submenu do not get refreshed nor reset to default.
For controls inside the nested submenu: control.panel references the parent, which is the submenu that the controls submenu is nested in and not the main panel. The submenus .data does not contain the registerForRefresh or registerForDefaults keys so those controls never get added to the main panels controlsToRefresh table here: Lua Code:
If that didn't make sense, I'm talking about these controls:
Warning: Spoiler
Lua Code:
It looks like it should be: Lua Code:
Last edited by circonian : 01/31/16 at 12:07 AM.
|
![]() |
![]() |
circonian |
View Public Profile |
Send a private message to circonian |
Send email to circonian |
Visit circonian's homepage! |
Find More Posts by circonian |
Add circonian to Your Buddy List |
![]() |
|
That's because LAM currently has no support for nested sub menus. You can specify them as children of a sub menu like you showed, but they will produce unexpected behavior.
|
|
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
|
I'm having issues with text overlapping other controls/text when using the description controls, any workaround for this? I can't seem to use text any longer than 3 lines.
|
![]() |
![]() |
Terrillyn |
View Public Profile |
Send a private message to Terrillyn |
Send email to Terrillyn |
Visit Terrillyn's homepage! |
Find More Posts by Terrillyn |
Add Terrillyn to Your Buddy List |
![]() |
||
|
||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Visit sirinsidiator's homepage! |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |