Editor with dialog mode (no without switching from/to console to edit anything!)

develop
Warmist 2012-09-23 23:45:19 +03:00
parent 39df1e0ece
commit 28354715ff
1 changed files with 43 additions and 24 deletions

@ -1,7 +1,8 @@
-- Interface powered item editor.
local gui = require 'gui'
local dialog = require 'gui.dialogs'
local args={...}
function getTargetFromScreens()
local my_trg
if dfhack.gui.getCurFocus() == 'item' then
my_trg=dfhack.gui.getCurViewscreen().item
@ -24,6 +25,9 @@ elseif dfhack.gui.getSelectedJob(true) then
else
qerror("No valid target found")
end
return my_trg
end
local MODE_BROWSE=0
local MODE_EDIT=1
@ -199,7 +203,22 @@ function GmEditorUi:popTarget()
self:dismiss()
end
end
local screen = GmEditorUi{target=my_trg}
function show_editor(trg)
local screen = GmEditorUi{target=trg}
screen:show()
end
if #args~=0 then
if args[1]=="dialog" then
function thunk(entry)
local t=load("return "..entry)()
show_editor(t)
end
dialog.showInputPrompt("Gm Editor", "Object to edit:", COLOR_GRAY, "",thunk)
else
local t=load("return "..args[1])()
show_editor(t)
end
else
show_editor(getTargetFromScreens())
end