69 lines
2.3 KiB
Lua
69 lines
2.3 KiB
Lua
-------------------------------------------------------------------------------
|
|
---Class to build Download panel
|
|
---@class Download
|
|
Download = newclass(FormModel)
|
|
|
|
local transfert_mode = nil
|
|
|
|
-------------------------------------------------------------------------------
|
|
---Initialization
|
|
function Download:onInit()
|
|
self.panelCaption = ({"helmod_download-panel.title"})
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
---On Style
|
|
---@param styles table
|
|
---@param width_main number
|
|
---@param height_main number
|
|
function Download:onStyle(styles, width_main, height_main)
|
|
styles.flow_panel = nil
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
---On event
|
|
---@param event LuaEvent
|
|
function Download:onEvent(event)
|
|
---import
|
|
if event.action == "download-model" then
|
|
local download_panel = event.element.parent
|
|
local text_box = download_panel["data-text"]
|
|
local data_table = Converter.read(text_box.text)
|
|
if data_table ~= nil then
|
|
local model = Model.newModel()
|
|
model.time = data_table.time
|
|
ModelBuilder.copyModel(model, data_table)
|
|
ModelCompute.update(model)
|
|
Controller:send("on_gui_refresh", event)
|
|
end
|
|
end
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
---On update
|
|
---@param event LuaEvent
|
|
function Download:onUpdate(event)
|
|
self:updateDownload(event)
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
---Update about Download
|
|
---@param event LuaEvent
|
|
function Download:updateDownload(event)
|
|
local model = self:getParameterObjects()
|
|
local data_string = ""
|
|
---export
|
|
if event.item2 == "upload" then
|
|
local download_panel = self:getFramePanel("upload")
|
|
download_panel.clear()
|
|
data_string = Converter.write(model)
|
|
local text_box = GuiElement.add(download_panel, GuiTextBox("data-text"):text(data_string))
|
|
end
|
|
---import
|
|
if event.item2 == "download" then
|
|
local download_panel = self:getFramePanel("download")
|
|
download_panel.clear()
|
|
local text_box = GuiElement.add(download_panel, GuiTextBox("data-text"):text(data_string))
|
|
GuiElement.add(download_panel, GuiButton(self.classname, "download-model", "download"):style("helmod_button_default"):caption({"helmod_common.download"}))
|
|
end
|
|
end |