iup._G.vcons = {} function iup._G.vcons.draw () if (iup._G.vcons) then if vcons.dialog then vcons.dialog:destroy() end end vcons.textbox = iup.multiline{title='textbox'} vcons.inputbox = iup.text{value = "", title="inputbox"} function vcons.inputbox:action(c) if c == 27 then return iup.CLOSE elseif c == 13 then local val = iup.GetAttribute(vcons.inputbox, 'VALUE') local cmd = string.format(">VOKB vokb %s", val) iup.SetAttributes(vcons.inputbox, "VALUE=") log_print(cmd) end return iup.DEFAULT end local vbox = iup.vbox{ vcons.textbox, vcons.inputbox } vcons.dialog = iup.dialog{vbox; title='vcons'} iup.SetAttributes(vcons.dialog,'\ RESIZE=YES,\ MENUBOX=YES,\ BORDER=YES,\ SIZE=HALFxHALF,\ ACTIVE=YES,\ TOPMOST=YES,\ BRINGFRONT=YES,\ STARTFOCUS=vcons.inputbox,\ VISIBLE=YES,\ EXPAND=YES,\ TITLE="VOKB Console",\ BGCOLOR="134 156 175"\ ') iup.SetAttributes(vcons.textbox,'\ SCROLLBAR=YES,\ EXPAND=YES,\ READONLY=YES\ '); iup.SetAttributes(vcons.inputbox,'EXPAND=HORIZONTAL,ALIGNMENT=ABOTTOM'); vcons.dialog:showxy(iup.CENTER,iup.CENTER) iup.SetFocus(vcons.dialog) end function iup._G.vcons.write (text) if (iup._G.vcons) then if vcons.dialog then iup.SetAttributes(vcons.textbox, string.format('APPEND=%s', text)); end end print(text) end