Mercurial > wow > hansgar_and_franzok_assist
diff Libs/DF/textentry.lua @ 22:dbd417f413a8
- framework update.
| author | Tercio |
|---|---|
| date | Tue, 08 Sep 2015 13:16:49 -0300 |
| parents | dc1c77254f80 |
| children | 5da06cb420d4 |
line wrap: on
line diff
--- a/Libs/DF/textentry.lua Tue Aug 25 14:09:54 2015 -0300 +++ b/Libs/DF/textentry.lua Tue Sep 08 13:16:49 2015 -0300 @@ -259,6 +259,9 @@ self.editbox:SetBackdropBorderColor (unpack (self.enabled_border_color)) self.editbox:SetBackdropColor (unpack (self.enabled_backdrop_color)) self.editbox:SetTextColor (unpack (self.enabled_text_color)) + if (self.editbox.borderframe) then + self.editbox.borderframe:SetBackdropColor (unpack (self.editbox.borderframe.onleave_backdrop)) + end end end @@ -273,6 +276,10 @@ self.editbox:SetBackdropBorderColor (.5, .5, .5, .5) self.editbox:SetBackdropColor (.5, .5, .5, .5) self.editbox:SetTextColor (.5, .5, .5, .5) + + if (self.editbox.borderframe) then + self.editbox.borderframe:SetBackdropColor (.5, .5, .5, .5) + end end end @@ -300,13 +307,6 @@ textentry:SetBackdropBorderColor (1, 1, 1, 1) end - local parent = textentry:GetParent().MyObject - if (parent and parent.type == "panel") then - if (parent.GradientEnabled) then - parent:RunGradient() - end - end - end local OnLeave = function (textentry) @@ -326,13 +326,7 @@ if (textentry:IsEnabled()) then textentry:SetBackdropBorderColor (unpack (textentry.current_bordercolor)) end - - local parent = textentry:GetParent().MyObject - if (parent and parent.type == "panel") then - if (parent.GradientEnabled) then - parent:RunGradient (false) - end - end + end local OnHide = function (textentry) @@ -473,13 +467,42 @@ end ------------------------------------------------------------------------------------------------------------ + +function TextEntryMetaFunctions:SetTemplate (template) + if (template.width) then + self:SetWidth (template.width) + end + if (template.height) then + self:SetHeight (template.height) + end + + if (template.backdrop) then + self:SetBackdrop (template.backdrop) + end + if (template.backdropcolor) then + local r, g, b, a = DF:ParseColors (template.backdropcolor) + self:SetBackdropColor (r, g, b, a) + self.onleave_backdrop = {r, g, b, a} + end + if (template.backdropbordercolor) then + local r, g, b, a = DF:ParseColors (template.backdropbordercolor) + self:SetBackdropBorderColor (r, g, b, a) + self.editbox.current_bordercolor[1] = r + self.editbox.current_bordercolor[2] = g + self.editbox.current_bordercolor[3] = b + self.editbox.current_bordercolor[4] = a + self.onleave_backdrop_border_color = {r, g, b, a} + end +end + +------------------------------------------------------------------------------------------------------------ --> object constructor -function DF:CreateTextEntry (parent, func, w, h, member, name) - return DF:NewTextEntry (parent, parent, name, member, w, h, func) +function DF:CreateTextEntry (parent, func, w, h, member, name, with_label, entry_template, label_template) + return DF:NewTextEntry (parent, parent, name, member, w, h, func, nil, nil, nil, with_label, entry_template, label_template) end -function DF:NewTextEntry (parent, container, name, member, w, h, func, param1, param2, space) +function DF:NewTextEntry (parent, container, name, member, w, h, func, param1, param2, space, with_label, entry_template, label_template) if (not name) then name = "DetailsFrameworkTextEntryNumber" .. DF.TextEntryCounter @@ -571,6 +594,8 @@ TextEntryObject.enabled_border_color = {TextEntryObject.editbox:GetBackdropBorderColor()} TextEntryObject.enabled_backdrop_color = {TextEntryObject.editbox:GetBackdropColor()} TextEntryObject.enabled_text_color = {TextEntryObject.editbox:GetTextColor()} + TextEntryObject.onleave_backdrop = {TextEntryObject.editbox:GetBackdropColor()} + TextEntryObject.onleave_backdrop_border_color = {TextEntryObject.editbox:GetBackdropBorderColor()} TextEntryObject.func = func TextEntryObject.param1 = param1 @@ -599,8 +624,31 @@ _setmetatable (TextEntryObject, TextEntryMetaFunctions) - return TextEntryObject + if (with_label) then + local label = DF:CreateLabel (TextEntryObject.editbox, with_label, nil, nil, nil, "label", nil, "overlay") + label.text = with_label + TextEntryObject.editbox:SetPoint ("left", label.widget, "right", 2, 0) + if (label_template) then + label:SetTemplate (label_template) + end + with_label = label + end + if (entry_template) then + TextEntryObject:SetTemplate (entry_template) + end + + return TextEntryObject, with_label + +end + +function DF:NewSpellEntry (parent, func, w, h, param1, param2, member, name) + local editbox = DF:NewTextEntry (parent, parent, name, member, w, h, func, param1, param2) + + editbox:SetHook ("OnEditFocusGained", SpellEntryOnEditFocusGained) + editbox:SetHook ("OnTextChanged", SpellEntryOnTextChanged) + + return editbox end local function_gettext = function (self) @@ -649,17 +697,32 @@ borderframe.ClearFocus = function_clearfocus borderframe.SetFocus = function_setfocus + borderframe.Enable = TextEntryMetaFunctions.Enable + borderframe.Disable = TextEntryMetaFunctions.Disable + + borderframe.SetTemplate = TextEntryMetaFunctions.SetTemplate + if (not nointent) then IndentationLib.enable (scrollframe.editbox, nil, 4) end borderframe:SetBackdrop ({bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], edgeFile = [[Interface\Tooltips\UI-Tooltip-Border]], tile = 1, tileSize = 16, edgeSize = 16, insets = {left = 5, right = 5, top = 5, bottom = 5}}) + + scrollframe.editbox.current_bordercolor = {1, 1, 1, 0.7} + borderframe:SetBackdropBorderColor (1, 1, 1, 0.7) borderframe:SetBackdropColor (0.090195, 0.090195, 0.188234, 1) - borderframe:SetBackdropBorderColor (1, 1, 1, 1) + + borderframe.enabled_border_color = {borderframe:GetBackdropBorderColor()} + borderframe.enabled_backdrop_color = {borderframe:GetBackdropColor()} + borderframe.enabled_text_color = {scrollframe.editbox:GetTextColor()} + + borderframe.onleave_backdrop = {scrollframe.editbox:GetBackdropColor()} + borderframe.onleave_backdrop_border_color = {scrollframe.editbox:GetBackdropBorderColor()} borderframe.scroll = scrollframe borderframe.editbox = scrollframe.editbox + borderframe.editbox.borderframe = borderframe return borderframe end \ No newline at end of file
