<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>tekPanelAuction.lua</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,17 +1,111 @@
 
 
-local frames, oh = {}
+--[[
+How do you use this bugger? simple!
 
-tekDebug = DongleStub(&quot;Dongle-1.0&quot;):New(&quot;tekDebug&quot;)
+local f = tekDebug:GetFrame(&quot;MyAddon&quot;)
+This gets you a ScrollingMessageFrame to output debuggery into.  You can call f:AddMessage() directly if you like, pass it off to your Debug lib, whatever.
 
+In my addons this is what I do...
+Force tD to load before your addon if present
+## OptionalDeps: tekDebug
 
-function tekDebug:Enable()
-	local _, title = GetAddOnInfo(&quot;tekDebug&quot;)
-	local author, version = GetAddOnMetadata(&quot;tekDebug&quot;, &quot;Author&quot;), GetAddOnMetadata(&quot;tekDebug&quot;, &quot;Version&quot;)
-	oh = LibStub(&quot;OptionHouse-1.1&quot;):RegisterAddOn(&quot;tekDebug&quot;, title, author, version)
-	for name,frame in pairs(frames) do oh:RegisterCategory(name, function() return frame end) end
-	self.Enable = nil
-end
+Then make a Debug function (note, this version is NOT nil-safe)
+
+local debugf = tekDebug and tekDebug:GetFrame(&quot;MyAddon&quot;)
+local function Debug(...) if debugf then debugf:AddMessage(string.join(&quot;, &quot;, ...)) end end
+
+Or, if you use Dongle:
+
+MyAddon = DongleStub(&quot;Dongle-1.0&quot;):New(&quot;MyAddon&quot;)
+if tekDebug then MyAddon:EnableDebug(1, tekDebug:GetFrame(&quot;MyAddon&quot;)) end
+]]
+
+
+local frames, names, refresh = {}, {}
+local panel = LibStub(&quot;tekPanel-Auction&quot;).new(&quot;tekDebugPanel&quot;, &quot;tekDebug&quot;, true)
+tekDebug = {}
+
+
+panel:SetScript(&quot;OnShow&quot;, function(self)
+	local buttons, offset = {}, 0
+
+	local function OnClick(self)
+		if not self.scrollframe then return end
+
+		local frame = self.scrollframe
+		if frame:IsVisible() then
+			frame:Hide()
+			self:UnlockHighlight()
+		else
+			for _,f in pairs(frames) do f:Hide() end
+			for _,f in pairs(buttons) do f:UnlockHighlight() end
+
+			frame:SetParent(panel)
+			frame:ClearAllPoints()
+			frame:SetPoint(&quot;TOPLEFT&quot;, 190, -103)
+			frame:SetWidth(630) frame:SetHeight(305)
+			frame:SetFrameStrata(&quot;DIALOG&quot;)
+			frame:Show()
+
+			self:LockHighlight()
+		end
+	end
+
+	local function OnMouseWheel(self, v)
+		if v &gt; 0 then -- up
+			offset = math.max(offset - 1, 0)
+			refresh()
+		else -- down
+			offset = math.max(math.min(offset + 1, #names - 15), 0)
+			refresh()
+		end
+	end
+
+	function refresh()
+		for i=1,15 do
+			local frame, name = buttons[i], names[i+offset]
+			if name then
+				frame.text:SetText(name)
+				frame.scrollframe = frames[name]
+				if frames[name]:IsVisible() then frame:LockHighlight() else frame:UnlockHighlight() end
+				frame:Show()
+			else
+				frame:Hide()
+			end
+		end
+	end
+
+	for i=1,15 do
+		local button = CreateFrame(&quot;Button&quot;, nil, panel)
+		button:SetWidth(158) button:SetHeight(20)
+		if i == 1 then button:SetPoint(&quot;TOPLEFT&quot;, self, 23, -105) else button:SetPoint(&quot;TOP&quot;, buttons[i-1], &quot;BOTTOM&quot;, 0, 0) end
+
+		button:SetHighlightFontObject(GameFontHighlightSmall)
+		button:SetNormalFontObject(GameFontNormalSmall)
+
+		button:SetNormalTexture(&quot;Interface\\AuctionFrame\\UI-AuctionFrame-FilterBG&quot;)
+		button:GetNormalTexture():SetTexCoord(0, 0.53125, 0, 0.625)
+
+		button:SetHighlightTexture(&quot;Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight&quot;)
+		button:GetHighlightTexture():SetBlendMode(&quot;ADD&quot;)
+
+		button.text = button:CreateFontString(nil, &quot;OVERLAY&quot;, &quot;GameFontWhite&quot;)
+		button.text:SetText(&quot;Test&quot;)
+		button.text:SetPoint(&quot;LEFT&quot;, button, 10, 0)
+		button.text:SetPoint(&quot;RIGHT&quot;, button, -10, 0)
+		button.text:SetJustifyH(&quot;LEFT&quot;)
+
+		button:EnableMouseWheel()
+		button:SetScript(&quot;OnMouseWheel&quot;, OnMouseWheel)
+		button:SetScript(&quot;OnClick&quot;, OnClick)
+
+		buttons[i] = button
+	end
+
+	refresh()
+	self:SetScript(&quot;OnShow&quot;, nil)
+end)
 
 
 local function OnMouseWheel(frame, delta)
@@ -45,9 +139,32 @@ function tekDebug:GetFrame(name)
 	end
 
 	frames[name] = f
+	table.insert(names, name)
+	table.sort(names)
+	if refresh then refresh() end
 
-	if oh then oh:RegisterCategory(name, function() return f end) end
 	return f
 end
 
 
+-----------------------------
+--      Slash Handler      --
+-----------------------------
+
+SLASH_TEKDEBUG1 = &quot;/td&quot;
+SLASH_TEKDEBUG2 = &quot;/tekdebug&quot;
+function SlashCmdList.TEKDEBUG() ShowUIPanel(panel) end
+
+
+----------------------------------------
+--      Quicklaunch registration      --
+----------------------------------------
+
+local ldb = LibStub and LibStub:GetLibrary(&quot;LibDataBroker-1.1&quot;, true)
+if ldb then
+	ldb:NewDataObject(&quot;tekDebug&quot;, {
+		type = &quot;launcher&quot;,
+		icon = &quot;Interface\\Icons\\Spell_Shadow_CarrionSwarm&quot;,
+		OnClick = SlashCmdList.TEKDEBUG,
+	})
+end</diff>
      <filename>tekDebug.lua</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,10 @@
-## Interface: 20300
+## Interface: 20400
 
 ## Title: tekDebug
-## Notes: OptionHouse-based debug output frame thing
+## Notes: Debug output frame thing
 ## Author: Tekkub Stoutwrithe
 ## Version: Alpha
 ## X-Category: Development Tools
 
-## OptionalDeps: Dongle, Optionhouse, TomTom
-
-Dongle.lua
-OptionHouse.lua
-
+tekPanelAuction.lua
 tekDebug.lua</diff>
      <filename>tekDebug.toc</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>Dongle.lua</filename>
    </removed>
    <removed>
      <filename>OptionHouse.lua</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>d96fa08cfa08a45004b6edd861cb5317a4d014ab</id>
    </parent>
  </parents>
  <author>
    <name>Tekkub</name>
    <email>tekkub@gmail.com</email>
  </author>
  <url>http://github.com/tekkub/tekdebug/commit/ddc69f584a87df2b840c9d5c8bfe216299d45a05</url>
  <id>ddc69f584a87df2b840c9d5c8bfe216299d45a05</id>
  <committed-date>2008-07-27T16:15:52-07:00</committed-date>
  <authored-date>2008-07-27T16:15:52-07:00</authored-date>
  <message>Remove OH and Dongle, completely standalone now
Also added optional LDB launcher (only if LDB is present)</message>
  <tree>38414634f47a988e29963eca5d9ad29ddfe6b30c</tree>
  <committer>
    <name>Tekkub</name>
    <email>tekkub@gmail.com</email>
  </committer>
</commit>
