annotate 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
rev   line source
Nenue@4 1 <Ui>
Nenue@4 2 <Frame name="DevianConsole" parent="UIParent" enableMouse="true" enableMouseWheel="true" movable="true" resizable="true" toplevel="true" hidden="true" clampedToScreen="true">
Nenue@4 3
Nenue@4 4 <Size width="500" height="600"/>
Nenue@4 5 <KeyValues>
Nenue@4 6 <KeyValue key="format" value="Devian [%s]" />
Nenue@4 7 </KeyValues>
Nenue@4 8 <Scripts>
Nenue@4 9 <OnMouseDown>
Nenue@4 10 if button == 'LeftButton' then
Nenue@4 11 if self.sizer:IsMouseOver() then
Nenue@4 12 return self:StartSizing()
Nenue@4 13 end
Nenue@4 14 return self:StartMoving()
Nenue@4 15 end
Nenue@4 16 </OnMouseDown>
Nenue@4 17 <OnMouseUp>
Nenue@4 18 if button == 'RightButton' then
Nenue@4 19 if not self.minimized then
Nenue@4 20 self.sizer:ClearAllPoints()
Nenue@4 21 self.sizer:SetPoint('TOPRIGHT')
Nenue@4 22 self:SetHeight(20)
Nenue@4 23 self.minimized = true
Nenue@4 24 return self.console:Hide()
Nenue@4 25 else
Nenue@4 26 self.sizer:ClearAllPoints()
Nenue@4 27 self.sizer:SetPoint('BOTTOMRIGHT')
Nenue@4 28 self:SetHeight(DevianDB.height)
Nenue@4 29 self.minimized = nil
Nenue@4 30 return self.console:Show()
Nenue@4 31 end
Nenue@4 32 end
Nenue@4 33 self:StopMovingOrSizing()
Nenue@4 34 Devian:SavePos()
Nenue@4 35 </OnMouseUp>
Nenue@4 36 <OnMouseWheel>
Nenue@4 37 local up = delta > 0
Nenue@4 38 if IsControlKeyDown() then
Nenue@4 39 if up then self.console:ScrollToTop()
Nenue@4 40 else self.console:ScrollToBottom() end
Nenue@4 41 elseif IsShiftKeyDown() then
Nenue@4 42 if up then self.console:PageUp()
Nenue@4 43 else self.console:PageDown() end
Nenue@4 44 else
Nenue@4 45 if up then self.console:ScrollUp()
Nenue@4 46 else self.console:ScrollDown() end
Nenue@4 47 end
Nenue@4 48 </OnMouseWheel>
Nenue@4 49 <OnUpdate>
Nenue@4 50 if not self.throttle then
Nenue@4 51 self.throttle = GetTime()
Nenue@4 52 elseif (GetTime()-self.throttle &lt; 0.2) then
Nenue@4 53 return
Nenue@4 54 else
Nenue@4 55 self.throttle = GetTime()
Nenue@4 56 end
Nenue@4 57
Nenue@4 58 self.text:SetText(string.format(self.format, GetTime()))
Nenue@4 59 </OnUpdate>
Nenue@4 60 </Scripts>
Nenue@4 61
Nenue@4 62 <Frames>
Nenue@4 63 <ScrollingMessageFrame name="$parentBuffer" parentkey="console" maxLines="500" displayduration="2000000">
Nenue@4 64 <Anchors>
Nenue@4 65 <Anchor point="TOPLEFT" y="-20" />
Nenue@4 66 <Anchor point="BOTTOMRIGHT" />
Nenue@4 67 </Anchors>
Nenue@4 68 <FontString font="Interface\Addons\Devian\font\SourceCodePro-Regular.ttf" wordwrap="true" maxLines="500"
Nenue@4 69 justifyH="LEFT"
Nenue@4 70 indented="true"
Nenue@4 71 setAllPoints="true">
Nenue@4 72 <FontHeight>
Nenue@4 73 <AbsValue val="12"/>
Nenue@4 74 </FontHeight>
Nenue@4 75 </FontString>
Nenue@4 76
Nenue@4 77 <Layers>
Nenue@4 78 <Layer level="BACKGROUND">
Nenue@4 79 <Texture name="DevianConsoleBG" parentKey="backdrop" setAllPoints="true" alphaMode="MOD">
Nenue@4 80 <Color r="1" g="1" b="1" a="1"/>
Nenue@4 81 <Gradient orientation="HORIZONTAL">
Nenue@4 82 <MinColor a="1" r="0" g="0" b="0"/>
Nenue@4 83 <MaxColor a="1" r="1" g="1" b="1"/>
Nenue@4 84 </Gradient>
Nenue@4 85 </Texture>
Nenue@4 86 </Layer>
Nenue@4 87 </Layers>
Nenue@4 88 </ScrollingMessageFrame>
Nenue@4 89 </Frames>
Nenue@4 90 <Layers>
Nenue@4 91 <Layer level="OVERLAY">
Nenue@4 92 <Texture parentKey="tbar" alphaMode="BLEND">
Nenue@4 93 <Anchors>
Nenue@4 94 <Anchor point="TOPLEFT" />
Nenue@4 95 <Anchor point="TOPRIGHT" />
Nenue@4 96 </Anchors>
Nenue@4 97 <Size y="20" />
Nenue@4 98 <Color r="0.3" g="0.3" b="0.3" a="1" />
Nenue@4 99 </Texture>
Nenue@4 100 <FontString parentKey="text" font="Interface\Addons\Devian\font\SourceCodePro-Bold.ttf" wordwrap="true" maxLines="500"
Nenue@4 101 justifyH="LEFT"
Nenue@4 102 indented="true">
Nenue@4 103 <Anchors>
Nenue@4 104 <Anchor point="TOPLEFT" x="4" y="-2" />
Nenue@4 105 <Anchor point="TOPRIGHT" x="-4" />
Nenue@4 106 </Anchors>
Nenue@4 107 <Size y="20" />
Nenue@4 108 <FontHeight>
Nenue@4 109 <AbsValue val="12"/>
Nenue@4 110 </FontHeight>
Nenue@4 111 </FontString>
Nenue@4 112 </Layer>
Nenue@4 113 <Layer level="HIGHLIGHT">
Nenue@4 114 <Texture parentKey="sizer" alphaMode="BLEND">
Nenue@4 115 <Anchors>
Nenue@4 116 <Anchor point="BOTTOMRIGHT" />
Nenue@4 117 </Anchors>
Nenue@4 118 <Size x="20" y="20" />
Nenue@4 119 <Color r="1" g="1" b="1" a="0.7"/>
Nenue@4 120 </Texture>
Nenue@4 121 </Layer>
Nenue@4 122 </Layers>
Nenue@4 123 </Frame>
Nenue@4 124 </Ui>