comparison Devian.lua @ 7:d0cd0e68213e v1.2-r7

Frame anchor set in a way that doesn't disjoint the other pieces when it's changed. Corrected arithmetic in SavePos; should be using y = GetTop - GetScreenHeight Height parameter only saved when maximized
author Nenue
date Fri, 18 Dec 2015 20:49:58 -0500
parents b526dc930b15
children 12d814c10962
comparison
equal deleted inserted replaced
6:b526dc930b15 7:d0cd0e68213e
7 local D = _G.Devian 7 local D = _G.Devian
8 local STATE_LOW, STATE_HIGH = 1, 2 8 local STATE_LOW, STATE_HIGH = 1, 2
9 local PLAYER_REALM = UnitName("player") .. '-' .. GetRealmName() 9 local PLAYER_REALM = UnitName("player") .. '-' .. GetRealmName()
10 local DEVIAN_FRAME = DevianConsole 10 local DEVIAN_FRAME = DevianConsole
11 local cherry = false 11 local cherry = false
12 local print = function(...)
13 _G.print('DVN', ...)
14 end
12 if not DevianDB then 15 if not DevianDB then
13 DevianDB = { 16 DevianDB = {
14 ['global'] = {[STATE_LOW] = {}, [STATE_HIGH] = {}}, 17 ['global'] = {[STATE_LOW] = {}, [STATE_HIGH] = {}},
15 console = true, 18 console = true,
16 dnd_status = true, 19 dnd_status = true,
17 dnd_message = "Debugging. Your messages may get eaten.", 20 dnd_message = "Debugging. Your messages may get eaten.",
18 x = 100, 21 x = 100,
19 y = -150, 22 y = 800,
20 height = 500, 23 height = 500,
21 width = 600, 24 width = 600,
22 font = [[Interface\Addons\Devian\font\SourceCodePro-Regular.ttf]], 25 font = [[Interface\Addons\Devian\font\SourceCodePro-Regular.ttf]],
23 fontsize = 13, 26 fontsize = 13,
24 fontoutline = 'NONE', 27 fontoutline = 'NONE',
26 cherry = "This is probably the first time, so:\n /dvn 2 to save your regular addon list\n /dvn 1 to save your development addon list\n /dvn to switch between the two\n /dvc to toggle print() frame" 29 cherry = "This is probably the first time, so:\n /dvn 2 to save your regular addon list\n /dvn 1 to save your development addon list\n /dvn to switch between the two\n /dvc to toggle print() frame"
27 end 30 end
28 local db = DevianDB 31 local db = DevianDB
29 32
30 function D:SavePos(x,y) 33 function D:SavePos(x,y)
31 db.y = DEVIAN_FRAME:GetTop() 34 db.y = (DEVIAN_FRAME:GetTop() - GetScreenHeight())
32 db.x = DEVIAN_FRAME:GetLeft() 35 db.x = DEVIAN_FRAME:GetLeft()
33 db.width = DEVIAN_FRAME:GetWidth() 36 db.width = DEVIAN_FRAME:GetWidth()
34 db.height = DEVIAN_FRAME:GetHeight() 37 if not DEVIAN_FRAME.minimized then
38 db.height = DEVIAN_FRAME:GetHeight()
39 end
40
41 print(db.y)
42 DEVIAN_FRAME:SetPoint('TOPLEFT', UIParent, 'TOPLEFT', db.x, db.y)
35 end 43 end
36 44
37 local ScanAddOnList = function(args) 45 local ScanAddOnList = function(args)
38 local list_state 46 local list_state
39 47
131 139
132 f:ScrollToBottom() 140 f:ScrollToBottom()
133 f:SetMaxLines(500) 141 f:SetMaxLines(500)
134 --]] 142 --]]
135 f.console:SetInsertMode('BOTTOM') 143 f.console:SetInsertMode('BOTTOM')
136 f:SetPoint('CENTER', UIParent, 'CENTER', db.x, db.y) 144 f:SetPoint('TOPLEFT', UIParent, 'TOPLEFT', db.x, db.y)
137 f:SetSize(db.width, db.height) 145 f:SetSize(db.width, db.height)
138 f:Lower() 146 f:Lower()
139 147
140 f.console:SetFading(false) 148 f.console:SetFading(false)
141 f.console:SetTimeVisible(2147483647) 149 f.console:SetTimeVisible(2147483647)
142 f.console:SetFont(db.font, db.fontsize, db.fontoutline) 150 f.console:SetFont(db.font, db.fontsize, db.fontoutline)
143 --f:SetJustifyH('LEFT') 151 --f:SetJustifyH('LEFT')
144 152
145 153
146 D.debug_init = true 154 D.debug_init = true
155 end
156 function D:ToggleMinMax()
157 if DEVIAN_FRAME.minimized then
158 self:Maximize()
159 else
160 self:Minimize()
161 end
162 end
163 function D:Minimize()
164 DEVIAN_FRAME:SetHeight(20)
165 DEVIAN_FRAME.minimized = true
166 DEVIAN_FRAME:SetMaxResize(GetScreenWidth(),20)
167 return DEVIAN_FRAME.console:Hide()
168 end
169 function D:Maximize()
170 DEVIAN_FRAME:SetHeight(db.height)
171 DEVIAN_FRAME.minimized = nil
172 DEVIAN_FRAME:SetMaxResize(GetScreenWidth(),GetScreenHeight())
173 return DEVIAN_FRAME.console:Show()
147 end 174 end
148 175
149 local prefix_cache = {} 176 local prefix_cache = {}
150 local function Message(prefix, ...) 177 local function Message(prefix, ...)
151 if prefix == nil then 178 if prefix == nil then
190 table.insert(buffer, var) 217 table.insert(buffer, var)
191 end 218 end
192 DEVIAN_FRAME.console:AddMessage(table.concat(buffer, ' ')) 219 DEVIAN_FRAME.console:AddMessage(table.concat(buffer, ' '))
193 table.wipe(buffer) 220 table.wipe(buffer)
194 end 221 end
195 function D:ToggleMinMax()
196 if DEVIAN_FRAME.minimized then
197 self:Maximize()
198 else
199 self:Minimize()
200 end
201 end
202 function D:Minimize()
203 DEVIAN_FRAME:SetHeight(20)
204 DEVIAN_FRAME.minimized = true
205 return DEVIAN_FRAME.console:Hide()
206 end
207 function D:Maximize()
208 DEVIAN_FRAME:SetHeight(DevianDB.height)
209 DEVIAN_FRAME.minimized = nil
210 return DEVIAN_FRAME.console:Show()
211 end
212 222
213 function D:OnEnable() 223 function D:OnEnable()
214 if db.enabled then 224 if db.enabled then
215 DEVIAN_FRAME:Hide() 225 DEVIAN_FRAME:Hide()
216 D:Print('Standard AddOn list active. Type /dvn to switch to development mode.') 226 D:Print('Standard AddOn list active. Type /dvn to switch to development mode.')