]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/OOR.py
Cleanup obsolete samples
[wxWidgets.git] / wxPython / demo / OOR.py
diff --git a/wxPython/demo/OOR.py b/wxPython/demo/OOR.py
deleted file mode 100644 (file)
index 547869a..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-
-import  wx
-import  wx.html as wxhtml
-
-#----------------------------------------------------------------------
-
-BTN1 = wx.NewId()
-BTN2 = wx.NewId()
-
-class TestPanel(wx.Panel):
-    def __init__(self, parent, log):
-        wx.Panel.__init__(self, parent, -1)
-        self.log = log
-
-        sizer = wx.BoxSizer(wx.VERTICAL)
-        html = wxhtml.HtmlWindow(self, -1)
-        html.SetPage(overview)
-        sizer.Add(html, 1, wx.EXPAND|wx.ALL, 5)
-
-        btns = wx.BoxSizer(wx.HORIZONTAL)
-        btns.Add((50, -1), 1, wx.EXPAND)
-        btn1 = wx.Button(self, BTN1, "Find My Alter-ego") # don't save a ref to this one 
-        btns.Add(btn1)
-        btns.Add((50, -1), 1, wx.EXPAND)
-        self.btn2 = wx.Button(self, BTN2, "Find Myself")
-        btns.Add(self.btn2)
-        btns.Add((50, -1), 1, wx.EXPAND)
-
-        sizer.Add(btns, 0, wx.EXPAND|wx.ALL, 15)
-
-        self.SetSizer(sizer)
-        self.SetAutoLayout(True)
-
-        self.sizer = sizer  # save it for testing later
-
-        self.Bind(wx.EVT_BUTTON, self.OnFindButton1, id=BTN1)
-        self.Bind(wx.EVT_BUTTON, self.OnFindButton2, id=BTN2)
-
-
-    def OnFindButton1(self, evt):
-        win = self.FindWindowById(BTN1)
-
-        if win is None:
-            self.log.write("***** OOPS! None returned...\n")
-            return
-
-        className = win.__class__.__name__
-
-        if className in ["Button", "ButtonPtr"]:
-            self.log.write("The types are the same! <grin>\n")
-        else:
-            self.log.write("Got %s, expected wxButton or wxButtonPtr\n" % className)
-
-
-
-    def OnFindButton2(self, evt):
-        win = self.FindWindowById(BTN2)
-
-        if win is None:
-            self.log.write("***** OOPS! None returned...\n")
-            return
-
-        if win is self.btn2:
-            self.log.write("The objects are the same! <grin>\n")
-        else:
-            self.log.write("The objects are NOT the same! <frown>\n")
-
-        win = evt.GetEventObject()
-
-        if win is None:
-            self.log.write("***** OOPS! None returned...\n")
-            return
-
-        if win is self.btn2:
-            self.log.write("The objects are the same! <grin>\n")
-        else:
-            self.log.write("The objects are NOT the same! <frown>\n")
-
-        sizer = self.GetSizer()
-
-        if sizer is None:
-            self.log.write("***** OOPS! None returned...\n")
-            return
-
-        if sizer is self.sizer:
-            self.log.write("The objects are the same! <grin>\n")
-        else:
-            self.log.write("The objects are NOT the same! <frown>\n")
-
-
-#----------------------------------------------------------------------
-
-def runTest(frame, nb, log):
-    win = TestPanel(nb, log)
-    return win
-
-#----------------------------------------------------------------------
-
-
-overview = """\
-<html><body>
-<h2>Original Object Return</h2>
-
-<p>Several methods in wxWindows return pointers to base class objects,
-when in fact the actual object pointed to is of a derived type.  Since
-SWIG isn't able to tell the actual type it just creates a new Python
-shadow object of the base type to wrap around the base type pointer
-and returns it.
-
-<p>In wxPython prior to 2.3.0 this could cause annoying issues.  For
-example if you called:
-
-<pre>
-
-        myText = someWindow.FindWindowById(txtID)
-</pre>
-
-expecting to get a wxTextCtrl you would actually get a wxWindow object
-instead.  If you then try to call SetValue on that object you'll get
-an exception since there is no such method.  This is the reason for
-the wxPyTypeCast hack that has been in wxPython for so long.
-
-<p>Even with wxPyTypeCast there was the issue that the object returned
-was not the same one that was created in Python originally, but a new
-object of the same type that wraps the same C++ pointer.  If the
-programmer has set additional attributes of that original object they
-will not exist in the new object.
-
-<p>For a long time now I have wanted to do away with wxPyTypeCast and
-also find a way to return the original Python object from methods like
-FindWindowById.  This project naturally divides into two phases:
-
-<p><ol>
-
-<li>Teach the wrapper methods how to return objects of the right type,
-and be able to then turn wxPyTypeCast in to a no-op.
-
-<li>Be able to return the original Python shadow object if it still exists.
-
-</ol>
-
-<p>The first button below shows the first of these phases (<i>working</i>)
-and the second will show #2 (<i>working as of Python 2.3.2</i>)
-
-</body></html>
-"""
-
-
-
-
-if __name__ == '__main__':
-    import sys,os
-    import run
-    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
-