add overlay for collapsing all categories on stocks screen
parent
b554f7472e
commit
2c626213d8
@ -0,0 +1,55 @@
|
|||||||
|
local _ENV = mkmodule('plugins.stocks')
|
||||||
|
|
||||||
|
local gui = require('gui')
|
||||||
|
local overlay = require('plugins.overlay')
|
||||||
|
local widgets = require('gui.widgets')
|
||||||
|
|
||||||
|
local stocks = df.global.game.main_interface.stocks
|
||||||
|
|
||||||
|
local function collapse_all()
|
||||||
|
local num_sections = #stocks.current_type_a_expanded
|
||||||
|
for idx=0,num_sections-1 do
|
||||||
|
stocks.current_type_a_expanded[idx] = false
|
||||||
|
end
|
||||||
|
stocks.i_height = num_sections * 3
|
||||||
|
end
|
||||||
|
|
||||||
|
-- -------------------
|
||||||
|
-- StocksOverlay
|
||||||
|
--
|
||||||
|
|
||||||
|
StocksOverlay = defclass(StocksOverlay, overlay.OverlayWidget)
|
||||||
|
StocksOverlay.ATTRS{
|
||||||
|
default_pos={x=-3,y=-20},
|
||||||
|
default_enabled=true,
|
||||||
|
viewscreens='dwarfmode/Stocks',
|
||||||
|
frame={w=27, h=5},
|
||||||
|
frame_style=gui.MEDIUM_FRAME,
|
||||||
|
frame_background=gui.CLEAR_PEN,
|
||||||
|
}
|
||||||
|
|
||||||
|
function StocksOverlay:init()
|
||||||
|
self:addviews{
|
||||||
|
widgets.HotkeyLabel{
|
||||||
|
frame={t=0, l=0},
|
||||||
|
label='collapse all',
|
||||||
|
key='CUSTOM_CTRL_X',
|
||||||
|
on_activate=collapse_all,
|
||||||
|
},
|
||||||
|
widgets.Label{
|
||||||
|
frame={t=2, l=0},
|
||||||
|
text = 'Shift+Scroll',
|
||||||
|
text_pen=COLOR_LIGHTGREEN,
|
||||||
|
},
|
||||||
|
widgets.Label{
|
||||||
|
frame={t=2, l=12},
|
||||||
|
text = ': fast scroll',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
OVERLAY_WIDGETS = {
|
||||||
|
overlay=StocksOverlay,
|
||||||
|
}
|
||||||
|
|
||||||
|
return _ENV
|
Loading…
Reference in New Issue