view Modules/MinimapIcon.lua @ 209:1ed7ce9b1c5d

Cleaned up Queue; errors should now stop a queue all loop rather than occur at every single group.
author Zerotorescue
date Sat, 05 Feb 2011 20:09:03 +0100
parents 8cecfea6a254
children 1959e2b3dfe1
line wrap: on
line source
local addon = select(2, ...);
local mod = addon:NewModule("MinimapIcon");

function mod:OnEnable()
	self:Make();
end

function mod:Make()
	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,
	});
	
	local icon = LibStub("LibDBIcon-1.0");
	if icon and not icon:IsRegistered("Inventorium") then
		icon:Register("Inventorium", dataobject);
	end
end