-- Copyright © 2024 @Groick (Twitch). All rights reserved.
local function L(key, ...) return EasyOptions:Localize(key, ...) end
function EasyOptions:GetOptionItems_Messages(parentOptionItems)
  local optionItems = EasyOptions:GetOptionItems_Messages_GetItems()
  optionItems.Name = L("Messages")
  optionItems.Parent = parentOptionItems
  optionItems.Children = nil
  return optionItems
end
function EasyOptions:GetOptionItems_Messages_GetItems()
  return { -- [1] Name, [2] Text, [3] TooltipText, [4] PositionInfo, [5] Type, [6+] [Type Specific]
    {nil, L("Behavior"), nil, 0, "GroupTitle"}, 
    {"EnableMessages", L("Enable Messages"), L("Indicates whether messages are enabled."), 0, "CheckBox", true}, 
      {"EnableOptionChangedMessages", L("Enable Option Changed Messages"), L("Indicates whether messages are printed when an option value is changed or reset."), 1, "CheckBox", false}, 
      {"ThrowErrorWhenPrintErrorMessage", L("Throw Error When Print Error Message"), L("Indicates whether to throw an error when an error message is printed.\n\nThis only applies to error messages that are generated by EasyOptions."), 1, "CheckBox", true}, 
    {}, 
    {nil, L("Appearance"), nil, 0, "StartGroupBox"}, 
      {"AddonNameColor", L("Addon Name Color"), L("Specifies the color of text that is used to identify the addon that is associated with a message."), 0, "ColorPicker", EasyOptions.Fields.DefaultTitleColor}, 
      {"PrintTextColor", L("Print Text Color"), L("Specifies the color that is used when printing general text."), 0, "ColorPicker", EasyOptions.Fields.DefaultPrintTextColor}, 
      {"GeneralMessageColor", L("General Message Color"), L("Specifies the color that is used by general messages."), 0, "ColorPicker", EasyOptions.Fields.DefaultGeneralMessageColor}, 
      {"ErrorMessageColor", L("Error Message Color"), L("Specifies the color that is used when displaying error messages."), 0, "ColorPicker", EasyOptions.Fields.DefaultErrorMessageColor}, 
    {nil, nil, nil, 0, "EndGroupBox"}, 
    {}, 
    {nil, L("Formating"), nil, 0, "GroupTitle"}, 
    {"TableToStringCharacterLimit", L("Table To String Character Limit"), L("Specifies the limit for the number of characters in a string that represents the items in a table before ellipsis are used to represent the rest of the items in the table.\n\nThe string that represents the final item that is included in the resulting string will not be truncated so the result can contain more characters than the value of this setting."), 0, "Slider", 80, 1, 1000, 1, "%i"}, 
  }
end
