I was looking for an add-on that allowed me to order the groups in grid by name so as to make it easier to sync layouts with other healers using other raid frames. The only problem i'm having with GCL atm tho is that i have no idea how to use it. Once installed i dont appear to be able to get it to work. The only difference i've noticed is that group layouts get a GCL option and the scroll bar in the layouts tab stops working. Any advice on how to get this add-on working would be greatly appreciated.
Currently using
Grid: 1.40000.1403
GCL: r67 (tried 0.2.3 beta as well)
Tbh, I haven't been working on this addon for some time, and what is worse, I haven't leveled my healer yet. If you look at the date of the last update, you'll see that it was based on the beta, since I haven't touched it since Cata release. I'll get on it soon, although it's also true that I have never gotten much feedback or requests for this to be updated. Still, I will be doing it.
All that is to say, it could be broken, although this is the first feedback I've heard on it.
Unfortunately, there is no way to force a given order within groups, and alphabetical is not one of the orders that Blizz offers in the group headers used by grid. So, no, there isn't a way to order the groups by name.
Unfortunately, there is no way to force a given order within groups, and alphabetical is not one of the orders that Blizz offers in the group headers used by grid.
Umm... Grid sorts units within a group alphabetically by default, and supports all three of the available "sortMethod" attribute values: "INDEX", "NAME", and "NAMELIST".
See FrameXML/SecureGroupHeaders.lua for a full list of layout attributes with details:
--[[
List of the various configuration 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
point = [STRING] -- a valid XML anchoring point (Default: "TOP")
xOffset = [NUMBER] -- the x-Offset to use when anchoring the unit buttons (Default: 0)
yOffset = [NUMBER] -- the y-Offset to use when anchoring the unit buttons (Default: 0)
[B]sortMethod = ["INDEX", "NAME", "NAMELIST"] -- defines how the group is sorted (Default: "INDEX")[/B]
sortDir = ["ASC", "DESC"] -- defines the sort order (Default: "ASC")
template = [STRING] -- the XML template to use for the unit buttons
templateType = [STRING] - specifies the frame type of the managed subframes (Default: "Button")
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 infinite (Default: nil)
startingIndex = [NUMBER] - the index in the final sorted unit list at which to start displaying units (Default: 1)
columnSpacing = [NUMBER] - the amount of space between the rows/columns (Default: 0)
columnAnchorPoint = [STRING] - the anchor point of each new column (ie. use LEFT for the columns to grow to the right)
--]]
Grid supports everything except template, templateType, startingIndex, xOffset, yOffset, columnSpacing, and columnAnchorPoint, which are set/overwritten by GridFrame and/or GridLayout.
Yikes. Sorry, my answer was absolutely wrong . . . haven't been working on this in way too long. My sieve-like memory thought it was by index, though if I had thought a little harder I would have remembered that there were both options.
Even worse, I had no memory at all of an attribute that preserved the order from the name list, and it frankly would be very helpful, because it means that my module could in fact sort in an arbitrary order by re-ordering name lists (ooc only, but still helpful).
Ah well. I really need to get back to this, as I believe it also needs some fixing (last version is pre Cata release, based on beta). Which also means I should level my healer.
Once again, sorry for the wrong answer. I definitely should have done a little memory refresher before answering here.
My mistake a few weeks ago drove me to dive back into this mod and create an updated version. A little embarrassment can go a long way ;)
I have an alpha up that has a number of improvements. First off, the GUI has been moved out to its own tab in the Grid options, since this module has so many options of its own. This fact alone should tell you that it is not necessarily for the faint of heart, it really is very configurable.
The biggest change is that I have added sorting capabilities to the module which let you sort within groups not only by name and index, but also by role and class. Included in this is the ability to specify the sort order (i.e. Tanks, Healers, Melee, Ranged). You can also force yourself to appear at the beginning of your group.
A number of questions and requests I have had in the past have been impossible without this functionality, so I decided it was worth it. For example, you can now put an entire ten man in one or two rows sorted by role. Used in conjunction with GridStatusRole, this can be a visually easy to look at arrangement of the raid.
There are one or two small features I would like to add before pushing it to beta, but the main thing I need is some testing. If anyone finds these features interesting and potentially useful, it would really help me a ton to have some testers and feedback.
If there is something that I could realy use regarding player sorting within Grid, is the setup posted by james31, and one other feature I would like to have is to be able to put a "Tanks first/Alphabetical after" kind of sorting. This would mean that if 3 players in group 1 are tanks, and 1 person in group 2 is tank, then first 3 rows of group 1 will contain tanks first, alphabetically, and after, 2 players, alphabetically sorted, regardless of being dps/healer. Also the top player in group 2 would be the g2 tank, and the rest under it, in alphabetical order.
This seem to be the only thing I can't do at this point in Grid, and I would really appreciate if you could continue the work, cause it is an useful addon.
The new menu in grid containing the options from this addon is empty in r72 version, and the version from curse does not display group sorting at all. Is there any version that has group sorting enabled?
Thank You for a nice addon.
I'm not sure exactly why you don't see any options in r72, but as I have fixed a fair number of bugs since then, I would suggest trying r73. If you don't see options there, I would really like to hear about it.
At the moment, you can either sort by role (or class, or index), or sort alphabetically. So if you want tanks first in the group, you have two options: you either sort by role and live with the other roles also being sorted behind the tank (not sure why this would be a problem, but definitely not going to tell you what you should want), or you can target the tanks and click them into namelists, then check the box that puts the namelist ahead of the rest (sorted alphabetically).
Frankly, I would not, myself, use the second possibility. The namelists can be very useful in a pinch when you need something special, but I wouldn't want a setup that required me to update namelists each time the group composition was different.
Technically, what you are asking is not difficult, but it seems rather special, and I can't think of a clean and generalized way to offer it. If you can, describe it to me, and I'll consider it.
I understand wanting tanks at the top of groups. In BH, for example, that is what I use as well. But it really doesn't bother me that below them I have melee, healers, ranged (or whatever order you choose), rather than players alphabetically.
Hmm. I just went out for a cigarette and thought about it. It doesn't seem so tough to present this after all. I will look at the code a little later, and if it isn't too bad, I'll add that possibility for you.
The way I would present it is to add an "Everyone Else" check box which, when clicked, grays out any remaining categories for sorting. So, say you were creating a role sort order, you could then click "Tanks" to put them first, then "Everyone Else", and then save the order, and it would do what you are asking.
So, as I said, I'll have a look. I don't think it will be too much trouble.
First of all, Thank You for the interest in continuing the work.
So here is what I did.
I installed versions of this addon down to r70. From this point it started to appear the options in the GCL submenu. I have absolutely no idea why it did not appear first.
About the sorting sugestion. I seen now what the addon can do, although I am not absolutely sure I understood perfectly the 2 options about using Blizzard tanks and overriding with roles.
What I want to do now is to present you the situation I want to "solve", since I am sure you might come up with a better solution that I could think of. So here it is:
In my guild raids, only thing that we really use, (and most guilds do so), is the "Promote to Main Tank" option from Raid View. Now the problem is that it happens that raid leader uses "Role Check" instead of "Ready Check" (he should start doing it from somewhere else not from the dropdown menu of his own frame, I know..). Every healer knows that healing is also a process of learning people positions, as it will help with reactions. What I really want to do is to have an option that takes into consideration only the "Promote to Main Tank" option from Raid View, cause I am trying to avoid one of the following things/I find this things better:
- Having people moved around when someone selects healer/dps role is a focus loss/performance loss for me.
- Since most of the healers in my guild use Grid, but they use the standard "alphabetical order", I would rather have all healers have pretty much the same order in grid, for the sake of assignments (Chimaeron for example), but tanks specifically do not make a big difference.
I think I explained well, why I would love to have the option to sort only by that, and to ignore the new tank/dps/healer roles. If my explaining is not good enough please ask me to give more details where you see fit.
Also, the configuration solution you provided seems to be good enough for what I wanted, as long as "Everyone Else" is sorted like everyone else using grid.
I also found 2 bugs:
- I modified this myself in the file "GridConfigurableLayouts.lua" , and the code sequence is loking now like this(there was some space between the frames):
if horizontal then
adjustX = 0
if groupAnchor == "TOPLEFT" or groupAnchor == "TOPRIGHT" then
adjustY = -10
else
adjustY = 10
end
else
adjustY = 0
if groupAnchor == "TOPLEFT" or groupAnchor == "BOTTOMLEFT" then adjustX = 0
else
adjustX = 10
end
end
- one other bug was that the black background behind the frames disappeared.
By the way, I am installing now latest version, to see how exactly it works, so please "forgive" me if those have already been fixed in latest version.
Thank You,
I will be watching this thread, to see what other info I can provide.
Cerbul, thanks for taking an interest and for giving all this feedback.
I will answer the first part of your post, about the unit order you are looking for, in a little while. I don't have time to answer everything right now. This post is about the two details you mention at the end of your post:
I also found 2 bugs:
- I modified this myself in the file "GridConfigurableLayouts.lua" , and the code sequence is loking now like this(there was some space between the frames):
- one other bug was that the black background behind the frames disappeared.
The space between the frames is intentional. It is only there if you tell GCL to create individual borders around the groups instead of using Grid's single bordered frame around all of the groups.
The black background behind the frames disappears because the whole point of using the custom borders is that they replace the single border and background that Grid uses.
It sounds like what you want visually is to turn off the GridConfigurableLayouts group borders and just use the normal Grid border and background. To turn this off, just go to the options for the layout you are using, to the "General" sub-menu, and un-check "Replace Grid Border with Group Borders". If you really want the background but not the border, all you would do is set the border style to "none" in the normal layout options tab for Grid, not in this module's options.
I am planning on changing the group border functionality a bit, but not in the way you are talking about: What I will be doing is respecting Grid's settings for spacing and background WITHIN the custom borders, so that the individual borders will reproduce the look that you choose in the Grid layout section for the default Grid frame. I will also be using the normal Grid padding setting to set the space between groups, and only add in the actual border thickness of the new borders.
But as I said, that is very different from what you are suggesting.
I will post again about the order of units in a little while.
Well, seems like I had enabled "Replace Grid Border with Group Borders", and since I am using background only and hidden border, I ended up seeing empty space. So the "bugs" are not bugs at all, sorry for that..
I tested this and works okay.
About pets. I really like the fact that I can "disable" warlock pets, but my question is how about if I don't want any player pets to appear except for friendly bosses, or mind controlled mobs? I might doing it wrong not bothering much about healing pets, but I would have to enable pets every time there is a boss like Instructor Razuvious in Wotlk - Naxxramas. It would be really handy to be able to select "Mindcontrolled/Friendly units pets" or something like that in the list.
I have just tagged a Beta version. I believe I have addressed all of the known issues except for the handling of special characters in name lists. I'll try to get to that asap.
Cerbul, mind controls are not necessarily easy to single out. I could add priest pets as an option to the list, but that would only catch normal mind controls. In the case of Razuvious, for example, that would not work. Mind-controls are just treated as pets of whatever toon controls them, so class filters won't get you anywhere, and I am not aware of any way to filter by how the pet was acquired.
I think you already found that you can now select for sorting only the classes / roles you want at the top, and the rest of the group members will appear below alphabetically. I believe that is what you were looking for with putting the tanks at the top of the group but keeping the rest alphabetical.
Yes, the sorting by role option is exactly how I wanted it, thank you very much.
About the pets, can I have the following setup:
Lets say that I enable pets and set group 6 as being pets group, but in the filtering menu I uncheck all types of pets, so that mind controled mobs/bosses would be the only pets that would appear. Would this work, or are there any kind of player related pets that I can't uncheck?
The problem is that a pet is, by definition, someone's pet, and that someone has a class. If, on the Raz fight you give as an example, you have a warlock doing the mind-control, then, if you don't include warlock pets, the mind-control won't show. So class filters don't help at all with what you want to do.
There is, I suppose, a way of doing it, but it's academic because I am not going to do this, and I don't see why anyone else would. What you would have to do, as far as I can tell, is create a namelist filter on the pets, set the attribute to use the pets' names in the filters, and then make a namelist that includes all of the possible mob names for the mind controls. As long as nobody gave their pet a name identical to any of the possible mind-control mobs, I suppose that would work. But it's definitely not worth it just as a way of filtering for mind-controls.
Either I missunderstood you completely, but anyway I need to test out if enabling pets in grid will add that mind controlled mob to grid or not.
From what I understood, is it that a mind controlled mob will still be a priest pet?
Isn't it viable to simply "disable" priest pets that are called "Shadowfiend", like that will remain to be displayed those that are mind controlled mobs?
In 10 ppl version of Naxx, there was a posibility to use that "globe on pillar", to make the mobs mind controlled, are those that player pet? You are sugesting that the multitude of dk and hunter pet names will make it impossible to track the difference between a hunter pet and a mind controlled by the hunter boss?
Either I missunderstood you completely, but anyway I need to test out if enabling pets in grid will add that mind controlled mob to grid or not.
From what I understood, is it that a mind controlled mob will still be a priest pet?
Yes.
Isn't it viable to simply "disable" priest pets that are called "Shadowfiend", like that will remain to be displayed those that are mind controlled mobs?
No. Name filtering cannot be inverted. You can't include mind controls but exclude other pets for the same class, except by putting all possible npc names in a name list BEFORE combat. In fact, you cannot use name filtering at all if you want to filter by player class.
In 10 ppl version of Naxx, there was a posibility to use that "globe on pillar", to make the mobs mind controlled, are those that player pet?
Yes.
You are sugesting that the multitude of dk and hunter pet names will make it impossible to track the difference between a hunter pet and a mind controlled by the hunter boss?
No. Since name filtering cannot be inverted, the problem is the number of possible npc mind-control targets whose names would have to be listed, presumably in separate lists for each dungeon or zone. The names of the normal pets are irrelevant as long as they are not the same as any npc.
Thank you very much for the clarification, I will have to live with all pets in order to take advantage of the npcs being added. Hmm, I guess that I better start healing pets ;)
Currently using
Grid: 1.40000.1403
GCL: r67 (tried 0.2.3 beta as well)
http://img696.imageshack.us/f/gclsn.jpg/
Sorry for the delay in answering.
Tbh, I haven't been working on this addon for some time, and what is worse, I haven't leveled my healer yet. If you look at the date of the last update, you'll see that it was based on the beta, since I haven't touched it since Cata release. I'll get on it soon, although it's also true that I have never gotten much feedback or requests for this to be updated. Still, I will be doing it.
All that is to say, it could be broken, although this is the first feedback I've heard on it.
Unfortunately, there is no way to force a given order within groups, and alphabetical is not one of the orders that Blizz offers in the group headers used by grid. So, no, there isn't a way to order the groups by name.
Umm... Grid sorts units within a group alphabetically by default, and supports all three of the available "sortMethod" attribute values: "INDEX", "NAME", and "NAMELIST".
See FrameXML/SecureGroupHeaders.lua for a full list of layout attributes with details:
Grid supports everything except template, templateType, startingIndex, xOffset, yOffset, columnSpacing, and columnAnchorPoint, which are set/overwritten by GridFrame and/or GridLayout.
Even worse, I had no memory at all of an attribute that preserved the order from the name list, and it frankly would be very helpful, because it means that my module could in fact sort in an arbitrary order by re-ordering name lists (ooc only, but still helpful).
Ah well. I really need to get back to this, as I believe it also needs some fixing (last version is pre Cata release, based on beta). Which also means I should level my healer.
Once again, sorry for the wrong answer. I definitely should have done a little memory refresher before answering here.
Thanx for catching it, Phanx.
My mistake a few weeks ago drove me to dive back into this mod and create an updated version. A little embarrassment can go a long way ;)
I have an alpha up that has a number of improvements. First off, the GUI has been moved out to its own tab in the Grid options, since this module has so many options of its own. This fact alone should tell you that it is not necessarily for the faint of heart, it really is very configurable.
The biggest change is that I have added sorting capabilities to the module which let you sort within groups not only by name and index, but also by role and class. Included in this is the ability to specify the sort order (i.e. Tanks, Healers, Melee, Ranged). You can also force yourself to appear at the beginning of your group.
A number of questions and requests I have had in the past have been impossible without this functionality, so I decided it was worth it. For example, you can now put an entire ten man in one or two rows sorted by role. Used in conjunction with GridStatusRole, this can be a visually easy to look at arrangement of the raid.
There are one or two small features I would like to add before pushing it to beta, but the main thing I need is some testing. If anyone finds these features interesting and potentially useful, it would really help me a ton to have some testers and feedback.
Thanks very much!
This seem to be the only thing I can't do at this point in Grid, and I would really appreciate if you could continue the work, cause it is an useful addon.
The new menu in grid containing the options from this addon is empty in r72 version, and the version from curse does not display group sorting at all. Is there any version that has group sorting enabled?
Thank You for a nice addon.
I'm not sure exactly why you don't see any options in r72, but as I have fixed a fair number of bugs since then, I would suggest trying r73. If you don't see options there, I would really like to hear about it.
At the moment, you can either sort by role (or class, or index), or sort alphabetically. So if you want tanks first in the group, you have two options: you either sort by role and live with the other roles also being sorted behind the tank (not sure why this would be a problem, but definitely not going to tell you what you should want), or you can target the tanks and click them into namelists, then check the box that puts the namelist ahead of the rest (sorted alphabetically).
Frankly, I would not, myself, use the second possibility. The namelists can be very useful in a pinch when you need something special, but I wouldn't want a setup that required me to update namelists each time the group composition was different.
Technically, what you are asking is not difficult, but it seems rather special, and I can't think of a clean and generalized way to offer it. If you can, describe it to me, and I'll consider it.
I understand wanting tanks at the top of groups. In BH, for example, that is what I use as well. But it really doesn't bother me that below them I have melee, healers, ranged (or whatever order you choose), rather than players alphabetically.
The way I would present it is to add an "Everyone Else" check box which, when clicked, grays out any remaining categories for sorting. So, say you were creating a role sort order, you could then click "Tanks" to put them first, then "Everyone Else", and then save the order, and it would do what you are asking.
So, as I said, I'll have a look. I don't think it will be too much trouble.
So here is what I did.
I installed versions of this addon down to r70. From this point it started to appear the options in the GCL submenu. I have absolutely no idea why it did not appear first.
About the sorting sugestion. I seen now what the addon can do, although I am not absolutely sure I understood perfectly the 2 options about using Blizzard tanks and overriding with roles.
What I want to do now is to present you the situation I want to "solve", since I am sure you might come up with a better solution that I could think of. So here it is:
In my guild raids, only thing that we really use, (and most guilds do so), is the "Promote to Main Tank" option from Raid View. Now the problem is that it happens that raid leader uses "Role Check" instead of "Ready Check" (he should start doing it from somewhere else not from the dropdown menu of his own frame, I know..). Every healer knows that healing is also a process of learning people positions, as it will help with reactions. What I really want to do is to have an option that takes into consideration only the "Promote to Main Tank" option from Raid View, cause I am trying to avoid one of the following things/I find this things better:
- Having people moved around when someone selects healer/dps role is a focus loss/performance loss for me.
- Since most of the healers in my guild use Grid, but they use the standard "alphabetical order", I would rather have all healers have pretty much the same order in grid, for the sake of assignments (Chimaeron for example), but tanks specifically do not make a big difference.
I think I explained well, why I would love to have the option to sort only by that, and to ignore the new tank/dps/healer roles. If my explaining is not good enough please ask me to give more details where you see fit.
Also, the configuration solution you provided seems to be good enough for what I wanted, as long as "Everyone Else" is sorted like everyone else using grid.
I also found 2 bugs:
- I modified this myself in the file "GridConfigurableLayouts.lua" , and the code sequence is loking now like this(there was some space between the frames):
if horizontal then
adjustX = 0
if groupAnchor == "TOPLEFT" or groupAnchor == "TOPRIGHT" then
adjustY = -10
else
adjustY = 10
end
else
adjustY = 0
if groupAnchor == "TOPLEFT" or groupAnchor == "BOTTOMLEFT" then
adjustX = 0
else
adjustX = 10
end
end
- one other bug was that the black background behind the frames disappeared.
By the way, I am installing now latest version, to see how exactly it works, so please "forgive" me if those have already been fixed in latest version.
Thank You,
I will be watching this thread, to see what other info I can provide.
I will answer the first part of your post, about the unit order you are looking for, in a little while. I don't have time to answer everything right now. This post is about the two details you mention at the end of your post:
The space between the frames is intentional. It is only there if you tell GCL to create individual borders around the groups instead of using Grid's single bordered frame around all of the groups.
The black background behind the frames disappears because the whole point of using the custom borders is that they replace the single border and background that Grid uses.
It sounds like what you want visually is to turn off the GridConfigurableLayouts group borders and just use the normal Grid border and background. To turn this off, just go to the options for the layout you are using, to the "General" sub-menu, and un-check "Replace Grid Border with Group Borders". If you really want the background but not the border, all you would do is set the border style to "none" in the normal layout options tab for Grid, not in this module's options.
I am planning on changing the group border functionality a bit, but not in the way you are talking about: What I will be doing is respecting Grid's settings for spacing and background WITHIN the custom borders, so that the individual borders will reproduce the look that you choose in the Grid layout section for the default Grid frame. I will also be using the normal Grid padding setting to set the space between groups, and only add in the actual border thickness of the new borders.
But as I said, that is very different from what you are suggesting.
I will post again about the order of units in a little while.
I tested this and works okay.
About pets. I really like the fact that I can "disable" warlock pets, but my question is how about if I don't want any player pets to appear except for friendly bosses, or mind controlled mobs? I might doing it wrong not bothering much about healing pets, but I would have to enable pets every time there is a boss like Instructor Razuvious in Wotlk - Naxxramas. It would be really handy to be able to select "Mindcontrolled/Friendly units pets" or something like that in the list.
Cerbul, mind controls are not necessarily easy to single out. I could add priest pets as an option to the list, but that would only catch normal mind controls. In the case of Razuvious, for example, that would not work. Mind-controls are just treated as pets of whatever toon controls them, so class filters won't get you anywhere, and I am not aware of any way to filter by how the pet was acquired.
I think you already found that you can now select for sorting only the classes / roles you want at the top, and the rest of the group members will appear below alphabetically. I believe that is what you were looking for with putting the tanks at the top of the group but keeping the rest alphabetical.
About the pets, can I have the following setup:
Lets say that I enable pets and set group 6 as being pets group, but in the filtering menu I uncheck all types of pets, so that mind controled mobs/bosses would be the only pets that would appear. Would this work, or are there any kind of player related pets that I can't uncheck?
There is, I suppose, a way of doing it, but it's academic because I am not going to do this, and I don't see why anyone else would. What you would have to do, as far as I can tell, is create a namelist filter on the pets, set the attribute to use the pets' names in the filters, and then make a namelist that includes all of the possible mob names for the mind controls. As long as nobody gave their pet a name identical to any of the possible mind-control mobs, I suppose that would work. But it's definitely not worth it just as a way of filtering for mind-controls.
I don't see any other way. Sorry.
From what I understood, is it that a mind controlled mob will still be a priest pet?
Isn't it viable to simply "disable" priest pets that are called "Shadowfiend", like that will remain to be displayed those that are mind controlled mobs?
In 10 ppl version of Naxx, there was a posibility to use that "globe on pillar", to make the mobs mind controlled, are those that player pet? You are sugesting that the multitude of dk and hunter pet names will make it impossible to track the difference between a hunter pet and a mind controlled by the hunter boss?
Yes.
No. Name filtering cannot be inverted. You can't include mind controls but exclude other pets for the same class, except by putting all possible npc names in a name list BEFORE combat. In fact, you cannot use name filtering at all if you want to filter by player class.
Yes.
No. Since name filtering cannot be inverted, the problem is the number of possible npc mind-control targets whose names would have to be listed, presumably in separate lists for each dungeon or zone. The names of the normal pets are irrelevant as long as they are not the same as any npc.