Quantcast

Merged the MainPanel member functions SetProfession() and SetPosition() into MainPanel:Display().

James D. Callahan III [06-30-10 - 06:27]
Merged the MainPanel member functions SetProfession() and SetPosition() into MainPanel:Display().
Filename
Frame.lua
diff --git a/Frame.lua b/Frame.lua
index d579276..af491b4 100644
--- a/Frame.lua
+++ b/Frame.lua
@@ -1356,73 +1356,6 @@ function MainPanel:ToggleState()
 	self:UpdateTitle()
 end

-do
-	local PROFESSION_TEXTURES = {
-		"alchemy",	-- 1
-		"blacksmith",	-- 2
-		"cooking",	-- 3
-		"enchant",	-- 4
-		"engineer",	-- 5
-		"firstaid",	-- 6
-		"inscribe",	-- 7
-		"jewel",	-- 8
-		"leather",	-- 9
-		"runeforge",	-- 10
-		"smelting",	-- 11
-		"tailor",	-- 12
-	}
-
-	function MainPanel:SetProfession()
-		local prev_profession = self.profession
-
-		if Player.current_prof == private.mining_name then
-			self.profession = 11 -- Smelting
-		else
-			for index, name in ipairs(ORDERED_PROFESSIONS) do
-				if name == Player.current_prof then
-					self.profession = index
-					break
-				end
-			end
-		end
-
-		if self.profession ~= prev_profession then
-			self.prev_profession = self.profession
-		end
-		self.mode_button:ChangeTexture(PROFESSION_TEXTURES[self.profession])
-	end
-end	-- do-block
-
-function MainPanel:SetPosition()
-	local opts = addon.db.profile.frameopts
-	local FixedOffsetX = opts.offsetx
-
-	self:ClearAllPoints()
-
-	if opts.anchorTo == "" then	-- no values yet, clamp to whatever frame is appropriate
-		if _G.ATSWFrame then
-			self:SetPoint("CENTER", _G.ATSWFrame, "CENTER", 490, 0)
-		elseif _G.CauldronFrame then
-			self:SetPoint("CENTER", _G.CauldronFrame, "CENTER", 490, 0)
-		elseif _G.Skillet then
-			self:SetPoint("CENTER", _G.SkilletFrame, "CENTER", 468, 0)
-		else
-			self:SetPoint("TOPLEFT", _G.TradeSkillFrame, "TOPRIGHT", 10, 0)
-		end
-	else
-		if self.is_expanded then
-			if opts.anchorFrom == "TOPLEFT" or opts.anchorFrom == "LEFT" or opts.anchorFrom == "BOTTOMLEFT" then
-				FixedOffsetX = opts.offsetx
-			elseif opts.anchorFrom == "TOP" or opts.anchorFrom == "CENTER" or opts.anchorFrom == "BOTTOM" then
-				FixedOffsetX = opts.offsetx + 151/2
-			elseif opts.anchorFrom == "TOPRIGHT" or opts.anchorFrom == "RIGHT" or opts.anchorFrom == "BOTTOMRIGHT" then
-				FixedOffsetX = opts.offsetx + 151
-			end
-		end
-		self:SetPoint(opts.anchorFrom, UIParent, opts.anchorTo, FixedOffsetX, opts.offsety)
-	end
-end
-
 function MainPanel:UpdateTitle()
 	if not self.is_expanded then
 		self.title_bar:SetFormattedText(SetTextColor(BASIC_COLORS["normal"], "ARL (%s) - %s"), addon.version, Player.current_prof)
@@ -4259,42 +4192,108 @@ end
 -------------------------------------------------------------------------------
 -- Displays the main GUI frame.
 -------------------------------------------------------------------------------
-function MainPanel:Display(is_linked)
-	if InitializeFrame then
-		InitializeFrame()
-		InitializeFrame = nil
-	end
-	self:SetPosition()
-	self:SetProfession()
-	self:SetScale(addon.db.profile.frameopts.uiscale)
+do
+	local PROFESSION_TEXTURES = {
+		"alchemy",	-- 1
+		"blacksmith",	-- 2
+		"cooking",	-- 3
+		"enchant",	-- 4
+		"engineer",	-- 5
+		"firstaid",	-- 6
+		"inscribe",	-- 7
+		"jewel",	-- 8
+		"leather",	-- 9
+		"runeforge",	-- 10
+		"smelting",	-- 11
+		"tailor",	-- 12
+	}

-	self.is_linked = is_linked
+	function MainPanel:Display(is_linked)
+		if InitializeFrame then
+			InitializeFrame()
+			InitializeFrame = nil
+		end
+		self.is_linked = is_linked
+
+		-------------------------------------------------------------------------------
+		-- Restore the panel's position on the screen.
+		-------------------------------------------------------------------------------
+		local opts = addon.db.profile.frameopts
+		local FixedOffsetX = opts.offsetx
+
+		self:ClearAllPoints()
+
+		if opts.anchorTo == "" then	-- no values yet, clamp to whatever frame is appropriate
+			if _G.ATSWFrame then
+				self:SetPoint("CENTER", _G.ATSWFrame, "CENTER", 490, 0)
+			elseif _G.CauldronFrame then
+				self:SetPoint("CENTER", _G.CauldronFrame, "CENTER", 490, 0)
+			elseif _G.Skillet then
+				self:SetPoint("CENTER", _G.SkilletFrame, "CENTER", 468, 0)
+			else
+				self:SetPoint("TOPLEFT", _G.TradeSkillFrame, "TOPRIGHT", 10, 0)
+			end
+		else
+			if self.is_expanded then
+				if opts.anchorFrom == "TOPLEFT" or opts.anchorFrom == "LEFT" or opts.anchorFrom == "BOTTOMLEFT" then
+					FixedOffsetX = opts.offsetx
+				elseif opts.anchorFrom == "TOP" or opts.anchorFrom == "CENTER" or opts.anchorFrom == "BOTTOM" then
+					FixedOffsetX = opts.offsetx + 151/2
+				elseif opts.anchorFrom == "TOPRIGHT" or opts.anchorFrom == "RIGHT" or opts.anchorFrom == "BOTTOMRIGHT" then
+					FixedOffsetX = opts.offsetx + 151
+				end
+			end
+			self:SetPoint(opts.anchorFrom, UIParent, opts.anchorTo, FixedOffsetX, opts.offsety)
+		end
+		self:SetScale(addon.db.profile.frameopts.uiscale)

-	local editbox = SearchBox
+		-------------------------------------------------------------------------------
+		-- Set the profession.
+		-------------------------------------------------------------------------------
+		local prev_profession = self.profession

-	if self.profession ~= self.prev_profession then
-		editbox.prev_search = nil
-	end
-	editbox:SetText(editbox.prev_search or _G.SEARCH)
+		if Player.current_prof == private.mining_name then
+			self.profession = 11 -- Smelting
+		else
+			for index, name in ipairs(ORDERED_PROFESSIONS) do
+				if name == Player.current_prof then
+					self.profession = index
+					break
+				end
+			end
+		end

-	-- If there is no current tab, this is the first time the panel has been
-	-- shown so things must be initialized. In this case, ListFrame:Update()
-	-- will be called by the tab's OnClick handler.
-	if not self.current_tab then
-		local current_tab = self.tabs[addon.db.profile.current_tab]
-		local on_click = current_tab:GetScript("OnClick")
+		if self.profession ~= prev_profession then
+			self.prev_profession = self.profession
+		end
+		self.mode_button:ChangeTexture(PROFESSION_TEXTURES[self.profession])

-		on_click(current_tab)
+		local editbox = SearchBox

-		self.current_tab = addon.db.profile.current_tab
-	else
-		ListFrame:Update(nil, false)
-	end
-	self.sort_button:SetTextures()
+		if self.profession ~= self.prev_profession then
+			editbox.prev_search = nil
+		end
+		editbox:SetText(editbox.prev_search or _G.SEARCH)

-	self:UpdateTitle()
-	self:Show()
-end
+		-- If there is no current tab, this is the first time the panel has been
+		-- shown so things must be initialized. In this case, ListFrame:Update()
+		-- will be called by the tab's OnClick handler.
+		if not self.current_tab then
+			local current_tab = self.tabs[addon.db.profile.current_tab]
+			local on_click = current_tab:GetScript("OnClick")
+
+			on_click(current_tab)
+
+			self.current_tab = addon.db.profile.current_tab
+		else
+			ListFrame:Update(nil, false)
+		end
+		self.sort_button:SetTextures()
+
+		self:UpdateTitle()
+		self:Show()
+	end
+end	-- do-block

 --------------------------------------------------------------------------------
 ---- Creates a new frame with the contents of a text dump so you can copy and paste