adam@0: local _, AskMrRobot = ... yellowfive@11: local L = AskMrRobot.L; adam@0: adam@0: -- initialize the ExportTab class adam@0: AskMrRobot.ExportTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) adam@0: adam@0: -- helper to create text for this tab adam@17: local function CreateText(tab, font, relativeTo, xOffset, yOffset, text) adam@0: local t = tab:CreateFontString(nil, "ARTWORK", font) adam@0: t:SetPoint("TOPLEFT", relativeTo, "BOTTOMLEFT", xOffset, yOffset) adam@0: t:SetPoint("RIGHT", tab, "RIGHT", -25, 0) adam@0: t:SetWidth(t:GetWidth()) adam@0: t:SetJustifyH("LEFT") adam@0: t:SetText(text) adam@0: adam@0: return t adam@0: end adam@0: adam@0: function AskMrRobot.ExportTab:new(parent) adam@0: adam@0: local tab = AskMrRobot.Frame:new(nil, parent) adam@0: setmetatable(tab, { __index = AskMrRobot.ExportTab }) adam@0: tab:SetPoint("TOPLEFT") adam@0: tab:SetPoint("BOTTOMRIGHT") adam@0: tab:Hide() adam@0: adam@0: local text = tab:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge") adam@0: text:SetPoint("TOPLEFT", 0, -5) adam@17: text:SetText(L.AMR_EXPORTTAB_EXPORT_TITLE) adam@17: adam@0: -- copy/paste adam@17: local text2 = CreateText(tab, "GameFontWhite", text, 0, -15, L.AMR_EXPORTTAB_COPY_PASTE_EXPORT_1) adam@17: text = CreateText(tab, "GameFontWhite", text2, 0, -15, L.AMR_EXPORTTAB_COPY_PASTE_EXPORT_2) adam@0: adam@0: local txtExportString = CreateFrame("ScrollFrame", "AmrScrollFrame", tab, "InputScrollFrameTemplate") adam@0: txtExportString:SetPoint("TOPLEFT", text, "BOTTOMLEFT", 12, -10) adam@0: txtExportString:SetPoint("RIGHT", -25, 0) adam@0: txtExportString:SetWidth(txtExportString:GetWidth()) adam@0: txtExportString:SetHeight(50) adam@0: txtExportString.EditBox:SetWidth(txtExportString:GetWidth()) adam@0: txtExportString.EditBox:SetMaxLetters(0) adam@0: txtExportString.CharCount:Hide() adam@0: tab.txtExportString = txtExportString adam@0: adam@0: txtExportString.EditBox:SetScript("OnEscapePressed", function() adam@17: AskMrRobot.mainWindow:Hide() adam@0: end) adam@0: adam@17: text = CreateText(tab, "GameFontWhite", txtExportString, -12, -20, L.AMR_EXPORTTAB_COPY_PASTE_EXPORT_3) adam@17: adam@17: text = CreateText(tab, "GameFontWhite", text, 0, -10, L.AMR_EXPORTTAB_COPY_PASTE_EXPORT_NOTE) adam@0: adam@0: btn = CreateFrame("Button", "AmrUpdateExportString", tab, "UIPanelButtonTemplate") adam@17: btn:SetPoint("TOPLEFT", text, "BOTTOMLEFT", -2, -10) adam@0: btn:SetText("Update") adam@17: btn:SetWidth(110) adam@17: btn:SetHeight(30) adam@0: adam@0: btn:SetScript("OnClick", function() adam@0: tab:Update() adam@0: end) adam@0: adam@0: tab:SetScript("OnShow", function() adam@0: tab:Update() adam@0: end) adam@0: adam@0: return tab adam@0: end adam@0: adam@0: -- update the panel and state adam@0: function AskMrRobot.ExportTab:Update() adam@17: AskMrRobot.SaveAll() adam@17: self.txtExportString.EditBox:SetText(AskMrRobot.ExportToString()) adam@17: self.txtExportString.EditBox:HighlightText() adam@17: self.txtExportString.EditBox:SetFocus() adam@0: end