]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/wxNotebook.py
Removed deprecation warnings in OGL and Gizmos
[wxWidgets.git] / wxPython / demo / wxNotebook.py
index df761009353be026e9ae258db4fb37c7f0c6ba37..ced491b69d4cc7cad27032bc7355ce4b342693d1 100644 (file)
@@ -5,6 +5,7 @@ import ColorPanel
 import GridSimple
 import wxListCtrl
 import wxScrolledWindow
 import GridSimple
 import wxListCtrl
 import wxScrolledWindow
+import images
 
 import sys
 
 
 import sys
 
@@ -12,12 +13,17 @@ import sys
 
 class TestNB(wxNotebook):
     def __init__(self, parent, id, log):
 
 class TestNB(wxNotebook):
     def __init__(self, parent, id, log):
-        wxNotebook.__init__(self, parent, id, style=wxNB_BOTTOM)
+        wxNotebook.__init__(self, parent, id, style=
+                            #0
+                            wxNB_BOTTOM
+                            #wxNB_LEFT
+                            #wxNB_RIGHT
+                            )
         self.log = log
 
         self.log = log
 
-        win = ColorPanel.ColoredPanel(self, wxBLUE)
+        win = self.makeColorPanel(wxBLUE)
         self.AddPage(win, "Blue")
         self.AddPage(win, "Blue")
-        st = wxStaticText(win, -1,
+        st = wxStaticText(win.win, -1,
                           "You can put nearly any type of window here,\n"
                           "and if the platform supports it then the\n"
                           "tabs can be on any side of the notebook.",
                           "You can put nearly any type of window here,\n"
                           "and if the platform supports it then the\n"
                           "tabs can be on any side of the notebook.",
@@ -25,13 +31,23 @@ class TestNB(wxNotebook):
         st.SetForegroundColour(wxWHITE)
         st.SetBackgroundColour(wxBLUE)
 
         st.SetForegroundColour(wxWHITE)
         st.SetBackgroundColour(wxBLUE)
 
-        win = ColorPanel.ColoredPanel(self, wxRED)
+        # Show how to put an image on one of the notebook tabs,
+        # first make the image list:
+        il = wxImageList(16, 16)
+        idx1 = il.Add(images.getSmilesBitmap())
+        self.AssignImageList(il)
+
+        # now put an image on the first tab we just created:
+        self.SetPageImage(0, idx1)
+
+
+        win = self.makeColorPanel(wxRED)
         self.AddPage(win, "Red")
 
         win = wxScrolledWindow.MyCanvas(self)
         self.AddPage(win, 'ScrolledWindow')
 
         self.AddPage(win, "Red")
 
         win = wxScrolledWindow.MyCanvas(self)
         self.AddPage(win, 'ScrolledWindow')
 
-        win = ColorPanel.ColoredPanel(self, wxGREEN)
+        win = self.makeColorPanel(wxGREEN)
         self.AddPage(win, "Green")
 
         win = GridSimple.SimpleGrid(self, log)
         self.AddPage(win, "Green")
 
         win = GridSimple.SimpleGrid(self, log)
@@ -40,25 +56,35 @@ class TestNB(wxNotebook):
         win = wxListCtrl.TestListCtrlPanel(self, log)
         self.AddPage(win, 'List')
 
         win = wxListCtrl.TestListCtrlPanel(self, log)
         self.AddPage(win, 'List')
 
-        win = ColorPanel.ColoredPanel(self, wxCYAN)
+        win = self.makeColorPanel(wxCYAN)
         self.AddPage(win, "Cyan")
 
         self.AddPage(win, "Cyan")
 
-        win = ColorPanel.ColoredPanel(self, wxWHITE)
+        win = self.makeColorPanel(wxWHITE)
         self.AddPage(win, "White")
 
         self.AddPage(win, "White")
 
-        win = ColorPanel.ColoredPanel(self, wxBLACK)
+        win = self.makeColorPanel(wxBLACK)
         self.AddPage(win, "Black")
 
         self.AddPage(win, "Black")
 
-        win = ColorPanel.ColoredPanel(self, wxNamedColour('MIDNIGHT BLUE'))
+        win = self.makeColorPanel(wxNamedColour('MIDNIGHT BLUE'))
         self.AddPage(win, "MIDNIGHT BLUE")
 
         self.AddPage(win, "MIDNIGHT BLUE")
 
-        win = ColorPanel.ColoredPanel(self, wxNamedColour('INDIAN RED'))
+        win = self.makeColorPanel(wxNamedColour('INDIAN RED'))
         self.AddPage(win, "INDIAN RED")
 
         EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged)
         EVT_NOTEBOOK_PAGE_CHANGING(self, self.GetId(), self.OnPageChanging)
 
 
         self.AddPage(win, "INDIAN RED")
 
         EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged)
         EVT_NOTEBOOK_PAGE_CHANGING(self, self.GetId(), self.OnPageChanging)
 
 
+    def makeColorPanel(self, color):
+        p = wxPanel(self, -1)
+        win = ColorPanel.ColoredPanel(p, color)
+        p.win = win
+        def OnCPSize(evt, win=win):
+            win.SetSize(evt.GetSize())
+        EVT_SIZE(p, OnCPSize)
+        return p
+
+
     def OnPageChanged(self, event):
         old = event.GetOldSelection()
         new = event.GetSelection()
     def OnPageChanged(self, event):
         old = event.GetOldSelection()
         new = event.GetSelection()
@@ -83,28 +109,27 @@ def runTest(frame, nb, log):
 
 
 
 
 
 
+overview = """\
+<html><body>
+<h2>wxNotebook</h2>
+<p>
+This class represents a notebook control, which manages multiple
+windows with associated tabs.
+<p>
+To use the class, create a wxNotebook object and call AddPage or
+InsertPage, passing a window to be used as the page. Do not explicitly
+delete the window for a page that is currently managed by wxNotebook.
 
 
+"""
 
 
 
 
 
 
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])
 
 
 
 
 
 
 
 
-overview = """\
-This class represents a notebook control, which manages multiple windows with associated tabs.
-
-To use the class, create a wxNotebook object and call AddPage or InsertPage, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by wxNotebook.
-
-"""
-
-
-if __name__ == "__main__":
-    app = wxPySimpleApp()
-    frame = wxFrame(None, -1, "Test Notebook", size=(600, 400))
-    win = TestNB(frame, -1, sys.stdout)
-    frame.Show(true)
-    app.MainLoop()
-
-