TashDLPhraseTooltip = {}


function TashDLPhraseTooltip:New(control)
    self.control = control

    GetControl(self.control, "NPC"):SetColor(TashDialogueLog.colors.NPCNAME:UnpackRGBA())
    GetControl(self.control, "Time"):SetColor(TashDialogueLog.colors.TIMESTAMP:UnpackRGBA())
    GetControl(self.control, "OptionText"):SetColor(TashDialogueLog.colors.OPTIONTEXT:UnpackRGBA())
    GetControl(self.control, "BodyText"):SetColor(TashDialogueLog.colors.BODYTEXT:UnpackRGBA())

    return self
end


function TashDLPhraseTooltip:Update(control)
    local data = control.data

    GetControl(self.control, "NPC"):SetText(data.NPC)
    GetControl(self.control, "Time"):SetText(TashDialogueLog:FormatTimestamp(data.timestamp))
    GetControl(self.control, "OptionText"):SetText(data.optionText)
    GetControl(self.control, "BodyText"):SetText(data.bodyText)
end


function TashDLPhraseTooltip:Toggle()
    self.control:SetHidden(not self.control:IsHidden())
end


function TashDLPhraseTooltip:Show()
    self.control:SetHidden(false)
end

function TashDLPhraseTooltip:Hide()
    self.control:SetHidden(true)
end