I would prefer an enable option as the first option in the submenu, tbh. Clicking a submenu is not intuitive to me.
In this case, it is intuitive, because all modules are enabled by default, and hence the checkboxes are on by default. And if you see a checkbox, you will KNOW the menu itself is clickable.
That's what a checkbox outline is for :) tho that's not part of the DefaultUI :(
actually, it seems they changed this when they changed the checkmarks to dots in 4.0.1. if your item is checkable and not checked, it has a ghosted check mark.
If i turned them off years ago, and then come back to the settings, wondering how to turn them on again, no its not.
Except that at least one module would be enabled out of the whole list for any sane user. Because if all modules were disabled, you might as well not have installed the addon in the first place (or disabled the addon) as the core addon doesn't do anything on its own.
If at least one item in the whole list has a checkbox next to it, it is obvious everything else is also checkable.
Indeed. It's something else. I'm using it for BulkMail and BulkMail Inbox as well as the MagicMarker LDB plugin (finally replaced that FuBar thing). They are naturally not used as exclusive configuration paths but for very simple config stuff, it's a lot quicker to just toggle an option in a menu, especially since it's unfortunately unreliable to open the module configuration if you use the Blizzard Interface:Addons methods (if you have a lot of addons).
Again this is hardly meant to replace the dialog, or blizzard options but as a convenient option for simple configuration.
Given that it doesn't look like blizz will ever fix the taint problem with UIDropDown, I'm transitioning to LibDropDown-1.0.
I have the following question: I have an execute type, but I want the drop down to hide when it is clicked. I called dropdownframe:Release() inside the execute function but this causes an error. What is the right way to do this?
Currently LibDropDown-1.0 does this:
b.OnClick = function(self)
initInfo('execute')
runHandler(self, "func")
self:GetRoot():Refresh()
end
Meaning that an instance of the menu has to be active after the callback. I can hook the function but that seems to be a rather aggressive way to handle this.
Would it be possible that it checks if it has been released before refreshing?
P.S. It seems that refresh is called after virtually all callbacks (toggle etc).
P.P.S. I have currently bypassed this issue by having the dropdown fade quickly when I want it closed. The time-delay gives it time to execute the refresh. I still think to be clean it should be possible to use :Release directly.
In this case, it is intuitive, because all modules are enabled by default, and hence the checkboxes are on by default. And if you see a checkbox, you will KNOW the menu itself is clickable.
That's what a checkbox outline is for :) tho that's not part of the DefaultUI :(
actually, it seems they changed this when they changed the checkmarks to dots in 4.0.1. if your item is checkable and not checked, it has a ghosted check mark.
Except that at least one module would be enabled out of the whole list for any sane user. Because if all modules were disabled, you might as well not have installed the addon in the first place (or disabled the addon) as the core addon doesn't do anything on its own.
If at least one item in the whole list has a checkbox next to it, it is obvious everything else is also checkable.
Where in there does it say LibDropdown-1.0?
Again this is hardly meant to replace the dialog, or blizzard options but as a convenient option for simple configuration.
I have the following question: I have an execute type, but I want the drop down to hide when it is clicked. I called dropdownframe:Release() inside the execute function but this causes an error. What is the right way to do this?
Currently LibDropDown-1.0 does this:
b.OnClick = function(self)
initInfo('execute')
runHandler(self, "func")
self:GetRoot():Refresh()
end
Meaning that an instance of the menu has to be active after the callback. I can hook the function but that seems to be a rather aggressive way to handle this.
Would it be possible that it checks if it has been released before refreshing?
P.S. It seems that refresh is called after virtually all callbacks (toggle etc).
P.P.S. I have currently bypassed this issue by having the dropdown fade quickly when I want it closed. The time-delay gives it time to execute the refresh. I still think to be clean it should be possible to use :Release directly.