|Create and modify background panels|
|Category||Interface Enhancements Addons|
|OptionalDeps||Ace2, DewdropLib, FuBar, FuBarPlugin-2.0|
|Betas||Ace SVN Zip|
aims to ease the creation and basic modification of panels (frames) through a fubar/dewdrop menu system. Currently, you can modify the size, position, background color, border color, opacity, some limited texture support, and more.
- What eePanels Is Not
This is not Skinner. This addon doesn't modify your existing frames, and isn't meant to. While it's possible to mimic some of Skinner's functionality by setting a panel's Parent value, it's main purpose is to allow you to quickly and easily create new panels and display textures on your screen.
Likewise, it's not Aperture. It has no built-in way to modify your viewport settings. Again, you can somewhat mimic this affect by creating black panels, setting the width or height to 100%, and moving them to the sides of your screen.
If you want the functionality of either of these mods, it's best that you use them. This mod will not replicate their behavior.
- Screenshot using textures from XArt: 
- Forum Post
- If you have any questions, bug submissions, or requests, please post them them in the thread: http://www.wowace.com/forums/index.php?topic=3141.0
- Creating & Displaying Textures by Demisirius
- General Tutorial by Seito
- Creating Panels
When you move to the New Panel, there a two options: From Global Settings and From Default Settings. What's the difference between the two? From default settings will basically just create a panel on your screen based on the addon's default settings. From global setting will create the panel based on any global value settings you've set.
- Moving A Panel
You can either move a panel by changing a panel Horizontal/Vertical , or unlocking the panels and drag them around with the mouse.
By default, the horizontal (x), and vertical (y) position of your panel is based on the panel's top-left corner in relation to the bottom-left corner of the game screen. Therefor, if you want to keep [the entire area of] a panel visible, you shouldn't set it's vertical value lower than the height of the panel. This behavior is different if you change a panel's parent under advanced mode.
Note:If the panel's highlight color is yellow when it's unlocked, then it can't be moved by mouse. Only blue-green colored panels can be moved. Please see: 'Changing A Panel's Parent'
- Resizing A Panel
You can resize a panel by changing it's Height or Width values. You may enter pixel values, or percentages. This percentage is based on the panel's parent (which is the entire game window by default). Percent values can include a decimal, such as 33.33% You can also resize a panel by unlocking the frames, and moving dragging a frame from the bottom-right corner of the frame.
Note: If the panel's highlight color is yellow when it's unlocked, then it can't be resized by mouse. Only blue-green colored panels can be resized. Please see: 'Changing A Panel's Parent'. There's also a 16x16 size limit on a ppanel you resize by mouse. This is to make sure you don't accidently resize a panel too small that you can't see it. If you need to make a panel smaller, you will have to do it by menu.
- Global Settings
The Global Settings option panel displays some of the options available in the individual panel options. These options allow you to modify the settings of all existing panels, and any new panels created from global settings. This allows you to easily create a theme for all your panels.
- Using Gradients
When in gradient mode, the background color and background gradient color determine the overall gradient. Due to how gradients work, you have to have the background color set to something besides absolute black (it's default setting) for the gradient to change anything besides the gradient's alpha
- Using Background Textures (Images)
If you want to modify the background texture/image, you'll first need to turn on the 'Advanced Mode' switch to have the options available to you.
Textures must be in .tga or .blp format (I suggest using tga), and must be uncompressed, 32-bit depth (which is 24-bit + alpha). The size of the texture must also be a power of 2. Some examples of valid image sizes are: 16x16, 32x32, 128x256. I believe there's also a maximum size limit of 512x512. These are all restrictions imposed by the WoW game client, not the addon. These requirements must be met in order to display an image/texture.
To set the texture, you need to specify a path to the texture file. For instance, if you wanted to set the texture to the icon used by eePanels, you could set the texture to: \\Interface\\Addons\\eePanels\\icon.tga. If you want to supply your own texture, place the texture in the eePanels directory, and use the same format.
By default, the icon will stretch to fit the panel. This is because tiling is turned off by default. If you keep tiling off, you'll need to modify the height/width of the eePanel so that it has the same ratio of the texture so that it doesn't look distored.
Tiling stops the image from stretching. Instead, the image will duplicate itself across the panel as many times as possible, based on the tile size. The tile size will set the size height and width of the texture to whatever pixel size you've entered.
Important:The background color/opacity/blend mode all affect the texture's visibility. If you know the texture is right (for instance, you're using my icon image above), but can't see the texture, make sure the panel is transparent, or that the blend mode is set how you need it. It's also possible if you have tiling enabled that you've set a tile size so large, you can't actually see the image. Double check these settings.
- Changing A Panel's Parent
The parent is the frame which the eePanel is bound to. By default, this is UIParent, which represents the entire game windows. Panels inherit properties from their parent. For instance, if the parent frame is hidden, the eePanel is hidden. If the parent frame is moved, then the eePanel will move. When set to UIParent, everything behaves like normal. If you change the parent to something besides UIParent, the width/height are both set to 100%. The x,y coordinates are also both set to 0 (you'll want this since a panel's position is now relative to the position of it's parent). If you change back to the UIParent, the panel's position/size will reset to the default.
When you change the panel's parent, you may notice that the eePanel doesn't seem to fill the entire area of it's parent. This padding is caused by two things: the background inset size, and the border edge size. To fill the entire area, you can either set the edge size to near-zero, and set the inset size to 0, or you can set the frame width/height to be larger than it's currently set to, and change the x,y values to 5,-5 respectively.
- How to find a frame's name
1) Put the following in a macro: /print GetMouseFocus():GetName() 2) Use the macro to get the name of whatever frame your mouse is hovering over Note: When the parent isn't set to UIParent, you won't be able to move the panel using the move when the frames are set to unlocked. You can still move the panels using the menu settings. The highlight color of unlocked panels that have a non-UIParent parent is yellow, while 'normal' panels have a blue-green highlight color.
Note2: The parent functionality can't do everything we would like. For instance, it can't auto-resize itself when a panel is resized. There can also be other problems which may crop up if you try to use another addon's frame as a parent. These problems can't be helped without turning the eePanels into something similar to Skinner (which won't happen). If you need that functionality, you will need to use another addon, like the previously mentioned Skinner.
Known Bugs / Issues
- My settings won't save, and my panels reset every time I log out/in
- This may be caused by upgrading from an old version of eePanels, however the exact reason hasn't' been found. Going into your World of Warcraft\WTF\Account\YOUR_ACCOUNT_NAME\SavedVariables folder, and delete the file name eePanels.lua. This will cause a new database to be created to save your settings, and should resolve your problem.
- I sometimes notice buggy behavior with panels I make, but they seem to 'fix themselves' when I relog
- Whenever you delete an eePanel or reset your eePanels layout, you should always perform a /reload! Without being too technical, it's possible for a deleted frame to conflict with a new frame. This is because frames can't be destroyed until you reload the user interface or relog, and the eePanel# names can conflict. For this reason, you should always reload you UI.