X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d28c41cbd1ca343d1865bf63dc4cec56721782d..2f0f3b0fd63ba9e0b1dfa5fb8954bc659d91f122:/wxPython/demo/wxListbook.py?ds=sidebyside diff --git a/wxPython/demo/wxListbook.py b/wxPython/demo/wxListbook.py new file mode 100644 index 0000000000..c8b7958a82 --- /dev/null +++ b/wxPython/demo/wxListbook.py @@ -0,0 +1,133 @@ + +from wxPython.wx import * + +import ColorPanel +import GridSimple +import wxListCtrl +import wxScrolledWindow +import images + +import sys + +#---------------------------------------------------------------------------- + +class TestLB(wxListbook): + def __init__(self, parent, id, log): + wxListbook.__init__(self, parent, id, style= + wxLB_DEFAULT + #wxLB_TOP + #wxLB_BOTTOM + #wxLB_LEFT + #wxLB_RIGHT + ) + self.log = log + + win = self.makeColorPanel(wxBLUE) + self.AddPage(win, "Blue") + 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.", + wxPoint(10, 10)) + st.SetForegroundColour(wxWHITE) + st.SetBackgroundColour(wxBLUE) + + # 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') + + win = self.makeColorPanel(wxGREEN) + self.AddPage(win, "Green") + + win = GridSimple.SimpleGrid(self, log) + self.AddPage(win, "Grid") + + win = wxListCtrl.TestListCtrlPanel(self, log) + self.AddPage(win, 'List') + + win = self.makeColorPanel(wxCYAN) + self.AddPage(win, "Cyan") + +## win = self.makeColorPanel(wxWHITE) +## self.AddPage(win, "White") + +## win = self.makeColorPanel(wxBLACK) +## self.AddPage(win, "Black") + + win = self.makeColorPanel(wxNamedColour('MIDNIGHT BLUE')) + self.AddPage(win, "MIDNIGHT BLUE") + + win = self.makeColorPanel(wxNamedColour('INDIAN RED')) + self.AddPage(win, "INDIAN RED") + + EVT_LISTBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged) + EVT_LISTBOOK_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() + sel = self.GetSelection() + self.log.write('OnPageChanged, old:%d, new:%d, sel:%d\n' % (old, new, sel)) + event.Skip() + + def OnPageChanging(self, event): + old = event.GetOldSelection() + new = event.GetSelection() + sel = self.GetSelection() + self.log.write('OnPageChanging, old:%d, new:%d, sel:%d\n' % (old, new, sel)) + event.Skip() + +#---------------------------------------------------------------------------- + +def runTest(frame, nb, log): + testWin = TestLB(nb, -1, log) + return testWin + +#---------------------------------------------------------------------------- + + + + +overview = """\ + +

wxListbook

+

+This class is a control similar to a notebook control, but with a +wxListCtrl instead of a set of tabs. + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + + + + +