View Single Post
04-12-24, 04:47 AM   #8
Hubb777
A Flamescale Wyrmkin
 
Hubb777's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2024
Posts: 122
I need the settings menu for my addon to open.
How it works for me now (a menu with game settings opens)

How I want it to work (my addon settings should open)


Here is my final code
Lua Code:
  1. local addonName, addon = ...
  2. local addonName = "MyAddon"
  3. local L = {} -- Localization table (if needed)
  4.  
  5. -- Check if the addon object is already registered
  6. if not LibStub("LibDBIcon-1.0", true):GetMinimapButton(addonName) then
  7.     -- Create the minimap icon
  8.     local icon = LibStub("LibDBIcon-1.0")
  9.     local minimapIcon = LibStub("LibDataBroker-1.1"):NewDataObject(addonName, {
  10.         type = "data source",
  11.         text = addonName,
  12.         icon = "Interface\\AddOns\\ZamestoTV_GoldFarm\\Icons\\goblin", -- Replace with path to your icon
  13.         OnClick = function(_, button)
  14.             if button == "LeftButton" then
  15.                 MyAddonOptionsPanel_Toggle() -- Open or close the options panel
  16.             end
  17.         end,
  18.         OnTooltipShow = function(tooltip)
  19.             tooltip:SetText(addonName)
  20.             tooltip:AddLine("Click to open options")
  21.             tooltip:Show()
  22.         end,
  23.     })
  24.  
  25.     -- Register the minimap icon
  26.     icon:Register(addonName, minimapIcon, MyAddonOptionsPanelDB) -- Replace MyAddonDB with your saved variables table name
  27. end
  28.  
  29. -- Define the function to toggle the options panel
  30. function MyAddonOptionsPanel_Toggle()
  31.     -- Add code to open or close the options panel here
  32.     InterfaceOptionsFrame_OpenToCategory("MyAddonOptionsPanel") -- Open options panel to a specific category
  33.     print("Toggle options panel")
  34. end
  35.  
  36. -- Define the function to toggle the panel visibility
  37. local function TogglePanel(panel)
  38.     if panel:IsShown() then
  39.         panel:Hide()
  40.     else
  41.         panel:Show()
  42.     end
  43. end

Last edited by Hubb777 : 04-12-24 at 07:14 AM.
  Reply With Quote