Mercurial > wow > devian
view Devian.xml @ 4:247118593c66
Console interface properly resides in XML, and has been fitted with a sizing widget.
Console frame can be moved by clicking and dragging anywhere, and can be minimized by right click.
Font paths point to the actual addon tree.
author | Nenue |
---|---|
date | Fri, 18 Dec 2015 19:48:10 -0500 |
parents | |
children | ac644fc860cc |
line wrap: on
line source
<Ui> <Frame name="DevianConsole" parent="UIParent" enableMouse="true" enableMouseWheel="true" movable="true" resizable="true" toplevel="true" hidden="true" clampedToScreen="true"> <Size width="500" height="600"/> <KeyValues> <KeyValue key="format" value="Devian [%s]" /> </KeyValues> <Scripts> <OnMouseDown> if button == 'LeftButton' then if self.sizer:IsMouseOver() then return self:StartSizing() end return self:StartMoving() end </OnMouseDown> <OnMouseUp> if button == 'RightButton' then if not self.minimized then self.sizer:ClearAllPoints() self.sizer:SetPoint('TOPRIGHT') self:SetHeight(20) self.minimized = true return self.console:Hide() else self.sizer:ClearAllPoints() self.sizer:SetPoint('BOTTOMRIGHT') self:SetHeight(DevianDB.height) self.minimized = nil return self.console:Show() end end self:StopMovingOrSizing() Devian:SavePos() </OnMouseUp> <OnMouseWheel> local up = delta > 0 if IsControlKeyDown() then if up then self.console:ScrollToTop() else self.console:ScrollToBottom() end elseif IsShiftKeyDown() then if up then self.console:PageUp() else self.console:PageDown() end else if up then self.console:ScrollUp() else self.console:ScrollDown() end end </OnMouseWheel> <OnUpdate> if not self.throttle then self.throttle = GetTime() elseif (GetTime()-self.throttle < 0.2) then return else self.throttle = GetTime() end self.text:SetText(string.format(self.format, GetTime())) </OnUpdate> </Scripts> <Frames> <ScrollingMessageFrame name="$parentBuffer" parentkey="console" maxLines="500" displayduration="2000000"> <Anchors> <Anchor point="TOPLEFT" y="-20" /> <Anchor point="BOTTOMRIGHT" /> </Anchors> <FontString font="Interface\Addons\Devian\font\SourceCodePro-Regular.ttf" wordwrap="true" maxLines="500" justifyH="LEFT" indented="true" setAllPoints="true"> <FontHeight> <AbsValue val="12"/> </FontHeight> </FontString> <Layers> <Layer level="BACKGROUND"> <Texture name="DevianConsoleBG" parentKey="backdrop" setAllPoints="true" alphaMode="MOD"> <Color r="1" g="1" b="1" a="1"/> <Gradient orientation="HORIZONTAL"> <MinColor a="1" r="0" g="0" b="0"/> <MaxColor a="1" r="1" g="1" b="1"/> </Gradient> </Texture> </Layer> </Layers> </ScrollingMessageFrame> </Frames> <Layers> <Layer level="OVERLAY"> <Texture parentKey="tbar" alphaMode="BLEND"> <Anchors> <Anchor point="TOPLEFT" /> <Anchor point="TOPRIGHT" /> </Anchors> <Size y="20" /> <Color r="0.3" g="0.3" b="0.3" a="1" /> </Texture> <FontString parentKey="text" font="Interface\Addons\Devian\font\SourceCodePro-Bold.ttf" wordwrap="true" maxLines="500" justifyH="LEFT" indented="true"> <Anchors> <Anchor point="TOPLEFT" x="4" y="-2" /> <Anchor point="TOPRIGHT" x="-4" /> </Anchors> <Size y="20" /> <FontHeight> <AbsValue val="12"/> </FontHeight> </FontString> </Layer> <Layer level="HIGHLIGHT"> <Texture parentKey="sizer" alphaMode="BLEND"> <Anchors> <Anchor point="BOTTOMRIGHT" /> </Anchors> <Size x="20" y="20" /> <Color r="1" g="1" b="1" a="0.7"/> </Texture> </Layer> </Layers> </Frame> </Ui>