mirror of
https://github.com/Kiritow/OpenComputerScripts.git
synced 2024-03-22 13:10:46 +08:00
Smart Storage supports filter
This commit is contained in:
parent
3adce51af6
commit
478ea016ed
|
@ -142,19 +142,21 @@ local function display_single(tb_data,tb_display,which_one,display_at)
|
||||||
gpu.set(1,display_at,this_table.name .. " -- " .. this_table.label .. " (" .. this_table.total .. ")")
|
gpu.set(1,display_at,this_table.name .. " -- " .. this_table.label .. " (" .. this_table.total .. ")")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function display(tb_data,tb_display,begin_at)
|
local function display(tb_data,tb_display,begin_at,filter)
|
||||||
local w,h=gpu.getResolution()
|
local w,h=gpu.getResolution()
|
||||||
gpu.fill(1,1,w,h-1,' ') -- Status bar is not cleared
|
gpu.fill(1,1,w,h-1,' ') -- Status bar is not cleared
|
||||||
gpu.set(1,1,version_tag)
|
gpu.set(1,1,version_tag)
|
||||||
gpu.fill(1,2,w,1,'-')
|
gpu.fill(1,2,w,1,'-')
|
||||||
gpu.fill(1,h-2,w,1,'-')
|
gpu.fill(1,h-2,w,1,'-')
|
||||||
gpu.set(1,h-1,"<Refresh> <Reform>")
|
gpu.set(1,h-1,"<Refresh> <Reform> <Set Filter> <Clear Filter>")
|
||||||
|
|
||||||
local count_shown=0
|
local count_shown=0
|
||||||
for i=begin_at,#tb_display,1 do
|
for i=begin_at,#tb_display,1 do
|
||||||
count_shown=count_shown+1
|
|
||||||
local this_table=tb_data[tb_display[i]]
|
local this_table=tb_data[tb_display[i]]
|
||||||
gpu.set(1,i-begin_at+3,this_table.name .. " -- " .. this_table.label .. " (" .. this_table.total .. ")")
|
if(string.find(this_table,filter)~=nil) then
|
||||||
|
gpu.set(1,i-begin_at+3,this_table.name .. " -- " .. this_table.label .. " (" .. this_table.total .. ")")
|
||||||
|
count_shown=count_shown+1
|
||||||
|
end
|
||||||
if(i-begin_at+3>=h-3) then break end
|
if(i-begin_at+3>=h-3) then break end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -167,12 +169,14 @@ print("Smart Storage System Starting...")
|
||||||
status("Scanning...")
|
status("Scanning...")
|
||||||
local result=full_scan()
|
local result=full_scan()
|
||||||
local tb_display=GetDisplayTable(result)
|
local tb_display=GetDisplayTable(result)
|
||||||
|
local begin_at_old=1
|
||||||
local begin_at=1
|
local begin_at=1
|
||||||
|
local item_filter=''
|
||||||
|
|
||||||
local need_refresh=true
|
local need_refresh=true
|
||||||
while true do
|
while true do
|
||||||
if(need_refresh) then
|
if(need_refresh) then
|
||||||
display(result,tb_display,begin_at)
|
display(result,tb_display,begin_at,item_filter)
|
||||||
need_refresh=false
|
need_refresh=false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -211,6 +215,24 @@ while true do
|
||||||
tb_display=GetDisplayTable(result)
|
tb_display=GetDisplayTable(result)
|
||||||
begin_at=1
|
begin_at=1
|
||||||
|
|
||||||
|
need_refresh=true
|
||||||
|
elseif(e.x<=string.len("<Refresh> <Reform> <Set Filter>")) then
|
||||||
|
term.setCursor(1,h-1)
|
||||||
|
term.clearLine()
|
||||||
|
io.write("Filter: ")
|
||||||
|
item_filter=io.read()
|
||||||
|
if(item_filter~=nil and string.len(item_filter)>0) then
|
||||||
|
begin_at_old=begin_at
|
||||||
|
begin_at=1
|
||||||
|
else
|
||||||
|
begin_at=begin_at_old
|
||||||
|
end
|
||||||
|
|
||||||
|
need_refresh=true
|
||||||
|
elseif(e.x<=string.len("<Refresh> <Reform> <Set Filter> <Clear Filter>")) then
|
||||||
|
item_filter=''
|
||||||
|
begin_at=begin_at_old
|
||||||
|
|
||||||
need_refresh=true
|
need_refresh=true
|
||||||
end
|
end
|
||||||
elseif(e.y>=3 and e.y<=h-3) then
|
elseif(e.y>=3 and e.y<=h-3) then
|
||||||
|
|
Loading…
Reference in New Issue
Block a user