Are there any shortcuts for developing GUI?
Well, the thread name says it all. Building the GUI is by far the most time-consuming part of any add-on development, and in some cases definitely the least fun. So are there any shortcuts for it? Any graphic editors or really useful libraries?
|
There are a bunch of libraries (AceGUI-3.0 and friends) as well as other libraries to support Frame related tasks, like LibWindow-1.1, LibMovable-1.0 etc, but I'm not yet decided whether they save you time or add time in the long run :p
AceGUI-3.0 has a bunch of nice widgets but the design intent is mostly to support configuration options so while you can use it to build standalone UIs, you'll come across many quirks that have to do with that first fact. If you subtract the time needed to familiarize yourself with their API I guess they will save you time for project #2, #3 etc down the road. There is no current visual designer (as in IDE) for WoW, there were some previously but they never took off or reached a mature status and are currently abandonware. |
What do you mean by "the design intent is mostly to support configuration options"?
Which reminds me, how on earth do I make my add-on appear in the game's interface options? If that's in any way simpler than building my own frames, I can think of several add-ons that could totally do with that sort of thing. |
This is a good resource for all things Ace3
http://www.wowace.com/addons/ace3/pages/ AceConfigDialog-3.0 is the library for adding options to blizzard's interface panel. |
Quote:
For simple examples that only use the game's native APIs and templates (no libraries or custom templates) check out my addons BetterBattlePetTooltip and PetBattleAutoForfeit. Both create a simple panel in the Interface Options window with a few controls; BBPT only uses checkboxes, and PBAF has a checkbox and sliders. Personally I would never use AceGUI directly, as everything I've read and heard about it makes it out to be a nightmare to work with. I do use AceConfig -- which takes an AceConfig options table, and automatically generates a GUI using AceGUI -- for a couple addons with complex, dynamic options tables (eg. Grid, where you need to dynamically add sections for each status) but for addons with a fixed set of options I prefer to roll my own. It takes about the same amount of code in your addon to write your own checkbox (see BBPT) vs. define a checkbox in an AceConfig table, and writing your own spares you from having to load AceConfig+AceGUI (~250KB). My general view on libraries is that if the library code is significantly larger than the addon code itself, and I can implement the functionality myself in significantly less code without a lot of effort, I should not use the library. This rules out me ever using libraries like AceEvent or AceLocale, but also means I will use LibPetJournal (which nearly doubles the size of my addon) since I'd need approximately the same amount of code to duplicate its functionality myself. Most of my other addons are basically using only native APIs, but I've written my own custom templates instead of using the default ones (eg. sliders with mouse-wheel support, or scrolling dropdown menus) and there are several other addon authors who've done the same (eg. Tekkub's addons use his custom tekKonfig widgets). |
The interface options thing worked like a charm, thanks :D
|
All times are GMT -6. The time now is 03:33 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI