kgPanels

kgPanel Wiki

r2

kgPanels is the successor to eePanels2. Its designed for lightweight use and quick load times. It has almost all of the features of eePanels2 and sports the following additional features. See in FAQ in the config menu for details. kgPanelsConfig, is a seperate LOD mod to configure kgPanels. This helps keep the weight down and only loads when you tell it.
/kgpanels for options.

Credit to stilus for updating the wiki

  • Texture rotations, flipping and mirroring
  • Modular scripts
  • Addon dependencies for scripting
  • Parenting and Anchoring to other pkPanels by user defined name
  • Text support
  • Built-in Artwork library
  • Import/Export capabilites to share your layouts with other users.

Screen shots

Artwork Window
Layout Screen
Main Menu
Texture Options
Built-in FAQ
Panel Settings
Artwork Preview
Import Menu
Text Settings

Config

General Options

Contains both a checkbox to enable/disable kgPanels and layout options.

Layouts

Here you can create a layout in order to save it to use later or export it for others to use. You can also import layouts here.

To activate, export, delete, or rename a layout simply select it from the list of layouts which appear when you expand the Layouts menu item.

Exporting and importing is a simple copy/paste of a very large string of text containing information about all the panels in a given layout.


Art Library

Custom artwork for panels can be added here. Simply enter a name for your artwork to be referenced within kgPanels, select what type it is (Background or Border), and enter the path to the artwork.

Its recommended creating a directory within WoW's \Interface\AddOns directory: e.g.: {WoW_Install_Root}\Interface\AddOns\textures

This is because a reinstall or update to kgPanels (or any other mod) would wipe out any files in their folders placed there by users.

Some caveats:

  • Images must be in TarGA (.tga) format.
  • Dimensions must be powers of 2, e.g.: 2, 4, 8, 16, 32, 64, 128, 256, 512
  • Width and Height don't have to match (you can have an image that is 128px by 512px) but you cannot exceed 512px on either side.
  • When entering the path to your custom artwork, you must use \\ as folder separators, as well as starting the path with \\. To specificy an image path using Kagaro's example above you'd enter: \\Interface\\AddOns\\textures\\myCustomArtwork.tga
  • You can create an image, save it, and load it in kgPanels while keeping WoW running, without needing to reload the UI. However, once you have loaded the image this way, if you make any changes and save the image while WoW is running, you'll have to reload the UI to see them.

Default Panel Options

Fairly self explanatory, this has a single panel definition that can be used as a template for new panels you create.

There are seven sets of options for Panels:

General Settings

  • Intercept Mouse Clicks checkbox: Does just what it says.
    • When unchecked, you will be able to click on a UI or world object behind the panel and interact with it normally.
    • When checked, the panel will prevent you from clicking on things behind it. Keep in mind that you will need this enabled if you plan to attach scripts to a panel that use OnLeave, OnEnter, or OnClick mouse events.
  • Lock Panel checkbox: Prevents the panel from being moved or resized using the mouse. You can still define dimensions and location in the panel's config menu.
  • Remove Panel button: normally this would remove the selected panel from a layout entirely.
  • Copy & From dropdowns: Specify a panel attribute (or all of them) and the panel to copy them from to the current panel.
  • Rename: Renames the panel.

Color And Opacity Settings

  • Panel Opacity slider: Goes from 0% (fully transparent) to 100% (fully opague).
  • Background Color Style dropdown & Background Color picker: Dropdown contains 3 options: Gradient, None, and Solid.
    • When Gradient is selected, the color picker affects the left side of a horizontal gradient and the bottom side of a vertical gradient.
    • When Solid is selected it affects the entire panel's background.
    • If you want a custom texture to appear then you must select None.
  • Background Gradient Style dropdown & Background Gradient Color picker: Allows you to change from a horizontal to vertical gradient, if you selected Gradient above. The color picker affects the color of the right side of a horizontal gradient and the color of the top of a vertical gradient.
  • Background Color Blending: Unfortunately I can't seem to discern what this does in a predictable way. Blending mode determines how the alpha component is applied to the texture. check WowWiki for more info on Blending modes.

Position Settings

  • Panel Width & Panel Height textboxes: Here you can adjust the width and height of a panel (measured in pixels).
  • X & Y Offset textboxes: This adjusts the panel's position on the screen, the offset is from the panel's anchor.
  • Level slider: Adjusts a panel's Z-Index within its Strata. A panel with a Z-Index of 0 will appear behind a panel with a Z-Index of 20 unless the first panel is in a higher Strata than the second.
  • Strata dropdown: Selects the Strata your panel will reside in. Like the Z-Index Level this affects whether panels appear in front of or behind various UI objects. According to WoWWiki, the order from lowest to highest (note there are some other Strata layers that aren't used in kgPanels):
    • Background
    • Low
    • Medium
    • High
    • Dialog
    • Tooltip
  • Scaling slider: adjusts the overall size of a panel. Goes from 10%-200%.

Parent And Anchor Settings

  • Parent Frame textbox: Enter the frame that you want this panel to be a child of. Be aware that it will inherit certain properties from its parent, and certain mods that recycle frames can cause unpredictable behavior when attaching a panel as a child of a recycled frame.
  • Anchor Frame textbox: This sets the frame that your panel's anchoring (and by extension, positional offset settings) will be based on. Be aware that this doesn't have to be the same as the panel's parent frame.
  • Anchor From dropdown: Sets the point on the panel that anchors to its Anchor Frame.
  • Anchor To dropdown: Sets the point on the panel's anchor frame that the panel anchors to.

Texture Options

  • Background Texture
    • Name dropdown: Select a texture for the panel's background from those available (Blizz, SharedMedia, or Custom).
    • Rotate slider: Rotate the selected texture.
    • Flip Horizontally & Vertically checkboxes: Flips the selected texture horizontally and vertically on the panel.
    • Tile Background checkbox & Tile Size slider: Checking scales the texture to the selected Tile Size and tiles it over the background of the panel.
  • Border Texture
    • Name dropdown: Select a texture for the panel's border from those available (Blizz, SharedMedia, or Custom).
  • Border Edge Size slider: Adjusts the thickness of a selected border texture (measured in pixels).
  • Background Insets textboxes: Allows you to set an inset for the background texture in order to create additional room for border textures.

Text Options

  • General Text Settings
    • Text textbox: Input the text you'd like to appear on the panel here.
    • Font Color picker: Choose the color of the text on your panel.
    • Font Size slider: Set the font size of the text on your panel. Goes from 6-30.
    • Font: Set the font you want to use, please note this font list is provided by SharedMedia.
  • Text Positioning textboxes: Allow you set the X and Y Offsets (from the center of the panel) of your entered text.

Scripts

Allows you to specify an AddOn dependency for custom scripts on your panel, and to enter your own custom scripts for the following frame event callbacks on the panel:

  • OnLoad: Scripts run when the panel is loaded in the UI. For OnEvent Scripts you'll generally want to register events to the panel here. (Example: this:RegisterEvent("CHAT_MSG"); will cause the panel frame's OnEvent scripts to fire when a chat message is recieved. See the full list. You won't necessarily be able to utilize all of these.)
  • OnEvent: Scripts run when events registered with the panel frame are fired.
  • OnUpdate: Scripts run after processing of events and user actions, but before UI elements are drawn on the screen.
  • OnShow: Scripts run just before a hidden panel frame is shown.
  • OnHide Scripts run when a visible panel frame is hidden.

Requires "Intercept Mouse Clicks" to be enabled on panel:

  • OnEnter: Scripts run when the mouse cursor enters the panel frame.
  • OnLeave: Scripts run when the mouse cursor leaves the panel frame.
  • OnClick: Scripts run when the panel frame recieves a mouse-click.

Active Panels

Contains a textbox for entering the name of a new panel, as well as buttons to create the panel based on the defined default template or not. You also access the config menus of panels you have created here, which contain the same config options detailed above.

FAQ

The ingame FAQ is better read ingame rather than repeated here.

Profiles

Allows you to have entirely separate kgPanels settings for each character, realm, or class. Additionally there is also a default profile and you can create your own.