This file is part of FlexBar2.

FlexBar2 is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

FlexBar2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with FlexBar2.  If not, see <http://www.gnu.org/licenses/>.
--------------------
FlexBar2 slashcommand reference

Notes
	This page is also available online at http://www.wowace.com/wiki/FlexBar2/Help/Reference
	The button and group parameter are interchangable after a group has been declared, if a group 'heals' contained buttons 1 to 3 then button=1-3 would be the same as group=heals
	You can apply something to all buttons by using button=*
	Arguments put between round brackers in this reference are optional
	Buttons are ALWAYS processed in alphabetical order, so 2;1 is the same as 1;2
	The flexbar2 slashcommands can be called with /fb, /fb2, /flexbar2 and /flexbar2

Button Management commands
	/flexbar2 create button=<Buttons>
		Create buttons
		examples:
			Create 3 buttons
				/flexbar2 create button=1-3

	/flexbar2 delete button=<Buttons>
		Delete buttons
		examples:
			Delete all buttons
				/flexbar2 delete button=*
		aliases:
			/flexbar2 rm
			/flexbar2 remove
			/flexbar2 del


Group management commands
	/flexbar2 group button=<Buttons> group=<Group name>
		Add buttons to a certain group, if the group doesn't exist, it will be created.
		examples:
			Add buttons 1 to 3 to the 'heals' group
				/flexbar2 group button=1-3 group=heals

	/flexbar2 ungroup button=<Buttons>
		Remove the selected buttons from their group. If this causes a group to be empty, that group will be removed.
		examples:
			Ungroup all buttons
				/flexbar2 ungroup button=*

Profile management commands
	/flexbar2 getprofile
		Get the name of the current profile

	/flexbar2 setprofile profile=<Profile name>
		Change the current profile to chosen profile name, this is done on the fly, no relogging is needed.
		examples:
			Set the current profile to shadowspec
				/flexbar2 setprofile profile=shadowspec

	/flexbar2 copyprofile profile=<Profile name>
		Copy an existing profile into the current one
		examples:
			Copy the character dependant profile into our current profile
				/flexbar2 copyprofile profile=char


Module related commands
	/flexbar2 setmodule module=<Module name> enable=<true/false>
		Enable or disable a module. USE WITH CARE. Does not need a reloadui.
		examples:
			Disable the TextSubs module completely
				/flexbar2 setmodule module=TextSubs enable=false
			ReEnable the TextSubs module
				/flexbar2 setmodule module=TextSubs enable=true


Layout related commands
	/flexbar2 blizz show=<true/false>
		Toggle the blizzard main menu bar on or off
		examples:
			Turn blizzard bar off
				/flexbar2 blizz show=false


	/flexbar2 tocursor button=<Buttons>
		Move a button to the cursor's actualy position
		examples:
			Move button 1 to the cursor's position
				/flexbar2 tocursor button=1
	

	/flexbar2 setscale button=<Buttons> scale=<Scale>
		Set the scale of a button
		examples:
			Scale buttons 1 to 3 to 70% of their normal size
				/flexbar2 setscale button=1-3 scale=0.7
		default: 1

	
	/flexbar2 unlock button=<Buttons>
		Unlock buttons so they can be dragged
		examples:
			Unlock all buttons so we can reposition everything
				/flexbar2 unlock button=*
	

	/flexbar2 lock button=<Buttons>
		Lock all buttons so they can no longer be dragged
		examples:
			We're done positioning buttons, lock everything
				/flexbar2 lock button=*


	/flexbar2 settexture button=<Buttons> texture=<Texture path>
		Override the texture on a button to one of your choice
		examples:
			Replace the texture on the button 1 by an alliance vs horde flag
				/flexbar2 settexture button=1 texture=Interface\Glues\CharacterCreate\UI-CharacterCreate-Factions.blp
			Use the default texture again
				/flexbar2 settexture button=1

		aliases:
			/flexbar2 texture


	/flexbar2 line button=<Buttons> (rows=X) (columns=Y) (space=<Space between buttons)
		Line buttons in the specified number of rows or columns with the space given between them (default space is 37)
		examples
			Make all buttons from the 'heals' group be in one vertical line
				/flexbar2 line group=heals rows=1
			Position button 2 exactly left from button 1
				/flexbar2 line button=1;2 columns=1 space=-37

	/flexbar2 settype button=<Buttons> type=<Type>
		Set the type of a button. For internal use only, should not be used, yet.

	/flexbar2 setposition button=<Buttons> x=<X coordinate> y=<Y coordinate> (smart=<true/false>)
		Set the position of a specific button to (X, Y). If multiple buttons are specified and smart is set to true (its true by default) they will be aligned in rows of 12
		examples:
			Set button 1 to the bottomleft corner of the screen
				/flexbar2 setposition button=1 x=0 y=0
		aliases:
			/flexbar2 position

	
	/flexbar2 show button=<Buttons>
		Show certain buttons
		examples:
			Show buttons 1 to 3
				/flexbar2 show button=1-3
			Show all buttons
				/flexbar2 show button=*

	
	/flexbar2 hide button=<Buttons>
		Hide certain buttons
		examples:
			Hide all buttons
				/flexbar2 hide button=*


Debugging commands
	/flexbar2 debug debug=<true/false>
		Set debugging to true or false.
		default: false
		aliases:
			/flexbar2 setdebugging
			/flexbar2 debugging
			/flexbar2 setdebug


	/flexbar2 getrevision
		aliases:
			/flexbar2 getrev
			/flexbar2 rev


	/flexbar2 list (button=<Buttons>)
		gives a list of groups if the button parameter is given, gives a list of buttons if the button parameter is given. (Hint: button= can be replaced with group=<groupname> to list the buttons in a group)
		examples:
			List all buttons not groups
				/fb list button=*
			Tell me what groups are active
				/fb list
			Tell me what buttons are in the 'heals' group
				/fb list group=heals


Keybinding commands
	/flexbar2 setbinding button=<Buttons> binding=<Key>
		Binds a key to a button, will accept multiple buttons as long as the amount of buttons is equal to the amount of bindings
		examples:
			Bind buttons 1 to 3 to keys 1 to 3
				/flexbar2 setbinding button=1-3 binding=1-3
			Bind button 1 to K, button 2 to L, button 3 to M
				/flexbar2 setbinding button=1-3 binding=K;L;M
			Unbind the keybindings on all buttons
				/flexbar2 setbinding button=*
		aliases: /flexbar2 bind, /flexbar2 binding


Text substition commands
	/flexbar2 settext button=<Buttons> field=<1-5> text=<text>
		Sets the value on a text field
		Text field numbering:
			topleft: 1
			topright: 2
			bottomright: 3
			bottomleft: 4
			center: 5
		examples:
			Put the value that DrDamage normaly puts on an action button on the bottom left of all buttons (will only work if DrDamage is loaded)
				/flexbar2 settext button=* field=4 text=$(drd)
			Set the center field to never show anything on buttons 1 to 3
				/flexbar2 settext button=1-3 field=5 text=
		defaults:
			field 1: empty
			field 2: show keybinding: $(key)
			field 3: show the amount of times the action is still in the inventory: $(itemcount)
			field 4: empty
			field 5: show cooldown: $(cd)
		aliases: 
			/flexbar2 text


Attribute related commands
	/flexbar2 setattribute button=<Buttons> attribute=<Attribute name> value=<Attribute value>
		Sets a certain attribute to a certain value on the selected button. USE WITH CARE
		aliases:
			/flexbar2 setattr
			/flexbar2 attr
			/flexbar2 attribute
	

	/flexbar2 setmodifiedattribute button=<Buttons> attribute=<Attribute name> value=<Attribute value>
		Sets a certain attribute to a certain value on the selected button while taking the current state into account. USE WITH CARE
		aliases:
			/flexbar2 setmodattr
			/flexbar2 modifiedattribute
			/flexbar2 modattr


	/flexbar2 setremap button=<Buttons> (shapeshift=<true/false>) (target=<true/false>)
		Tell the selected buttons if they should remap on shapeshifts or not and if they should remap on targets or not.
		examples:
			Configure button 1 to remap on shapeshifts
				/flexbar2 setremap button=1 shapeshift=true
			Configure button 2 to remap on friendly, hostile and no target
				/flexbar2 setremap button=2 target=true
			Configure button 3 to remap both on shapeshifts and friendly, hostile & no target
				/flexbar2 setremap button=3 target=true shapeshift=true
		aliases:
			/flexbar2 remap
	

	/flexbar2 clearattributes button=<Buttons>
		Clear all attributes on the selected buttons, this has as result that they will be totaly blank again and will not remap anymore. USE WITH CARE
		examples:
			Totaly clear buttons 1 to 3
				/flexbar2 clearattributes button=1-3
		aliases:
			/flexbar2 clear


Action related commands
	/flexbar2 unlockaction button=<Buttons>
		Unlock certain buttons so actions can be dragged off them
		examples:
			Unlock buttons 1 to 3
				/flexbar2 unlockaction button=1-3
		aliases:
			/flexbar2 actionunlock
	

	/flexbar2 lockaction button=<Buttons>
		Lock certain buttons so actions can not be dragged off them
		examples: 
			Lock buttons 1 to 3
				/flexbar2 lockaction button=1-3
		aliases:
			/flexbar2 actionlock


Tooltip related commands
	/flexbar2 settooltip button=<Buttons> tooltip=<true/false>
		Enables or disables the tooltip on certain buttons
		examples:
			Disable the tooltip on all buttons
				/flexbar2 settooltip button=* tooltip=false
			Enable the tooltip on buttons 1 to 3
				/flexbar2 settooltip button=1-3 tooltip=true
		aliases:
			/flexbar2 tooltip

THATS IT FOLKS. SPARTA WILL RULE THE WORLD !
