diff Modules/Crafting.lua @ 72:8e9beb8a0330

Added options to enable or disable crafting deciders.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Wed, 28 Jul 2010 23:17:30 -0700
parents 3930518cb8d9
children 71de6e86a1a4
line wrap: on
line diff
--- a/Modules/Crafting.lua	Wed Jul 28 22:46:13 2010 -0700
+++ b/Modules/Crafting.lua	Wed Jul 28 23:17:30 2010 -0700
@@ -65,7 +65,7 @@
 			values = craftingThresholdsDisplay,
 			get = function() return ItemAuditor.db.char.crafting_threshold end,
 			set = function(info, value) ItemAuditor.db.char.crafting_threshold = value end,
-			order = 11,
+			order = 0,
 		},
 		queue_destination = {
 			type = "select",
@@ -74,8 +74,14 @@
 			values = displayCraftingDestinations,
 			get = function() return select(2, Crafting.GetQueueDestination()) end,
 			set = function(info, value) ItemAuditor.db.profile.queue_destination = value end,
-			order = 11,
+			order = 1,
 		},
+		deciders = {
+			type="header",
+			name="Crafting Deciders",
+			order = 10,
+		},
+		
 	},
 }
 
@@ -261,15 +267,32 @@
 
 local craftingDeciders = {}
 
-function Crafting.RegisterCraftingDecider(name, decider)
+function Crafting.RegisterCraftingDecider(name, decider, options)
 	craftingDeciders[name] = decider
+	
+	ItemAuditor.Options.args.crafting_options.args['chk'..name] = {
+		type = "toggle",
+		name = "Enable "..name,
+		get = function() return not ItemAuditor.db.profile.disabled_deciders[name] end,
+		set = function(info, value) ItemAuditor.db.profile.disabled_deciders[name] = not value end,
+		order = 11,
+	}
+	
+	if options then
+		ItemAuditor.Options.args.crafting_options.args['decider_'..name] = {
+			handler = {},
+			name = name,
+			type = 'group',
+			args = options,
+		}
+	end
 end
 
 local lastWinnder = ""
 local function Decide(data)
 	local newDecision = 0
 	for name, decider in pairs(craftingDeciders) do
-		if name ~= lastWinner then
+		if not ItemAuditor.db.profile.disabled_deciders[name] and name ~= lastWinner then
 			newDecision = decider(data)
 			if newDecision > data.queue then
 				data.queue = newDecision
@@ -294,6 +317,7 @@
 	end
 	return -1
 end
+
 Crafting.RegisterCraftingDecider('Is Profitable', isProfitable)
 
 local function tableFilter(self, row, ...)