[IronPython] Python in the Browser updates
Jimmy.Schementi at microsoft.com
Tue Jul 15 01:59:41 CEST 2008
Michael Foord wrote:
> Jimmy Schementi wrote:
> > Michael, question for you:
> > 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
> 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.
> This calls into 'getSelection' (cursor_pos.js) to work out the current
> selection in the textarea. Naturally this is easy to do in Firefox /
> Safari and scarily awful in IE. :-)
Attaching the event is simple:
from System.Windows.Browser.HtmlPage import Document
from System.Windows.Input import KeyEventHandler
def onKeyPress(sender, eventArgs):
# Do something with eventArgs.CharacterCode
> Having worked these out (and shortcut a few specific scenarios - like
> with the selection start, selection end, and the character that was
> I use attaching events from Python to provide the sample code. There
> three links above the console and Python handles the 'onclick' event to
> swap the examples around.
> Michael Foord
> > <textarea id="code"></textarea>
> > <div id="result"></div>
> > from System import EventHandler
> > from System.Windows.Browser import Htmlpage, HtmlEventArgs
> > document = System.Windows.Browser.HtmlPage.Document
> > def onkeypress(s, e):
> > document.result.innerHTML += "KeyPress<br />"
> > document.code.AttachEvent("onkeypress",
> > Anyway, just wondering if anything was blocking you from hooking HTML
> events with Python.
> > ~js
> >> -----Original Message-----
> >> From: users-bounces at lists.ironpython.com [mailto:users-
> >> bounces at lists.ironpython.com] On Behalf Of Michael Foord
> >> Sent: Tuesday, June 17, 2008 2:52 PM
> >> To: Discussion of IronPython
> >> Subject: Re: [IronPython] Python in the Browser updates
> >> Hello all,
> >> Sorry for the noise - but tomorrow I hope to package this for a
> >> and if any of you get the chance to give me any feedback before
> >> http://www.voidspace.org.uk/ironpython/silverlight-
> >> I think I have fixed all the basic usability issues (it is no longer
> >> possible to screw up the console so that it refuses further input
> >> example). To *really* fix input I ought to move execution into its
> >> thread so that we can interrupt infinite loops  - but that is a
> >> bigger change so I am resisting it for the moment.
> >> The big change is that I have added some simple code snippets - as
> >> example of how it could be used in tutorials or for teaching Python.
> >> It is also easy to customize - the source code (200 lines of Python,
> >> execution context and show the first few lines of code in the
> >> interpreter.
> >> You can get the sourcecode from the repository of course:
> >> http://code.google.com/p/pythoninthebrowser/
> >> All the best,
> >> Michael Foord
> >>  and then decide whether on windows a ctrl-c should send a
> >> interrupt or copy to the clipboard...
> >> Michael Foord wrote:
> >>> For those who are interested, I've updated "Python in the Browser".
> >>> Both the repository:
> >>> http://code.google.com/p/pythoninthebrowser/
> >>> And the online demo:
> >>> http://www.voidspace.org.uk/ironpython/silverlight-
> >> console/console.html
> >>> There are a few minor but nice improvements:
> >>> * The textarea scrolls as input is printed
> >>> * The context window is disabled to prevent you pasting over the
> >> input
> >>> area - not sure if this is really an improvement though...
> >>> * The input area is cleared on load - to stop browsers like Firefox
> >>> and Safari repopulating the textarea for us on browser refresh
> >>> * Recursion limit is set
> >>> I think it is basically in a useful state now... I might push out a
> >>> '0.1' release from the current SVN head.
> >>> All the best,
> >>> Michael Foord
> >> --
> >> http://www.ironpythoninaction.com/
> >> http://www.theotherdelia.co.uk/
> >> http://www.voidspace.org.uk/
> >> http://www.ironpython.info/
> >> http://www.resolverhacks.net/
> >> _______________________________________________
> >> 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
> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> Users mailing list
> Users at lists.ironpython.com
More information about the Ironpython-users