View Single Post
Unread 01-11-13, 07:49 PM   #2
Bullarky
Zombie
 
Bullarky's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2013
Posts: 2
Not sure you need to do anything. I just plugged your code in and added the following line only to trigger the change:

bigBox.Event.LeftClick = function() changemyColor("whatever") end

Now when you click the box, it turns the top left quad red. Is that what you are attempting?

Code:
local context=UI.CreateContext("myWindowFrame")
local bigBox = UI.CreateFrame("Text", "placeHolder", context)

bigBox:SetWidth(20)
bigBox:SetHeight(20)
bigBox:SetPoint("TOPCENTER", UIParent, "TOPCENTER",0,0)
bigBox.Event.LeftClick = function() changemyColor("whatever") end
bigBox:SetBackgroundColor(0,0,0,1)
bigBox:SetVisible(true)

local box1 = UI.CreateFrame("Text", "box1", bigBox)
box1:SetWidth(10)
box1:SetHeight(10)
box1:SetPoint("TOPLEFT", bigBox, "TOPLEFT",0,0)
--box1:SetBackgroundColor(1,0,0,1)
box1:SetVisible(true)

--the conditional will call this:
function changemyColor(myC)
	if myC == "whatever" then
                box1:SetBackgroundColor(1,0,0,1)
                --How do I trigger a refresh of my little box after this?
        end
end
Bullarky is offline   Reply With Quote