added status bar
This commit is contained in:
@@ -71,7 +71,7 @@ function Aux_OnLoad()
|
||||
end
|
||||
do
|
||||
local btn = Aux.gui.button(AuxFrame, 12)
|
||||
btn:SetPoint('RIGHT', AuxCloseButton, 'LEFT')
|
||||
btn:SetPoint('TOPRIGHT', 0, 0)
|
||||
btn:SetWidth(60)
|
||||
btn:SetHeight(17)
|
||||
btn:SetText('Default UI')
|
||||
@@ -86,6 +86,17 @@ function Aux_OnLoad()
|
||||
end)
|
||||
end
|
||||
|
||||
do
|
||||
local btn = Aux.gui.button(AuxFrame, 15)
|
||||
btn:SetPoint('BOTTOMRIGHT', -6, 6)
|
||||
btn:SetWidth(65)
|
||||
btn:SetHeight(24)
|
||||
btn:SetText('Close')
|
||||
btn:SetScript('OnClick',function()
|
||||
HideUIPanel(this:GetParent())
|
||||
end)
|
||||
end
|
||||
|
||||
Aux.item_search_frame.on_load()
|
||||
Aux.filter_search_frame.on_load()
|
||||
end
|
||||
@@ -160,11 +171,7 @@ function Aux.log_frame_update(elapsedSec)
|
||||
end
|
||||
|
||||
function Aux.log(msg)
|
||||
local info = ChatTypeInfo['SYSTEM']
|
||||
AuxLogFrameMessageFrame:AddMessage(msg, 1, 1, 0)
|
||||
if not AuxLogFrameMessageFrame:IsVisible() and DEFAULT_CHAT_FRAME then
|
||||
DEFAULT_CHAT_FRAME:AddMessage(msg, 1, 1, 0)
|
||||
end
|
||||
DEFAULT_CHAT_FRAME:AddMessage(msg, 1, 1, 0)
|
||||
end
|
||||
|
||||
function Aux_SetupHookFunctions()
|
||||
|
||||
@@ -335,7 +335,7 @@
|
||||
|
||||
<Frame name="AuxFrame" toplevel="true" movable="true" enableMouse="true" hidden="true" parent="UIParent">
|
||||
<Size>
|
||||
<AbsDimension x="850" y="414"/>
|
||||
<AbsDimension x="850" y="402"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT">
|
||||
@@ -370,92 +370,5 @@
|
||||
<!--24/255-->
|
||||
<BorderColor r="1" g="1" b="1" a="0.03"/>
|
||||
</Backdrop>
|
||||
<Frames>
|
||||
<Button name="AuxCloseButton" inherits="UIPanelCloseButton">
|
||||
<Anchors>
|
||||
<Anchor point="TOPRIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="0"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
</Button>
|
||||
<!--<Button name="AuxAuctionFrameButton" inherits="UIPanelButtonTemplate" text="Default UI">-->
|
||||
<!--<Size><AbsDimension x="65" y="17"/></Size>-->
|
||||
<!--<Anchors><Anchor point="RIGHT" relativePoint="LEFT" relativeTo="AuxCloseButton"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor></Anchors>-->
|
||||
<!--<Scripts>-->
|
||||
<!--<OnLoad>-->
|
||||
<!--this:SetTextFontObject('GameFontNormalSmall')-->
|
||||
<!--this:SetHighlightFontObject('GameFontHighlightSmall')-->
|
||||
<!--</OnLoad>-->
|
||||
<!--<OnClick>-->
|
||||
<!--if AuctionFrame:IsVisible() then-->
|
||||
<!--Aux.blizzard_ui_shown = false-->
|
||||
<!--HideUIPanel(AuctionFrame)-->
|
||||
<!--else-->
|
||||
<!--Aux.blizzard_ui_shown = true-->
|
||||
<!--ShowUIPanel(AuctionFrame)-->
|
||||
<!--end-->
|
||||
<!--</OnClick>-->
|
||||
<!--</Scripts>-->
|
||||
<!--</Button>-->
|
||||
<Frame name="AuxLogFrame" inherits="AuxFrameBoxTemplate">
|
||||
<Size><AbsDimension x="400" y="40"/></Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="5" y="0"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
<Anchor point="RIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="-10" y="0"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
<Anchor point="BOTTOM">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="10"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
<Scripts>
|
||||
<OnLoad>
|
||||
this:SetWidth(floor(this:GetParent():GetWidth()/2))
|
||||
</OnLoad>
|
||||
</Scripts>
|
||||
<Frames>
|
||||
<ScrollingMessageFrame name="$parentMessageFrame" maxLines="500">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="8" y="-15"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
<Anchor point="BOTTOMRIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="-8" y="15"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
<Scripts>
|
||||
<OnLoad>
|
||||
Aux.log_frame_load()
|
||||
</OnLoad>
|
||||
<OnUpdate>
|
||||
Aux.log_frame_update(arg1)
|
||||
</OnUpdate>
|
||||
<OnMouseWheel>
|
||||
if arg1 == 1 then
|
||||
this:ScrollUp()
|
||||
elseif arg1 == -1 then
|
||||
this:ScrollDown()
|
||||
end
|
||||
</OnMouseWheel>
|
||||
</Scripts>
|
||||
<FontString inherits="GameFontNormal" justifyH="CENTER"/>
|
||||
</ScrollingMessageFrame>
|
||||
</Frames>
|
||||
</Frame>
|
||||
</Frames>
|
||||
</Frame>
|
||||
</Ui>
|
||||
|
||||
@@ -9,6 +9,9 @@ m.config = {
|
||||
content_border_color = {0, 0, 0, 0},
|
||||
content_font = [[Fonts\ARIALN.TTF]],
|
||||
normal_font_size = 15,
|
||||
text_color = { enabled = { 255, 254, 250, 1 }, disabled = { 147, 151, 139, 1 } },
|
||||
label_color = { enabled = { 216, 225, 211, 1 }, disabled = { 150, 148, 140, 1 } },
|
||||
|
||||
}
|
||||
|
||||
function m.button(parent, text_height, name)
|
||||
@@ -88,7 +91,7 @@ do
|
||||
image:SetTexture(unpack(m.config.content_color))
|
||||
tab.image = image
|
||||
local dock = tab:CreateTexture(nil, 'OVERLAY')
|
||||
dock:SetHeight(2)
|
||||
dock:SetHeight(3)
|
||||
if position == 'TOP' then
|
||||
dock:SetPoint('BOTTOMLEFT', 1, -1)
|
||||
dock:SetPoint('BOTTOMRIGHT', -1, -1)
|
||||
@@ -158,7 +161,7 @@ do
|
||||
-- tab.dock:Hide()
|
||||
if tab.group.selected == tab.id then
|
||||
-- TSMAPI.Design:SetWidgetLabelColor(tab.text)
|
||||
tab.text:SetTextColor(255/255, 254/255, 250/255) -- TODO
|
||||
tab.text:SetTextColor(216/255, 225/255, 211/255) -- TODO
|
||||
tab:Disable()
|
||||
tab.image:SetTexture(unpack(m.config.frame_color))
|
||||
tab.dock:Show()
|
||||
@@ -206,34 +209,22 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
do
|
||||
local id = 0
|
||||
function m.editbox(parent, name)
|
||||
id = id + 1
|
||||
function m.editbox(parent, name)
|
||||
|
||||
-- local frame = CreateFrame('Frame', name, parent)
|
||||
-- frame:Hide()
|
||||
|
||||
local editbox = CreateFrame('EditBox', name, parent)
|
||||
editbox.selector = Aux.completion.selector(editbox)
|
||||
editbox:SetAutoFocus(false)
|
||||
-- editbox:SetScript("OnEnter", Control_OnEnter)
|
||||
-- editbox:SetScript("OnLeave", Control_OnLeave)
|
||||
-- editbox:SetScript("OnEscapePressed", EditBox_OnEscapePressed)
|
||||
-- editbox:SetScript("OnEnterPressed", EditBox_OnEnterPressed)
|
||||
-- editbox:SetScript("OnTextChanged", EditBox_OnTextChanged)
|
||||
-- editbox:SetScript("OnReceiveDrag", EditBox_OnReceiveDrag)
|
||||
-- editbox:SetScript("OnMouseDown", EditBox_OnReceiveDrag)
|
||||
-- editbox:SetScript("OnEditFocusGained", EditBox_OnFocusGained)
|
||||
-- editbox:SetScript("OnEditFocusLost", EditBox_OnFocusLost)
|
||||
editbox:SetTextInsets(0, 0, 3, 3)
|
||||
editbox:SetMaxLetters(256)
|
||||
editbox:SetHeight(19)
|
||||
editbox:SetFont(m.config.content_font, m.config.normal_font_size)
|
||||
editbox:SetShadowColor(0, 0, 0, 0)
|
||||
editbox:SetBackdrop({bgFile='Interface\\Buttons\\WHITE8X8', edgeFile='Interface\\Buttons\\WHITE8X8', edgeSize=m.config.edge_size})
|
||||
editbox:SetBackdropColor(unpack(m.config.content_color))
|
||||
editbox:SetBackdropBorderColor(unpack(m.config.content_border_color))
|
||||
local editbox = CreateFrame('EditBox', name, parent)
|
||||
editbox.selector = Aux.completion.selector(editbox)
|
||||
editbox:SetAutoFocus(false)
|
||||
editbox:SetTextInsets(0, 0, 3, 3)
|
||||
editbox:SetMaxLetters(256)
|
||||
editbox:SetHeight(19)
|
||||
editbox:SetFont(m.config.content_font, m.config.normal_font_size)
|
||||
editbox:SetShadowColor(0, 0, 0, 0)
|
||||
editbox:SetBackdrop({bgFile='Interface\\Buttons\\WHITE8X8', edgeFile='Interface\\Buttons\\WHITE8X8', edgeSize=m.config.edge_size})
|
||||
editbox:SetBackdropColor(unpack(m.config.content_color))
|
||||
editbox:SetBackdropBorderColor(unpack(m.config.content_border_color))
|
||||
|
||||
-- local label = frame:CreateFontString(nil, 'OVERLAY')
|
||||
-- label:SetPoint('TOPLEFT', 0, -2)
|
||||
@@ -244,6 +235,119 @@ do
|
||||
-- label:SetFont(m.config.content_font, m.config.normal_font_size)
|
||||
-- label:SetShadowColor(0, 0, 0, 0)
|
||||
|
||||
return editbox
|
||||
return editbox
|
||||
end
|
||||
|
||||
function m.status_bar(parent, base_name)
|
||||
local self = CreateFrame('Frame', nil, parent)
|
||||
|
||||
local level = parent:GetFrameLevel()
|
||||
|
||||
self:SetFrameLevel(level + 1)
|
||||
|
||||
do
|
||||
-- minor status bar (gray one)
|
||||
local status_bar = CreateFrame('STATUSBAR', base_name..'_minor', self, 'TextStatusBar')
|
||||
status_bar:SetOrientation('HORIZONTAL')
|
||||
status_bar:SetMinMaxValues(0, 100)
|
||||
status_bar:SetAllPoints()
|
||||
status_bar:SetStatusBarTexture('[[Interface\Buttons\WHITE8X8]]')
|
||||
status_bar:SetStatusBarColor(.42, .42, .42, .7)
|
||||
status_bar:SetFrameLevel(level + 2)
|
||||
-- local ag = status_bar:CreateAnimationGroup()
|
||||
-- local alpha = ag:CreateAnimation('Alpha')
|
||||
-- alpha:SetDuration(1)
|
||||
-- alpha:SetChange(-.5)
|
||||
-- ag:SetLooping('Bounce')
|
||||
-- status_bar.ag = ag
|
||||
self.minor_status_bar = status_bar
|
||||
end
|
||||
|
||||
do
|
||||
-- major status bar (main blue one)
|
||||
local status_bar = CreateFrame('STATUSBAR', base_name..'_major', self, 'TextStatusBar')
|
||||
status_bar:SetOrientation('HORIZONTAL')
|
||||
status_bar:SetMinMaxValues(0, 100)
|
||||
status_bar:SetAllPoints()
|
||||
status_bar:SetStatusBarTexture([[Interface\Buttons\WHITE8X8]])
|
||||
status_bar:SetStatusBarColor(.19, .22, .33, .9)
|
||||
status_bar:SetFrameLevel(level + 3)
|
||||
-- local ag = status_bar:CreateAnimationGroup()
|
||||
-- local alpha = ag:CreateAnimation('Alpha')
|
||||
-- alpha:SetDuration(1)
|
||||
-- alpha:SetChange(-.5)
|
||||
-- ag:SetLooping('Bounce')
|
||||
-- status_bar.ag = ag
|
||||
self.major_status_bar = status_bar
|
||||
end
|
||||
|
||||
do
|
||||
local text_frame = CreateFrame('Frame', nil, self)
|
||||
text_frame:SetFrameLevel(level + 4)
|
||||
text_frame:SetAllPoints(self)
|
||||
local text = m.create_label(text_frame)
|
||||
text:SetTextColor(unpack(m.config.text_color.enabled))
|
||||
text:SetPoint('CENTER', 0, 0)
|
||||
self.text = text
|
||||
end
|
||||
|
||||
function self:update_status(major_status, minor_status)
|
||||
if major_status then
|
||||
self.major_status_bar:SetValue(major_status)
|
||||
-- if major_status == 100 then
|
||||
-- self.major_status_bar.ag:Stop()
|
||||
-- elseif not self.major_status_bar.ag:IsPlaying() then
|
||||
-- self.major_status_bar.ag:Play()
|
||||
-- end
|
||||
end
|
||||
if minor_status then
|
||||
self.minor_status_bar:SetValue(minor_status)
|
||||
-- if minor_status == 100 then
|
||||
-- self.minor_status_bar.ag:Stop()
|
||||
-- elseif not self.minor_status_bar.ag:IsPlaying() then
|
||||
-- self.minor_status_bar.ag:Play()
|
||||
-- end
|
||||
end
|
||||
end
|
||||
|
||||
function self:set_text(text)
|
||||
self.text:SetText(text)
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
function m.create_label(parent, size)
|
||||
local label = parent:CreateFontString()
|
||||
label:SetFont(m.config.content_font, size or m.config.normal_font_size)
|
||||
label:SetTextColor(unpack(m.config.label_color.enabled))
|
||||
return label
|
||||
end
|
||||
|
||||
function m.CreateHorizontalLine(parent, ofsy, relativeFrame, invertedColor)
|
||||
relativeFrame = relativeFrame or parent
|
||||
local barTex = parent:CreateTexture()
|
||||
barTex:SetPoint("TOPLEFT", relativeFrame, "TOPLEFT", 2, ofsy)
|
||||
barTex:SetPoint("TOPRIGHT", relativeFrame, "TOPRIGHT", -2, ofsy)
|
||||
barTex:SetHeight(2)
|
||||
if invertedColor then
|
||||
TSMAPI.Design:SetFrameColor(barTex)
|
||||
else
|
||||
TSMAPI.Design:SetContentColor(barTex)
|
||||
end
|
||||
return barTex
|
||||
end
|
||||
|
||||
function m.CreateVerticalLine(parent, ofsx, relativeFrame, invertedColor)
|
||||
relativeFrame = relativeFrame or parent
|
||||
local barTex = parent:CreateTexture()
|
||||
barTex:SetPoint("TOPLEFT", relativeFrame, "TOPLEFT", ofsx, -2)
|
||||
barTex:SetPoint("BOTTOMLEFT", relativeFrame, "BOTTOMLEFT", ofsx, 2)
|
||||
barTex:SetWidth(2)
|
||||
if invertedColor then
|
||||
TSMAPI.Design:SetFrameColor(barTex)
|
||||
else
|
||||
TSMAPI.Design:SetContentColor(barTex)
|
||||
end
|
||||
return barTex
|
||||
end
|
||||
+22
-4
@@ -533,6 +533,15 @@ function public.on_load()
|
||||
this:ClearFocus()
|
||||
end)
|
||||
end
|
||||
do
|
||||
local status_bar = Aux.gui.status_bar(AuxItemSearchFrame, 15, 'kekbar')
|
||||
status_bar:SetWidth(265)
|
||||
status_bar:SetHeight(30)
|
||||
status_bar:SetPoint('BOTTOMLEFT', AuxItemSearchFrame, 'BOTTOMLEFT', 6, 6)
|
||||
status_bar:update_status(0,0)
|
||||
status_bar:set_text('')
|
||||
private.status_bar = status_bar
|
||||
end
|
||||
end
|
||||
|
||||
function public.dialog_cancel()
|
||||
@@ -634,6 +643,9 @@ function public.start_search()
|
||||
|
||||
Aux.scan.abort(function()
|
||||
|
||||
private.status_bar:update_status(0,0)
|
||||
private.status_bar:set_text('Scanning auctions...')
|
||||
|
||||
AuxItemSearchFrameItemRefreshButton:Hide()
|
||||
AuxItemSearchFrameItemStopButton:Show()
|
||||
|
||||
@@ -658,7 +670,7 @@ function public.start_search()
|
||||
usable = item_info.usable,
|
||||
}
|
||||
|
||||
Aux.log('Scanning auctions ...')
|
||||
-- Aux.log('Scanning auctions ...')
|
||||
Aux.scan.start{
|
||||
query = search_query,
|
||||
page = AuxItemSearchFrameItemAllPagesCheckButton:GetChecked() and 0 or AuxItemSearchFrameItemPageEditBox:GetNumber(),
|
||||
@@ -666,7 +678,9 @@ function public.start_search()
|
||||
current_page = nil
|
||||
end,
|
||||
on_page_loaded = function(page, total_pages)
|
||||
Aux.log('Scanning page '..(page+1)..' out of '..total_pages..' ...')
|
||||
private.status_bar:update_status(100 * (page + 1) / total_pages, 0)
|
||||
private.status_bar:set_text(string.format('Scanning (Page %d / %d)', page + 1, total_pages))
|
||||
-- Aux.log('Scanning page '..(page+1)..' out of '..total_pages..' ...')
|
||||
current_page = page
|
||||
end,
|
||||
on_read_auction = function(auction_info)
|
||||
@@ -677,7 +691,9 @@ function public.start_search()
|
||||
end,
|
||||
on_complete = function()
|
||||
auctions = auctions or {}
|
||||
Aux.log('Scan complete: '..getn(auctions)..' '..Aux_PluralizeIf('auction', getn(auctions))..' found.')
|
||||
private.status_bar:update_status(100, 100)
|
||||
private.status_bar:set_text('Done Scanning')
|
||||
-- Aux.log('Scan complete: '..getn(auctions)..' '..Aux_PluralizeIf('auction', getn(auctions))..' found.')
|
||||
|
||||
AuxItemSearchFrameItemStopButton:Hide()
|
||||
AuxItemSearchFrameItemRefreshButton:Show()
|
||||
@@ -685,7 +701,9 @@ function public.start_search()
|
||||
end,
|
||||
on_abort = function()
|
||||
auctions = auctions or {}
|
||||
Aux.log('Scan aborted: '..getn(auctions)..' '..Aux_PluralizeIf('auction', getn(auctions))..' found.')
|
||||
private.status_bar:update_status(100, 100)
|
||||
private.status_bar:set_text('Done Scanning')
|
||||
-- Aux.log('Scan aborted: '..getn(auctions)..' '..Aux_PluralizeIf('auction', getn(auctions))..' found.')
|
||||
AuxItemSearchFrameItemStopButton:Hide()
|
||||
AuxItemSearchFrameItemRefreshButton:Show()
|
||||
refresh = true
|
||||
|
||||
@@ -175,7 +175,7 @@ function public.create(params)
|
||||
local rows = {}
|
||||
local row_index = 1
|
||||
local max_height = content:GetHeight()
|
||||
local total_height = 16
|
||||
local total_height = params.plain and 0 or 16
|
||||
while total_height + 14 < max_height do
|
||||
if getn(params.columns) > 0 then
|
||||
local row = CreateFrame('Button', nil, content)
|
||||
|
||||
Reference in New Issue
Block a user