Hi,

  You have to return iup.IGNORE in k_any and input the line yourself.

Best,
Scuri

> -----Original Message-----
> From: Muhammad Asif Hussain [mailto:masi...@yahoo.com]
> Sent: quarta-feira, 27 de novembro de 2013 02:32
> To: iup-users@lists.sourceforge.net
> Subject: [Iup-users] NewLine Problem in IupMultiline
> 
> 
> 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.clk
> trk
> _______________________________________________
> Iup-users mailing list
> Iup-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/iup-users


------------------------------------------------------------------------------
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

Reply via email to