ANN: PythonCard 0.8
Kevin Altis
altis at semi-retired.com
Mon Aug 23 17:33:26 CEST 2004
PythonCard is a GUI construction kit for building cross-platform
desktop applications on Windows, Mac OS X, and Linux.
Release 0.8 includes over 50 sample applications and tools to help
users build applications in Python, including codeEditor, findfiles,
and resourceEditor (layout editor). A list of changes since release
0.7.3.1 is at the end of this message. New samples include ataxx,
lsystem, moderator, montyhall, mp3player, reversi, twistedEchoClient.
There is also an experimental reStructuredText and HTML editor in the
codeEditor directory called restEditor.py.
PythonCard requires Python 2.3 or later and wxPython 2.5.2.7 or later.
You can download the latest release at:
http://sourceforge.net/project/showfiles.php?group_id=19015
Please be sure to look at the migration_guide.txt file in the docs
directory if you are upgrading from a previous release. Since the
package name has changed, you can continue to use the older
PythonCardPrototype package simultaneously with the new PythonCard
package, but you must upgrade to wxPython 2.5.2.7.
All the information you need about PythonCard can be found on the
project web page at:
http://pythoncard.sourceforge.net/
The installation instructions and walkthroughs are available on the
main documentation page:
http://pythoncard.sourceforge.net/documentation.html
For a list of most of the samples that have been built with PythonCard
and screenshots of them in action go to:
http://pythoncard.sourceforge.net/samples/samples.html
The kind people at SourceForge host the project:
http://sourceforge.net/projects/pythoncard/
If you want to get involved the main contact point is the Mailing list:
http://lists.sourceforge.net/lists/listinfo/pythoncard-users
Additional Notes:
Remember to backup or just delete your old PythonCard directory before
installing a new version, so that the old files aren't still in the
package directory. If you installed a previous version of PythonCard on
Windows using the binary installer, then you should be able to remove
the old package via the Add/Remove Programs Control Panel.
The distutils installer will put the framework, components, docs,
samples, and tools in Lib\site-packages or your Python directory
(typically C:\Python23). Of course, on Linux and Mac OS X that path
will be slightly different and have forward slashes.
Windows users should get a PythonCard menu in the Start->Programs menu
with links to the documentation, samples, codeEditor, findfiles, and
resourceEditor.
The tools and most of the samples will now keep their config and data
file info in the "pythoncard_config" directory created by the
framework. On Unix, the directory will be ~/pythoncard_config. On
Windows, the directory varies as described in the following post:
http://aspn.activestate.com/ASPN/Mail/Message/PythonCard/1496793
So, if you run a PythonCard app with any of the runtime tools and
select "Save Configuration" from the "Debug" menu, the window positions
and sizes of your runtime windows (Shell, Message Watcher, etc.) will
be saved in "pythoncard_config/pythoncard_config.txt" not the
PythonCard directory. Likewise, when you change the text style used by
the codeEditor via the "Styles..." menu item under the "Format" menu,
the modification will be saved in "pythoncard_config/stc-styles.cfg"
ka
---
Kevin Altis
altis at semi-retired.com
http://altis.pycs.net/
changelog.txt changes since release 0.7.3.1
Release 0.8 2004-08-18
getCommandLineArgs moved to util.py
runOptionsDialog moved to templates.dialogs.runOptionsDialog.py
dialog.py is now a thin wrapper around wx.lib.dialogs.py
all dialog results now use DialogResults class instead of dictionary
e.g. result.accepted instead of result['accepted']
see dialogs sample and other samples and tools for examples of change
menuDialog changed to insert in place, added default naming based on
label
changed Calendar component to CAL_SEQUENTIAL_MONTH_SELECTION style
added mp3player sample
switched to using wx.lib.statbmp.GenStaticBitmap on GTK for Image
component
Created unit-test facility.
defined ignore files for files that should not be imported to check
for tests.
runAllTests.py runs all tests from the current working directory
down, minus ignored.
added sample unit test class, in UnitTestSample.py
Added two unit tests for LSystem. Pulled out drawAbstractFractal() to
allow this.
Changed console_server.py and minimalTest.py so that importing the file
didn't run code.
updated childWindow resource loading to better support standalones
refactored resourceEditor to query component spec for default
set of attributes in on_componentAdd_command
refactored resourceEditor to dynamically build list of
available Components instead of using static list
converted turtle sample to use Python modules for the script
examples
fixed resourceEditor so it saves on Run and validates
component names
changed all occurances of stack in resources to application
removed Stack class
the application is now the "parent" of the main Background
changed __init__ for Background and CustomDialog so they
don't take a stack parameter
changed childWindow function
self.stack.app references are now self.application
added lsystem sample
added ToggleButton component
fixed enableCommand and disableCommand for components & menus
added ataxx sample
codeEditor now persists all View menu settings
added reversi (Othello) sample
made spirographInteractive its own sample
added restore (inverse of minimize) background window event
added twistedEchoClient sample
added twistedModel.py module to hold TwistedApplication
added redraw method to Widget to simplify immediate redraws
added event.target workaround for timer events
moved getStyleConfigPath to configuration module
renamed stc-styles.rc.cfg to stc-styles.cfg
removed unneeded WXMAC code blocks
removed get/set methods for position, size, foregroundColor,
backgroundColor in Background and CustomDialog and
replaced with properties
added removeListener method to EventQueue to enable the
clean removal of the Message Watcher window when closing app
changed codeEditor file dialog default from *.py to *.*
fixed Windows border offset in resourceEditor by
querying SystemSettings.GetMetric
added Bruce Eckel's moderator sample
updated Choice, ComboBox, List, RadioGroup to use
'selection' and 'stringSelection' attributes instead of
mixed-capability 'selected' and 'selection' attribute
see migration guide for more info
added templates sub-package to hold common backgrounds
and dialogs
updated all samples and tools to use lowercase skip()
removed CamelCase methods from BitmapCanvas (Draw -> draw)
changed Component __init__
init underlying control before Widget class
added makeNewId function
removed postInit
event binding is now part of component init
removed getId() from Widget, using GetId() calls in framework
*ROWLAND describe binding and spec changes here*
added SetValue workaround for TextArea component on Windows
removed dispatch.py and moved classes to event.py
SetFocus -> setFocus
Hide/Show -> visible attribute
added visible, position, and size properties to tool windows
added Tom Jacobs' montyhall sample
added about.py module
added About PythonCard dialog to codeEditor and resourceEditor
added singleton.py module
used by configuration.py, log.py, registry.py, and resource.py
removed Ptr classes from isinstance checks
removed old addresses052.py sample
renamed res.py to resource.py
replaced the use of __getattr__ and __setattr__ in Font,
StatusBar, and Widget classes with property(), so those
classes and components no longer have restrictive
attribute access
this change also eliminated the need for the
_createAttributes and _getAttributeNames methods
changed to wx.Frame for runtime tools on Windows to make
them the same across platforms
removed conditional code check PyCrust since PyCrust
is a standard part of wxPython now
added createStatusBar method to Background and
CustomDialog classes so applications can override that
method if they want to use a more complex StatusBar
made statusbar.StatusBar a direct subclass of wx.StatusBar
renamed PythonCardApp to Application
refactored config.py to configuration.py
removed PythonCardObject and all references to it
removed ObjectMap and all references to it
removed ObjectLookup and all references to it
changed on_openBackground to on_initialize
renamed pom.py to component.py
added test.py
added timer.py module and simple Timer wrapper
added deactivate event to Background
updated sound.py to use wx.Sound
changed model.py to require Python >= 2.3 and wxPython >= 2.5
converted DC methods to use tuples instead of separate
x, y and width, height args
changed wx.NULL to None
switched to wx package
from wxPython import changed to import wx
changed wx.wx style prefixes to wx. except
for wx.wxEVT constants
changed wx.wxHtmlEasyPrinting to wx.html.HtmlEasyPrinting
changed default on Message Watcher to show unused events
PythonCardPrototype package renamed to PythonCard
all references to Prototype updated in source and docs
More information about the Python-announce-list
mailing list