kgPanels

Create panels for customizing your UI, sucessor to eePanels

Wiki and FAQ

Sample Scripts

OnClick now provides a pressed and released variable you can check for.

if pressed then
  -- do mouse down actions
elseif released then
  -- do mouse up actions
end

This means your script will get called twice when someone clicks the panel.

Here is a youtube link to a video Tutorial

Ive created an Example Texture Pack.

This example pack is just a template. If you want to use it as a storage spot for your art, look at the read me file for directions on usage.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of kagaro kagaro Oct 30, 2010 at 00:22 UTC - 0 likes

    Loom927: if you have libsharedmedia installed correctly and something adding fonts to libsharedmedia they will show up in the dropdown

  • Avatar of Velran Velran Oct 29, 2010 at 16:52 UTC - 0 likes

    Hello, I'm having trouble adding fonts to kgpanels. I've tried various methods people have posted on different forums, but they didn't work. Please can you help me?

    I already have SharedMedia.

  • Avatar of DasFaultier DasFaultier Oct 28, 2010 at 17:30 UTC - 0 likes
    kgPanels.db.global.layouts[kgPanels.active]["KgPanel15"].scripts["LOAD"] = "local class = UnitClass("player")
    self:SetBackdropBorderColor(RAID_CLASS_COLORS[class].r,
    RAID_CLASS_COLORS[class].g, RAID_CLASS_COLORS[class].b, 0.7)"
    

    Throws following error: kgPanels: [string "Menu_Color_Class_OnClickUp"]:1: unfinished string near '")' But if you say, that's messy, can i make something like this: If i click Panel A, it will change the AlphaLevel of Frame B with "FrameB:SetAlpha(0.1)" and because of that Panel C will change it'S color, because of "if FrameB:GetAlpha() == 0.1 then self:SetBackDropColor(1, 1, 1) elseif FrameB:GetAlpha() == 0.2 then ..." and so on? And the change of the Alpha is permament?

    Edit: i just re-found your tip to make a panel remember it's last status [Hide/Show] >>just add a variable to the panel. >>like self.wasHidden = false

    i really don't know how you've ment that. See, i'm really good at using pre-defined functions, but unkowns functions or selfdefined ones are more than worse. So, i don't know how to make it work. i would like to get it work almost the one above: if i hide a frame, it's status will be remembered and considering of it's status, antoher frame will coler itself. But how?

    Last edited Oct 29, 2010 by DasFaultier
  • Avatar of kagaro kagaro Oct 27, 2010 at 20:22 UTC - 0 likes

    The OnLoad script, isnt executing cause kgPanels fakes OnLoad as the panels can be created well before the parents and ancors exists. The faked OnLoad is done via a hidden function called InitScripts, which in turns runs the attached onLoad after the parents and anchors come into existence. Also OnLoad in your context below would never work, as by time you can fetch the panel, OnLoad has already executed. (onLoad works best with XML files as it calls that after CreateFrame executes.) So your best is instead of fuding the onLoad, to directly just set the backdrop and alhpa. IF you want this to be permanement base on clicks, then your gonna need to mess with the saved variables

    kgPanels.db.global.layouts[kgPanels.active]['KgPanel5"].scripts["LOAD"] =" You script as text here"
    

    I Really dont advise you doing that, as you could corrupt your saved variables.

    As for the first function, where are you defining it? if you want to make it global to your scripts I suggest more along the lines of: In an OnLoad script

    kgPanels.MoveTo = function(...)
    .. code here ...
    end
    

    so in OnClick you could do kgPanels:MoveTo(self, .....)

  • Avatar of DasFaultier DasFaultier Oct 27, 2010 at 20:09 UTC - 0 likes

    Hey Kagaro.

    I worked out 2 Scripts with a mate, but they don't want to work. Both are called by 'OnClick' First, to move a panel out of the frame:

    function kgPanels_MoveTo(Panel, newX, newY, moveDelay, moveStep, SavedTime)
    	if GetTime()-SavedTime <= moveDelay then
    		local point, relativeTo, relativePoint, posX, posY = Panel:GetPoint()
    		if posX == newX and posY == newY then return end
    		if posX < newX then
    			posX = posX+(moveStep or 1)
    		end
    		if posY < newY then
    			posY = posY+(moveStep or 1)
    		end
    		if posX > newX then
    			posX = newX
    		end
    		if posY > newY then
    			posY = newY
    		end
    		Panel:SetPoint(point, relativeTo, relativePoint, posX, posY)
    		SavedTime = GetTime()
    		kgPanels_MoveTo(Panel, newX, newY, moveDelay, moveStep, SavedTime)
    	end
    end
    -- Usage: kgPanels_MoveTo(frame, posX, posY, interval (seconds), steps, GetTime()) - kgPanels_MoveTo(self, 1000, 1000, 0.1, 10, GetTime()) - will move frame "self" to 1000, 1000. Moving 10 pixels every 0.1 seconds.
    

    and second, to Change the OnLoad script of a frame by clicking another frame:

    local Panel5 = kgPanels:FetchFrame("KgPanel5")
    Panel5:SetScript("OnLoad", self:SetBackdropBorderColor(0.77, 0.12, 0.23, 1)) 
    self:SetAlpha(0.5)
    

    Both of them don't work. Any ideas?

  • Avatar of 3dfxorchid 3dfxorchid Oct 19, 2010 at 16:02 UTC - 0 likes

    how is it to make in an simple script to show the money from a char, i only found big scripts, is this posible to make?

    mfg

  • Avatar of kagaro kagaro Oct 19, 2010 at 00:52 UTC - 0 likes

    ok applied a fix that should resolve the issues

  • Avatar of kagaro kagaro Oct 19, 2010 at 00:05 UTC - 0 likes

    bear with me, im trying to fix 2 problems without causing people to change anything.

  • Avatar of trotskyicepick trotskyicepick Oct 18, 2010 at 23:48 UTC - 0 likes

    How on earth did you discover that? Looks OK now.....thanks.

  • Avatar of kcuhc kcuhc Oct 18, 2010 at 23:07 UTC - 0 likes

    This error is not happening on all my character since the last update. 2 of my toons' layouts are fine. But one is destroyed. Lets see....

    Change Background Color Style from "Solid" to "None" on the offending texture-based panels. This fixes the problem. And the toons where the Panels were working fine, this was already set to "None"

    Last edited Oct 18, 2010 by kcuhc

Facts

Date created
Sep 16, 2008
Category
Last update
Oct 24, 2014
Development stage
Release
Language
  • enUS
  • frFR
  • koKR
  • zhCN
License
All Rights Reserved
Curse link
kgPanels
Reverse relationships
1
Downloads
1,837,689
Recent files
  • R: 1.20 for 6.0.2 Oct 24, 2014
  • R: 1.19 for 6.0.2 Oct 17, 2014
  • A: r433 for 6.0.2 Oct 17, 2014
  • A: r432 for 6.0.2 Oct 17, 2014
  • R: 1.18 for 5.4.8 Oct 14, 2014

Authors