true/false or TRUE/FALSE to prepare for the new boolean type and constants being added to Python. Added code to wx.py to test for the existence of the new constants and to create suitable values if not present. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
130 lines
3.8 KiB
Python
130 lines
3.8 KiB
Python
|
|
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):
|
|
win = TestPanel(nb, log)
|
|
return win
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
overview = """\
|
|
This class allows you to use the system font chooser dialog.
|
|
|
|
"""
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
import sys,os
|
|
import run
|
|
run.main(['', os.path.basename(sys.argv[0])])
|
|
|