X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68320e40cde2ceaac4645db9ae2989e3101fde45..bfdc04a9bb95e6865570d59192718052b6229221:/wxPython/demo/wxFontDialog.py diff --git a/wxPython/demo/wxFontDialog.py b/wxPython/demo/wxFontDialog.py index 551dc97dc5..e27ad38d74 100644 --- a/wxPython/demo/wxFontDialog.py +++ b/wxPython/demo/wxFontDialog.py @@ -3,42 +3,127 @@ from wxPython.wx import * #--------------------------------------------------------------------------- -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 - print data.GetColour() - 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() +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() -overview = """\ -This class represents the font chooser dialog. -wxFontDialog() ----------------------------- + def OnSelectFont(self, evt): + data = wxFontData() + data.EnableEffects(True) + data.SetColour(self.curClr) # set colour + data.SetInitialFont(self.curFont) -wxFontDialog(wxWindow* parent, wxFontData* data) + 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): + win = TestPanel(nb, log) + return win + + +#--------------------------------------------------------------------------- + + + + +overview = """\ +This class allows you to use the system font chooser dialog. -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])]) +