WoWInterface

WoWInterface (http://www.wowinterface.com/forums/index.php)
-   General Authoring Discussion (http://www.wowinterface.com/forums/forumdisplay.php?f=20)
-   -   Are there any shortcuts for developing GUI? (http://www.wowinterface.com/forums/showthread.php?t=48571)

Malsomnus 11-24-13 10:19 AM

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?

Dridzt 11-24-13 10:29 AM

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.

Malsomnus 11-24-13 10:48 AM

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.

Dridzt 11-24-13 12:11 PM

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.

Phanx 11-25-13 03:27 AM

Quote:

Originally Posted by Malsomnus (Post 287417)
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.

Yes, using the Interface Options window is easier than building your own config frame. It also provides a more convenient and consistent experience for users.

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).

Malsomnus 11-25-13 09:47 AM

The interface options thing worked like a charm, thanks :D


All times are GMT -6. The time now is 10:08 PM.

vBulletin © 2018, Jelsoft Enterprises Ltd
© 2004 - 2017 MMOUI