Looking for an addon that has well designed Interface options panel.
Hi all,
The title says pretty much all :) I'm currently looking for an addon which has a well designed Interface Options Panel so that I can use it as a learning reference. The fundamental function of my Options panel would be adding/removing a spell id from db, SV. So, I guess there should be at least:
Could I get some recommendations? Thank you! |
I'm not advertising for lightspark's UI here, but it has exactly what you want!
Take a look at the 4th screenshot! |
While building my addon Decliner, the two most helpful addons for learning the interface options frame for me were Work_Complete and BadBoy_CCleaner. The former has a ton of comments in their code which made understanding how the frame works a lot easier and the latter gave me the plan for using a displayed list with an input box and a button to add or remove things from the list.
|
Quote:
Mate, config is the worst part of my UI, both code- and appearance-wise. |
Hi guys,
Thank you for the references :D!! And lightspark, like syncrow said, your project is exactly what I've been looking for. Please let me use your work as my learning reference :banana:!! |
I barely get how lightspark's config dialog works (as I am a slow learner), but I guess the challenge would be combining custom frames to AceConfig, haha!!
|
Quote:
I'm not saying it just to look humble/modest, I'm saying as a programmer, my config is not something you're looking for. If you're already using Ace* libs, you're better off checking out elvUI config, it's well-organised, really clean and easy to use. |
Quote:
Hope to see a new version of your ls: UI soon :)!! *EDIT: Just had a look at ElvUI's config and seems it's well designed like you said, but bit sad that there is no scrollable list T_T |
Self-promoting but, if you want to try out something else you could take a look at my config library Wasabi.
It's widget-based and takes care of savedvariables automatically, implementing it is rather easy and has the possibility for plugins (although I do take suggestions/pullrequests if it's reasonable). No wiki yet, although the test config should be easy enough to understand. Also no profiles support yet, I'll be implementing that in June. Using the ObjectContainer widget you should be able to implement a scrollable list like you want (everything in Wasabi is automatically made into a scrollable list if it exceeds the height of the parent container). |
Quote:
Just had a time on testing your test code and got few questions. (1) Is one WasabiOptionsPanel shared by all addons that uses Wasabi? EDIT: My bad. It seems to create each panel via :New() and :CreateChild() functions. (2) Would it be possible to modify position/size of sliders externally? (I tried accessing either by calling ObjectSlider or object.Slider and neither of them worked.) (3) What does this part of test code do? Lua Code:
I get other two default tables and understand that you assigned a table with 100 different RGB colors, but I don't really see anything done with those values on ObjectContainer panel. (4) Where could I find CreateObjectContainer function definition? (5) This could be my personal preferences, but do you have any plans to implement faux scrollable list? |
Quote:
The Thumb and Up/Down buttons are only accessible through their global name, but I can change that. Quote:
It not showing up is a bug I just fixed, forgot to update after some Texture method API was changed in Legion. Latest GitHub source has that fixed, but since nothing changed in the core (just the test) I'm not updating it here on wowi. Quote:
Wasabi's internal system exposes the registered widgets to the options panel by prefixing the widget name with "Create", see line 293 and 100 in Wasabi.lua. Quote:
|
Hi p3lim,
Quote:
Lua Code:
EDIT: According to UpdateSlider function in Wasabi.lua (L#252), it seems like Slider is not yet created until this function detects an overflow. Does this mean that I should wait until it being created? Quote:
I wasn't aware of that the APIs changed for textures :p Quote:
Thanks for letting me know :banana: Quote:
Thank you for your consideration :) |
All times are GMT -6. The time now is 06:32 AM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI