Hi All, I have made a virtual terminal like app in iuplua (but question refers to iup! not lua), which read & evaluate inputs prompted to user. I have a problem in the iupmultiline. when enter pressed the vertical cursor goes on the next line instead of "> " line.The cursor should be shown like this "> |". Below is the program:
-- A Virtual Terminal Using IupMultiline -- Copyright (c) 2013 Muhammad Asif Hussain require( "iuplua" ) i = 0 -- flag for chars count ml = iup.multiline{ EXPAND = "YES", BGCOLOR = "255 255 255", FGCOLOR = "0 0 0", APPENDNEWLINE = "NO" } -- mouse buttons callback function ml:button_cb(but, pressed, x, y, status) print(but) print(pressed) print(x) print(y) print(status) if but==49 then return iup.IGNORE else return iup.DEFAULT end end dlg = iup.dialog{ml; title="My Virtual Terminal", size="HALFxHALF"} dlg:show() ml.insert = " My Virtual Terminal \n" ml.insert = "> " -- prompt for input -- ********************************** check key presses ******************************* function ml:k_any(c) -- neglect arrow keys -- if c == iup.K_UP or c == iup.K_LEFT or c == iup.K_RIGHT or c == iup.K_DOWN then return iup.IGNORE end -- handle input, allow user for current line editing using i flag if c == iup.K_CR then i = 0 COM = ml.linevalue Split(COM) ml.insert = "\n> " return iup.DEFAULT else if c ~= iup.K_BS then i = i + 1 return iup.DEFAULT; end end -- hanle current line editing if c == iup.K_BS then if i == 0 then return iup.IGNORE else i = i - 1 return iup.DEFAULT end end end -- function ended -- **************************************************************** if (iup.MainLoopLevel()==0) then iup.MainLoop() end -- ***************** SPLIT FUNCTION ******************** function Split(str) tokens = {} for w in string.gmatch( str, "(%w+)" ) do tokens[#tokens+1] = w end if str ~= "" then ml.insert = "\n" end for i = 1, #tokens do print( tokens[i] ) ml.insert = tokens[i] end end I think newline is built in the iupmultiline when enter pressed. how this could be controlled? Regards, Muhammad Asif Hussain ___________________________________________________________________ ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Iup-users mailing list Iup-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iup-users