view Modules/MinimapIcon.lua @ 218:07263a435f3c

Merchant restocking now takes the price threshold into account.
author Zerotorescue
date Sun, 06 Feb 2011 19:27:20 +0100
parents 1959e2b3dfe1
children
line wrap: on
line source
local addon = select(2, ...);
local mod = addon:NewModule("MinimapIcon");

local icon;

function mod:OnEnable()
	if addon.db.profile.defaults.minimapIcon then
		self:MakeIcon();
	end
end

function mod:MakeIcon()
	icon = LibStub("LibDBIcon-1.0");
	
	local ldb = LibStub("LibDataBroker-1.1");
	
	local dataobject = ldb:GetDataObjectByName("Inventorium") or ldb:NewDataObject("Inventorium", {
		["type"] = "launcher",
		["label"] = "Inventorium",
		["icon"] = [[Interface\Icons\INV_Misc_Bag_15]],
		["OnClick"] = function(frame, button)
			if button == "RightButton" then
				-- Open up the config
				InventoriumCommandHandler("config");
			elseif button == "LeftButton" then
				if IsControlKeyDown() then
					-- Queue
					InventoriumCommandHandler("queue");
				else
					-- Open the summary
					InventoriumCommandHandler("summary");
				end
			elseif button == "MiddleButton" then
				-- Check stock and provide the alert if needed
				InventoriumCommandHandler("alert");
			end
		end,
		["OnTooltipShow"] = function(tooltip)
			tooltip:AddLine("Inventorium");
			tooltip:AddLine(" ");
			tooltip:AddLine("|cfffed000Left-click|r to open the summary window.", 0, 1, 0);
			tooltip:AddLine("|cfffed000Middle-click|r to generate a stock alert.", 0, 1, 0);
			tooltip:AddLine("|cfffed000Right-click|r to open the config window.", 0, 1, 0);
			tooltip:AddLine("|cfffed000Control left-click|r to try to queue tracked items.", 0, 1, 0);
		end,
	});
	
	if icon and not icon:IsRegistered("Inventorium") then
		icon:Register("Inventorium", dataobject);
	end
end

function mod:ShowIcon()
	if not icon then
		self:MakeIcon();
	else
		icon:Show("Inventorium");
	end
end

function mod:HideIcon()
	if icon then
		icon:Hide("Inventorium");
	end
end