[PythonCE] IdleCE (or how I develop for WinCE)

Ed Blake kitsune_e at yahoo.com
Mon Jan 16 23:54:04 CET 2006


I've taken a little time to rewrite large portions of my Idle for CE.  Get it
here: http://kitsu.petesdomain.com/files/WinCE/IdleCE-2.0b.zip
And the LEO document:
http://kitsu.petesdomain.com/files/WinCE/IdleCE.leo

  New features:
    Major code reorginization (editor in separate module)
    Better file change tracking (requires a change in Tkinter.py)
    Addition of MDI (Multi-Document-Interface)
    Better syntax highlighting (better, not good)

The syntax highlighting editor is now broken out into its own module, and is
accompanied by a wrapper class which gives a simpler interface and automatic
scroll bars.  If you want to add IdleCE to your start menu programs you
should put the editor.py file in your python/lib directory.

There is a bug in Tkinter.py in the edit method of the Text class.  If the
edit methods is handling a 'modified' request it needs to use getboolean not
getints.  Fixes are discussed in the IdleCE readme.

One extra addition: a memory leak.  Somewhere in the code that manages
multiple documents something is getting a referance to my documents and not
letting it go.  The result (as tested on WindowsXP) is that even after a
document is closed its memory isn't freed.  All the referances are eventually
killed when you close the program.  I haven't been able to track this down,
so don't use the same IdleCE session for more than a 4-5 documents without
exiting.

How I develop Python programs for CE.  First I write them and get them
working decent on a regular windows PC (using only supported modules).  Then
I copy the file(s) into a scripts directory on my storage card and run them. 
If I get any tracebacks I can open them up in IdleCE and poke around the
problem.  If the problem is serious enough I go back to testing on PC.  For
small programs/experiments I write/test them right in IdleCE (oh suprise).

It's nice to see some people getting active, supporting Python on
pocketPC/WinCE.  It really is pretty stable and usable, it's just that
there's so much out of date information floating around and no central site
for the current stuff.  I'm glad somebody is trying to fix that.


More information about the PythonCE mailing list