LibDBIcon-1.0

Libraries Login to Add Favorites
  • 2 Likes
  • World of Warcraft
  • 3,481 Monthly Downloads
  • Supports: 7.1.0
  • 861,019 Total Downloads
  • Updated Jun 29, 2017
  • Created Oct 17, 2008
  • 48 Favorites
  • Project Site
  • Release Type: Release
  • License: GNU General Public License version 2 (GPLv2)
  • Newest File: r56-release

About LibDBIcon-1.0

LibDBIcon-1.0 is a small library you can throw in your LDB addon that will create a small minimap icon for you and nothing more.

Simply get a reference to the library in your addon like so;

local icon = LibStub("LibDBIcon-1.0")

Then after you've registered your LDB object called "MyLDB", you can do:

icon:Register("MyLDB", myLDB, savedVarTable)

Where myLDB is a object reference to your LDB display and savedVarTable is a table where the library can store data like minimap position, radius and the like.

When you create the display, the library will automatically hide or show the icon based on the "hide = true/false" key in savedVarTable. If you want to add an option to hide or show the display, you can hide or show the icon manually during play with:

icon:Hide("MyLDB")
icon:Show("MyLDB")

So in conclusion, here is a complete Ace3 example of how to use this library

local addon = LibStub("AceAddon-3.0"):NewAddon("Bunnies", "AceConsole-3.0")
local bunnyLDB = LibStub("LibDataBroker-1.1"):NewDataObject("Bunnies!", {
	type = "data source",
	text = "Bunnies!",
	icon = "Interface\\Icons\\INV_Chest_Cloth_17",
	OnClick = function() print("BUNNIES ARE TAKING OVER THE WORLD") end,
})
local icon = LibStub("LibDBIcon-1.0")

function addon:OnInitialize()
	-- Obviously you'll need a ## SavedVariables: BunniesDB line in your TOC, duh!
	self.db = LibStub("AceDB-3.0"):New("BunniesDB", {
		profile = {
			minimap = {
				hide = false,
			},
		},
	})
	icon:Register("Bunnies!", bunnyLDB, self.db.profile.minimap)
	self:RegisterChatCommand("bunnies", "CommandTheBunnies")
end

function addon:CommandTheBunnies()
	self.db.profile.minimap.hide = not self.db.profile.minimap.hide
	if self.db.profile.minimap.hide then
		icon:Hide("Bunnies!")
	else
		icon:Show("Bunnies!")
	end
end

------------------------------------------------------------------------
r56 | funkydude | 2016-10-26 00:09:44 +0000 (Wed, 26 Oct 2016) | 1 line
Changed paths:
   A /tags/r56-release (from /trunk:55)

Tagging as r56-release
------------------------------------------------------------------------
r55 | funkydude | 2016-10-25 23:53:48 +0000 (Tue, 25 Oct 2016) | 1 line
Changed paths:
   M /trunk/LibDBIcon-1.0.toc

bump toc
------------------------------------------------------------------------

  • 1
  • 2
  • 3
  • Next