<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>Building wxPython 2.6 for Development and Testing</title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
will end up with a separate installation of wxPython and you can
switch back and forth between this and the release version that you
may already have installed.</p>
-<p>If you want to make changes to any of the <tt class="literal"><span class="pre">*.i</span></tt> files, (SWIG
+<p>If you want to make changes to any of the <tt class="docutils literal"><span class="pre">*.i</span></tt> files, (SWIG
interface definition files,) or to regenerate the extension sources or
renamer modules, then you will need an up to date version of SWIG,
plus some patches. Get the sources for version 1.3.24, and then apply
cd bld
../configure --prefix=/opt/wx/2.6 \
--with-gtk \
+ --with-gnomeprint \
--with-opengl \
--enable-debug \
--enable-geometry \
--disable-debugreport \
</pre>
<p>On OS X of course you'll want to use --with-mac instead of
---with-gtk.</p>
+--with-gtk and --with-gnomeprint.</p>
<p><strong>NOTE</strong>: Due to a recent change there is currently a dependency
problem in the multilib builds of wxWidgets on OSX, so I have
switched to using a monolithic build. That means that all of the
<pre class="literal-block">
--enable-monolithic \
</pre>
-<p>By default GTK 2.x will be used for the build. If you woudl rather
+<p>By default GTK 2.x will be used for the build. If you would rather
use GTK 1.2.x for some reason then you can force configure to use
it by changing the --with-gtk flag to specify it like this:</p>
<pre class="literal-block">
command but there are other libraries besides the main wxWidgets
libs that also need to be built so again I make a script to do it
all for me so I don't forget anything. This time it is called
-".make" (I use the leading "." so when I do <tt class="literal"><span class="pre">rm</span> <span class="pre">-r</span> <span class="pre">*</span></tt> in my build
+".make" (I use the leading "." so when I do <tt class="docutils literal"><span class="pre">rm</span> <span class="pre">-r</span> <span class="pre">*</span></tt> in my build
dir I don't lose my scripts too.) This is what it looks like:</p>
<pre class="literal-block">
make $* \
building of the glcanvas module.</p>
<p>When the setup.py command is done you should have fully populated
wxPython and wx packages locally in $WXDIR/wxPython/wxPython and
-$WXDIR/wxPython/wx, with all the extension modules (<tt class="literal"><span class="pre">*.so</span></tt> files)
+$WXDIR/wxPython/wx, with all the extension modules (<tt class="docutils literal"><span class="pre">*.so</span></tt> files)
located in the wx package.</p>
</li>
<li><p class="first">To run code with the development version of wxPython, just set the
</pre>
<p>If you have a debug version of Python and wxWidgets and want to
build a debug version of wxPython too, add the --debug flag to the
-command line. You should then end up with a set of <tt class="literal"><span class="pre">*_d.pyd</span></tt>
-files in the wx package and you'll have to run <tt class="literal"><span class="pre">python_d.exe</span></tt> to
+command line. You should then end up with a set of <tt class="docutils literal"><span class="pre">*_d.pyd</span></tt>
+files in the wx package and you'll have to run <tt class="docutils literal"><span class="pre">python_d.exe</span></tt> to
use them. The debug and hybrid(release) versions can coexist.</p>
<p>When the setup.py command is done you should have fully populated
wxPython and wx packages locally in %WXDIR%/wxPython/wxPython and
-%WXDIR%/wxPython/wx, with all the extension modules (<tt class="literal"><span class="pre">*.pyd</span></tt>
+%WXDIR%/wxPython/wx, with all the extension modules (<tt class="docutils literal"><span class="pre">*.pyd</span></tt>
files) located in the wx package.</p>
</li>
<li><p class="first">To run code with the development version of wxPython, just set the
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>Recent Changes for wxPython</title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
<div class="document" id="recent-changes-for-wxpython">
<h1 class="title">Recent Changes for wxPython</h1>
<div class="section" id="id1">
-<h1><a name="id1">2.6.0.0</a></h1>
+<h1><a name="id1">2.6.0.1</a></h1>
+<p>Added wx.BrushFromBitmap to create a stippled brush in a single step.
+Also added missing brysh style flags: wx.STIPPLE_MASK
+wx.STIPPLE_MASK_OPAQUE.</p>
+<p>wxMSW: Fix for controls when the system text fg colour is not black.</p>
+<p>wxGTK: Patch #1171754, It is now possible to have a menu item that
+both has an icon and is a submenu.</p>
+<p>wxMSW: Patch #1197009, better refreshes when windows are moved and
+resized.</p>
+<p>wxMSW: Patch #1197468. Keeps track of pending size/position changes
+in case there is more than one adjustment for a window in a single
+DeferWindowPos set, then the pending values can be used for defaults
+instead of current values.</p>
+<p>Fixed the typemap that converts a Python list of strings to a
+wxArrayString so it uses the wxPy default encoding.</p>
+<p>Several docstrings added and updated. Lots more to go.</p>
+</div>
+<div class="section" id="id2">
+<h1><a name="id2">2.6.0.0</a></h1>
+<ul class="simple">
+<li>26-Apr-2005</li>
+</ul>
<p>wxMSW: Fixed wx.TransientPopupWindow (and therefore wx.TipWindow) to
auto-dismiss when the mouse is clicked outside of the popup like it is
supposed to.</p>
the content of the utf-8 used being compatible with the current
encoding, (you'll get an exception otherwise.)</p>
<blockquote>
-<table border class="table">
+<table border="1" class="docutils">
<colgroup>
<col width="49%" />
<col width="51%" />
<p>wxMac: Fixed wx.ComboBox to forward the EVT_CHAR, EVT_KEY_DOWN,
EVT_KEY_UP and EVT_TEXT events from its embedded text control.</p>
<p>wxMac: Corrected refresh bugs in wxGrid.</p>
-<dl>
+<dl class="docutils">
<dt>XRCed: Updated to version 0.1.5.</dt>
<dd><ul class="first last simple">
<li>Added wxWizard, wxWizardPageSimple (only from pull-down menu).</li>
</dd>
</dl>
</div>
-<div class="section" id="id2">
-<h1><a name="id2">2.5.5.1</a></h1>
+<div class="section" id="id3">
+<h1><a name="id3">2.5.5.1</a></h1>
+<ul class="simple">
+<li>8-Apr-2005</li>
+</ul>
<p>wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected'</p>
<p>wx.grid.Grid: Fixed bug #1163384. Moved the code that handles
activating the cell editors to a EVT_CHAR event handler. This is done
#1076226)</p>
<p>wx.glcanvas.GLCanvas: applied patch fixing problems with X server
crash when using nVidia cards (patch 1155132)</p>
-<dl>
+<dl class="docutils">
<dt>wx.lib.mixins.listctrl: Patches from Toni Brkic:</dt>
<dd><ul class="first last simple">
<li>Bugfix for TextEditMixin when the view can't be scrolled</li>
folks.</p>
<p>Added the ActiveGrid IDE as a sample application.</p>
</div>
-<div class="section" id="id3">
-<h1><a name="id3">2.5.4.1</a></h1>
+<div class="section" id="id4">
+<h1><a name="id4">2.5.4.1</a></h1>
+<ul class="simple">
+<li>16-Mar-2005</li>
+</ul>
<p>wx.Sizer Add, Insert, and Prepend functions now return a reference to the
wx.SizerItem that was added to the sizer, and the wx.SizerItem has a
GetRect accessor to give the position of the item on the parent window.</p>
consecutive (there may be intervening controls). Without this fix, an
out-of-sync assert is generated when clicking on a radio button and
then calling GetValue().</p>
-<dl>
+<dl class="docutils">
<dt>Some XRC changes:</dt>
<dd><ul class="first last simple">
<li>Added 'icon' property to wxFrame and wxDialog</li>
<p>Several patches applied, such as #1111174, #1110252 and others, that
make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more
conistent with the wxMSW native wx.TreeCtrl.</p>
-<dl>
+<dl class="docutils">
<dt>XRCed:</dt>
<dd><ul class="first last simple">
<li>Edit->Locate command (Ctrl-L) for quick selection of items.
<p>Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to
wx.Image.</p>
<p>Added wx.Rect.IsEmpty</p>
-<dl>
+<dl class="docutils">
<dt>wxGTK:</dt>
<dd><ul class="first last simple">
<li>Corrected wx.ListBox selection handling</li>
</dd>
</dl>
</div>
-<div class="section" id="id4">
-<h1><a name="id4">2.5.3.1</a></h1>
+<div class="section" id="id5">
+<h1><a name="id5">2.5.3.1</a></h1>
+<ul class="simple">
+<li>9-Nov-2004</li>
+</ul>
<p>wxMac focus and border refreshes corrected.</p>
<p>Updated internal PNG library.</p>
<p>wxMac fix for metal appearance on wx.ToolBar.</p>
<p>wxGTK: Enable key based navigation through notebook tabs as in the
native control with Left and right keys. Support for vetoing.</p>
<p>FloatCanvas updates from Chris Barker</p>
-<dl>
+<dl class="docutils">
<dt>PyPlot updates from Gordon Williams:</dt>
<dd><ul class="first last simple">
<li>Added bar graph demo</li>
<p>Restructured the installer packages slightly to help facilitate having
multiple versions of wxPython installed at the same time. See the
Migrarion Guide for more information.</p>
-<dl>
+<dl class="docutils">
<dt>Applied patch from Pim Van Heuven that modifies 4 files:</dt>
<dd><ul class="first last simple">
<li>wxPython/demo/ListCtrl_edit.py (new demo)</li>
<p>wxPython on OSX can now be built in Unicode mode, can support multiple
version installs, and comes with an uninstaller script.</p>
</div>
-<div class="section" id="id5">
-<h1><a name="id5">2.5.2.8</a></h1>
+<div class="section" id="id6">
+<h1><a name="id6">2.5.2.8</a></h1>
+<ul class="simple">
+<li>27-Aug-2004</li>
+</ul>
<p>Predominantly a bug-fix release.</p>
<blockquote>
<ul class="simple">
</ul>
</blockquote>
</div>
-<div class="section" id="id6">
-<h1><a name="id6">2.5.2.7</a></h1>
+<div class="section" id="id7">
+<h1><a name="id7">2.5.2.7</a></h1>
+<ul class="simple">
+<li>14-Aug-2004</li>
+</ul>
<p>wx.ADJUST_MINSIZE is now the default behaviour for window items in
sizers. This means that the item's GetMinSize and/or GetBestSize will
be called when calculating layout and the return value from that will
<p>wxGTK: Applied wxNO_BORDER patch (#1098374) for text control and combo
box.</p>
</div>
-<div class="section" id="id7">
-<h1><a name="id7">2.5.1.5</a></h1>
+<div class="section" id="the-this-is-not-a-joke-release">
+<h1><a name="the-this-is-not-a-joke-release">2.5.1.5 (the 'this is <em>not</em> a joke' release)</a></h1>
+<ul class="simple">
+<li>2-Apr-2004</li>
+</ul>
<p>(See also the <a class="reference" href="MigrationGuide.html">MigrationGuide</a> file for details about some of the
big changes that have happened in this release and how you should
adapt your code.)</p>
happen when there are nested attempts to aquire the GIL.</p>
<p>The RPMs will now install menu items on Mandrake Linux in
Applications/Development/Tools for PyCrust, XRCed, etc. The RPMs are
-also installing icons and <tt class="literal"><span class="pre">*.desktop</span></tt> items in the generic KDE and
+also installing icons and <tt class="docutils literal"><span class="pre">*.desktop</span></tt> items in the generic KDE and
GNOME locations, but I don't know yet if they are resulting in menu
items on non-Mandrake systems. (It didn't automatically do it on my
RH-9 build box but I didn't chase it very far...) If you have ideas
</div>
<div class="section" id="id9">
<h1><a name="id9">2.4.2.4</a></h1>
+<ul class="simple">
+<li>1-Oct-2003</li>
+</ul>
<p>Use wxSTC in the demo for displaying the soucre code of the samples.</p>
<p>Lots of bug fixes and such from the wxWindows folks.</p>
<p>Added wxPython.lib.newevent from Miki Tebeka. Its usage is
</div>
<div class="section" id="id10">
<h1><a name="id10">2.4.1.2</a></h1>
+<ul class="simple">
+<li>19-Jun-2003</li>
+</ul>
<p>Added wxScrolledPanel from Will Sadkin</p>
<p>Added SetShape method to top level windows (e.g. wxFrame.)</p>
<p>Changed wxSWIG to not generate Python code using apply, (since it will
-be deprecated in the future) wxSWIG will use <tt class="literal"><span class="pre">spam(*args,</span> <span class="pre">**kw)</span></tt> syntax
+be deprecated in the future) wxSWIG will use <tt class="docutils literal"><span class="pre">spam(*args,</span> <span class="pre">**kw)</span></tt> syntax
instead. Also changed the generated __repr__ methods to be a bit more
informative.</p>
<p>Made the version number information more robust and uh, informative.
and wxWindows match.</p>
<p>Added the new wx "renamer" package that will dynamically import from
the wxPython package and rename wxFooBar --> FooBar. That means that
-people can do imports without <tt class="literal"><span class="pre">"import</span> <span class="pre">*"</span></tt> and can use names like
+people can do imports without <tt class="docutils literal"><span class="pre">"import</span> <span class="pre">*"</span></tt> and can use names like
wx.Frame instead of wx.wxFrame. This is phase 1 of a full transition
to the new namespace.</p>
<p>Updated Scintilla to 1.52. I also changed it to use wxListCtrl
</div>
<div class="section" id="id11">
<h1><a name="id11">2.4.0.7</a></h1>
+<ul class="simple">
+<li>24-Mar-2003</li>
+</ul>
<p>Gave up on generating a warning upon the use of the old true/false or
TRUE/FALSE values.</p>
<p>Fixed wxGenericTreeCtrl (used on wxGTK and wxMac for wxTreeCtrl) so
</div>
<div class="section" id="a-k-a-the-i-m-so-stupid-release">
<h1><a name="a-k-a-the-i-m-so-stupid-release">2.4.0.6 (a.k.a. the I'm so stupid release)</a></h1>
+<ul class="simple">
+<li>11-Mar-2003</li>
+</ul>
<p>The new deprecation class for the old true/false symbols can now be
returned from OnInit. And I promise to be sure I am testing what I
think I am testing in the future...</p>
</div>
<div class="section" id="a-k-a-the-blame-it-on-kevin-release">
<h1><a name="a-k-a-the-blame-it-on-kevin-release">2.4.0.5 (a.k.a. the blame it on Kevin release)</a></h1>
+<ul class="simple">
+<li>7-Mar-2003</li>
+</ul>
<p>A few little but annoying bug fixes.</p>
<p>Updated pycolourchooser.</p>
<p>Updated to 0.9b of PyCrust.</p>
</div>
<div class="section" id="id12">
<h1><a name="id12">2.4.0.4</a></h1>
+<ul class="simple">
+<li>7-Mar-2003</li>
+</ul>
<p>Added missing wxRect methods</p>
<p>Add OOR support for wxApp objects too.</p>
<p>Added wxCursorFromImage, which works on wxMSW and wxGTK so far.</p>
<p>Added some static wxApp functions that help with integration with the
Mac UI. They are no-ops on other platforms so it doesn't hurt to
always call them. The functions are:</p>
-<blockquote>
+<pre class="literal-block">
wxApp_GetMacDefaultEncodingIsPC
wxApp_GetMacSupportPCMenuShortcuts
wxApp_GetMacAboutMenuItemId
wxApp_SetMacAboutMenuItemId
wxApp_SetMacPreferencesMenuItemId
wxApp_SetMacExitMenuItemId
-wxApp_SetMacHelpMenuTitleName</blockquote>
+wxApp_SetMacHelpMenuTitleName
+</pre>
<p>Refactored, enhanced and added capabilities for the DrawXXXList
functions, inspired by code from Chris Barker.</p>
<p>The wxWindows .mo language catalog files are now installed in a
</div>
<div class="section" id="id13">
<h1><a name="id13">2.4.0.2</a></h1>
+<ul class="simple">
+<li>23-Jan-2003</li>
+</ul>
<p>Several bug fixes.</p>
<p>Added wxIntCtrl from Will Sadkin.</p>
<p>Added wxPyColourChooser by Michael Gilfix.</p>
</div>
<div class="section" id="id14">
<h1><a name="id14">2.4.0.1</a></h1>
+<ul class="simple">
+<li>10-Jan-2003</li>
+</ul>
<p>No major new features since 2.3.4.2, mostly bug fixes and minor
enhancements.</p>
<p>Added function wrappers for the common dialogs from Kevin Altis. See
</div>
<div class="section" id="id15">
<h1><a name="id15">2.3.4.2</a></h1>
+<ul class="simple">
+<li>21-Dec-2002</li>
+</ul>
<p>Various bug fixes.</p>
</div>
<div class="section" id="id16">
<h1><a name="id16">2.3.4.1</a></h1>
+<ul class="simple">
+<li>18-Dec-2002</li>
+</ul>
<p>Updated XRCed and wxTimeCtrl contribs.</p>
<p>Show a couple new wxGrid features in the demo.</p>
<p>Several bug fixes in wxWindows.</p>
</div>
<div class="section" id="id17">
<h1><a name="id17">2.3.3.1</a></h1>
+<ul class="simple">
+<li>19-Sep-2002</li>
+</ul>
<p>Added wxSplashScreen.</p>
<p>Added wxGenericDirCtrl.</p>
<p>Added wxMultiChoiceDialog.</p>
<p>Added wxBufferedDC.</p>
<p>Upgraded wxSTC from Scintilla 1.40 to Scintilla 1.45, and then again
to version 1.47, and one more time to 1.48! <wink></p>
-<dl>
+<dl class="docutils">
<dt>UNICODE!</dt>
<dd><p class="first">wxWindows/wxPython can be compiled with unicode support enabled or
disabled. Previous to wxPython 2.3.3 non-unicode mode was always
</div>
<div class="section" id="id18">
<h1><a name="id18">2.3.2.1</a></h1>
+<ul class="simple">
+<li>20-Dec-2001</li>
+</ul>
<p>Changed (again) how the Python global interpreter lock is handled as
well as the Python thread state. This time it works on SMP machines
without barfing and is also still compatible with Python debuggers.</p>
</div>
<div class="section" id="id19">
<h1><a name="id19">2.3.2</a></h1>
+<ul class="simple">
+<li>11-Dec-2001</li>
+</ul>
<p>Added EVT_HELP, EVT_HELP_RANGE, EVT_DETAILED_HELP,
EVT_DETAILED_HELP_RANGE, EVT_CONTEXT_MENU, wxHelpEvent,
wxContextMenuEvent, wxContextHelp, wxContextHelpButton, wxTipWindow,
</div>
<div class="section" id="id20">
<h1><a name="id20">2.3.1</a></h1>
+<ul class="simple">
+<li>10-Jul-2001</li>
+</ul>
<p>Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the user
code can get access to the edit control when it is created, (to push
on a custom event handler for example.)</p>
</div>
<div class="section" id="id21">
<h1><a name="id21">2.3.0</a></h1>
+<ul class="simple">
+<li>22-May-2001</li>
+</ul>
<p>Removed initial startup dependency on the OpenGL DLLs so only the
glcanvasc.pyd depends on them, (on wxMSW.)</p>
<p>Changed wxFont, wxPen, wxBrush to not implicitly use the
<p>Switched to InnoSetup for MSW distributions.</p>
<p>Added wxToggleButton.</p>
<p>Fixed bug that prevented wxTreeCtrl.OnCompareItems from being called.</p>
-<dl>
+<dl class="docutils">
<dt>Added some methods to wxGrid:</dt>
<dd>GetCellHighlightPenWidth
GetCellHighlightROPenWidth
<p>Added wxGetClientDisplayRect which on wxMSW returns a wxRect
representing the area on screen not occupied by the taskbar and such.
On other platforms it is equivallent to wxGetDisplaySize.</p>
-<dl>
+<dl class="docutils">
<dt>OOR:</dt>
<dd><p class="first">Implemented the first phase of OOR (Original Object Return). See
the text in the demo for more details of what this means, but in a
wxPython/samples.</p>
</div>
<div class="section" id="id22">
-<h1><a name="id22">2.2.6</a></h1>
+<h1><a name="id22">2.2.7</a></h1>
+<ul class="simple">
+<li>19-Jun-2001</li>
+</ul>
<p>No changes happened in the Python wrappers for this release, only
changes and fixes in the wxWindows library.</p>
</div>
<div class="section" id="id23">
<h1><a name="id23">2.2.5</a></h1>
+<ul class="simple">
+<li>30-Jan-2001</li>
+</ul>
<p>New typemaps for wxString when compiling for Python 2.0 and beyond
that allow Unicode objects to be passed as well as String objects. If
a Unicode object is passed PyString_AsStringAndSize is used to convert
</div>
<div class="section" id="new-in-2-2-2">
<h1><a name="new-in-2-2-2">New in 2.2.2</a></h1>
+<ul class="simple">
+<li>26-Oct-2000</li>
+</ul>
<p>Significantly changed how the wxStyledtextCtrl code that wraps
Scintilla is implemented. Most of it is now automatically generated
from an interface definition file provided by Scintilla. This means
</div>
<div class="section" id="new-in-2-2-1">
<h1><a name="new-in-2-2-1">New in 2.2.1</a></h1>
+<ul class="simple">
+<li>22-Aug-2000</li>
+</ul>
<p>Various tweaks, fixes, missing methods, etc.</p>
<p>Added example use of wxTaskBarIcon to the demo.</p>
</div>
<div class="section" id="new-in-2-2-0">
<h1><a name="new-in-2-2-0">New in 2.2.0</a></h1>
+<ul class="simple">
+<li>17-Jul-2000</li>
+</ul>
<p>Added wxLog and friends.</p>
<p>Added wxFrame.ShowFullScreen for MSW.</p>
<p>Added PyShellWindow to the wxPython.lib package.</p>
</div>
<div class="section" id="new-in-2-1-16">
<h1><a name="new-in-2-1-16">New in 2.1.16</a></h1>
+<ul class="simple">
+<li>12-Jun-2000</li>
+</ul>
<p>Added an attribute named labelDelta to the generic buttons that
specifies how far to offset the label when the button is in the
depressed state.</p>
</div>
<div class="section" id="new-in-2-1-15">
<h1><a name="new-in-2-1-15">New in 2.1.15</a></h1>
+<ul class="simple">
+<li>25-Apr-2000</li>
+</ul>
<p>Fixed wxTreeCtrl.HitTest to return both the tree item as well as the
flags that clairify where the click was in relation to the item.</p>
<p>Fixed thread state problem in wxTreeCtrl.GetBoundingBox and
</div>
<div class="section" id="what-s-new-in-2-1-13">
<h1><a name="what-s-new-in-2-1-13">What's new in 2.1.13</a></h1>
+<ul class="simple">
+<li>3-Feb-2000</li>
+</ul>
<p>Skipped a version number to match what has been released for wxGTK.</p>
<p>Updated wxMVCTree and added a demo for it, also fixed layout on GTK
and some flicker problems.</p>
support for setting user data on each toolbar tool. The new AddTool
methods look like this:</p>
<blockquote>
-<dl>
+<dl class="docutils">
<dt>def AddTool(ID,</dt>
<dd>bitmap,
pushedBitmap = wxNullBitmap,
</div>
<div class="section" id="what-s-new-in-2-1-11">
<h1><a name="what-s-new-in-2-1-11">What's new in 2.1.11</a></h1>
+<ul class="simple">
+<li>13-Nov-1999</li>
+</ul>
<p>Skipped a few version numbers so wxMSW, wxGTK and wxPython are all
syncronized.</p>
<p>wxImage.SetData now makes a copy of the image data before giving it to
</div>
<div class="section" id="what-s-new-in-2-1-5">
<h1><a name="what-s-new-in-2-1-5">What's new in 2.1.5</a></h1>
+<ul class="simple">
+<li>12-Oct-1999</li>
+</ul>
<p>This is a quick bug-fix release to take care of a few nasties that
crept in at the last minute before 2.1.4 was called done. No new
major features.</p>
</div>
<div class="section" id="what-s-new-in-2-1-4">
<h1><a name="what-s-new-in-2-1-4">What's new in 2.1.4</a></h1>
+<ul class="simple">
+<li>7-Oct-1999</li>
+</ul>
<p>This release is NOT syncronized with a snapshot release of wxGTK or
wxMSW. For MSW this isn't much of a problem since you can get the
binaries from the web site. For other platforms you'll have to build
<p>Added typemaps for wxSize, wxPoint, wxRealPoint, and wxRect that allow
either the actual objects or Python sequence values to be used. For
example, the following are equivallent:</p>
-<blockquote>
+<pre class="literal-block">
win = wxWindow(parent, size = wxSize(100, 100))
-win = wxWindow(parent, size = (100, 100))</blockquote>
+win = wxWindow(parent, size = (100, 100))
+</pre>
<p>Super-charged the wxHtml module. You can now create your own tag
handlers and also have access to the parser and cell classes. There
is a tag handler in the library at wxPython.lib.wxpTag that
class instead of wxPyOnDemandOutputWindow you can either implement
RedirectStdio() in you app class or change the value of
wxApp.outputWindowClass like this:</p>
-<blockquote>
-<dl>
-<dt>class MyApp(wxApp):</dt>
-<dd><p class="first">outputWindowClass = MyClass</p>
-<dl class="last">
-<dt>def OnInit(self):</dt>
-<dd>frame = MyFrame()
-self.SetTopWindow(frame)
-return true</dd>
-</dl>
-</dd>
-</dl>
-</blockquote>
+<pre class="literal-block">
+class MyApp(wxApp):
+ outputWindowClass = MyClass
+
+ def OnInit(self):
+ frame = MyFrame()
+ self.SetTopWindow(frame)
+ return true
+</pre>
<p>Please see the implementation of wxPyOnDemandOutputWindow and wxApp in
wx.py for more details. A few words of caution: if you are running
your app in a debugger, changing sys.stdout and sys.stderr is likely
</div>
<div class="section" id="what-s-new-in-2-1b3">
<h1><a name="what-s-new-in-2-1b3">What's new in 2.1b3</a></h1>
+<ul class="simple">
+<li>1-Sep-1999</li>
+</ul>
<p>This release is syncronized with release 2.1 snapshot 9 of wxWindows.</p>
<p>Switched to using SWIG from CVS (see <a class="reference" href="http://swig.cs.uchicago.edu/cvs.html">http://swig.cs.uchicago.edu/cvs.html</a>)
for some of the new features and such. Also they have encorporated my
</div>
<div class="section" id="what-s-new-in-2-1b2">
<h1><a name="what-s-new-in-2-1b2">What's new in 2.1b2</a></h1>
+<ul class="simple">
+<li>6-Aug-1999</li>
+</ul>
<p>Added the missing wxWindow.GetUpdateRegion() method.</p>
<p>Made a new change in SWIG (update your patches everybody) that
provides a fix for global shadow objects that get an exception in
wxSystemSettings_GetSystemColour.</p>
<p>Removed wxPyMenu since using menu callbacks have been deprecated in
wxWindows. Use wxMenu and events instead.</p>
-<dl>
+<dl class="docutils">
<dt>Added alternate wxBitmap constructor (for MSW only) as</dt>
<dd>wxBitmapFromData(data, type, width, height, depth = 1)</dd>
</dl>
</div>
<div class="section" id="what-s-new-in-2-1b1">
<h1><a name="what-s-new-in-2-1b1">What's new in 2.1b1</a></h1>
+<ul class="simple">
+<li>28-Jun-1999</li>
+</ul>
<p>Fixed wxComboBox.SetSelection so that it actually sets the selected
item. (Actually just removed it from wxPython and let it default to
wxChoice.SetSelection which was already doing the right thing.)</p>
</div>
<div class="section" id="what-s-new-in-2-0b9">
<h1><a name="what-s-new-in-2-0b9">What's new in 2.0b9</a></h1>
+<ul class="simple">
+<li>1-May-1999</li>
+</ul>
<p>Bug fix for ListCtrl in test4.py (Was a missing file... DSM!)</p>
<p>Bug fix for occassional GPF on Win32 systems upon termination of a
wxPython application.</p>
</div>
<div class="section" id="what-s-new-in-2-0b8">
<h1><a name="what-s-new-in-2-0b8">What's new in 2.0b8</a></h1>
+<ul class="simple">
+<li>28-Mar-1999</li>
+</ul>
<p>Support for using Python threads in wxPython apps.</p>
<p>Several missing methods from various classes.</p>
<p>Various bug fixes.</p>
</div>
<div class="section" id="what-s-new-in-2-0b7">
<h1><a name="what-s-new-in-2-0b7">What's new in 2.0b7</a></h1>
+<ul class="simple">
+<li>15-Mar-1999</li>
+</ul>
<p>Added DLG_PNT and DLG_SZE convienience methods to wxWindow class.</p>
<p>Added missing constructor and other methods for wxMenuItem.</p>
</div>
<div class="section" id="what-s-new-in-2-0b6">
<h1><a name="what-s-new-in-2-0b6">What's new in 2.0b6</a></h1>
+<ul class="simple">
+<li>4-Mar-1999</li>
+</ul>
<p>Just a quickie update to fix the self-installer to be compatible with
Python 1.5.2b2's Registry settings.</p>
</div>
<div class="section" id="what-s-new-in-2-0b5">
<h1><a name="what-s-new-in-2-0b5">What's new in 2.0b5</a></h1>
+<ul class="simple">
+<li>25-Feb-1999</li>
+</ul>
<p>Well obviously the numbering scheme has changed. I did this to
reflect the fact that this truly is the second major revision of
wxPython, (well the third actually if you count the one I did for
</div>
<div class="section" id="what-s-new-in-0-5-3">
<h1><a name="what-s-new-in-0-5-3">What's new in 0.5.3</a></h1>
+<ul class="simple">
+<li>30-Jan-1999</li>
+</ul>
<p>Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.</p>
<p>Various cleanup, tweaks, minor additions, etc. to maintain
compatibility with the current wxWindows.</p>
</div>
<div class="section" id="what-s-new-in-0-5-0">
<h1><a name="what-s-new-in-0-5-0">What's new in 0.5.0</a></h1>
-<p>Changed the import semantics from <tt class="literal"><span class="pre">"from</span> <span class="pre">wxPython</span> <span class="pre">import</span> <span class="pre">*"</span></tt> to
-<tt class="literal"><span class="pre">"from</span> <span class="pre">wxPython.wx</span> <span class="pre">import</span> <span class="pre">*"</span></tt> This is for people who are worried about
+<p>Changed the import semantics from <tt class="docutils literal"><span class="pre">"from</span> <span class="pre">wxPython</span> <span class="pre">import</span> <span class="pre">*"</span></tt> to
+<tt class="docutils literal"><span class="pre">"from</span> <span class="pre">wxPython.wx</span> <span class="pre">import</span> <span class="pre">*"</span></tt> This is for people who are worried about
namespace pollution, they can use "from wxPython import wx" and then
prefix all the wxPython identifiers with "wx."</p>
<p>Added wxTaskbarIcon for wxMSW.</p>
</div>
<div class="section" id="what-s-new-in-0-4-2">
<h1><a name="what-s-new-in-0-4-2">What's new in 0.4.2</a></h1>
+<ul class="simple">
+<li>21-Oct-1998</li>
+</ul>
<p>wxPython on wxGTK works!!! Both dynamic and static on Linux and
-static on Solaris have been tested. Many thanks go to Harm
-<<a class="reference" href="mailto:H.v.d.Heijden@phys.tue.nl">H.v.d.Heijden@phys.tue.nl</a>> for his astute detective work on tracking
-down a nasty DECREF bug. Okay so I have to confess that it was just a
-DSM (Dumb Stupid Mistake) on my part but it was nasty none the less
-because the behavior was so different on different platforms.</p>
+static on Solaris have been tested. Many thanks go to Harm van der
+Heijden for his astute detective work on tracking down a nasty DECREF
+bug. Okay so I have to confess that it was just a DSM (Dumb Stupid
+Mistake) on my part but it was nasty none the less because the
+behavior was so different on different platforms.</p>
<p>The dynamicly loaded module on Solaris is still segfaulting, so it
must have been a different issue all along...</p>
</div>
<div class="section" id="what-s-new-in-0-4">
<h1><a name="what-s-new-in-0-4">What's New in 0.4</a></h1>
+<ul class="simple">
+<li>2-Oct-1998</li>
+</ul>
<p>1. Worked on wxGTK compatibility. It is partially working. On a
Solaris/Sparc box wxPython is working but only when it is statically
linked with the Python interpreter. When built as a dyamically loaded
<li>Varioius bug fixes, enhancements, etc.</li>
</ol>
</div>
+<div class="section" id="wxpython-0-3">
+<h1><a name="wxpython-0-3">wxPython 0.3</a></h1>
+<ul class="simple">
+<li>9-Aug-1998</li>
+</ul>
+<p>The first "modern" version of wxPython. See
+<a class="reference" href="http://wiki.wxpython.org/index.cgi/WxPythonHistory">http://wiki.wxpython.org/index.cgi/WxPythonHistory</a></p>
+</div>
</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>Installing wxPython 2.6 from Source</title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>wxPython 2.6 Migration Guide</title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
<p>If you are also using SWIG for your extension then you'll need to
adapt how the wxPython .i files are imported into your .i files. See
the wxPython sources for examples. Your modules will need to at least
-<tt class="literal"><span class="pre">%import</span> <span class="pre">core.i</span></tt>, and possibly others if you need the definition of
+<tt class="docutils literal"><span class="pre">%import</span> <span class="pre">core.i</span></tt>, and possibly others if you need the definition of
other classes. Since you will need them to build your modules using
SWIG, the main wxPython .i files are also installed with the wxPython
headers in an i_files sibdirectory. It should be enough to pass a
wx/build/config.py. This module will be installed as part of wxPython
so 3rd party modules that wish to use the same setup/configuration
code can do so simply by importing this module from their own setup.py
-scripts using <tt class="literal"><span class="pre">import</span> <span class="pre">wx.build.config</span></tt>.</p>
+scripts using <tt class="docutils literal"><span class="pre">import</span> <span class="pre">wx.build.config</span></tt>.</p>
<p>You no longer need to call wxClassInfo::CleanUpClasses() and
wxClassInfo::InitializeClasses() in your extensions or when embedding
wxPython.</p>
<h1><a name="sizers">Sizers</a></h1>
<p>The hack allowing the old "option" keyword parameter has been removed.
If you use keyword args with wx.Sizer Add, Insert, or Prepend methods
-then you will need to use the <tt class="literal"><span class="pre">proportion</span></tt> name instead of
-<tt class="literal"><span class="pre">option</span></tt>. (The <tt class="literal"><span class="pre">proportion</span></tt> keyword was also allowed in 2.4.2.4.)</p>
+then you will need to use the <tt class="docutils literal"><span class="pre">proportion</span></tt> name instead of
+<tt class="docutils literal"><span class="pre">option</span></tt>. (The <tt class="docutils literal"><span class="pre">proportion</span></tt> keyword was also allowed in 2.4.2.4.)</p>
<p>When adding a spacer to a sizer you now need to use a wx.Size or a
2-integer sequence instead of separate width and height parameters.
This was optionally allowed in 2.4, but now it is required. This
to be its minimal size, and that size would always be used by
default when calculating layout size and positions, and the
sizer itself would keep track of that minimal size.</li>
-<li>If the window item was added with the <tt class="literal"><span class="pre">wx.ADJUST_MINSIZE</span></tt>
-flag then when layout was calculated the item's <tt class="literal"><span class="pre">GetBestSize</span></tt>
+<li>If the window item was added with the <tt class="docutils literal"><span class="pre">wx.ADJUST_MINSIZE</span></tt>
+flag then when layout was calculated the item's <tt class="docutils literal"><span class="pre">GetBestSize</span></tt>
would be used to reset the minimal size that the sizer used.</li>
</ul>
</blockquote>
<p>The main thrust of the new Sizer changes was to make behavior like
-<tt class="literal"><span class="pre">wx.ADJUST_MINSIZE</span></tt> be the default, and also to push the tracking of
+<tt class="docutils literal"><span class="pre">wx.ADJUST_MINSIZE</span></tt> be the default, and also to push the tracking of
the minimal size to the window itself (since it knows its own needs)
instead of having the sizer take care of it. Consequently these
changes were made:</p>
<blockquote>
<ul class="simple">
-<li>The <tt class="literal"><span class="pre">wx.FIXED_MINSIZE</span></tt> flag was added to allow for the old
+<li>The <tt class="docutils literal"><span class="pre">wx.FIXED_MINSIZE</span></tt> flag was added to allow for the old
behavior. When this flag is used the size a window has when
added to the sizer will be treated as its minimal size and it
will not be readjusted on each layout.</li>
-<li>The min size stored in <tt class="literal"><span class="pre">wx.Window</span></tt> and settable with
-<tt class="literal"><span class="pre">SetSizeHints</span></tt> or <tt class="literal"><span class="pre">SetMinSize</span></tt> will by default be used by
+<li>The min size stored in <tt class="docutils literal"><span class="pre">wx.Window</span></tt> and settable with
+<tt class="docutils literal"><span class="pre">SetSizeHints</span></tt> or <tt class="docutils literal"><span class="pre">SetMinSize</span></tt> will by default be used by
the sizer (if it was set) as the minimal size of the sizer item.
If the min size was not set (or was only partially set) then the
window's best size is fetched and it is used instead of (or
-blended with) the min size. <tt class="literal"><span class="pre">wx.Window.GetBestFittingSize</span></tt>
+blended with) the min size. <tt class="docutils literal"><span class="pre">wx.Window.GetBestFittingSize</span></tt>
was added to facilitate getting the size to be used by the
sizers.</li>
<li>The best size of a window is cached so it doesn't need to
-recaculated on every layout. <tt class="literal"><span class="pre">wx.Window.InvalidateBestSize</span></tt>
+recaculated on every layout. <tt class="docutils literal"><span class="pre">wx.Window.InvalidateBestSize</span></tt>
was added and should be called (usually just internally in
control methods) whenever something is done that would make the
best size change.</li>
<li>All wxControls were changed to set the minsize to what is passed
to the constructor or Create method, and also to set the real
size of the control to the blending of the min size and best
-size. <tt class="literal"><span class="pre">wx.Window.SetBestFittingSize</span></tt> was added to help with
+size. <tt class="docutils literal"><span class="pre">wx.Window.SetBestFittingSize</span></tt> was added to help with
this, although most controls don't need to call it directly
-because it is called indirectly via the <tt class="literal"><span class="pre">SetInitialSize</span></tt>
+because it is called indirectly via the <tt class="docutils literal"><span class="pre">SetInitialSize</span></tt>
called in the base classes.</li>
</ul>
</blockquote>
the size set later. It is an easy fix though, just move the
specification of the size to the constructor (assuming that SomeWidget
will set its minsize there like the rest of the controls do) or call
-<tt class="literal"><span class="pre">SetMinSize</span></tt> instead of <tt class="literal"><span class="pre">SetSize</span></tt>.</p>
+<tt class="docutils literal"><span class="pre">SetMinSize</span></tt> instead of <tt class="docutils literal"><span class="pre">SetSize</span></tt>.</p>
<p>In order to fit well with this new scheme of things, all wxControls or
custom controls should do the following things. (Depending on how
they are used you may also want to do the same thing for non-control
custom windows.)</p>
<blockquote>
<ul>
-<li><p class="first">Either override or inherit a meaningful <tt class="literal"><span class="pre">DoGetBestSize</span></tt> method
+<li><p class="first">Either override or inherit a meaningful <tt class="docutils literal"><span class="pre">DoGetBestSize</span></tt> method
that calculates whatever size is "best" for the control. Once
that size is calculated then there should normally be a call to
-<tt class="literal"><span class="pre">CacheBestSize</span></tt> to save it for later use, unless for some
+<tt class="docutils literal"><span class="pre">CacheBestSize</span></tt> to save it for later use, unless for some
reason you want the best size to be recalculated on every
layout.</p>
-<p>Note: In order to successfully override <tt class="literal"><span class="pre">DoGetBestSize</span></tt> in
-Python the class needs to be derived from <tt class="literal"><span class="pre">wx.PyWindow</span></tt>,
-<tt class="literal"><span class="pre">wx.PyControl</span></tt>, or etc. If your class instead derives from
+<p>Note: In order to successfully override <tt class="docutils literal"><span class="pre">DoGetBestSize</span></tt> in
+Python the class needs to be derived from <tt class="docutils literal"><span class="pre">wx.PyWindow</span></tt>,
+<tt class="docutils literal"><span class="pre">wx.PyControl</span></tt>, or etc. If your class instead derives from
one of the standard wx classes then just be sure that the min
size gets explicitly set to what would have been the best size
and things should work properly in almost all situations.</p>
</li>
<li><p class="first">Any method that changes the attributes of the control such that
-the best size will change should call <tt class="literal"><span class="pre">InvalidateBestSize</span></tt> so
+the best size will change should call <tt class="docutils literal"><span class="pre">InvalidateBestSize</span></tt> so
it will be recalculated the next time it is needed.</p>
</li>
<li><p class="first">The control's constructor and/or Create method should ensure
that the minsize is set to the size passed in, and that the
control is sized to a blending of the min size and best size.
-This can be done by calling <tt class="literal"><span class="pre">SetBestFittingSize</span></tt>.</p>
+This can be done by calling <tt class="docutils literal"><span class="pre">SetBestFittingSize</span></tt>.</p>
</li>
</ul>
</blockquote>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>The Py Manual</title>
<meta name="author" content="Patrick K. O'Brien" />
<meta name="organization" content="Orbtech" />
</tbody>
</table>
<div class="contents topic" id="contents">
-<p class="topic-title"><a name="contents">Contents</a></p>
+<p class="topic-title first"><a name="contents">Contents</a></p>
<ul class="simple">
<li><a class="reference" href="#introduction" id="id3" name="id3">Introduction</a></li>
<li><a class="reference" href="#developer-reference" id="id4" name="id4">Developer Reference</a></li>
<h1><a class="toc-backref" href="#id11" name="pyfilling">PyFilling</a></h1>
<p>PyFilling is a namespace viewer. It isn't really useful as a
standalone program, but it does illustrate how to make use of the
-underlying <tt class="literal"><span class="pre">filling</span></tt> module.</p>
+underlying <tt class="docutils literal"><span class="pre">filling</span></tt> module.</p>
</div>
<div class="section" id="pyshell">
<h1><a class="toc-backref" href="#id12" name="pyshell">PyShell</a></h1>
as PyCrust, but doesn't have any of the extra features that appear in
the PyCrust notebook interface.</p>
<div class="figure">
-<p><img alt="screenshots/PyShell.png" src="screenshots/PyShell.png" /></p>
+<div class="image"><img alt="screenshots/PyShell.png" src="screenshots/PyShell.png" /></div>
<p class="caption">PyShell running on Mandrake Linux.</p>
</div>
</div>
<h1><a class="toc-backref" href="#id13" name="pywrap">PyWrap</a></h1>
<p>PyWrap is a runtime utility that lets you run an existing wxPython
program with a PyCrust frame at the same time. Inside the PyCrust
-shell namespace, the local variable <tt class="literal"><span class="pre">app</span></tt> is assigned to your
+shell namespace, the local variable <tt class="docutils literal"><span class="pre">app</span></tt> is assigned to your
application instance. In this way you can introspect your entire
application within the PyCrust shell, as well as the PyFilling
namespace viewer.</p>
<pre class="literal-block">
from wxPython import wx
</pre>
-<p>Fixed typo in <tt class="literal"><span class="pre">PyWrap.py</span></tt>:</p>
+<p>Fixed typo in <tt class="docutils literal"><span class="pre">PyWrap.py</span></tt>:</p>
<pre class="literal-block">
if __name__ == '__main__':
main(sys.argv)
</pre>
<p>Added pretty-print Display tab to Crust, based on suggestion from
Jason Whitlark.</p>
-<p>Improved <tt class="literal"><span class="pre">Can*</span></tt> checks in <tt class="literal"><span class="pre">EditWindow</span></tt>, since STC is too lenient,
+<p>Improved <tt class="docutils literal"><span class="pre">Can*</span></tt> checks in <tt class="docutils literal"><span class="pre">EditWindow</span></tt>, since STC is too lenient,
particularly when it is set to read-only but returns True for
CanPaste() (seems like an STC bug to me):</p>
<pre class="literal-block">
<h2><a class="toc-backref" href="#id20" name="to-5-2-2003">0.9.1 (3/21/2003 to 5/2/2003)</a></h2>
<p>PyCrust is dead! Long live Py!</p>
<ul class="simple">
-<li>Renamed <tt class="literal"><span class="pre">PyCrust</span></tt> package to <tt class="literal"><span class="pre">py</span></tt>.</li>
+<li>Renamed <tt class="docutils literal"><span class="pre">PyCrust</span></tt> package to <tt class="docutils literal"><span class="pre">py</span></tt>.</li>
<li>Moved code to wxPython's CVS repository.</li>
</ul>
-<p>Fixed bug in <tt class="literal"><span class="pre">introspect.py</span></tt> on introspecting objects occurring
+<p>Fixed bug in <tt class="docutils literal"><span class="pre">introspect.py</span></tt> on introspecting objects occurring
immediately after a secondary prompt, like this:</p>
<pre class="literal-block">
>>> l = [1, 2, 3]
<li>wxPythonExamples.txt</li>
</ul>
<p>Added PyAlaMode and PyAlaCarte code editors.</p>
-<p>Major refactoring to support <tt class="literal"><span class="pre">editor</span></tt> and <tt class="literal"><span class="pre">shell</span></tt> from the same
+<p>Major refactoring to support <tt class="docutils literal"><span class="pre">editor</span></tt> and <tt class="docutils literal"><span class="pre">shell</span></tt> from the same
base.</p>
<p>Renamed program files:</p>
<ul class="simple">
-<li><tt class="literal"><span class="pre">PyCrustApp.py</span></tt> to <tt class="literal"><span class="pre">PyCrust.py</span></tt></li>
-<li><tt class="literal"><span class="pre">PyFillingApp.py</span></tt> to <tt class="literal"><span class="pre">PyFilling.py</span></tt></li>
-<li><tt class="literal"><span class="pre">PyShellApp.py</span></tt> to <tt class="literal"><span class="pre">PyShell.py</span></tt></li>
-<li><tt class="literal"><span class="pre">wrap.py</span></tt> to <tt class="literal"><span class="pre">PyWrap.py</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">PyCrustApp.py</span></tt> to <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">PyFillingApp.py</span></tt> to <tt class="docutils literal"><span class="pre">PyFilling.py</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">PyShellApp.py</span></tt> to <tt class="docutils literal"><span class="pre">PyShell.py</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">wrap.py</span></tt> to <tt class="docutils literal"><span class="pre">PyWrap.py</span></tt></li>
</ul>
<p>Removed disabling of autocomplete for lists of 2000 items or more.
The current implementation of wxSTC can now handle lists this big.</p>
-<p>Improved handling of <tt class="literal"><span class="pre">sys.path</span></tt> to mimic the standard Python shell.</p>
+<p>Improved handling of <tt class="docutils literal"><span class="pre">sys.path</span></tt> to mimic the standard Python shell.</p>
</div>
<div class="section" id="to-3-20-2003">
<h2><a class="toc-backref" href="#id21" name="to-3-20-2003">0.9 (2/27/2003 to 3/20/2003)</a></h2>
<li>wxPython Docs</li>
<li>wxSTC Docs</li>
</ul>
-<p><tt class="literal"><span class="pre">Filling.tree</span></tt> now expands tuples as well as lists. (It should have
+<p><tt class="docutils literal"><span class="pre">Filling.tree</span></tt> now expands tuples as well as lists. (It should have
done this all along, I just never noticed this omission before.)</p>
<p>Added this True/False test to all modules:</p>
<pre class="literal-block">
True = 1==1
False = 1==0
</pre>
-<p>Added <tt class="literal"><span class="pre">wxd</span></tt> directory with decoration classes.</p>
+<p>Added <tt class="docutils literal"><span class="pre">wxd</span></tt> directory with decoration classes.</p>
</div>
<div class="section" id="to-2-26-2003">
<h2><a class="toc-backref" href="#id22" name="to-2-26-2003">0.8.2 (1/5/2003 to 2/26/2003)</a></h2>
-<p>Wrapped <tt class="literal"><span class="pre">sys.ps1</span></tt>, <tt class="literal"><span class="pre">sys.ps2</span></tt>, and <tt class="literal"><span class="pre">sys.ps3</span></tt> in <tt class="literal"><span class="pre">str()</span></tt>.
+<p>Wrapped <tt class="docutils literal"><span class="pre">sys.ps1</span></tt>, <tt class="docutils literal"><span class="pre">sys.ps2</span></tt>, and <tt class="docutils literal"><span class="pre">sys.ps3</span></tt> in <tt class="docutils literal"><span class="pre">str()</span></tt>.
(Thanks, Kieran Holland.)</p>
<p>Fixed minor things found by PyChecker.</p>
-<p>Changed locals to use <tt class="literal"><span class="pre">__main__.__dict__</span></tt> and added code to clean up
+<p>Changed locals to use <tt class="docutils literal"><span class="pre">__main__.__dict__</span></tt> and added code to clean up
the namespace, making it as close to the regular Python environment as
possible. This solves the problem of pickling and unpickling
instances of classes defined in the shell.</p>
-<p>Made <tt class="literal"><span class="pre">shell.PasteAndRun()</span></tt> a little more forgiving when it finds a
+<p>Made <tt class="docutils literal"><span class="pre">shell.PasteAndRun()</span></tt> a little more forgiving when it finds a
ps2 prompt line with no trailing space, such when you copy code from a
web page.</p>
<p>Improved autocomplete behavior by adding these to shell:</p>
self.AutoCompSetAutoHide(False)
self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`')
</pre>
-<p>Added <tt class="literal"><span class="pre">decor</span></tt> directory, <tt class="literal"><span class="pre">decorator.py</span></tt>, <tt class="literal"><span class="pre">stcDecor.py</span></tt>, and
-<tt class="literal"><span class="pre">stcConstants.py</span></tt>. These all serve the purpose of adding docstrings
-to existing wxPython classes, in particular the <tt class="literal"><span class="pre">wxStyledTextCtrl</span></tt>.</p>
-<p>Added <tt class="literal"><span class="pre">wrap.py</span></tt>, a command line utility for running a wxPython app
+<p>Added <tt class="docutils literal"><span class="pre">decor</span></tt> directory, <tt class="docutils literal"><span class="pre">decorator.py</span></tt>, <tt class="docutils literal"><span class="pre">stcDecor.py</span></tt>, and
+<tt class="docutils literal"><span class="pre">stcConstants.py</span></tt>. These all serve the purpose of adding docstrings
+to existing wxPython classes, in particular the <tt class="docutils literal"><span class="pre">wxStyledTextCtrl</span></tt>.</p>
+<p>Added <tt class="docutils literal"><span class="pre">wrap.py</span></tt>, a command line utility for running a wxPython app
with additional runtime-tools loaded, such as PyCrust (the only tool
at this point).</p>
<p>Flushed the clipboard Cut/Copy operations so that selections will
Enter as well as Tab to select an item from the list.</p>
<p>Disabled autocomplete for lists of 2000 items or more. The current
implementation of wxSTC can't handle lists this big.</p>
-<p>Changed <tt class="literal"><span class="pre">filling</span></tt> to always display docstrings for objects. This is
+<p>Changed <tt class="docutils literal"><span class="pre">filling</span></tt> to always display docstrings for objects. This is
useful for objects whose docstrings have been decorated, rather than
coming directly from the source code. (Hmmm. Sounds like someone is
doing some decorating. I wonder where that would be helpful? <wink>)</p>
-<p>Fixed handling of icon. Added <tt class="literal"><span class="pre">images.py</span></tt> file.</p>
+<p>Fixed handling of icon. Added <tt class="docutils literal"><span class="pre">images.py</span></tt> file.</p>
</div>
<div class="section" id="to-12-16-2002">
<h2><a class="toc-backref" href="#id24" name="to-12-16-2002">0.8 (10/29/2002 to 12/16/2002)</a></h2>
<p>Added "help" to startup banner info.</p>
-<p>Made all <tt class="literal"><span class="pre">wx</span></tt> and <tt class="literal"><span class="pre">stc</span></tt> imports explicit. No more <tt class="literal"><span class="pre">import</span> <span class="pre">*</span></tt>.</p>
-<p>Replaced use of the <tt class="literal"><span class="pre">wx</span></tt> module's <tt class="literal"><span class="pre">true</span></tt> and <tt class="literal"><span class="pre">false</span></tt> with
-Python's <tt class="literal"><span class="pre">True</span></tt> and <tt class="literal"><span class="pre">False</span></tt>.</p>
-<p>Changed <tt class="literal"><span class="pre">introspect.getRoot()</span></tt> to use <tt class="literal"><span class="pre">tokenize</span></tt> module. This
+<p>Made all <tt class="docutils literal"><span class="pre">wx</span></tt> and <tt class="docutils literal"><span class="pre">stc</span></tt> imports explicit. No more <tt class="docutils literal"><span class="pre">import</span> <span class="pre">*</span></tt>.</p>
+<p>Replaced use of the <tt class="docutils literal"><span class="pre">wx</span></tt> module's <tt class="docutils literal"><span class="pre">true</span></tt> and <tt class="docutils literal"><span class="pre">false</span></tt> with
+Python's <tt class="docutils literal"><span class="pre">True</span></tt> and <tt class="docutils literal"><span class="pre">False</span></tt>.</p>
+<p>Changed <tt class="docutils literal"><span class="pre">introspect.getRoot()</span></tt> to use <tt class="docutils literal"><span class="pre">tokenize</span></tt> module. This
does a slightly better job than the previous parsing routine and the
code is clearer.</p>
<p>Improved handling of whitespace and empty types during introspection.</p>
Platform: linux2
</pre>
<p>Added copy plus and paste plus to shell menu.</p>
-<p>Moved shell menu from <tt class="literal"><span class="pre">shell.py</span></tt> to <tt class="literal"><span class="pre">shellmenu.py</span></tt>.</p>
-<p>Added <tt class="literal"><span class="pre">sys.stdin.readlines()</span></tt> support.</p>
-<p>Added <tt class="literal"><span class="pre">time.sleep()</span></tt> in <tt class="literal"><span class="pre">readline()</span></tt> and <tt class="literal"><span class="pre">OnIdle()</span></tt> event
+<p>Moved shell menu from <tt class="docutils literal"><span class="pre">shell.py</span></tt> to <tt class="docutils literal"><span class="pre">shellmenu.py</span></tt>.</p>
+<p>Added <tt class="docutils literal"><span class="pre">sys.stdin.readlines()</span></tt> support.</p>
+<p>Added <tt class="docutils literal"><span class="pre">time.sleep()</span></tt> in <tt class="docutils literal"><span class="pre">readline()</span></tt> and <tt class="docutils literal"><span class="pre">OnIdle()</span></tt> event
handler to free up the CPU.</p>
</div>
<div class="section" id="to-8-27-2002">
<h2><a class="toc-backref" href="#id25" name="to-8-27-2002">0.7.2 (2/22/2002 to 8/27/2002)</a></h2>
-<p>Tweaked <tt class="literal"><span class="pre">getAttributeNames()</span></tt> to pick up a few more attributes:</p>
+<p>Tweaked <tt class="docutils literal"><span class="pre">getAttributeNames()</span></tt> to pick up a few more attributes:</p>
<pre class="literal-block">
'__bases__', '__class__', '__dict__', '__name__', 'func_closure',
'func_code', 'func_defaults', 'func_dict', 'func_doc',
'func_globals', 'func_name'
</pre>
<p>Added a tests directory and unit tests.</p>
-<p>Improved support for empty types in the shell: <tt class="literal"><span class="pre">[]</span></tt>, <tt class="literal"><span class="pre">()</span></tt> and
-<tt class="literal"><span class="pre">{}</span></tt> as far as when call tips and autocompletion are available.</p>
-<p>Added support for the other triple string - <tt class="literal"><span class="pre">''''''</span></tt>.</p>
-<p>Refactored <tt class="literal"><span class="pre">introspect.py</span></tt> to improve testability.</p>
+<p>Improved support for empty types in the shell: <tt class="docutils literal"><span class="pre">[]</span></tt>, <tt class="docutils literal"><span class="pre">()</span></tt> and
+<tt class="docutils literal"><span class="pre">{}</span></tt> as far as when call tips and autocompletion are available.</p>
+<p>Added support for the other triple string - <tt class="docutils literal"><span class="pre">''''''</span></tt>.</p>
+<p>Refactored <tt class="docutils literal"><span class="pre">introspect.py</span></tt> to improve testability.</p>
<p>Improved call tips for unbound methods by leaving the "self"
parameter, since unbound methods require an instance be passed.</p>
<p>Fixed call tip bug where a tip was displayed when a "(" was typed
after an object that wasn't callable.</p>
-<p>Fixed <tt class="literal"><span class="pre">getAllAttributeNames</span></tt> when <tt class="literal"><span class="pre">str(object)</span></tt> fails.</p>
+<p>Fixed <tt class="docutils literal"><span class="pre">getAllAttributeNames</span></tt> when <tt class="docutils literal"><span class="pre">str(object)</span></tt> fails.</p>
<p>Added brace highlighting. (Thank you, Kevin Altis.)</p>
-<p>Fixed problem displaying unicode objects in <tt class="literal"><span class="pre">PyFilling</span></tt>.</p>
-<p>Changed how <tt class="literal"><span class="pre">filling.py</span></tt> checks for expandable objects. Lists are
+<p>Fixed problem displaying unicode objects in <tt class="docutils literal"><span class="pre">PyFilling</span></tt>.</p>
+<p>Changed how <tt class="docutils literal"><span class="pre">filling.py</span></tt> checks for expandable objects. Lists are
now expandable objects.</p>
<p>Made the key handling more robust when there is an active text
selection that includes text prior to the last primary prompt. Thanks
to Raul Cota for pointing this out.</p>
<p>Fixed wxSTC problem with brace highlighting and non-us keyboards.
(Thank you for the patch, Jean-Michel Fauth.)</p>
-<p>Added <tt class="literal"><span class="pre">busy</span> <span class="pre">=</span> <span class="pre">wxBusyCursor()</span></tt> to key points in <tt class="literal"><span class="pre">shell</span></tt> and
-<tt class="literal"><span class="pre">filling</span></tt>.</p>
-<p>Added <tt class="literal"><span class="pre">OnCloseWindow</span></tt> handler to <tt class="literal"><span class="pre">ShellFrame</span></tt> and <tt class="literal"><span class="pre">CrustFrame</span></tt>.</p>
-<p>Default to <tt class="literal"><span class="pre">SetWrapMode(1)</span></tt> for shell and namespace viewer.</p>
-<p>Added <tt class="literal"><span class="pre">shell.wrap()</span></tt> and <tt class="literal"><span class="pre">shell.zoom()</span></tt>.</p>
+<p>Added <tt class="docutils literal"><span class="pre">busy</span> <span class="pre">=</span> <span class="pre">wxBusyCursor()</span></tt> to key points in <tt class="docutils literal"><span class="pre">shell</span></tt> and
+<tt class="docutils literal"><span class="pre">filling</span></tt>.</p>
+<p>Added <tt class="docutils literal"><span class="pre">OnCloseWindow</span></tt> handler to <tt class="docutils literal"><span class="pre">ShellFrame</span></tt> and <tt class="docutils literal"><span class="pre">CrustFrame</span></tt>.</p>
+<p>Default to <tt class="docutils literal"><span class="pre">SetWrapMode(1)</span></tt> for shell and namespace viewer.</p>
+<p>Added <tt class="docutils literal"><span class="pre">shell.wrap()</span></tt> and <tt class="docutils literal"><span class="pre">shell.zoom()</span></tt>.</p>
<p>Added autoCompleteKeys hooks for Raul Cota.</p>
<p>Cleaned up various little key handling bugs.</p>
<p>Changed input methods to get values from shell, rather than dialog
-boxes. Renamed <tt class="literal"><span class="pre">readIn</span></tt> to <tt class="literal"><span class="pre">readline</span></tt> and <tt class="literal"><span class="pre">readRaw</span></tt> to
-<tt class="literal"><span class="pre">raw_input</span></tt>.</p>
+boxes. Renamed <tt class="docutils literal"><span class="pre">readIn</span></tt> to <tt class="docutils literal"><span class="pre">readline</span></tt> and <tt class="docutils literal"><span class="pre">readRaw</span></tt> to
+<tt class="docutils literal"><span class="pre">raw_input</span></tt>.</p>
</div>
<div class="section" id="to-2-21-2002">
<h2><a class="toc-backref" href="#id26" name="to-2-21-2002">0.7.1 (12/12/2001 to 2/21/2002)</a></h2>
-<p>Fixed <tt class="literal"><span class="pre">OnChar()</span></tt> issues effecting European keyboards, as reported by
+<p>Fixed <tt class="docutils literal"><span class="pre">OnChar()</span></tt> issues effecting European keyboards, as reported by
Jean-Michel Fauth.</p>
-<p>Fixed <tt class="literal"><span class="pre">introspect.py</span></tt> issue with xmlrpc objects reported by Kevin
+<p>Fixed <tt class="docutils literal"><span class="pre">introspect.py</span></tt> issue with xmlrpc objects reported by Kevin
Altis.</p>
<p>Fixed some introspect/PyFilling issues with regard to Python 2.2.</p>
<p>Fixed font background color as reported by Keith J. Farmer. (Thanks)</p>
<p>Fixed problem with call tips and autocompletion inside multiline
commands as report by Kevin Altis.</p>
-<p>Improved <tt class="literal"><span class="pre">OnKeyDown</span></tt> handling of cut/copy/paste operations based on
+<p>Improved <tt class="docutils literal"><span class="pre">OnKeyDown</span></tt> handling of cut/copy/paste operations based on
feedback from Syver Enstad. (Thanks)</p>
-<p>Added a <tt class="literal"><span class="pre">shell.help()</span></tt> method to display some help info.</p>
+<p>Added a <tt class="docutils literal"><span class="pre">shell.help()</span></tt> method to display some help info.</p>
<p>Changed sort of items in the namespace viewer to case insensitive.</p>
-<p>Changed <tt class="literal"><span class="pre">attributes.sort(lambda</span> <span class="pre">x,</span> <span class="pre">y:</span> <span class="pre">cmp(x.upper(),</span> <span class="pre">y.upper()))</span></tt> in
+<p>Changed <tt class="docutils literal"><span class="pre">attributes.sort(lambda</span> <span class="pre">x,</span> <span class="pre">y:</span> <span class="pre">cmp(x.upper(),</span> <span class="pre">y.upper()))</span></tt> in
advance of an upcoming fix to an autocompletion matching bug in wxSTC.</p>
<p>Improved support for ZODB by allowing namespace drilldown into BTrees.</p>
-<p>Added <tt class="literal"><span class="pre">shell.PasteAndRun()</span></tt> to support pasting multiple commands into
+<p>Added <tt class="docutils literal"><span class="pre">shell.PasteAndRun()</span></tt> to support pasting multiple commands into
the shell from the clipboard. Ctrl+Shift+V or v.</p>
<p>Enter now always processes a command (or copies down a previous one.)
To insert a line break, press Ctrl+Enter.</p>
<p>Escape key clears the current, unexecuted command.</p>
<p>History retrieval changed to replace current command. Added new keys
to insert from history - Shift+Up and Shift+Down.</p>
-<p>Better call tips on objects with <tt class="literal"><span class="pre">__call__</span></tt> methods.</p>
+<p>Better call tips on objects with <tt class="docutils literal"><span class="pre">__call__</span></tt> methods.</p>
<p>Improved call tip positioning calculation.</p>
</div>
<div class="section" id="to-12-11-2001">
<p>Changed how command history retrieval functions work. Added Alt-P,
Alt-N as keybindings for Retrieve-Previous, Retrieve-Next.</p>
<p>Added full support for multi-line commands, similar to IDLE.</p>
-<p>Changed <tt class="literal"><span class="pre">introspect.getAttributeNames()</span></tt> to do a case insensitive
+<p>Changed <tt class="docutils literal"><span class="pre">introspect.getAttributeNames()</span></tt> to do a case insensitive
sort.</p>
<p>Changed Cut/Copy/Paste to deal with prompts intelligently. Cut and
Copy remove all prompts. Paste can handle prompted or not-prompted
text.</p>
-<p>Added <tt class="literal"><span class="pre">CopyWithPrompts()</span></tt> method attached to Ctrl-Shift-C for those
+<p>Added <tt class="docutils literal"><span class="pre">CopyWithPrompts()</span></tt> method attached to Ctrl-Shift-C for those
times when you really do want all the prompts left intact.</p>
<p>Improved handling of the shell's read-only zone.</p>
-<p>Changed <tt class="literal"><span class="pre">CrustFrame.__init__</span></tt> parameter spec to include all
-parameters allowed by a <tt class="literal"><span class="pre">wxFrame</span></tt>.</p>
-<p>Changed <tt class="literal"><span class="pre">FillingText</span></tt> to be read-only.</p>
-<p>Renamed <tt class="literal"><span class="pre">PyCrust.py</span></tt> to <tt class="literal"><span class="pre">PyCrustApp.py</span></tt> to eliminate
-package/module name conflicts that kept you from doing <tt class="literal"><span class="pre">from</span> <span class="pre">PyCrust</span>
-<span class="pre">import</span> <span class="pre">shell</span></tt> inside files located in the <tt class="literal"><span class="pre">PyCrust</span></tt> directory.</p>
-<p>Renamed <tt class="literal"><span class="pre">PyFilling.py</span></tt> to <tt class="literal"><span class="pre">PyFillingApp.py</span></tt> and <tt class="literal"><span class="pre">PyShell.py</span></tt> to
-<tt class="literal"><span class="pre">PyShellApp.py</span></tt> to maintain consistency.</p>
-<p>Removed the <tt class="literal"><span class="pre">__date__</span></tt> property from all modules.</p>
-<p>Fixed bug in <tt class="literal"><span class="pre">introspect.getCallTip()</span></tt>, reported by Kevin Altis.</p>
+<p>Changed <tt class="docutils literal"><span class="pre">CrustFrame.__init__</span></tt> parameter spec to include all
+parameters allowed by a <tt class="docutils literal"><span class="pre">wxFrame</span></tt>.</p>
+<p>Changed <tt class="docutils literal"><span class="pre">FillingText</span></tt> to be read-only.</p>
+<p>Renamed <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt> to <tt class="docutils literal"><span class="pre">PyCrustApp.py</span></tt> to eliminate
+package/module name conflicts that kept you from doing <tt class="docutils literal"><span class="pre">from</span> <span class="pre">PyCrust</span>
+<span class="pre">import</span> <span class="pre">shell</span></tt> inside files located in the <tt class="docutils literal"><span class="pre">PyCrust</span></tt> directory.</p>
+<p>Renamed <tt class="docutils literal"><span class="pre">PyFilling.py</span></tt> to <tt class="docutils literal"><span class="pre">PyFillingApp.py</span></tt> and <tt class="docutils literal"><span class="pre">PyShell.py</span></tt> to
+<tt class="docutils literal"><span class="pre">PyShellApp.py</span></tt> to maintain consistency.</p>
+<p>Removed the <tt class="docutils literal"><span class="pre">__date__</span></tt> property from all modules.</p>
+<p>Fixed bug in <tt class="docutils literal"><span class="pre">introspect.getCallTip()</span></tt>, reported by Kevin Altis.</p>
</div>
<div class="section" id="to-10-12-2001">
<h2><a class="toc-backref" href="#id28" name="to-10-12-2001">0.6.1 (9/19/2001 to 10/12/2001)</a></h2>
-<p>Changed <tt class="literal"><span class="pre">Shell.run()</span></tt> to always position to the end of existing
+<p>Changed <tt class="docutils literal"><span class="pre">Shell.run()</span></tt> to always position to the end of existing
text, as suggested by Raul Cota.</p>
-<p>Changed <tt class="literal"><span class="pre">introspect.getAllAttributeNames()</span></tt> to break circular
-references in <tt class="literal"><span class="pre">object.__class__</span></tt>, which occurs in Zope/ZODB
+<p>Changed <tt class="docutils literal"><span class="pre">introspect.getAllAttributeNames()</span></tt> to break circular
+references in <tt class="docutils literal"><span class="pre">object.__class__</span></tt>, which occurs in Zope/ZODB
extension classes.</p>
-<p>Changed <tt class="literal"><span class="pre">filling.FillingTree.getChildren()</span></tt> to introspect extension
+<p>Changed <tt class="docutils literal"><span class="pre">filling.FillingTree.getChildren()</span></tt> to introspect extension
classes.</p>
-<p>Fixed minor bugs in <tt class="literal"><span class="pre">introspect.getCallTip()</span></tt> that were interfering
+<p>Fixed minor bugs in <tt class="docutils literal"><span class="pre">introspect.getCallTip()</span></tt> that were interfering
with call tips for Zope/ZODB extension class methods.</p>
<p>In preparation for wxPython 2.3.2, added code to fix a font sizing
problem. Versions of wxPython prior to 2.3.2 had a sizing bug on Win
platform where the font was 2 points larger than what was specified.</p>
-<p>Added a hack to <tt class="literal"><span class="pre">introspect.getAllAttributeNames()</span></tt> to "wake up"
+<p>Added a hack to <tt class="docutils literal"><span class="pre">introspect.getAllAttributeNames()</span></tt> to "wake up"
ZODB objects that are asleep - in a "ghost" state. Otherwise it
returns incomplete info.</p>
</div>
<div class="section" id="to-9-12-2001">
<h2><a class="toc-backref" href="#id29" name="to-9-12-2001">0.6 (8/21/2001 to 9/12/2001)</a></h2>
-<p>Added <tt class="literal"><span class="pre">PyFilling.py</span></tt> and <tt class="literal"><span class="pre">filling.py</span></tt>.</p>
-<p><tt class="literal"><span class="pre">PyShell.py</span></tt> and <tt class="literal"><span class="pre">PyFilling.py</span></tt> can now be run standalone, as well
-as <tt class="literal"><span class="pre">PyCrust.py</span></tt>.</p>
-<p>Added <tt class="literal"><span class="pre">crust.py</span></tt> and moved some code from <tt class="literal"><span class="pre">PyCrust.py</span></tt> to it.</p>
+<p>Added <tt class="docutils literal"><span class="pre">PyFilling.py</span></tt> and <tt class="docutils literal"><span class="pre">filling.py</span></tt>.</p>
+<p><tt class="docutils literal"><span class="pre">PyShell.py</span></tt> and <tt class="docutils literal"><span class="pre">PyFilling.py</span></tt> can now be run standalone, as well
+as <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt>.</p>
+<p>Added <tt class="docutils literal"><span class="pre">crust.py</span></tt> and moved some code from <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt> to it.</p>
<p>Added command history retrieval features submitted by Richie Hindle.</p>
-<p>Changed <tt class="literal"><span class="pre">shell.write()</span></tt> to replace line endings with OS-specific
-endings. Changed <tt class="literal"><span class="pre">shell.py</span></tt> and <tt class="literal"><span class="pre">interpreter.py</span></tt> to use
-<tt class="literal"><span class="pre">os.linesep</span></tt> in strings having hardcoded line endings.</p>
-<p>Added <tt class="literal"><span class="pre">shell.redirectStdin()</span></tt>, <tt class="literal"><span class="pre">shell.redirectStdout()</span></tt> and
-<tt class="literal"><span class="pre">shell.redirectStderr()</span></tt> to allow the surrounding app to toggle
-requests that the specified <tt class="literal"><span class="pre">sys.std*</span></tt> be redirected to the shell.
+<p>Changed <tt class="docutils literal"><span class="pre">shell.write()</span></tt> to replace line endings with OS-specific
+endings. Changed <tt class="docutils literal"><span class="pre">shell.py</span></tt> and <tt class="docutils literal"><span class="pre">interpreter.py</span></tt> to use
+<tt class="docutils literal"><span class="pre">os.linesep</span></tt> in strings having hardcoded line endings.</p>
+<p>Added <tt class="docutils literal"><span class="pre">shell.redirectStdin()</span></tt>, <tt class="docutils literal"><span class="pre">shell.redirectStdout()</span></tt> and
+<tt class="docutils literal"><span class="pre">shell.redirectStderr()</span></tt> to allow the surrounding app to toggle
+requests that the specified <tt class="docutils literal"><span class="pre">sys.std*</span></tt> be redirected to the shell.
These can also be run from within the shell itself, of course.</p>
<p>The shell now adds the current working directory "." to the search
path:</p>
'size' : 12,
'lnsize' : 10,
</pre>
-<p>Changed <tt class="literal"><span class="pre">Shell</span></tt> to expect a parameter referencing an Interpreter
+<p>Changed <tt class="docutils literal"><span class="pre">Shell</span></tt> to expect a parameter referencing an Interpreter
class, rather than an intepreter instance, to facilitate subclassing
of Interpreter, which effectively broke when the Editor class was
eliminated.</p>
-<p>Fixed <tt class="literal"><span class="pre">PyCrustAlaCarte.py</span></tt>, which had been broken by previous
+<p>Fixed <tt class="docutils literal"><span class="pre">PyCrustAlaCarte.py</span></tt>, which had been broken by previous
changes.</p>
-<p>Created <tt class="literal"><span class="pre">InterpreterAlaCarte</span></tt> class as an example for use in the
+<p>Created <tt class="docutils literal"><span class="pre">InterpreterAlaCarte</span></tt> class as an example for use in the
demo.</p>
-<p>Split <tt class="literal"><span class="pre">PyCrust.py</span></tt> into <tt class="literal"><span class="pre">PyCrust.py</span></tt> and <tt class="literal"><span class="pre">PyShell.py</span></tt> in
-anticipation of <tt class="literal"><span class="pre">PyFilling.py</span></tt>.</p>
+<p>Split <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt> into <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt> and <tt class="docutils literal"><span class="pre">PyShell.py</span></tt> in
+anticipation of <tt class="docutils literal"><span class="pre">PyFilling.py</span></tt>.</p>
</div>
<div class="section" id="id1">
<h2><a class="toc-backref" href="#id31" name="id1">0.5.3 (8/16/2001)</a></h2>
-<p>Added patch to <tt class="literal"><span class="pre">PyCrust.py</span></tt> to fix wxPython bug:</p>
+<p>Added patch to <tt class="docutils literal"><span class="pre">PyCrust.py</span></tt> to fix wxPython bug:</p>
<pre class="literal-block">
wxID_SELECTALL = NewId() # This *should* be defined by wxPython.
</pre>
<div class="section" id="to-8-15-2001">
<h2><a class="toc-backref" href="#id32" name="to-8-15-2001">0.5.2 (8/14/2001 to 8/15/2001)</a></h2>
<p>Shortened module names by dropping "PyCrust" as a prefix.</p>
-<p>Changed <tt class="literal"><span class="pre">version</span></tt> to <tt class="literal"><span class="pre">VERSION</span></tt> in <tt class="literal"><span class="pre">version</span></tt> module.</p>
+<p>Changed <tt class="docutils literal"><span class="pre">version</span></tt> to <tt class="docutils literal"><span class="pre">VERSION</span></tt> in <tt class="docutils literal"><span class="pre">version</span></tt> module.</p>
<p>Added Options menu to PyCrust application.</p>
<p>Eliminated the Editor class (and editor module) by merging with Shell.
This means that Shell "is a" wxStyledTextCtrl rather than "has a".
</div>
<div class="section" id="to-8-14-2001">
<h2><a class="toc-backref" href="#id33" name="to-8-14-2001">0.5.1 (8/10/2001 to 8/14/2001)</a></h2>
-<p>Added <tt class="literal"><span class="pre">introspect</span></tt> module.</p>
-<p>Moved some functionality from <tt class="literal"><span class="pre">PyCrustInterp</span></tt> to <tt class="literal"><span class="pre">introspect</span></tt>.</p>
-<p>Changed <tt class="literal"><span class="pre">introspect.getRoot()</span></tt> to no longer remove whitespace from
+<p>Added <tt class="docutils literal"><span class="pre">introspect</span></tt> module.</p>
+<p>Moved some functionality from <tt class="docutils literal"><span class="pre">PyCrustInterp</span></tt> to <tt class="docutils literal"><span class="pre">introspect</span></tt>.</p>
+<p>Changed <tt class="docutils literal"><span class="pre">introspect.getRoot()</span></tt> to no longer remove whitespace from
the command. This was a remnant of a previous approach that, when
left as part of the current approach, turned out to be a really bad
thing.</p>
-<p>Changed <tt class="literal"><span class="pre">introspect.getRoot()</span></tt> to allow commands of <tt class="literal"><span class="pre">''</span></tt>, <tt class="literal"><span class="pre">""</span></tt>,
-<tt class="literal"><span class="pre">""""""</span></tt>, <tt class="literal"><span class="pre">[]</span></tt>, <tt class="literal"><span class="pre">()</span></tt>, and <tt class="literal"><span class="pre">{}</span></tt> to pass through. This allows
+<p>Changed <tt class="docutils literal"><span class="pre">introspect.getRoot()</span></tt> to allow commands of <tt class="docutils literal"><span class="pre">''</span></tt>, <tt class="docutils literal"><span class="pre">""</span></tt>,
+<tt class="docutils literal"><span class="pre">""""""</span></tt>, <tt class="docutils literal"><span class="pre">[]</span></tt>, <tt class="docutils literal"><span class="pre">()</span></tt>, and <tt class="docutils literal"><span class="pre">{}</span></tt> to pass through. This allows
you to type them, followed by a dot, and get autocomplete options on
them.</p>
-<p>Changed <tt class="literal"><span class="pre">introspect.getRoot()</span></tt> to identify some situations where
+<p>Changed <tt class="docutils literal"><span class="pre">introspect.getRoot()</span></tt> to identify some situations where
strings shouldn't be considered roots. For example:</p>
<pre class="literal-block">
>>> import PyCrust # To illustrate the potential problem.
>>> len('This is PyCrust.py')
</pre>
<p>More code needs to be written to handle more complex situations.</p>
-<p>Added <tt class="literal"><span class="pre">locals=None</span></tt> parameter to <tt class="literal"><span class="pre">Shell.__init__()</span></tt>.</p>
+<p>Added <tt class="docutils literal"><span class="pre">locals=None</span></tt> parameter to <tt class="docutils literal"><span class="pre">Shell.__init__()</span></tt>.</p>
<p>Added support for magic attribute retrieval. Users can change this
with:</p>
<pre class="literal-block">
<p>Renamed several files.</p>
<p>Added command autocompletion.</p>
<p>Added menus to PyCrust.py: File, Edit and Help.</p>
-<p>Added sample applications: <tt class="literal"><span class="pre">PyCrustAlaCarte.py</span></tt>,
-<tt class="literal"><span class="pre">PyCrustAlaMode.py</span></tt>, and <tt class="literal"><span class="pre">PyCrustMinimus.py</span></tt>.</p>
+<p>Added sample applications: <tt class="docutils literal"><span class="pre">PyCrustAlaCarte.py</span></tt>,
+<tt class="docutils literal"><span class="pre">PyCrustAlaMode.py</span></tt>, and <tt class="docutils literal"><span class="pre">PyCrustMinimus.py</span></tt>.</p>
</div>
<div class="section" id="to-7-19-2001">
<h2><a class="toc-backref" href="#id38" name="to-7-19-2001">0.1 (7/1/2001 to 7/19/2001)</a></h2>
<p>Added read-only logging much like IDLE.</p>
<p>Can retrieve a previous command by putting the cursor back on that
line and hitting enter.</p>
-<p>Stdin and raw_input operate properly so you can now do <tt class="literal"><span class="pre">help()</span></tt> and
-<tt class="literal"><span class="pre">license()</span></tt> without hanging.</p>
+<p>Stdin and raw_input operate properly so you can now do <tt class="docutils literal"><span class="pre">help()</span></tt> and
+<tt class="docutils literal"><span class="pre">license()</span></tt> without hanging.</p>
<p>Redefined "quit", "exit", and "close" to display a better-than-nothing
response.</p>
<p>Home key honors the prompt.</p>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
+<title></title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
<body>
<h1><a name="other-info">Other Info</a></h1>
<p>Please also see the following files:</p>
<blockquote>
-<dl>
+<dl class="docutils">
<dt>docs/CHANGES.txt Information about new features, fixes,</dt>
<dd>etc. in each release.</dd>
<dt>docs/BUILD.txt Instructions for building wxPython on</dt>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>The wxPython wx Package</title>
<meta name="author" content="Patrick K. O'Brien" />
<meta name="author" content="Robin Dunn" />
</tbody>
</table>
<div class="contents topic" id="contents">
-<p class="topic-title"><a name="contents">Contents</a></p>
+<p class="topic-title first"><a name="contents">Contents</a></p>
<ul class="simple">
<li><a class="reference" href="#introduction" id="id2" name="id2">Introduction</a></li>
<li><a class="reference" href="#why-change-anything" id="id3" name="id3">Why change anything?</a></li>
<div class="section" id="why-change-anything">
<h1><a class="toc-backref" href="#id3" name="why-change-anything">Why change anything?</a></h1>
<p>This change is being made for a couple of reasons. The first reason
-is to discourage the use of <tt class="literal"><span class="pre">import</span> <span class="pre">*</span></tt>, which is a dangerous
+is to discourage the use of <tt class="docutils literal"><span class="pre">import</span> <span class="pre">*</span></tt>, which is a dangerous
technique that can create name conflicts and bloated namespaces.</p>
<p>The second reason is to remove what some perceive to be a "wart." For
example, the following code is rather ugly in that the "wx" prefix on
<div class="section" id="where-can-i-find-example-programs-using-the-new-wx-syntax">
<h1><a class="toc-backref" href="#id9" name="where-can-i-find-example-programs-using-the-new-wx-syntax">Where can I find example programs using the new wx syntax?</a></h1>
<p>The wxPython demo application and most of the sample apps have been
-converted to use the new <tt class="literal"><span class="pre">import</span> <span class="pre">wx</span></tt> style of programming with
+converted to use the new <tt class="docutils literal"><span class="pre">import</span> <span class="pre">wx</span></tt> style of programming with
wxPython, so there are lots of examples to look at and to play with.
-Here is one of them, it is the <tt class="literal"><span class="pre">simple</span></tt> sample.</p>
+Here is one of them, it is the <tt class="docutils literal"><span class="pre">simple</span></tt> sample.</p>
<pre class="literal-block">
#----------------------------------------------------------------------
# A very simple wxPython example. Just a wx.Frame, wx.Panel,
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.3.7: http://docutils.sourceforge.net/" />
<title>The wxPython Manual</title>
<meta name="author" content="Patrick K. O'Brien" />
<meta name="organization" content="Orbtech" />
</tbody>
</table>
<div class="contents topic" id="contents">
-<p class="topic-title"><a name="contents">Contents</a></p>
+<p class="topic-title first"><a name="contents">Contents</a></p>
<ul class="simple">
<li><a class="reference" href="#introduction" id="id1" name="id1">Introduction</a></li>
<li><a class="reference" href="#what-is-wxpython" id="id2" name="id2">What is wxPython?</a></li>
<h1><a class="toc-backref" href="#id15" name="sizer-overview">Sizer overview</a></h1>
<p>Classes: wx.Sizer, wx.GridSizer, wx.FlexGridSizer, wx.BoxSizer,
wx.StaticBoxSizer, wx.NotebookSizer, wx.CreateButtonSizer</p>
-<table border class="table">
+<table border="1" class="docutils">
<colgroup>
<col width="21%" />
<col width="79%" />
space. wx.ALIGN_LEFT, wx.ALIGN_TOP, wx.ALIGN_RIGHT, wx.ALIGN_BOTTOM,
wx.ALIGN_CENTER_HORIZONTAL and wx.ALIGN_CENTER_VERTICAL do what they
say. wx.ALIGN_CENTRE (same as wx.ALIGN_CENTER) is defined as
-(<tt class="literal"><span class="pre">wx.ALIGN_CENTER_HORIZONTAL</span> <span class="pre">|</span> <span class="pre">wx.ALIGN_CENTER_VERTICAL</span></tt>). Default
-alignment is <tt class="literal"><span class="pre">wx.ALIGN_LEFT</span> <span class="pre">|</span> <span class="pre">wx.ALIGN_TOP</span></tt>.</p>
+(<tt class="docutils literal"><span class="pre">wx.ALIGN_CENTER_HORIZONTAL</span> <span class="pre">|</span> <span class="pre">wx.ALIGN_CENTER_VERTICAL</span></tt>). Default
+alignment is <tt class="docutils literal"><span class="pre">wx.ALIGN_LEFT</span> <span class="pre">|</span> <span class="pre">wx.ALIGN_TOP</span></tt>.</p>
<p>As mentioned above, any window belonging to a sizer may have border,
and it can be specified which of the four sides may have this border,
using the wx.TOP, wx.LEFT, wx.RIGHT and wx.BOTTOM constants or wx.ALL
for all directions (and you may also use wx.NORTH, wx.WEST etc
instead). These flags can be used in combination with the alignment
flags above as the second parameter of the Add() method using the
-binary or operator (<tt class="literal"><span class="pre">|</span></tt>). The sizer of the border also must be made
+binary or operator (<tt class="docutils literal"><span class="pre">|</span></tt>). The sizer of the border also must be made
known, and it is the third parameter in the Add() method. This means,
that the entire behaviour of a sizer and its children can be
controlled by the three parameters of the Add() method.</p>
method that can be used to create a standard button sizer in which
standard buttons are displayed. The following flags can be passed to
this method:</p>
-<table border class="table">
+<table border="1" class="docutils">
<colgroup>
<col width="19%" />
<col width="81%" />
<h1><a class="toc-backref" href="#id33" name="date-and-time-classes-overview">Date and time classes overview</a></h1>
<p>wxPython provides a set of powerful classes to work with dates and
times. Some of the supported features of the DateTime class are:</p>
-<table border class="table">
+<table border="1" class="docutils">
<colgroup>
<col width="18%" />
<col width="82%" />
is an invalid operation, even though multiplying either of the time
span classes by a number is perfectly valid.</p>
<p>Here is what can be done:</p>
-<table border class="table">
+<table border="1" class="docutils">
<colgroup>
<col width="19%" />
<col width="81%" />