An extension for Grid.
GridLayoutLayouts.lua file contains many "Layouts" to arrange the unit buttons. Sometimes we may find it doesn't meet the needs.
This extension makes it possible to add new layouts in game. And it simplified the code to describe a layout.
Click "Grid - Layouts - Custom Layouts" to bring up a edit frame.
Each line stands for a Unit Button Group. The Grammer is:
attribute1=value1;attribute2=value2;...;attributeN=valueN;
List of the attributes
================================================
showRaid = [BOOLEAN] - true if the header should be shown while in a raid
showParty = [BOOLEAN] - true if the header should be shown while in a party and not in a raid
showPlayer = [BOOLEAN] - true if the header should show the player when not in a raid
showSolo = [BOOLEAN] - true if the header should be shown while not in a group (implies showPlayer)
nameList = [STRING] - a comma separated list of player names (not used if 'groupFilter' is set)
groupFilter = [1-8, STRING] - a comma seperated list of raid group numbers and/or uppercase class names and/or uppercase roles
strictFiltering = [BOOLEAN] - if true, then characters must match both a group and a class from the groupFilter list
sortMethod = ["INDEX", "NAME"] - defines how the group is sorted (Default: "INDEX")
sortDir = ["ASC", "DESC"] - defines the sort order (Default: "ASC")
groupBy = [nil, "GROUP", "CLASS", "ROLE"] - specifies a "grouping" type to apply before regular sorting (Default: nil)
groupingOrder = [STRING] - specifies the order of the groupings (ie. "1,2,3,4,5,6,7,8")
maxColumns = [NUMBER] - maximum number of columns the header will create (Default: 1)
unitsPerColumn = [NUMBER or nil] - maximum units that will be displayed in a singe column, nil is infinate (Default: nil)
The simplify is:
You don't need the entire class/role name, just the start part of it :
WARLOCK or WARLOC or WARL or WL -> "WARLOCK"
WARRIOR or WARR -> "WARRIOR"
MAINT or MT -> "MAINTANK"
MAINA or MA -> "MAINASSIST"
5/2 -> unitsPerColumn="5";maxColumns="2"
PET -> isPetGroup=true
INDEX or NAME -> sortMethod="INDEX" or sortMethod="NAME"
ASC or DESC -> sortDir="ASC" or sortDir="DESC"
STRICT -> strictFiltering="true"
GROUP or CLASS or ROLE -> groupBy="GROUP" or groupBy="CLASS" or groupBy="ROLE"
You don't need to write "groupFilter=", for example:
1,2,3,4,5 is just the same as groupFilter="1,2,3,4,5"
WARR,PAL,DRU is just the same as groupFilter="WARRIOR,PALADIN,DRUID"
If the group name is not group ids and not class or role names, for example:
Abcde,Xyz will be parsed to nameList="Abcde,Xyz"
That's all. A little complicated though. Advanced user only :(
Actually, I don't use this much, just put it here for sharing.
A new attribute was introduced since r6 :
Now you can add a NOREPEAT(NOREP,NOR and NR is just the same) attribute to some header, for example
1;NOR 2;NOR 3;NOR 4;NOR 5;NOR Someone,Anotherone WARRIOR,PAL
In the above layout, the first 5 group will not show any of Someone or Anotherone, nor anyone of WARRIOR or PALADIN.
The 6th group only shows Someone and Anotherone, and if none of them is here, the entire group will not be shown.
The 7th group will show Warriors and Paladins, but not Someone or ANotherone, even their class is war or pal.
- 8 comments
- 8 comments
Facts
- Date created
- 31 May 2009
- Categories
- Last update
- 12 Sep 2009
- Development stage
- Release
- Language
- enUS
- zhCN
- zhTW
- License
- All Rights Reserved
- Curse link
- GridCustomLayouts
- Recent files
- #8
warbaby Fri, 12 Jun 2009 18:26:37Thanks for your inspiring comment... I never thought this mod so helpful(shy:).
I think your problem is an usage problem of recent Grid versions. The layout of each "party_state" is set seperately. In menu "Grid - Layout" there are "Solo Layout, Raid Layout, Heroic Layout, etc". When you save CustomLayouts, it only set your layout of CURRENT party_state. If your raid leader changes difficulty to heroic, Grid will change the layout to the former one you use in that party_state.
If that is the situation, you just need to manually choose the layout in Grid - Layout menu. Hope this helpful.
And I made a patch of origin GridLayout.lua, It solves dc in combat, and add a FORCE LAYOUT menu, which will be used by Grid unless it is set to NONE. I post it here: GridLayout.lua
- #7
reehay Fri, 12 Jun 2009 16:35:43bug report: been noticing that CustomLayouts arent being recalled by Grid. the Customlayout is still saved, but when joining a heroic raid for instance, the unit frames do not reflect the CustomLayout. usually just toggling between a default layout and then back to the CustomLayout fixes this but tonight i had to delete all custom layouts, re-log, then re-type, save, and choose my CustomLayout.
once again, thanks very very much for your efforts. ive been promoting your addon to all my guild members.
- #6
reehay Mon, 08 Jun 2009 08:55:42Warbaby.... thank you sooooo much!!! these examples worked perfectly for what i wanted. and thanks for this addon. i got half my guild using it now.
Grid is now a perfect fit for my UI.
- #5
reehay Thu, 04 Jun 2009 21:42:17woot thanks Warbaby.. this sounds like exactly what i want. will try it when i get home from work.
much appreciated.
- #4
warbaby Thu, 04 Jun 2009 01:38:19Yes, for example :
2 GROUPS, one has 15 units, another has 10 units. The first 5 units of GROUP 1 are in "raid group 1", etc. And the units in GROUP 2 are sorted by their CLASS.
This layout shows only 1 GROUP, but in 2 column (it looks just like there are 2 GROUPs). The first COLUMN shows 13 units, and the second shows 12 units(assume that you are in a 25 raid). And they are sorted by raid group. (The 3rd group is divided into 2 columns).
Oh, actually, by using "groupBy=GROUP" and "groupingOrder=3,2,1,4,5" attribute, you can specify the order of the groups, and the last group may be left out. But you can never specify to individual person.
- #3
reehay Wed, 03 Jun 2009 18:08:05oh ive very sure i have a misunderstanding lol.. this stuff is all very foreign to me. I love Grid but for all its customizability i cant fathom why it doesnt include a more user-defined layout. im assuming there are good reasons why not but i dont understand them.
so basically youre saying - with your addon - the best i can do is create 2 columns of 10 and i cant specify which 5 of the raid will be left out? if so, can you tell me if this is will ever be implemented? or is it an inherent impossibility due to Grid or something?
thanks very much for your reply
edit ok i read your reply a bit closer... so i can make 2 GROUPs which will show units for all 25 players in a Heroic Raid but i can organize them by raid group 1,2,3, etc?
- #2
warbaby Wed, 03 Jun 2009 08:03:21I think you have a misunderstanding with maxColumns and unitsPerColumn.
They are not layout-level attributes, they are group-level (or header-level).
So, a single line with only "maxColumns=3;unitsPerColumn=10" will be illegal, because it doesn't have any groupFilters or nameLists.
An example:
The above layout means that you have two GROUPs.
The first one has 2 columns. Each of the column has 10 buttons. So there will be at max 2*10 units, the rest ones will not be shown. The order who will be shown and who will not, can't be specified.
The second one will show the first 5 units of the 4 tank Classes. Also, you don't know who will be ommited.
- #1
reehay Wed, 03 Jun 2009 06:42:24Need help with a Heroic Raid custom layout. Im not familiar with these commands and im getting errors trying to create three columns - two of them 10-unit columns, one of them 5 units.
I created my Custom Layout and then tried entering:
"maxColumns=3;unitsPerColumn=10"
and
"maxColumns=3
unitsPerColumn=10"
i got an error message and Grid made one single column of 20 or so raid units.
Any help would be greatly appreciated.