diff --git a/wxPython/demo/.cvsignore b/wxPython/demo/.cvsignore index b4a758e078..87f417de0c 100644 --- a/wxPython/demo/.cvsignore +++ b/wxPython/demo/.cvsignore @@ -1,6 +1,7 @@ *.pyc .DS_Store .emacs.desktop +.setup.sh b.bat hangman_dict.txt mimetypes_wdr diff --git a/wxPython/demo/FontEnumerator.py b/wxPython/demo/FontEnumerator.py index 27a1466d94..60810a4760 100644 --- a/wxPython/demo/FontEnumerator.py +++ b/wxPython/demo/FontEnumerator.py @@ -3,44 +3,40 @@ from wxPython.wx import * #---------------------------------------------------------------------- -## class MyFontEnumerator(wxFontEnumerator): -## def __init__(self, list): -## wxFontEnumerator.__init__(self) -## self.list = list - -## def OnFacename(self, face): -## self.list.append(face) -## return true - - class TestPanel(wxPanel): def __init__(self, parent, log): wxPanel.__init__(self, parent, -1) -## list = [] -## e = MyFontEnumerator(list) -## e.EnumerateFacenames() - e = wxFontEnumerator() e.EnumerateFacenames() list = e.GetFacenames() list.sort() - wxStaticText(self, -1, "Face names:", (15, 50), (65, 18)) - self.lb1 = wxListBox(self, -1, (80, 50), (200, 250), + s1 = wxStaticText(self, -1, "Face names:") + self.lb1 = wxListBox(self, -1, wxDefaultPosition, (200, 250), list, wxLB_SINGLE) EVT_LISTBOX(self, self.lb1.GetId(), self.OnSelect) self.txt = wxStaticText(self, -1, "Sample text...", (285, 50)) + row = wxBoxSizer(wxHORIZONTAL) + row.Add(s1, 0, wxALL, 5) + row.Add(self.lb1, 0, wxALL, 5) + row.Add(self.txt, 0, wxALL, 5) + + sizer = wxBoxSizer(wxVERTICAL) + sizer.Add(row, 0, wxALL, 30) + self.SetSizer(sizer) + self.Layout() + self.lb1.SetSelection(0) def OnSelect(self, evt): face = self.lb1.GetStringSelection() - font = wxFont(28, wxDEFAULT, wxNORMAL, wxNORMAL, false, face) + font = wxFont(28, wxDEFAULT, wxDEFAULT, wxDEFAULT, false, face) self.txt.SetFont(font) self.txt.SetSize(self.txt.GetBestSize()) @@ -64,9 +60,12 @@ def runTest(frame, nb, log): -overview = """\ -wxFontEnumerator enumerates either all available fonts on the system or only the ones with given attributes - either only fixed-width (suited for use in programs such as terminal emulators and the like) or the fonts available in the given encoding. - +overview = """ +wxFontEnumerator enumerates either all available fonts on the system or only +the ones with given attributes - either only fixed-width (suited for use in +programs such as terminal emulators and the like) or the fonts available in +the given encoding. + """ diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index 3b2a4ab368..31e2177416 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -382,12 +382,10 @@ class wxPythonDemo(wxFrame): # add the windows to the splitter and split it. - splitter2.SplitHorizontally(self.nb, self.log) - splitter.SplitVertically(self.tree, splitter2) + splitter2.SplitHorizontally(self.nb, self.log, 450) + splitter.SplitVertically(self.tree, splitter2, 180) - splitter.SetSashPosition(180, true) splitter.SetMinimumPaneSize(20) - splitter2.SetSashPosition(450, true) splitter2.SetMinimumPaneSize(20) diff --git a/wxPython/demo/wxFontDialog.py b/wxPython/demo/wxFontDialog.py index 52b23d48dc..1ac5e985e0 100644 --- a/wxPython/demo/wxFontDialog.py +++ b/wxPython/demo/wxFontDialog.py @@ -1,43 +1,129 @@ from wxPython.wx import * +#--------------------------------------------------------------------------- + +class TestPanel(wxPanel): + def __init__(self, parent, log): + wxPanel.__init__(self, parent, -1) + self.log = log + + btn = wxButton(self, -1, "Select Font") + EVT_BUTTON(self, btn.GetId(), self.OnSelectFont) + + self.sampleText = wxTextCtrl(self, -1, "Sample Text") + #from wxPython.lib.stattext import wxGenStaticText + #self.sampleText = wxGenStaticText(self, -1, "Sample Text") + + self.curFont = self.sampleText.GetFont() + self.curClr = wxBLACK + + fgs = wxFlexGridSizer(cols=2, vgap=5, hgap=5) + fgs.AddGrowableCol(1) + fgs.AddGrowableRow(0) + + fgs.Add(btn) + fgs.Add(self.sampleText, 0, wxADJUST_MINSIZE|wxGROW) + + fgs.Add(15,15); fgs.Add(15,15) # an empty row + + fgs.Add(wxStaticText(self, -1, "PointSize:")) + self.ps = wxStaticText(self, -1, "") + font = self.ps.GetFont() + font.SetWeight(wxBOLD) + self.ps.SetFont(font) + fgs.Add(self.ps, 0, wxADJUST_MINSIZE) + + fgs.Add(wxStaticText(self, -1, "Family:")) + self.family = wxStaticText(self, -1, "") + self.family.SetFont(font) + fgs.Add(self.family, 0, wxADJUST_MINSIZE) + + fgs.Add(wxStaticText(self, -1, "Style:")) + self.style = wxStaticText(self, -1, "") + self.style.SetFont(font) + fgs.Add(self.style, 0, wxADJUST_MINSIZE) + + fgs.Add(wxStaticText(self, -1, "Weight:")) + self.weight = wxStaticText(self, -1, "") + self.weight.SetFont(font) + fgs.Add(self.weight, 0, wxADJUST_MINSIZE) + + fgs.Add(wxStaticText(self, -1, "Face:")) + self.face = wxStaticText(self, -1, "") + self.face.SetFont(font) + fgs.Add(self.face, 0, wxADJUST_MINSIZE) + + fgs.Add(15,15); fgs.Add(15,15) # an empty row + + fgs.Add(wxStaticText(self, -1, "wxNativeFontInfo:")) + self.nfi = wxStaticText(self, -1, "") + self.nfi.SetFont(font) + fgs.Add(self.nfi, 0, wxADJUST_MINSIZE) + + # give it some border space + sizer = wxBoxSizer(wxVERTICAL) + sizer.Add(fgs, 0, wxGROW|wxADJUST_MINSIZE|wxALL, 25) + + self.SetSizer(sizer) + self.UpdateUI() + + + def UpdateUI(self): + self.sampleText.SetFont(self.curFont) + self.ps.SetLabel(str(self.curFont.GetPointSize())) + self.family.SetLabel(self.curFont.GetFamilyString()) + self.style.SetLabel(self.curFont.GetStyleString()) + self.weight.SetLabel(self.curFont.GetWeightString()) + self.face.SetLabel(self.curFont.GetFaceName()) + self.nfi.SetLabel(self.curFont.GetNativeFontInfo().ToString()) + self.Layout() + + + def OnSelectFont(self, evt): + data = wxFontData() + data.EnableEffects(true) + data.SetColour(self.curClr) # set colour + data.SetInitialFont(self.curFont) + + dlg = wxFontDialog(self, data) + if dlg.ShowModal() == wxID_OK: + data = dlg.GetFontData() + font = data.GetChosenFont() + colour = data.GetColour() + self.log.WriteText('You selected: "%s", %d points, color %s\n' % + (font.GetFaceName(), font.GetPointSize(), + colour.Get())) + self.curFont = font + self.curClr = colour + self.UpdateUI() + dlg.Destroy() + + + + + #--------------------------------------------------------------------------- def runTest(frame, nb, log): - data = wxFontData() - data.EnableEffects(true) - font_colour = wxColour(255, 0, 0) # colour of font (red) - data.SetColour(font_colour) # set colour - dlg = wxFontDialog(frame, data) - if dlg.ShowModal() == wxID_OK: - data = dlg.GetFontData() - font = data.GetChosenFont() - log.WriteText('You selected: "%s", %d points, color %s\n' % - (font.GetFaceName(), font.GetPointSize(), - data.GetColour().Get())) - dlg.Destroy() + win = TestPanel(nb, log) + return win + #--------------------------------------------------------------------------- - - - - - - - - - overview = """\ -This class represents the font chooser dialog. +This class allows you to use the system font chooser dialog. -wxFontDialog() ----------------------------- - -wxFontDialog(wxWindow* parent, wxFontData* data) - -Constructor. Pass a parent window and a font data object, which will be copied to the font dialog's font data. """ + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxNotebook.py b/wxPython/demo/wxNotebook.py index 4af4007dcd..69a770208a 100644 --- a/wxPython/demo/wxNotebook.py +++ b/wxPython/demo/wxNotebook.py @@ -5,6 +5,7 @@ import ColorPanel import GridSimple import wxListCtrl import wxScrolledWindow +import images import sys @@ -15,7 +16,6 @@ class TestNB(wxNotebook): wxNotebook.__init__(self, parent, id, style=wxNB_BOTTOM) self.log = log - win = self.makeColorPanel(wxBLUE) self.AddPage(win, "Blue") st = wxStaticText(win.win, -1, @@ -26,6 +26,16 @@ class TestNB(wxNotebook): 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") @@ -94,28 +104,27 @@ def runTest(frame, nb, log): - - - - - - - - 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. + +

wxNotebook

+

+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() + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + +