[IronPython] Python in the Browser updates
Jimmy.Schementi at microsoft.com
Thu Jun 19 12:08:51 CEST 2008
My "Try IronRuby (in the browser)" toy console does doesn't users a 1-row textarea that expands as more rows are added. The previous console output isn't in the textarea, it's moved into a div above it. It's easy to hide everything's borders and set the margins/paddings right with CSS that the effect is transparent.
When I get my bits in the wild feel free to rip it off =)
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-
> bounces at lists.ironpython.com] On Behalf Of Michael Foord
> Sent: Thursday, June 19, 2008 2:05 AM
> To: Discussion of IronPython
> Subject: Re: [IronPython] Python in the Browser updates
> Hello all,
> Thanks Jonathan. The approach you suggest has several great advantages.
> The disadvantages are that you lose the ability to copy and paste (I
> think most browsers forbid you from manipulating the clipboard from
> For the first release I'll stick with a textarea but I'll prototype
> suggestion for the next release and see what I think.
> Michael Foord
> Jonathan Slenders wrote:
> > 2008/6/18 Michael Foord <fuzzyman at voidspace.org.uk
> > <mailto:fuzzyman at voidspace.org.uk>>:
> > Jimmy Schementi wrote:
> > Michael, question for you:
> > the C#!).
> > How come you used C# to handle the onkeypress event? This
> > should do it in Python:
> > Did you look at the code to see why? I'd be really interested to
> > know if I can do what I'm doing from Python inside Silverlight,
> > but I doubt it. There's not much code in total, so it should be
> > easy to follow.
> > (onkeypress.js). This calls into 'getSelection' (cursor_pos.js)
> > work out the current selection in the textarea. Naturally this is
> > easy to do in Firefox / Safari and scarily awful in IE. :-)
> > Having worked these out (and shortcut a few specific scenarios -
> > IronPython with the selection start, selection end, and the
> > character that was pressed. I use C# to expose a scriptable type
> > I use attaching events from Python to provide the sample code.
> > There are three links above the console and Python handles the
> > 'onclick' event to swap the examples around.
> > could also be done in Silverlight. Some suggestions how I would do
> > - instead of a text area, I'd use a html <div> , with CSS "overflow:
> > auto;" for the scrollbars.
> > - insert a <p> tag for each line into the <div>.
> > - capture the body.onkeypress events for input
> > - keep a textinput buffer in IronPython, but show the last line by
> > copying it on each keypress to the last <p>
> > - The cursor could be <span>, styled in CSS to show a pinking cursor.
> > - handle the left/right arrows to shift the cursor
> > - handle the up/down arrows to replace the last <p> with the second
> > last executed command
> > - on a "enter" press, process that line.
> > - when using a <div>, it's even very easy to do syntax highlighting
> > the fly. Surround known keywords by a <span class="keyword"> and
> > them.
> > That shouldn't be too hard to do. But you should decide whether it's
> > necessary to have this all in IronPython. Probably, it's the cleanest
> > way to do it.
> > Jonathan
> > ---------------------------------------------------------------------
> > _______________________________________________
> > Users mailing list
> > Users at lists.ironpython.com
> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> Users mailing list
> Users at lists.ironpython.com
More information about the Ironpython-users