]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/docs/wxPackage.html
Build fix for motif.
[wxWidgets.git] / wxPython / docs / wxPackage.html
index ae84d6534c434c4ff3cc8146b2ecfb92fef75952..82d666958c555435cde5f9ecf2ceff2a20a8181c 100644 (file)
@@ -3,12 +3,12 @@
 <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" />
 <meta name="organization" content="Orbtech" />
-<meta name="date" content="2004-02-04" />
+<meta name="date" content="2004-03-26" />
 <link rel="stylesheet" href="default.css" type="text/css" />
 </head>
 <body>
 <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>2004-02-04</td></tr>
+<td>2004-03-26</td></tr>
 <tr><th class="docinfo-name">Revision:</th>
-<td>1.3</td></tr>
+<td>1.4</td></tr>
 </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>
@@ -72,7 +72,7 @@ this release.</p>
 <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 &quot;wart.&quot;  For
 example, the following code is rather ugly in that the &quot;wx&quot; prefix on
@@ -163,15 +163,100 @@ replace.</p>
 </div>
 <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>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.  Also, all the code in the py package uses the new wx syntax.
-You can learn more about these in the <a class="reference" href="PyManual.html">PyManual</a>.</p>
-</div>
+<p>The wxPython demo application and most of the sample apps have been
+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="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,
+# wx.StaticText, wx.Button, and a wx.BoxSizer, but it shows the basic
+# structure of any wxPython application.
+#----------------------------------------------------------------------
+
+import wx
+
+
+class MyFrame(wx.Frame):
+    &quot;&quot;&quot;
+    This is MyFrame.  It just shows a few controls on a wxPanel,
+    and has a simple menu.
+    &quot;&quot;&quot;
+    def __init__(self, parent, title):
+        wx.Frame.__init__(self, parent, -1, title,
+                          pos=(150, 150), size=(350, 200))
+
+        # Create the menubar
+        menuBar = wx.MenuBar()
+
+        # and a menu 
+        menu = wx.Menu()
+
+        # add an item to the menu, using \tKeyName automatically
+        # creates an accelerator, the third param is some help text
+        # that will show up in the statusbar
+        menu.Append(wx.ID_EXIT, &quot;E&amp;xit\tAlt-X&quot;, &quot;Exit this simple sample&quot;)
+
+        # bind the menu event to an event handler
+        self.Bind(wx.EVT_MENU, self.OnTimeToClose, id=wx.ID_EXIT)
+
+        # and put the menu on the menubar
+        menuBar.Append(menu, &quot;&amp;File&quot;)
+        self.SetMenuBar(menuBar)
+
+        self.CreateStatusBar()
+        
+
+        # Now create the Panel to put the other controls on.
+        panel = wx.Panel(self)
+
+        # and a few controls
+        text = wx.StaticText(panel, -1, &quot;Hello World!&quot;)
+        text.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD))
+        text.SetSize(text.GetBestSize())
+        btn = wx.Button(panel, -1, &quot;Close&quot;)
+        funbtn = wx.Button(panel, -1, &quot;Just for fun...&quot;)
+
+        # bind the button events to handlers
+        self.Bind(wx.EVT_BUTTON, self.OnTimeToClose, btn)
+        self.Bind(wx.EVT_BUTTON, self.OnFunButton, funbtn)
+
+        # Use a sizer to layout the controls, stacked vertically and with
+        # a 10 pixel border around each
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(text, 0, wx.ALL, 10)
+        sizer.Add(btn, 0, wx.ALL, 10)
+        sizer.Add(funbtn, 0, wx.ALL, 10)
+        panel.SetSizer(sizer)
+        panel.Layout()
+
+
+    def OnTimeToClose(self, evt):
+        &quot;&quot;&quot;Event handler for the button click.&quot;&quot;&quot;
+        print &quot;See ya later!&quot;
+        self.Close()
+
+    def OnFunButton(self, evt):
+        &quot;&quot;&quot;Event handler for the button click.&quot;&quot;&quot;
+        print &quot;Having fun yet?&quot;
+
+
+class MyApp(wx.App):
+    def OnInit(self):
+        frame = MyFrame(None, &quot;Simple wxPython App&quot;)
+        self.SetTopWindow(frame)
+
+        print &quot;Print statements go to this stdout window by default.&quot;
+
+        frame.Show(True)
+        return True
+        
+app = MyApp(redirect=True)
+app.MainLoop()
+
+
+</pre>
 </div>
-<hr class="footer" />
-<div class="footer">
-Generated on: 2004-02-27 00:27 UTC.
 </div>
 </body>
 </html>