Both stratas are set "Background" and like you said, panel#3 should have a lower level than panel#2 but it still jumped to the front after I had created
You need to modify the Level, not the Strata.
Quote from Coldfury »
@ EE: Seems that playing with the color or the transparency of a panel is affecting its order in the Layer.
I've noticed this and I'll try to look into it sometime. Don't know if it's a wow-drawing bug, or my code.
Edit: I've looked over my code, and I see no reason why this should happen. I think it's just a redraw bug in wow's ui code.
Quote from Adeligkrigar »
Edit2: Oh wait. . . could I perhaps just remove the line "THIS:SetWidth(frame:GetWidth())" (I just actually looked at the code just now :P)
Setting up my UI panels, i logged out, and when I logged back in, there are no panel settings to mess with anymore. They just disappeared. All the panels still appear to be there, but I can't mess with their options. Easy fix? Or am i screwed? I had 20+ panels at this point, and was very close to being done.
I got iti back, very strange bug. Had to create a new panel, and then delete it. No errors thrown.
I am using the script from earlier in this thread to dynamically resize a panel against my omen frame. Can I resize 3 panels which are nested to create a border affect? I would basically like them all to resize against the initial panel change + 4 pixels in each direct [or so].
Can this be scripted? Like resize + 4 pixels, or soemthing like that?
I am using the script from earlier in this thread to dynamically resize a panel against my omen frame. Can I resize 3 panels which are nested to create a border affect? I would basically like them all to resize against the initial panel change + 4 pixels in each direct [or so].
Just use the resize script for each one, but don't use setwidth AND setheight both for each border. A horizontal border only needs setwidth, a vertical border only needs setheight, etc.
Quote from Drakonnen »
Is there any potential for adding simplified gradient borders? I read the PDF tutorial and it just seems way too hard to figure out.
Sorry, but no, it can't be made any easier. If you're having a hard time, I suggest downloading a compilation UI. BTW, Saeto also made a video on how to make gradient borders on omgphatloots.org.
I just figured out this so i tough maybe other ppl will find it useful.
If you are using Minichat, and have some panels with border using 1 panel for the bg, and 1 panel for the border.
and you want ur panels to minimize with the chat parent ur bgpanel to ChatFrameX, "Anchor to"&"Anchor from" set as middle.Here's the Lua script.
-- Create a new ace2 addon for hooking
THIS_Hook = AceLibrary("AceAddon-2.0"):new("AceHook-2.1")
-- Create a function to resize the eePanel when the hooked frame is resized
function THIS_Hook:OnSizeChanged(frame, ...)
THIS:SetHeight(frame:GetHeight() + 15) --Note: The "+ 15" is to have a lil gap between panel side and actual text area. Same reason i have my BGPanel width set to 105%.
end
-- Hook to the frame we want to resize against (ChatFrame1 here)
THIS_Hook:HookScript(ChatFrame1, "OnSizeChanged")
Then, parent ur "BorderPanel" to eePanelX(the BGpanel). Anchors in middle too. Set the panel width to fit the desired border since we are not touching it with the script.
And here's the script.
-- Create a new ace2 addon for hooking
THIS_Hook = AceLibrary("AceAddon-2.0"):new("AceHook-2.1")
-- Create a function to resize the eePanel when the hooked frame is resized
function THIS_Hook:OnSizeChanged(frame, ...)
THIS:SetHeight(frame:GetHeight()+10)
end
-- Hook to the frame we want to resize against (ChatFrame1 here)
THIS_Hook:HookScript(eePanelX, "OnSizeChanged") --the eePanelX is the eepanel you want to spy
I'm honestly not sure if this is the right place to put this, but I've been having some trouble with making my .tga's work. Two times in a row (with different textures) I've gotten the first 512x512 block to work, but I can't get any of the other blocks to display for the life of me.
These blocks that have worked have also had extra plain white around the edges that must be from the alpha being too large, my first had a little opaque strip, and my new one (which uses a gradient) has a gradient going from white to clear.
I've read like 3 tutorials on how to get them to work, but they just don't. The size is right, I'm fairly sure the alpha transparencies are right, and I just don't know what I've missed.
I'm gonna upload the PSD, and hopefully a kind soul will take pity on me and make me the .tga's... I'd be forever in their debt (and if you like the look of mine I'd gladly try to skin you up one.)
It's a 1680x1050 size, although only the bottom is being skinned.
The dimensions of all TGA or BLP images loaded by the game must be a square of 2, like: 4, 8, 16, 32, 64, 128, 256, 512, etc, to a maximum size of 512. (But both sides do not need to be the same length.) So 512x512 and 128x256 would work, but 350x162 wouldn't.
The dimensions of all TGA or BLP images loaded by the game must be a square of 2, like: 4, 8, 16, 32, 64, 128, 256, 512, etc, to a maximum size of 512. (But both sides do not need to be the same length.) So 512x512 and 128x256 would work, but 350x162 wouldn't.
Sigh. I created lots of chat panels (bg&border), parented the borders to the panels etc. Then I needed to get rid of the very first eePanel which turned out to be a mistake because the next time i relogged to enable Violation (/reloadui didn't show any errors yet), I got the following errors:
[2007/09/02 19:32:42-195-x1]: eePanels2-2.0\core.lua:1772: eePanel2:SetPoint(): trying to anchor to itself
AceAddon-2.0-46764 (Ace2):927: in function <Interface\AddOns\Ace2\AceAddon-2.0\AceAddon-2.0.lua:920>
<in C code>: ?
AceEvent-2.0-44693 (Ace2):262: in function `TriggerEvent'
AceEvent-2.0-44693 (Ace2):955: in function <Interface\AddOns\Ace2\AceEvent-2.0\AceEvent-2.0.lua:948>
---
[2007/09/02 19:32:47-195-x1]: eePanels2-2.0\core.lua:1772: eePanel2:SetPoint(): trying to anchor to itself
---
Any way to redeem those 8 panels I just made? Or otherwise make eePanels work again other than deleting savedvariables. Or maybe I could manually edit the savedvariables and see if that solves it... Anyway is it possible to avoid that kind of a problem at all?
I am using the script from earlier in this thread to dynamically resize a panel against my omen frame. Can I resize 3 panels which are nested to create a border affect? I would basically like them all to resize against the initial panel change + 4 pixels in each direct [or so].
Just use the resize script for each one, but don't use setwidth AND setheight both for each border. A horizontal border only needs setwidth, a vertical border only needs setheight, etc.
I think I may not have been clear, or I don't understand what you're saying.
I have 3 rectangular panels, which go from small-> medium-> large, and the effect is black/grey/black to create a small border. Using the resize script they dont all grow proportionally. I am not using % for the width/height. I am using specific pixel values to have exact border sizes. Is there a way to use the dynamic resize script, but have the script resize each panel to the size of the one its hooked into, +4 pixels or so in both height and width?
Ok ive ckecked the other posts and rest of forum and was wondering whether some one could help me out here. I have Grid set up with an EEPanel set behind it (textured) that shows up when im in a raid (been using AV as a tester). Now i have set up other panels with the same texture aligned to appear when im in 5 man, 10 man, 15 man 25 man etc.
Now the prob I have is that if i join a 40 man raid all the panels from 5 man upward appear below the 40 man stacked. I was wondering whether there is any way to set the panels to show when in the proper group set up ie 10 man then not appear when im in 25 man.
See screens:
Normal 15 man set up
40 man raid but as u can see 15 man is stacked behind it
40 man how i would like it to look with others raid setup textures hidden.
Any help would be greatly appreciated ....whether pointing me in the right direction or just letting me know it cant be done.
Ok ive ckecked the other posts and rest of forum and was wondering whether some one could help me out here. I have Grid set up with an EEPanel set behind it (textured) that shows up when im in a raid (been using AV as a tester). Now i have set up other panels with the same texture aligned to appear when im in 5 man, 10 man, 15 man 25 man etc.
Now the prob I have is that if i join a 40 man raid all the panels from 5 man upward appear below the 40 man stacked. I was wondering whether there is any way to set the panels to show when in the proper group set up ie 10 man then not appear when im in 25 man.
See screens:
Normal 15 man set up
40 man raid but as u can see 15 man is stacked behind it
40 man how i would like it to look with others raid setup textures hidden.
Any help would be greatly appreciated ....whether pointing me in the right direction or just letting me know it cant be done.
Thanks Drum
Why don't you just make 1 panel with ur texture, and make it resize with Grid?
Ok ive ckecked the other posts and rest of forum and was wondering whether some one could help me out here. I have Grid set up with an EEPanel set behind it (textured) that shows up when im in a raid (been using AV as a tester). Now i have set up other panels with the same texture aligned to appear when im in 5 man, 10 man, 15 man 25 man etc.
Now the prob I have is that if i join a 40 man raid all the panels from 5 man upward appear below the 40 man stacked. I was wondering whether there is any way to set the panels to show when in the proper group set up ie 10 man then not appear when im in 25 man.
See screens:
Normal 15 man set up
40 man raid but as u can see 15 man is stacked behind it
40 man how i would like it to look with others raid setup textures hidden.
Any help would be greatly appreciated ....whether pointing me in the right direction or just letting me know it cant be done.
Thanks Drum
Why don't you just make 1 panel with ur texture, and make it resize with Grid?
um ive tried this but when anchoring to Grid it only seems to anchor to the player box ie Row8 Box 5 and will only show texture when the last box is showing and not before :(
Any way to redeem those 8 panels I just made? Or otherwise make eePanels work again other than deleting savedvariables. Or maybe I could manually edit the savedvariables and see if that solves it... Anyway is it possible to avoid that kind of a problem at all?
The problem is the parent/anchors now reference themselves. You can look for the parent and anchor attributes in your saved vars, and edit them there. Or, you can do this for every panel:
Once you're done, do a /reload and hopefully everything will work again.
Quote from Aestil »
I have 3 rectangular panels, which go from small-> medium-> large, and the effect is black/grey/black to create a small border. Using the resize script they dont all grow proportionally. I am not using % for the width/height. I am using specific pixel values to have exact border sizes. Is there a way to use the dynamic resize script, but have the script resize each panel to the size of the one its hooked into, +4 pixels or so in both height and width?
So, you have overlapping panels in order to create a faux border. It sounds like you've specified a size for each panel. If the panels have the same gap on all four size, you shouldn't set the panel's height/width, but leave them at 100% and modify the inset size. It's much easier, and then you can use the auto resize script and it'll work fine.
Otherwise, you're going to have to add or subtract (depending on how you do it) values to setheight/setwidth functions. Something like this:
-- resize script for outer panel
THIS:SetHeight(SOMEPANELNAMEHERE:GetHeight())
THIS:SetWidth(SOMEPANELNAMEHERE:GetWidth())
-- resize script for middle panel
THIS:SetHeight(OUTEREEPANELNAME:GetHeight()-2)
THIS:SetWidth(OUTEREEPANELNAME:GetWidth()-2)
-- resize script for inner panel
THIS:SetHeight(MIDDLEEEPANELNAME:GetHeight()-4)
THIS:SetWidth(MIDDLEEEPANELNAME:GetWidth()-4)
You'll have to call SetPoint(..) to modify the position of the panels, too, to shift them down. You'll have to lookup the SetPoint function description on WoWWiki.com. I suggest you just use insets.
Quote from Drumwar »
Ok ive ckecked the other posts and rest of forum and was wondering whether some one could help me out here. I have Grid set up with an EEPanel set behind it (textured) that shows up when im in a raid (been using AV as a tester). Now i have set up other panels with the same texture aligned to appear when im in 5 man, 10 man, 15 man 25 man etc.
Now the prob I have is that if i join a 40 man raid all the panels from 5 man upward appear below the 40 man stacked. I was wondering whether there is any way to set the panels to show when in the proper group set up ie 10 man then not appear when im in 25 man.
See screens:
You're going to need to make 3 eePanels, and have each one parented to grid, and give each one a unique texture. Then create a fourth panel to hold a script to modify the 3 previous eePanels. You would have to take the script on the first page for hiding/showing a frame in a raid, and add it as a script. However, instead of just showing/hiding the THIS panel, you would need to do an if then, elseif, elseif, else end statement to modify the visibility of the 3 other panels.
The first if would check to see if the number of party members was greater than 1 and the number of raid members was less than 6, and show the first panel and hide the other two. The first elseif would check if there was more than 5 raid members, but less than 15 raid members. The second elseif would check if there were more than 14 raid members. The else statement would hide all the panels because none of the other conditions were met (probably don't need this since the panels are parented to Grid, but it can't hurt).
The problem is the parent/anchors now reference themselves. You can look for the parent and anchor attributes in your saved vars, and edit them there. Or, you can do this for every panel:
Yep that's what I figured. Thanks to the great filtering function when setting Global values I recreated the frames very quickly though. :) I took a look at the saved variables and thought that it would probably be faster to just recreate the frames. And only after that read about that /script. Thanks to that anyway. Comes in handy if I need to do that stuff again.
You're going to need to make 3 eePanels, and have each one parented to grid, and give each one a unique texture. Then create a fourth panel to hold a script to modify the 3 previous eePanels. You would have to take the script on the first page for hiding/showing a frame in a raid, and add it as a script. However, instead of just showing/hiding the THIS panel, you would need to do an if then, elseif, elseif, else end statement to modify the visibility of the 3 other panels.
The first if would check to see if the number of party members was greater than 1 and the number of raid members was less than 6, and show the first panel and hide the other two. The first elseif would check if there was more than 5 raid members, but less than 15 raid members. The second elseif would check if there were more than 14 raid members. The else statement would hide all the panels because none of the other conditions were met (probably don't need this since the panels are parented to Grid, but it can't hurt).
humm I thought this might be the case...and my scripting is well..humm no existant. Anyway time to start playing round see if i can work out the script ...thanks for the reply and quick response
I am using the script from earlier in this thread to dynamically resize a panel against my omen frame. Can I resize 3 panels which are nested to create a border affect? I would basically like them all to resize against the initial panel change + 4 pixels in each direct [or so].
Just use the resize script for each one, but don't use setwidth AND setheight both for each border. A horizontal border only needs setwidth, a vertical border only needs setheight, etc.
I think I may not have been clear, or I don't understand what you're saying.
I have 3 rectangular panels, which go from small-> medium-> large, and the effect is black/grey/black to create a small border. Using the resize script they dont all grow proportionally. I am not using % for the width/height. I am using specific pixel values to have exact border sizes. Is there a way to use the dynamic resize script, but have the script resize each panel to the size of the one its hooked into, +4 pixels or so in both height and width?
Sorry to bump this question. I'm trying to put the black/grey/black border around omen, which i randomly like to resize. Same for SWS and possibly grid [not sure if you can do that]. this black/grey/black border uses 3 panels. I parent the first panel to the UI element, like Omen, then the next 2 panels get parented to the 1st panel, and then second. The resizing script works perfectly, but it makes all 3 panels the same. I can utilze the background inset size to achieve something similar, using the same 3 panels and this script, but its not exactly the same as the rest of my 'static' panels.
Is there a way to have the script say 'make this panel the same size as the parent, but add 4 pixels'?
Sorry to bump this question. I'm trying to put the black/grey/black border around omen, which i randomly like to resize. Same for SWS and possibly grid [not sure if you can do that]. this black/grey/black border uses 3 panels. I parent the first panel to the UI element, like Omen, then the next 2 panels get parented to the 1st panel, and then second. The resizing script works perfectly, but it makes all 3 panels the same. I can utilze the background inset size to achieve something similar, using the same 3 panels and this script, but its not exactly the same as the rest of my 'static' panels.
Is there a way to have the script say 'make this panel the same size as the parent, but add 4 pixels'?
lol its been like 2 times EE answer you but you dont seem to see it :P
THIS:SetHeight(SOMEPANELNAMEHERE:GetHeight() + 4 ), this will set the panel height same as the parent, but +4 pixels.
Its the exact same code that EE posted above for you but instead of having -2 its +4...
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
You need to modify the Level, not the Strata.
I've noticed this and I'll try to look into it sometime. Don't know if it's a wow-drawing bug, or my code.
Edit: I've looked over my code, and I see no reason why this should happen. I think it's just a redraw bug in wow's ui code.
Yes
I got iti back, very strange bug. Had to create a new panel, and then delete it. No errors thrown.
I am using the script from earlier in this thread to dynamically resize a panel against my omen frame. Can I resize 3 panels which are nested to create a border affect? I would basically like them all to resize against the initial panel change + 4 pixels in each direct [or so].
Can this be scripted? Like resize + 4 pixels, or soemthing like that?
Just use the resize script for each one, but don't use setwidth AND setheight both for each border. A horizontal border only needs setwidth, a vertical border only needs setheight, etc.
Sorry, but no, it can't be made any easier. If you're having a hard time, I suggest downloading a compilation UI. BTW, Saeto also made a video on how to make gradient borders on omgphatloots.org.
Thanks a lot! it helped me a lot! :D
These blocks that have worked have also had extra plain white around the edges that must be from the alpha being too large, my first had a little opaque strip, and my new one (which uses a gradient) has a gradient going from white to clear.
I've read like 3 tutorials on how to get them to work, but they just don't. The size is right, I'm fairly sure the alpha transparencies are right, and I just don't know what I've missed.
I'm gonna upload the PSD, and hopefully a kind soul will take pity on me and make me the .tga's... I'd be forever in their debt (and if you like the look of mine I'd gladly try to skin you up one.)
It's a 1680x1050 size, although only the bottom is being skinned.
Download link://www.divshare.com/download/1828761-56e">DivShare" target="" data-ensure-absolute>http://www.divshare.com/download/1828761-56e">DivShare File - ui2.psd
Thanks in advance! Help would be appreciated sooo much.
~Overshee
Duh how blind can I be >_< thanks. :)
if i get combopoint1 then show eepanel1
hide
if i get combopoint2 then show eepanel1
hide
and so on...
They are 512x512...
Any way to redeem those 8 panels I just made? Or otherwise make eePanels work again other than deleting savedvariables. Or maybe I could manually edit the savedvariables and see if that solves it... Anyway is it possible to avoid that kind of a problem at all?
I think I may not have been clear, or I don't understand what you're saying.
I have 3 rectangular panels, which go from small-> medium-> large, and the effect is black/grey/black to create a small border. Using the resize script they dont all grow proportionally. I am not using % for the width/height. I am using specific pixel values to have exact border sizes. Is there a way to use the dynamic resize script, but have the script resize each panel to the size of the one its hooked into, +4 pixels or so in both height and width?
Now the prob I have is that if i join a 40 man raid all the panels from 5 man upward appear below the 40 man stacked. I was wondering whether there is any way to set the panels to show when in the proper group set up ie 10 man then not appear when im in 25 man.
See screens:
Normal 15 man set up
40 man raid but as u can see 15 man is stacked behind it
40 man how i would like it to look with others raid setup textures hidden.
Any help would be greatly appreciated ....whether pointing me in the right direction or just letting me know it cant be done.
Thanks Drum
Why don't you just make 1 panel with ur texture, and make it resize with Grid?
um ive tried this but when anchoring to Grid it only seems to anchor to the player box ie Row8 Box 5 and will only show texture when the last box is showing and not before :(
The problem is the parent/anchors now reference themselves. You can look for the parent and anchor attributes in your saved vars, and edit them there. Or, you can do this for every panel:
/script eePanels2.db.profile.panels[PANELNUMBER].parent = "UIParent"
/script eePanels2.db.profile.panels[PANELNUMBER].anchor= "UIParent"
Once you're done, do a /reload and hopefully everything will work again.
So, you have overlapping panels in order to create a faux border. It sounds like you've specified a size for each panel. If the panels have the same gap on all four size, you shouldn't set the panel's height/width, but leave them at 100% and modify the inset size. It's much easier, and then you can use the auto resize script and it'll work fine.
Otherwise, you're going to have to add or subtract (depending on how you do it) values to setheight/setwidth functions. Something like this:
-- resize script for outer panel
THIS:SetHeight(SOMEPANELNAMEHERE:GetHeight())
THIS:SetWidth(SOMEPANELNAMEHERE:GetWidth())
-- resize script for middle panel
THIS:SetHeight(OUTEREEPANELNAME:GetHeight()-2)
THIS:SetWidth(OUTEREEPANELNAME:GetWidth()-2)
-- resize script for inner panel
THIS:SetHeight(MIDDLEEEPANELNAME:GetHeight()-4)
THIS:SetWidth(MIDDLEEEPANELNAME:GetWidth()-4)
You'll have to call SetPoint(..) to modify the position of the panels, too, to shift them down. You'll have to lookup the SetPoint function description on WoWWiki.com. I suggest you just use insets.
You're going to need to make 3 eePanels, and have each one parented to grid, and give each one a unique texture. Then create a fourth panel to hold a script to modify the 3 previous eePanels. You would have to take the script on the first page for hiding/showing a frame in a raid, and add it as a script. However, instead of just showing/hiding the THIS panel, you would need to do an if then, elseif, elseif, else end statement to modify the visibility of the 3 other panels.
The first if would check to see if the number of party members was greater than 1 and the number of raid members was less than 6, and show the first panel and hide the other two. The first elseif would check if there was more than 5 raid members, but less than 15 raid members. The second elseif would check if there were more than 14 raid members. The else statement would hide all the panels because none of the other conditions were met (probably don't need this since the panels are parented to Grid, but it can't hurt).
Yep that's what I figured. Thanks to the great filtering function when setting Global values I recreated the frames very quickly though. :) I took a look at the saved variables and thought that it would probably be faster to just recreate the frames. And only after that read about that /script. Thanks to that anyway. Comes in handy if I need to do that stuff again.
humm I thought this might be the case...and my scripting is well..humm no existant. Anyway time to start playing round see if i can work out the script ...thanks for the reply and quick response
Drum
Sorry to bump this question. I'm trying to put the black/grey/black border around omen, which i randomly like to resize. Same for SWS and possibly grid [not sure if you can do that]. this black/grey/black border uses 3 panels. I parent the first panel to the UI element, like Omen, then the next 2 panels get parented to the 1st panel, and then second. The resizing script works perfectly, but it makes all 3 panels the same. I can utilze the background inset size to achieve something similar, using the same 3 panels and this script, but its not exactly the same as the rest of my 'static' panels.
Is there a way to have the script say 'make this panel the same size as the parent, but add 4 pixels'?
lol its been like 2 times EE answer you but you dont seem to see it :P
THIS:SetHeight(SOMEPANELNAMEHERE:GetHeight() + 4 ), this will set the panel height same as the parent, but +4 pixels.
Its the exact same code that EE posted above for you but instead of having -2 its +4...