view Modules/MinimapIcon.lua @ 225:2e4e52a589e5

Added onQueueStart and onQueueEnd events to crafting addon registering. GnomeWorks queue frame should automatically be closed before adding items to the queue and opened afterwards to speed this process up.
author Zerotorescue
date Mon, 07 Feb 2011 15:06:41 +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