From 054083c8bcc6fc4f9085023d5c55c4214d0faf6b Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 20 Dec 2009 17:13:59 +0100 Subject: Adding the Input object. --- dalos-input.lua | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 dalos-input.lua (limited to 'dalos-input.lua') diff --git a/dalos-input.lua b/dalos-input.lua new file mode 100644 index 0000000..1061619 --- /dev/null +++ b/dalos-input.lua @@ -0,0 +1,41 @@ +dalosp.input = { + get_settings = function (self) + return { filename = extra.filename } + end, + + configure = function (self) + local dlg = iup.filedlg { + dialogtype = "Open", + file = self.extra.filename, + } + iup.Popup(dlg) + if dlg.status ~= -1 then + local s, v = pcall(Input, dlg.value) + if s then + obj:set_houtput(v) + return + end + end + obj:set_houtput(nil) + end, + + create = function (d, tab, settings) + tab.ninputs = 0 + tab.noutputs = 1 + tab.otype = dalos.objtype.HANDLE + tab.configure = dalosp.input.configure + tab.default_name = "Input" + tab.get_settings = dalosp.input.get_settings + local extra = { } + if settings then extra.filename = settings.filename end + local obj = dalos.object(d, tab, extra) + + if extra.filename then + local s, v = pcall(Input, extra.filename) + if s then obj:set_houtput(v) end + end + end, +} + +dalos.input = dalosp.input.create +dalos:register_obj("Input", dalos.input) -- cgit v1.2.3