vanilla-wow-addons – Rev 1
?pathlinks?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="GENERATOR" content="PageBreeze Free HTML Editor (http://www.pagebreeze.com)">
<title>FlexBar_GUI_Panels</title>
</head>
<body bgcolor="#ffffff">
<p align="center"><strong><em><font size="5">Flex Bar has some GUI
stuff</font></em></strong></p>
<p align="left"><strong>Flexbar is arcane:</strong> Okay - this criticism holds
water -- the programmer of Flexbar found Vi to be user friendly. The heavy
reliance on slash commands stems from both that and the fact that editing GUI
elements in WoW is a royal pain.</p>
<p align="left">However, Flexbar 1.37 has several GUI panels to make some things a
bit easier. </p>
<ul>
<li>
<div align="left">Global Options - from here you can set things such as verbose
level, tooltips, load speed and more</div>
<li>
<div align="left">Event Editor -- Forget countless tries of /flexbar xxx on xxxx
- The event editor makes adding, editing and deleting events much
easier. It includes context sensitive lists of potential values for each
parameter -- makes remembering the spelling of some of my longer event names
much easier.</div>
<li>
<div align="left">Performance Panel -- Set event checking for some of the CPU
hogs to off or low to get better performance. There is a penalty for
some of this, if you turn of Unit Buffs (or set it to low) the conditionals
unitbuff/unitdebuff/unitdebufftype will not work. However, in most cases
(particularly isusable, enoughmana, cooldown, inrange) setting to low is a
very good idea.</div>
<li>
<div align="left">Scripts Editor -- A simple text editor that will allow you to
write scripts/macros/config files up to 10240 characters, save them to
SavedVariables.lua and run them as script/macro/configs from the editor.
A saved macro/script can later be used in runmacro/script or flexmacro/script
commands.</div>
<li>
<div align="left">Auto Items Manager -- A simple panel to allow you to toggle
on/off auto items.</div></li></ul>
<p align="left"><em>For all windows - escape will close any
open menus, if there are no open menus it will close any open GUI panels, if
there are no open GUI panels it will close the FlexBar Main Menu, if it isn't
open it will behave like normal.</em></p>
<p align="left"><em>Look in KeyBindings in the Main Game Menu for direct bindings
to the FlexBar main menu and to all these panels.</em></p>
<p align="left"><strong>Global Options</strong></p>
<ol>
<li>
<div align="left">Load Speed: This defaults to std
(standard) which has a pause in it before loading the profile. The
reason for this was a poor design decision early on in FlexBar that caused WoW
to store where it thought some of the buttons should be. The conflict
cause some of them to move. I have fixed this in the XML - BUT, if you
have had flexbar before then those locations are cached. If you want to
use fast load, go to your World of Warcraft\WTF\Account\<account
name>\<character name>\ directory to the layout-cache.txt
file. Remove all entries with "FlexFrame" in them (or delete it
entirely). This may cause some of your empty buttons to show a clear
background - just drag an action them, then remove it, that will fix it.
Now you can toggle fast load. Safe load is a holdover from the lost
configurations, there should be no need for it now.</div>
<li>
<div align="left">Detailed Feedback: Also known as
verbose mode, this gives a great deal of feed back on the actions FlexBar is
taking. Keep it off most times for your sanity.</div>
<li>
<div align="left">Hide Tooltips: Check to hide
FlexBar Button tooltips</div>
<li>
<div align="left">Force Shading: This will enable
buttons to automatically shade red if they are out of range, green if they are
unusable and blue if they don't have enough mana.</div>
<li>
<div align="left">Auto Performance: Check to have
FlexBar try to automatically set your event notification level. For any
event group which does not have one of its events int he event list, that
event group will be turned off (see performance panel). For any event
group with an event in the event list, it will be set to low. Please be
aware of the potential problems this will cause with certain
conditionals. See performance panel for details.</div></li></ol>
<p align="left"><strong>Event
Editor:</strong></p>
<p align="left">The most powerful part of FlexBar is also its
most difficult to manage - taking actions on events. Among the problems
I've seen are: Long and not consistently named events, a lack of
understanding of the possible targets for events and a cumbersome interface for
editing/adding/deleting events.</p>
<p align="left">Enter the Event Editor window:</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p align="left">At the top is a scrolling list of events
(scroll with either the large arrow buttons on the top left or with your
scroll wheel). To the right of each event are 5 buttons - EDT (edit this
event), DEL (insert above this line), DEL (delete this event), a down arrow
(swap this event with the one underneath it) and and up arrow (swap this event
with the one above it).</p>
<p align="left">At the bottom is a set of entry boxes for
the various parameters of an event - most with drop-down menus accessed by the
down arrow to the right. For every event the following fields are
available:</p>
<ol>
<li>
<div align="left">On=
This is the event name to watch for. The drop down list is
prepopulated with EVERY event that FlexBar currently raises. If you
hand type the event, single quotes are still required. On tabbing out
of this box, the drop down arrow to the second box becomes available.</div>
<li>
<div align="left">Target= This is
the target that raised the event. The drop down menu will contain a
list of possible targets <em>if the are available</em>. Most events have a limited list of possible
targets. Some, however, I was unable to enumerate when I wrote
this. Among those are buff names, debuff names and aura names and
combat targets. What I've had FlexBar do is keep track of every
buff/debuff/combat type/aura name it sees so it eventually will give you a
better list of these. One thing you should do is turn the event group
Unit Combat to high and go melee a bit to populate that list with the 5
actions in your native language.</div>
<li>
<div align="left">If
= This
has a dual drop down - one a list of conditionals and the other a list of
(,),and,or,not - use these to build your if expression. One thing it
does not have is auto target fill in for the conditions, you'll still have
to do that manually.</div>
<li>
<div align="left">Command= This is the command you
want to execute on that event, the drop down shows a list of all commands
that can be do on an event. On selecting a command, a series of
parameter boxes appear with drops downs for each paramter the command can
take.</div>
<li>
<div align="left">In= This
is the delay to wait before executing the command. Delay is in tenths
of a second</div>
<li>
<div align="left">Tname= This
the optional name for the timer started with the In= parameter, using this
name the timer can be terminated</div>
<li>
<div align="left">TToggle= The only
value for this is 'true' - if it is true, then if a timer is already running
with that name, it is cancelled.</div></li></ol>
<p align="left">Below this are the command specific
parameters</p>
<p align="left">Finally there are two buttons -</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<ul>
<li>
<div align="left"><Save All Changes> saves the
current event to the event list</div>
<li>
<div align="left"><Cancel All Changes> erases the
current event info</div></li></ul></blockquote>
<p dir="ltr" align="left">See the topic "Advanced Use: Events, Delays and
Conditionals" for examples.</p></blockquote>
<p dir="ltr" align="left"><strong>Performance Panel:</strong></p>
<p dir="ltr" align="left">FlexBar has a lot going on under the hood, and this brings
up justified worries about its impact on framerates. In order to address
this, the Performance Panel allows you to customize Event detection and
reporting to reduce CPU load.</p>
<p dir="ltr" align="left">Every event is part of an Events Group (see the detailed
list of events for the group name for each event). The performance panel
has a button for each group with options of Off, Low and High.</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p dir="ltr" align="left"><strong>OFF</strong> At this setting the events in
the group will not be raised at all, moreover the least amount of processing
takes place determining that we don't want to do it (for polled events like
isusable, inrange etc, the timer on which these states are checked are turned
off. For events that happen off of WoW events, we exit in the first line
of the handler) For some (like buttonpresses) it just disables reporting
(so we don't process the event list - although it is a negligible savings,
since that routine exits immediately if we don't have any commands attached to
that event)</p>
<p dir="ltr" align="left"><strong>LOW</strong> At Low, the event is
processed, but it is raised only for those targets that are specified in the
events list. IE: if the only usable event we have in the list is
Show Button=1 on='IsUsable' Target=1, then on low setting it will only raise
IsUsable for button 1, not the rest. Moreover, for items like
not/isusable, outof/nowinrange, (not)enoughmana, cooldownmet/start - it only
loops through the buttons we are interested - potentially avoiding a
tremendous amount of cpu usage. For other events it merely restricts
reporting. For many events Low and High are indistinguisable (for those
events with no target need).</p>
<p dir="ltr" align="left"><strong>HIGH</strong> The default state, scan
every target, report every target. Potentially CPU expensive for button
the events mentioned in Low because it requires scanning each of 120 buttons
for an action, then for the mana/range/usable/cooldown state of teh button of
buttons with an action.</p></blockquote>
<p dir="ltr" align="left"><strong>Important Caveat:</strong> Several
conditionals
(UnitBuff/UnitDebuff/UnitDebuffType/HasBuff/HasDeBuff/HasDebuffType) are
dependent on the event group of the associated events being turned to high to
always produce accurate results. If it is turned to Low, then these
conditionals will only be accurate for units specified as targets of one of the
events. If you are a class with buffs or the ability to dispell debuffs, I
recommend this either be turned to High, or (in the case of having Auto
Performance set) you include the units you are interested in in dummy
events: EG Runscript Script='do end' on='UnitBuff' Target=['player'
'party1' 'party2' 'party3' 'party4'] -- this will force FlexBar to keep
this info up to date.</p>
<p dir="ltr" align="left"> </p>
<p dir="ltr" style="MARGIN-RIGHT: 0px" align="left"><strong>Scripts
Editor:</strong></p>
<p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">The FlexBar scripts editor
provides a (very) simple note-pad like editor that can hold 10240
characters. There are some quirks to it: Hitting home or end will
take you to the beginning/end of the whole edit box, not the line as in a
regular editor. If you hit return at the bottom of the editor and it is
the last line in the script the cursor will dissappear below the border until
you start typing -- just keep an extra blank line at the bottom to avoid
this. Clicking in the box sometimes causes a large portion to be
highlighted, be careful.</p>
<p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">At the bottom of the window are
several UI elements</p>
<ul dir="ltr">
<li>
<div style="MARGIN-RIGHT: 0px" align="left">The Script Name
Edit box, this is where you'll type in the name of a script to be
loaded, deleted or saved to. To the right of this box is a down arrow
that will show a list of all saved scripts - clicking on one will load its name
in the Name edit box, right-clicking will load the script into the editor as
well.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left">Run - as <Script> -- This
button will execute the contents of the script box as Lua code. Do not
use this option for FlexBar commands or Macro (slash) commands - it will just
give you an error. </div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left">Run - as <Macro> -- This
button executes each line as though you had typed it at the command line of
WoW. Do not use this for lua code or multiple flexbar commands (the
first it will just say the lua code, the second causes timing issues with some
commands).</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left">Configuration - Management
<Config> -- This button executes the lines in the file as FlexBar
commands with the proper delay between them to help prevent timing
issues.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left">Configuration - Management
<Import> -- The original implementation of configs had them in
FlexBar_Config.lua - this has problems, but people would like to edit/keep
those. Using this button, the editor will search for that config in the
config.lua file and load it as a series of flexbar commands.
Recommended: Import each config and resave it to
SavedVariables.lua.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left">Configuration - Mangement
<Restore> -- Each time you run <Config> a copy of the old
profile is stored to a <strong><em>temporary</em></strong> undo buffer.
This buffer only holds the last profile and only lasts until
logoff/reloadui. Hitting <Restore> will bring that profile
back.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left"><Save> -- Saves the current
text block to the named location. This will overwrite any previous text
block of that name without warning.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left"><Delete> -- Delete the named
text block - this will delete without warning.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left"><Load> -- Load the named text
block into the editor</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left"><List> -- Pop up a scrolling
list of all text blocks - not as nice as the new drop down.</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left"><Close> -- Close script
editor</div>
<li>
<div style="MARGIN-RIGHT: 0px" align="left"><New> -- Erase current
text editor contents.</div></li></ul>
<p style="MARGIN-RIGHT: 0px" align="left"><strong>Auto Items Manager:</strong></p>
<p style="MARGIN-RIGHT: 0px" align="left"><strong>Note:</strong> Auto items are no longer <font
size="3">necessary </font>
for
the most part. as of WoW patch 1.6 most of this functionality is built into the default button
interface, and thus into Flexbar buttons. </p>
<p style="MARGIN-RIGHT: 0px" align="left">This window displays a scrolling list of
all usable items that you have in your action bar (such as potions, bandaids and
the like). To the left of each item is a check box, to the right the
number of them you have and the ID at which they reside. Checking the box
will cause FlexBar to try to make those items stick in that ID slot: When
you run out it will keep the icon in there and it will try to reload them into
that ID when you get more.</p>
<p style="MARGIN-RIGHT: 0px" align="left">When you run out of an Auto Item, an
event is raised (autoitemout) as is an event when they are replaced in the
action bar.</p>
<p style="MARGIN-RIGHT: 0px" align="left">If you are out of an Auto Item it is
still displayed in the box - until you uncheck it, at which time it will
dissappear.</p>
<p style="MARGIN-RIGHT: 0px" align="left">Auto Items can not be dragged out of
their buttons, nor can other actions be dragged onto them.</p>
</body>
</html>
Generated by GNU Enscript 1.6.5.90.