New and updated files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<title>The Py Manual</title>
|
||||
<meta name="author" content="Patrick K. O'Brien" />
|
||||
<meta name="organization" content="Orbtech" />
|
||||
<meta name="date" content="2003-04-27" />
|
||||
<meta name="date" content="2003-05-03" />
|
||||
<link rel="stylesheet" href="default.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -25,9 +25,9 @@
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first last reference" href="http://www.orbtech.com/">Orbtech</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2003-04-27</td></tr>
|
||||
<td>2003-05-03</td></tr>
|
||||
<tr><th class="docinfo-name">Revision:</th>
|
||||
<td>1.1.2.1</td></tr>
|
||||
<td>1.1.2.2</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic" id="contents">
|
||||
@@ -47,26 +47,27 @@
|
||||
<li><a class="reference" href="#decorator-classes" id="id14" name="id14">Decorator classes</a></li>
|
||||
<li><a class="reference" href="#projects-using-py" id="id15" name="id15">Projects using Py</a></li>
|
||||
<li><a class="reference" href="#history-of-changes" id="id16" name="id16">History of changes</a><ul>
|
||||
<li><a class="reference" href="#to-2003" id="id17" name="id17">0.9.1 (3/21/2003 to //2003)</a></li>
|
||||
<li><a class="reference" href="#to-3-20-2003" id="id18" name="id18">0.9 (2/27/2003 to 3/20/2003)</a></li>
|
||||
<li><a class="reference" href="#to-2-26-2003" id="id19" name="id19">0.8.2 (1/5/2003 to 2/26/2003)</a></li>
|
||||
<li><a class="reference" href="#to-12-25-2002" id="id20" name="id20">0.8.1 (12/20/2002 to 12/25/2002)</a></li>
|
||||
<li><a class="reference" href="#to-12-16-2002" id="id21" name="id21">0.8 (10/29/2002 to 12/16/2002)</a></li>
|
||||
<li><a class="reference" href="#to-8-27-2002" id="id22" name="id22">0.7.2 (2/22/2002 to 8/27/2002)</a></li>
|
||||
<li><a class="reference" href="#to-2-21-2002" id="id23" name="id23">0.7.1 (12/12/2001 to 2/21/2002)</a></li>
|
||||
<li><a class="reference" href="#to-12-11-2001" id="id24" name="id24">0.7 (10/15/2001 to 12/11/2001)</a></li>
|
||||
<li><a class="reference" href="#to-10-12-2001" id="id25" name="id25">0.6.1 (9/19/2001 to 10/12/2001)</a></li>
|
||||
<li><a class="reference" href="#to-9-12-2001" id="id26" name="id26">0.6 (8/21/2001 to 9/12/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-20-2001" id="id27" name="id27">0.5.4 (8/17/2001 to 8/20/2001)</a></li>
|
||||
<li><a class="reference" href="#id1" id="id28" name="id28">0.5.3 (8/16/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-15-2001" id="id29" name="id29">0.5.2 (8/14/2001 to 8/15/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-14-2001" id="id30" name="id30">0.5.1 (8/10/2001 to 8/14/2001)</a></li>
|
||||
<li><a class="reference" href="#id2" id="id31" name="id31">0.5 (8/8/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-7-2001" id="id32" name="id32">0.4 (8/4/2001 to 8/7/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-3-2001" id="id33" name="id33">0.3 (8/2/2001 to 8/3/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-2-2001" id="id34" name="id34">0.2 (7/30/2001 to 8/2/2001)</a></li>
|
||||
<li><a class="reference" href="#to-7-19-2001" id="id35" name="id35">0.1 (7/1/2001 to 7/19/2001)</a></li>
|
||||
<li><a class="reference" href="#in-the-beginning-there-was-pie-7-1-2001" id="id36" name="id36">In the beginning, there was pie... (7/1/2001)</a></li>
|
||||
<li><a class="reference" href="#to-2003" id="id17" name="id17">0.9.2 (5/3/2003 to //2003)</a></li>
|
||||
<li><a class="reference" href="#to-5-2-2003" id="id18" name="id18">0.9.1 (3/21/2003 to 5/2/2003)</a></li>
|
||||
<li><a class="reference" href="#to-3-20-2003" id="id19" name="id19">0.9 (2/27/2003 to 3/20/2003)</a></li>
|
||||
<li><a class="reference" href="#to-2-26-2003" id="id20" name="id20">0.8.2 (1/5/2003 to 2/26/2003)</a></li>
|
||||
<li><a class="reference" href="#to-12-25-2002" id="id21" name="id21">0.8.1 (12/20/2002 to 12/25/2002)</a></li>
|
||||
<li><a class="reference" href="#to-12-16-2002" id="id22" name="id22">0.8 (10/29/2002 to 12/16/2002)</a></li>
|
||||
<li><a class="reference" href="#to-8-27-2002" id="id23" name="id23">0.7.2 (2/22/2002 to 8/27/2002)</a></li>
|
||||
<li><a class="reference" href="#to-2-21-2002" id="id24" name="id24">0.7.1 (12/12/2001 to 2/21/2002)</a></li>
|
||||
<li><a class="reference" href="#to-12-11-2001" id="id25" name="id25">0.7 (10/15/2001 to 12/11/2001)</a></li>
|
||||
<li><a class="reference" href="#to-10-12-2001" id="id26" name="id26">0.6.1 (9/19/2001 to 10/12/2001)</a></li>
|
||||
<li><a class="reference" href="#to-9-12-2001" id="id27" name="id27">0.6 (8/21/2001 to 9/12/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-20-2001" id="id28" name="id28">0.5.4 (8/17/2001 to 8/20/2001)</a></li>
|
||||
<li><a class="reference" href="#id1" id="id29" name="id29">0.5.3 (8/16/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-15-2001" id="id30" name="id30">0.5.2 (8/14/2001 to 8/15/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-14-2001" id="id31" name="id31">0.5.1 (8/10/2001 to 8/14/2001)</a></li>
|
||||
<li><a class="reference" href="#id2" id="id32" name="id32">0.5 (8/8/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-7-2001" id="id33" name="id33">0.4 (8/4/2001 to 8/7/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-3-2001" id="id34" name="id34">0.3 (8/2/2001 to 8/3/2001)</a></li>
|
||||
<li><a class="reference" href="#to-8-2-2001" id="id35" name="id35">0.2 (7/30/2001 to 8/2/2001)</a></li>
|
||||
<li><a class="reference" href="#to-7-19-2001" id="id36" name="id36">0.1 (7/1/2001 to 7/19/2001)</a></li>
|
||||
<li><a class="reference" href="#in-the-beginning-there-was-pie-7-1-2001" id="id37" name="id37">In the beginning, there was pie... (7/1/2001)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -223,7 +224,50 @@ runtime.</p>
|
||||
<p>This section lists all the changes that have been made to the Py
|
||||
programs and modules, since the beginning.</p>
|
||||
<div class="section" id="to-2003">
|
||||
<h2><a class="toc-backref" href="#id17" name="to-2003">0.9.1 (3/21/2003 to //2003)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id17" name="to-2003">0.9.2 (5/3/2003 to //2003)</a></h2>
|
||||
<p>Changed to the new prefix-less "wx" package:</p>
|
||||
<pre class="literal-block">
|
||||
import wx
|
||||
</pre>
|
||||
<p>instead of:</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>
|
||||
<pre class="literal-block">
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv)
|
||||
</pre>
|
||||
<p>should have been:</p>
|
||||
<pre class="literal-block">
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
</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,
|
||||
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">
|
||||
def CanCopy(self):
|
||||
"""Return True if text is selected and can be copied."""
|
||||
return self.GetSelectionStart() != self.GetSelectionEnd()
|
||||
|
||||
def CanCut(self):
|
||||
"""Return True if text is selected and can be cut."""
|
||||
return self.CanCopy() and self.CanEdit()
|
||||
|
||||
def CanEdit(self):
|
||||
"""Return True if editing should succeed."""
|
||||
return not self.GetReadOnly()
|
||||
|
||||
def CanPaste(self):
|
||||
"""Return True if pasting should succeed."""
|
||||
return stc.StyledTextCtrl.CanPaste(self) and self.CanEdit()
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" id="to-5-2-2003">
|
||||
<h2><a class="toc-backref" href="#id18" 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>
|
||||
@@ -258,7 +302,7 @@ 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>
|
||||
</div>
|
||||
<div class="section" id="to-3-20-2003">
|
||||
<h2><a class="toc-backref" href="#id18" name="to-3-20-2003">0.9 (2/27/2003 to 3/20/2003)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id19" name="to-3-20-2003">0.9 (2/27/2003 to 3/20/2003)</a></h2>
|
||||
<p>Added fontIncrease, fontDecrease, fontDefault signals, receivers and
|
||||
keybindings:</p>
|
||||
<pre class="literal-block">
|
||||
@@ -290,7 +334,7 @@ except NameError:
|
||||
<p>Added <tt class="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="#id19" name="to-2-26-2003">0.8.2 (1/5/2003 to 2/26/2003)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id20" 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>.
|
||||
(Thanks, Kieran Holland.)</p>
|
||||
<p>Fixed minor things found by PyChecker.</p>
|
||||
@@ -325,7 +369,7 @@ func = 3 .
|
||||
<p>More Filling!!! The namespace tree is now dynamically updated.</p>
|
||||
</div>
|
||||
<div class="section" id="to-12-25-2002">
|
||||
<h2><a class="toc-backref" href="#id20" name="to-12-25-2002">0.8.1 (12/20/2002 to 12/25/2002)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id21" name="to-12-25-2002">0.8.1 (12/20/2002 to 12/25/2002)</a></h2>
|
||||
<p>Improved keyboard handling with Autocomplete active. You can now use
|
||||
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
|
||||
@@ -337,7 +381,7 @@ 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>
|
||||
</div>
|
||||
<div class="section" id="to-12-16-2002">
|
||||
<h2><a class="toc-backref" href="#id21" name="to-12-16-2002">0.8 (10/29/2002 to 12/16/2002)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id22" 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
|
||||
@@ -364,7 +408,7 @@ Platform: linux2
|
||||
handler to free up the CPU.</p>
|
||||
</div>
|
||||
<div class="section" id="to-8-27-2002">
|
||||
<h2><a class="toc-backref" href="#id22" name="to-8-27-2002">0.7.2 (2/22/2002 to 8/27/2002)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id23" 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>
|
||||
<pre class="literal-block">
|
||||
'__bases__', '__class__', '__dict__', '__name__', 'func_closure',
|
||||
@@ -402,7 +446,7 @@ boxes. Renamed <tt class="literal"><span class="pre">readIn</span></tt> to <tt
|
||||
<tt class="literal"><span class="pre">raw_input</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="to-2-21-2002">
|
||||
<h2><a class="toc-backref" href="#id23" name="to-2-21-2002">0.7.1 (12/12/2001 to 2/21/2002)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id24" 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
|
||||
Jean-Michel Fauth.</p>
|
||||
<p>Fixed <tt class="literal"><span class="pre">introspect.py</span></tt> issue with xmlrpc objects reported by Kevin
|
||||
@@ -429,7 +473,7 @@ to insert from history - Shift+Up and Shift+Down.</p>
|
||||
<p>Improved call tip positioning calculation.</p>
|
||||
</div>
|
||||
<div class="section" id="to-12-11-2001">
|
||||
<h2><a class="toc-backref" href="#id24" name="to-12-11-2001">0.7 (10/15/2001 to 12/11/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id25" name="to-12-11-2001">0.7 (10/15/2001 to 12/11/2001)</a></h2>
|
||||
<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>
|
||||
@@ -453,7 +497,7 @@ package/module name conflicts that kept you from doing <tt class="literal"><span
|
||||
<p>Fixed bug in <tt class="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="#id25" name="to-10-12-2001">0.6.1 (9/19/2001 to 10/12/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id26" 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
|
||||
text, as suggested by Raul Cota.</p>
|
||||
<p>Changed <tt class="literal"><span class="pre">introspect.getAllAttributeNames()</span></tt> to break circular
|
||||
@@ -471,7 +515,7 @@ 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="#id26" name="to-9-12-2001">0.6 (8/21/2001 to 9/12/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id27" 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>
|
||||
@@ -492,7 +536,7 @@ sys.path.insert(0, os.curdir)
|
||||
<p>Added support for distutils installations.</p>
|
||||
</div>
|
||||
<div class="section" id="to-8-20-2001">
|
||||
<h2><a class="toc-backref" href="#id27" name="to-8-20-2001">0.5.4 (8/17/2001 to 8/20/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id28" name="to-8-20-2001">0.5.4 (8/17/2001 to 8/20/2001)</a></h2>
|
||||
<p>Changed default font size under Linux to:</p>
|
||||
<pre class="literal-block">
|
||||
'size' : 12,
|
||||
@@ -510,14 +554,14 @@ demo.</p>
|
||||
anticipation of <tt class="literal"><span class="pre">PyFilling.py</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="id1">
|
||||
<h2><a class="toc-backref" href="#id28" name="id1">0.5.3 (8/16/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id29" 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>
|
||||
<pre class="literal-block">
|
||||
wxID_SELECTALL = NewId() # This *should* be defined by wxPython.
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" id="to-8-15-2001">
|
||||
<h2><a class="toc-backref" href="#id29" name="to-8-15-2001">0.5.2 (8/14/2001 to 8/15/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id30" 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>Added Options menu to PyCrust application.</p>
|
||||
@@ -528,7 +572,7 @@ Plus, Shell will be much easier for gui toolkits/designers to deal
|
||||
with now.</p>
|
||||
</div>
|
||||
<div class="section" id="to-8-14-2001">
|
||||
<h2><a class="toc-backref" href="#id30" name="to-8-14-2001">0.5.1 (8/10/2001 to 8/14/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id31" 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
|
||||
@@ -580,23 +624,23 @@ exclude one or the other or both with:</p>
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><a class="toc-backref" href="#id31" name="id2">0.5 (8/8/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id32" name="id2">0.5 (8/8/2001)</a></h2>
|
||||
<p>Mostly just a final version change before creating a release.</p>
|
||||
</div>
|
||||
<div class="section" id="to-8-7-2001">
|
||||
<h2><a class="toc-backref" href="#id32" name="to-8-7-2001">0.4 (8/4/2001 to 8/7/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id33" name="to-8-7-2001">0.4 (8/4/2001 to 8/7/2001)</a></h2>
|
||||
<p>Changed version/revision handling.</p>
|
||||
<p>Fixed bugs.</p>
|
||||
</div>
|
||||
<div class="section" id="to-8-3-2001">
|
||||
<h2><a class="toc-backref" href="#id33" name="to-8-3-2001">0.3 (8/2/2001 to 8/3/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id34" name="to-8-3-2001">0.3 (8/2/2001 to 8/3/2001)</a></h2>
|
||||
<p>Removed lots of cruft.</p>
|
||||
<p>Added lots of docstrings.</p>
|
||||
<p>Imported to CVS repository at SourceForge.</p>
|
||||
<p>Added call tips.</p>
|
||||
</div>
|
||||
<div class="section" id="to-8-2-2001">
|
||||
<h2><a class="toc-backref" href="#id34" name="to-8-2-2001">0.2 (7/30/2001 to 8/2/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id35" name="to-8-2-2001">0.2 (7/30/2001 to 8/2/2001)</a></h2>
|
||||
<p>Renamed several files.</p>
|
||||
<p>Added command autocompletion.</p>
|
||||
<p>Added menus to PyCrust.py: File, Edit and Help.</p>
|
||||
@@ -604,7 +648,7 @@ exclude one or the other or both with:</p>
|
||||
<tt class="literal"><span class="pre">PyCrustAlaMode.py</span></tt>, and <tt class="literal"><span class="pre">PyCrustMinimus.py</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="to-7-19-2001">
|
||||
<h2><a class="toc-backref" href="#id35" name="to-7-19-2001">0.1 (7/1/2001 to 7/19/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id36" name="to-7-19-2001">0.1 (7/1/2001 to 7/19/2001)</a></h2>
|
||||
<p>Added basic syntax coloring much like Boa.</p>
|
||||
<p>Added read-only logging much like IDLE.</p>
|
||||
<p>Can retrieve a previous command by putting the cursor back on that
|
||||
@@ -617,7 +661,7 @@ response.</p>
|
||||
<p>Created SourceForge account, but nothing was posted.</p>
|
||||
</div>
|
||||
<div class="section" id="in-the-beginning-there-was-pie-7-1-2001">
|
||||
<h2><a class="toc-backref" href="#id36" name="in-the-beginning-there-was-pie-7-1-2001">In the beginning, there was pie... (7/1/2001)</a></h2>
|
||||
<h2><a class="toc-backref" href="#id37" name="in-the-beginning-there-was-pie-7-1-2001">In the beginning, there was pie... (7/1/2001)</a></h2>
|
||||
<p>Blame it all on IDLE, Boa and PythonWin. I was using all three, got
|
||||
frustrated with their dissimilarities, and began to let everyone know
|
||||
how I felt. At the same time, Scintilla looked like an interesting
|
||||
@@ -633,7 +677,7 @@ needed. PyCrust had to happen...</p>
|
||||
<hr class="footer"/>
|
||||
<div class="footer">
|
||||
<a class="reference" href="PyManual.txt">View document source</a>.
|
||||
Generated on: 2003-05-03 02:24 UTC.
|
||||
Generated on: 2003-05-04 19:39 UTC.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
|
255
wxPython/docs/wxPackage.html
Normal file
255
wxPython/docs/wxPackage.html
Normal file
@@ -0,0 +1,255 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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.2.8: http://docutils.sourceforge.net/" />
|
||||
<title>The wxPython wx Package</title>
|
||||
<meta name="author" content="Patrick K. O'Brien" />
|
||||
<meta name="organization" content="Orbtech" />
|
||||
<meta name="date" content="2003-05-04" />
|
||||
<link rel="stylesheet" href="default.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="the-wxpython-wx-package">
|
||||
<h1 class="title">The wxPython wx Package</h1>
|
||||
<h2 class="subtitle" id="or-how-to-survive-the-new-wx-namespace-changes">Or, how to survive the new wx namespace changes.</h2>
|
||||
<table class="docinfo" frame="void" rules="none">
|
||||
<col class="docinfo-name" />
|
||||
<col class="docinfo-content" />
|
||||
<tbody valign="top">
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>Patrick K. O'Brien</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first last reference" href="mailto:pobrien@orbtech.com">pobrien@orbtech.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first last reference" href="http://www.orbtech.com/">Orbtech</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2003-05-04</td></tr>
|
||||
<tr><th class="docinfo-name">Revision:</th>
|
||||
<td>1.1.2.2</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic" id="contents">
|
||||
<p class="topic-title"><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="#why-change-anything" id="id2" name="id2">Why change anything?</a></li>
|
||||
<li><a class="reference" href="#what-does-the-new-wx-package-do" id="id3" name="id3">What does the new wx package do?</a></li>
|
||||
<li><a class="reference" href="#will-any-of-this-effect-my-existing-code" id="id4" name="id4">Will any of this effect my existing code?</a></li>
|
||||
<li><a class="reference" href="#how-does-the-new-wx-package-work" id="id5" name="id5">How does the new wx package work?</a></li>
|
||||
<li><a class="reference" href="#what-about-all-the-other-modules-like-grid-html-and-stc" id="id6" name="id6">What about all the other modules, like grid, html, and stc?</a></li>
|
||||
<li><a class="reference" href="#how-do-i-use-this-new-wx-package" id="id7" name="id7">How do I use this new wx package?</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="introduction">
|
||||
<h1><a class="toc-backref" href="#id1" name="introduction">Introduction</a></h1>
|
||||
<p>Big things sometimes come in small packages. This is certainly true
|
||||
of the new wx package, which is being introduced as a way to allow the
|
||||
"wx" prefix to be dropped from the names of all wxPython classes,
|
||||
functions, and constants.</p>
|
||||
</div>
|
||||
<div class="section" id="why-change-anything">
|
||||
<h1><a class="toc-backref" href="#id2" 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
|
||||
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
|
||||
the wxFrame class name is no longer useful when you're using the wx
|
||||
module prefix:</p>
|
||||
<pre class="literal-block">
|
||||
from wxPython import wx
|
||||
|
||||
class Frame(wx.wxFrame)
|
||||
</pre>
|
||||
<p>The new wx package allows you to write code like this, instead:</p>
|
||||
<pre class="literal-block">
|
||||
import wx
|
||||
|
||||
class Frame(wx.Frame)
|
||||
</pre>
|
||||
<p>The third reason is that the wxWindows project intends to do the same
|
||||
thing (implement a new wx namespace and drop the "wx" prefix) and we
|
||||
want wxPython to lead the way.</p>
|
||||
</div>
|
||||
<div class="section" id="what-does-the-new-wx-package-do">
|
||||
<h1><a class="toc-backref" href="#id3" name="what-does-the-new-wx-package-do">What does the new wx package do?</a></h1>
|
||||
<p>As a way of getting to this new syntax as quickly as possible, the
|
||||
code in this new wx package was created. What it does is alter the
|
||||
existing wx namespace dynamically. By making the changes on-the-fly
|
||||
at runtime, we can try out the new syntax before any permanent changes
|
||||
are made to the underlying class library. The downside of making
|
||||
these changes at runtime is that there is a slight delay when you
|
||||
<tt class="literal"><span class="pre">import</span> <span class="pre">wx</span></tt>; the upside is that you can start using the new syntax
|
||||
now.</p>
|
||||
</div>
|
||||
<div class="section" id="will-any-of-this-effect-my-existing-code">
|
||||
<h1><a class="toc-backref" href="#id4" name="will-any-of-this-effect-my-existing-code">Will any of this effect my existing code?</a></h1>
|
||||
<p>No. Your existing code will continue to work and be supported for
|
||||
some time. It will be up to you to decide when to switch to the new
|
||||
syntax. But all new documentation and code examples will use the new
|
||||
syntax. So don't wait too long. You wouldn't want anyone calling you
|
||||
old-fashioned, would you?</p>
|
||||
</div>
|
||||
<div class="section" id="how-does-the-new-wx-package-work">
|
||||
<h1><a class="toc-backref" href="#id5" name="how-does-the-new-wx-package-work">How does the new wx package work?</a></h1>
|
||||
<p>It's pretty simple, and pretty clever. The wx directory contains an
|
||||
<tt class="literal"><span class="pre">__init__.py</span></tt> file, making it a Python package. (In contrast, the
|
||||
old wxPython.wx module is a module, not a package.) When you <tt class="literal"><span class="pre">import</span>
|
||||
<span class="pre">wx</span></tt> the code in the <tt class="literal"><span class="pre">__init__.py</span></tt> file is executed, and that's
|
||||
where all the magic takes place. Let's take a look at the code inside
|
||||
the <tt class="literal"><span class="pre">__init__.py</span></tt> file:</p>
|
||||
<pre class="literal-block">
|
||||
"""wx package
|
||||
|
||||
Provides a way to drop the wx prefix from wxPython objects."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
from wxPython import wx
|
||||
|
||||
import types
|
||||
|
||||
d_new = globals()
|
||||
d_old = wx.__dict__
|
||||
|
||||
for old, obj in d_old.items():
|
||||
if type(obj) is types.ModuleType or old.startswith('_'):
|
||||
# Skip modules and private names.
|
||||
continue
|
||||
new = old
|
||||
if old.startswith('EVT_'):
|
||||
# Leave name unmodified; add to the new wx namespace.
|
||||
d_new[new] = obj
|
||||
elif old.startswith('wxEVT_'):
|
||||
# Leave name unmodified; add to the new wx namespace.
|
||||
d_new[new] = obj
|
||||
else:
|
||||
if old.startswith('wx'):
|
||||
# Remove the 'wx' prefix.
|
||||
new = old[2:]
|
||||
# Add to the new wx package namespace.
|
||||
d_new[new] = obj
|
||||
|
||||
del d_new
|
||||
del d_old
|
||||
del new
|
||||
del obj
|
||||
del old
|
||||
del types
|
||||
|
||||
del wx
|
||||
|
||||
</pre>
|
||||
<p>Namespaces in Python are implemented as dictionaries. The dictionary
|
||||
used to create the wx package's namespace is accessible using the
|
||||
<tt class="literal"><span class="pre">globals()</span></tt> function. The dictionary used to create the old
|
||||
wxPython.wx module's namespace is <tt class="literal"><span class="pre">wx.__dict__</span></tt>. Once we have these
|
||||
two dictionaries, it's a simple matter of iterating through one,
|
||||
changing the names, adding the renamed object to the other dictionary,
|
||||
and cleaning up a few local variables and imported modules. Voila!</p>
|
||||
</div>
|
||||
<div class="section" id="what-about-all-the-other-modules-like-grid-html-and-stc">
|
||||
<h1><a class="toc-backref" href="#id6" name="what-about-all-the-other-modules-like-grid-html-and-stc">What about all the other modules, like grid, html, and stc?</a></h1>
|
||||
<p>There's more to wxPython than just the wx namespace. And we've got
|
||||
those extra modules covered as well. For each of those modules (as
|
||||
well as the lib package) we've got matching modules in the new wx
|
||||
package. Let's take a look at a few of them.</p>
|
||||
<p>Here is <tt class="literal"><span class="pre">html.py</span></tt>:</p>
|
||||
<pre class="literal-block">
|
||||
"""Provides a way to drop the wx prefix from wxPython objects."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
import wx
|
||||
from wx import prefix
|
||||
|
||||
from wxPython import html
|
||||
prefix.rename(d_new=globals(), d_old=html.__dict__)
|
||||
del html
|
||||
|
||||
del prefix
|
||||
del wx
|
||||
|
||||
</pre>
|
||||
<p>And here is <tt class="literal"><span class="pre">lib/dialogs.py</span></tt>:</p>
|
||||
<pre class="literal-block">
|
||||
"""Provides a way to drop the wx prefix from wxPython objects."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
import wx
|
||||
from wx import prefix
|
||||
|
||||
from wxPython.lib import dialogs
|
||||
prefix.rename(d_new=globals(), d_old=dialogs.__dict__)
|
||||
del dialogs
|
||||
|
||||
del prefix
|
||||
del wx
|
||||
|
||||
</pre>
|
||||
<p>As you can see, they both rely on the <tt class="literal"><span class="pre">prefix.rename()</span></tt> function
|
||||
defined in <tt class="literal"><span class="pre">prefix.py</span></tt>:</p>
|
||||
<pre class="literal-block">
|
||||
"""Renaming utility.
|
||||
|
||||
Provides a way to drop the wx prefix from wxPython objects."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
import types
|
||||
|
||||
def rename(d_new, d_old):
|
||||
for old, obj in d_old.items():
|
||||
if type(obj) is types.ModuleType or old.startswith('_'):
|
||||
# Skip modules and private names.
|
||||
continue
|
||||
## mod = d_old['__name__']
|
||||
## if hasattr(obj, '__module__') and not obj.__module__.startswith(mod):
|
||||
## # Skip objects imported from other modules, except those
|
||||
## # related to the current module, such as stc_.
|
||||
## continue
|
||||
new = old
|
||||
if old.startswith('EVT_') or old.startswith('wxEVT_'):
|
||||
# Leave these names unmodified.
|
||||
pass
|
||||
elif old.startswith('wx'):
|
||||
new = old[2:]
|
||||
if new:
|
||||
d_new[new] = d_old[old]
|
||||
|
||||
</pre>
|
||||
<p>Again, the technique is very similar to the one used by the wx
|
||||
package.</p>
|
||||
</div>
|
||||
<div class="section" id="how-do-i-use-this-new-wx-package">
|
||||
<h1><a class="toc-backref" href="#id7" name="how-do-i-use-this-new-wx-package">How do I use this new wx package?</a></h1>
|
||||
<p>The wx package is automatically created when you install wxPython
|
||||
version 2.4.1 or higher. So all you have to do is:</p>
|
||||
<pre class="literal-block">
|
||||
import wx
|
||||
</pre>
|
||||
<p>Example programs are included in the wxPython/samples/wx_examples
|
||||
directory, and are documented in the <a class="reference" href="wxPythonExamples.html">wxPythonExamples</a> documentation
|
||||
file.</p>
|
||||
<p>Good luck. I hope you like the new wx package as much as I do.</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer"/>
|
||||
<div class="footer">
|
||||
<a class="reference" href="wxPackage.txt">View document source</a>.
|
||||
Generated on: 2003-05-04 19:38 UTC.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
226
wxPython/docs/wxPythonExamples.html
Normal file
226
wxPython/docs/wxPythonExamples.html
Normal file
@@ -0,0 +1,226 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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.2.8: http://docutils.sourceforge.net/" />
|
||||
<title>Example Programs Using wxPython</title>
|
||||
<meta name="author" content="Patrick K. O'Brien" />
|
||||
<meta name="organization" content="Orbtech" />
|
||||
<meta name="date" content="2003-05-04" />
|
||||
<link rel="stylesheet" href="default.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="example-programs-using-wxpython">
|
||||
<h1 class="title">Example Programs Using wxPython</h1>
|
||||
<h2 class="subtitle" id="a-survival-guide-for-the-post-wx-prefixed-world">A survival guide for the post-wx-prefixed world.</h2>
|
||||
<table class="docinfo" frame="void" rules="none">
|
||||
<col class="docinfo-name" />
|
||||
<col class="docinfo-content" />
|
||||
<tbody valign="top">
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>Patrick K. O'Brien</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first last reference" href="mailto:pobrien@orbtech.com">pobrien@orbtech.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first last reference" href="http://www.orbtech.com/">Orbtech</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2003-05-04</td></tr>
|
||||
<tr><th class="docinfo-name">Revision:</th>
|
||||
<td>1.1.2.2</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic" id="contents">
|
||||
<p class="topic-title"><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="#background-with-tongue-firmly-in-cheek" id="id2" name="id2">Background (with tongue firmly in cheek)</a></li>
|
||||
<li><a class="reference" href="#basic-program-example" id="id3" name="id3">Basic Program Example</a></li>
|
||||
<li><a class="reference" href="#hello-wxpython-example" id="id4" name="id4">Hello wxPython Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="introduction">
|
||||
<h1><a class="toc-backref" href="#id1" name="introduction">Introduction</a></h1>
|
||||
<p>This document illustrates example programs using wxPython. All the
|
||||
examples make use of the new wx package syntax, which is a bit
|
||||
different than older examples you might come across.</p>
|
||||
</div>
|
||||
<div class="section" id="background-with-tongue-firmly-in-cheek">
|
||||
<h1><a class="toc-backref" href="#id2" name="background-with-tongue-firmly-in-cheek">Background (with tongue firmly in cheek)</a></h1>
|
||||
<p>If something hits you on the head, don't run around screaming that the
|
||||
sky is falling. Instead, take a close look and see if it wasn't a
|
||||
"wx" prefix that hit you. Apparently, they're dropping off wxPython
|
||||
class names like flies dropping dead in the scorching heat of a
|
||||
summer's day.</p>
|
||||
<p>Yes, the world is changing, and even our little wxPython world must
|
||||
change with it. Then again, I'm not fond of pesky summertime flies,
|
||||
and I'm not too upset that the "wx" prefixes are going to bite the
|
||||
dust. I think it's for the best. But, being the kind, considerate
|
||||
person that I am, I decided to write this guide to make the wx
|
||||
namespace transition easier for everyone, even Chicken Little.</p>
|
||||
<div class="note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Say what?</p>
|
||||
<p>If you have no idea what I mean by the "wx namespace transition,"
|
||||
consider yourself lucky. You can simply use these examples to
|
||||
learn wxPython in its current state. All you need to know is that
|
||||
previous wxPython code used a slightly different syntax that some
|
||||
folks (including me) considered ugly. So we changed it. And
|
||||
that's when the sky starting falling...</p>
|
||||
<p>If you want more of the technical details, read the <a class="reference" href="wxPackage.html">wx package
|
||||
documentation</a>.</p>
|
||||
</div>
|
||||
<p>Rather than simply <strong>tell</strong> you that everything will be okay, I
|
||||
decided to <strong>show</strong> you that everything will be okay. To do that,
|
||||
I've created a bunch of example programs using the new wx package. I
|
||||
hope you like them.</p>
|
||||
</div>
|
||||
<div class="section" id="basic-program-example">
|
||||
<h1><a class="toc-backref" href="#id3" name="basic-program-example">Basic Program Example</a></h1>
|
||||
<p>It doesn't get much simpler than this. Every wxPython program needs
|
||||
an application and a frame. To encourage good coding habits, I've
|
||||
split them into separate modules. They don't do much, but they're a
|
||||
good starting point.</p>
|
||||
<p>I include a simple App class in the frame module because the PyWrap
|
||||
"wrapper" utility (<tt class="literal"><span class="pre">pywrap</span></tt>) only works with modules that contain an
|
||||
application class. So including a simple one in each of your frame
|
||||
modules allows you to use the PyWrap runtime wrapper and debug your
|
||||
frames independent of your full application.</p>
|
||||
<p>Here is the module (<tt class="literal"><span class="pre">frame.py</span></tt>) that defines the frame class:</p>
|
||||
<pre class="literal-block">
|
||||
#!/usr/bin/env python
|
||||
|
||||
"""Basic frame class, with App for testing."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
import wx
|
||||
|
||||
class Frame(wx.Frame):
|
||||
"""Frame class."""
|
||||
|
||||
def __init__(self, parent=None, id=-1, title='Title',
|
||||
pos=wx.DefaultPosition, size=(400, 200)):
|
||||
"""Create a Frame instance."""
|
||||
wx.Frame.__init__(self, parent, id, title, pos, size)
|
||||
|
||||
class App(wx.App):
|
||||
"""Application class."""
|
||||
|
||||
def OnInit(self):
|
||||
self.frame = Frame()
|
||||
self.frame.Show()
|
||||
self.SetTopWindow(self.frame)
|
||||
return True
|
||||
|
||||
def main():
|
||||
app = App()
|
||||
app.MainLoop()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
</pre>
|
||||
<p>And here is the module (<tt class="literal"><span class="pre">app.py</span></tt>) that defines the application class
|
||||
and imports the frame from <tt class="literal"><span class="pre">frame.py</span></tt>:</p>
|
||||
<pre class="literal-block">
|
||||
#!/usr/bin/env python
|
||||
|
||||
"""Basic application class."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
import wx
|
||||
|
||||
from frame import Frame
|
||||
|
||||
class App(wx.App):
|
||||
"""Application class."""
|
||||
|
||||
def OnInit(self):
|
||||
self.frame = Frame()
|
||||
self.frame.Show()
|
||||
self.SetTopWindow(self.frame)
|
||||
return True
|
||||
|
||||
def main():
|
||||
app = App()
|
||||
app.MainLoop()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" id="hello-wxpython-example">
|
||||
<h1><a class="toc-backref" href="#id4" name="hello-wxpython-example">Hello wxPython Example</a></h1>
|
||||
<p>This program displays an image file (<tt class="literal"><span class="pre">wxPython.jpg</span></tt>) inside a frame
|
||||
sized to match the graphic.</p>
|
||||
<div class="figure">
|
||||
<p><img alt="screenshots/hello-win98.png" scale="100" src="screenshots/hello-win98.png" /></p>
|
||||
<p class="caption">Running <tt class="literal"><span class="pre">hello.py</span></tt> on Windows.</p>
|
||||
</div>
|
||||
<div class="figure">
|
||||
<p><img alt="screenshots/hello-linux.png" scale="100" src="screenshots/hello-linux.png" /></p>
|
||||
<p class="caption">Running <tt class="literal"><span class="pre">hello.py</span></tt> on Linux.</p>
|
||||
</div>
|
||||
<div class="figure">
|
||||
<p><img alt="screenshots/hello-mac.png" scale="100" src="screenshots/hello-mac.png" /></p>
|
||||
<p class="caption">Running <tt class="literal"><span class="pre">hello.py</span></tt> on Mac OS X.</p>
|
||||
</div>
|
||||
<p>Here is the source code for <tt class="literal"><span class="pre">hello.py</span></tt>:</p>
|
||||
<pre class="literal-block">
|
||||
#!/usr/bin/env python
|
||||
|
||||
"""Hello, wxPython! program."""
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__revision__ = "$Revision$"[11:-2]
|
||||
|
||||
import wx
|
||||
|
||||
class Frame(wx.Frame):
|
||||
"""Frame class that displays an image."""
|
||||
|
||||
def __init__(self, image, parent=None, id=-1,
|
||||
pos=wx.DefaultPosition, title='Hello, wxPython!'):
|
||||
"""Create a Frame instance and display image."""
|
||||
temp = image.ConvertToBitmap()
|
||||
size = temp.GetWidth(), temp.GetHeight()
|
||||
wx.Frame.__init__(self, parent, id, title, pos, size)
|
||||
self.bmp = wx.StaticBitmap(parent=self, id=-1, bitmap=temp)
|
||||
|
||||
class App(wx.App):
|
||||
"""Application class."""
|
||||
|
||||
def OnInit(self):
|
||||
wx.InitAllImageHandlers()
|
||||
image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)
|
||||
self.frame = Frame(image)
|
||||
self.frame.Show()
|
||||
self.SetTopWindow(self.frame)
|
||||
return True
|
||||
|
||||
def main():
|
||||
app = App()
|
||||
app.MainLoop()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer"/>
|
||||
<div class="footer">
|
||||
<a class="reference" href="wxPythonExamples.txt">View document source</a>.
|
||||
Generated on: 2003-05-04 19:37 UTC.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
1082
wxPython/docs/wxPythonManual.html
Normal file
1082
wxPython/docs/wxPythonManual.html
Normal file
File diff suppressed because it is too large
Load Diff
129
wxPython/docs/wxPythonTutorial.html
Normal file
129
wxPython/docs/wxPythonTutorial.html
Normal file
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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.2.8: http://docutils.sourceforge.net/" />
|
||||
<title>The wxPython Tutorial</title>
|
||||
<meta name="author" content="Patrick K. O'Brien" />
|
||||
<meta name="organization" content="Orbtech" />
|
||||
<meta name="date" content="2003-05-04" />
|
||||
<link rel="stylesheet" href="default.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="the-wxpython-tutorial">
|
||||
<h1 class="title">The wxPython Tutorial</h1>
|
||||
<h2 class="subtitle" id="how-to-get-up-and-running-with-wxpython">How to get up and running with wxPython</h2>
|
||||
<table class="docinfo" frame="void" rules="none">
|
||||
<col class="docinfo-name" />
|
||||
<col class="docinfo-content" />
|
||||
<tbody valign="top">
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>Patrick K. O'Brien</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first last reference" href="mailto:pobrien@orbtech.com">pobrien@orbtech.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first last reference" href="http://www.orbtech.com/">Orbtech</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2003-05-04</td></tr>
|
||||
<tr><th class="docinfo-name">Revision:</th>
|
||||
<td>1.1.2.2</td></tr>
|
||||
<tr class="field"><th class="docinfo-name">License:</th><td class="field-body">wxWindows Free Documentation Licence, Version 3</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic" id="contents">
|
||||
<p class="topic-title"><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>
|
||||
<li><a class="reference" href="#license" id="id3" name="id3">License</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="introduction">
|
||||
<h1><a class="toc-backref" href="#id1" name="introduction">Introduction</a></h1>
|
||||
<p>This is a tutorial for the wxPython GUI toolkit.</p>
|
||||
</div>
|
||||
<div class="section" id="what-is-wxpython">
|
||||
<h1><a class="toc-backref" href="#id2" name="what-is-wxpython">What is wxPython?</a></h1>
|
||||
<p>wxPython is a GUI toolkit for the Python programming language. It
|
||||
allows Python programmers to create programs with a graphical user
|
||||
interface for Windows, Linux, and Mac OS X.</p>
|
||||
</div>
|
||||
<div class="section" id="license">
|
||||
<h1><a class="toc-backref" href="#id3" name="license">License</a></h1>
|
||||
<p>This document adheres to the same license as the other documentation
|
||||
that comes with wxWindows:</p>
|
||||
<pre class="literal-block">
|
||||
wxWindows Free Documentation Licence, Version 3
|
||||
===============================================
|
||||
|
||||
Copyright (c) 1998 Julian Smart, Robert Roebling et al
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
WXWINDOWS FREE DOCUMENTATION LICENCE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
1. Permission is granted to make and distribute verbatim copies of this
|
||||
manual or piece of documentation provided any copyright notice and this
|
||||
permission notice are preserved on all copies.
|
||||
|
||||
2. Permission is granted to process this file or document through a
|
||||
document processing system and, at your option and the option of any third
|
||||
party, print the results, provided a printed document carries a copying
|
||||
permission notice identical to this one.
|
||||
|
||||
3. Permission is granted to copy and distribute modified versions of this
|
||||
manual or piece of documentation under the conditions for verbatim
|
||||
copying, provided also that any sections describing licensing conditions
|
||||
for this manual, such as, in particular, the GNU General Public Licence,
|
||||
the GNU Library General Public Licence, and any wxWindows Licence are
|
||||
included exactly as in the original, and provided that the entire
|
||||
resulting derived work is distributed under the terms of a permission
|
||||
notice identical to this one.
|
||||
|
||||
4. Permission is granted to copy and distribute translations of this
|
||||
manual or piece of documentation into another language, under the above
|
||||
conditions for modified versions, except that sections related to
|
||||
licensing, including this paragraph, may also be included in translations
|
||||
approved by the copyright holders of the respective licence documents in
|
||||
addition to the original English.
|
||||
|
||||
WARRANTY DISCLAIMER
|
||||
|
||||
5. BECAUSE THIS MANUAL OR PIECE OF DOCUMENTATION IS LICENSED FREE OF CHARGE,
|
||||
THERE IS NO WARRANTY FOR IT, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
|
||||
PARTIES PROVIDE THIS MANUAL OR PIECE OF DOCUMENTATION "AS IS" WITHOUT
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
|
||||
THE MANUAL OR PIECE OF DOCUMENTATION IS WITH YOU. SHOULD THE MANUAL OR
|
||||
PIECE OF DOCUMENTATION PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
|
||||
NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
6. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE MANUAL OR PIECE OF DOCUMENTATION AS PERMITTED ABOVE, BE
|
||||
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
MANUAL OR PIECE OF DOCUMENTATION (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF A PROGRAM BASED ON THE MANUAL OR PIECE OF
|
||||
DOCUMENTATION TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
|
||||
OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer"/>
|
||||
<div class="footer">
|
||||
<a class="reference" href="wxPythonTutorial.txt">View document source</a>.
|
||||
Generated on: 2003-05-04 19:38 UTC.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user