2001-06-15 17:43:26 -04:00
|
|
|
import sys
|
1999-04-29 23:29:54 -04:00
|
|
|
from wxPython.wx import *
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class TestPanel(wxPanel):
|
|
|
|
def __init__(self, parent, log):
|
|
|
|
wxPanel.__init__(self, parent, -1)
|
|
|
|
self.log = log
|
|
|
|
|
2001-06-15 17:43:26 -04:00
|
|
|
l1 = wxStaticText(self, -1, "wxTextCtrl")
|
|
|
|
t1 = wxTextCtrl(self, 10, "Test it out and see", size=(125, -1))
|
|
|
|
t1.SetInsertionPoint(0)
|
1999-04-29 23:29:54 -04:00
|
|
|
EVT_TEXT(self, 10, self.EvtText)
|
2001-06-15 17:43:26 -04:00
|
|
|
EVT_CHAR(t1, self.EvtChar)
|
2000-10-30 16:08:42 -05:00
|
|
|
|
1999-04-29 23:29:54 -04:00
|
|
|
|
2001-06-15 17:43:26 -04:00
|
|
|
l2 = wxStaticText(self, -1, "Passsword")
|
|
|
|
t2 = wxTextCtrl(self, 20, "", size=(125, -1), style=wxTE_PASSWORD)
|
1999-04-29 23:29:54 -04:00
|
|
|
EVT_TEXT(self, 20, self.EvtText)
|
|
|
|
|
2001-06-15 17:43:26 -04:00
|
|
|
l3 = wxStaticText(self, -1, "Multi-line")
|
|
|
|
t3 = wxTextCtrl(self, 30, "How does it work with a long line of text set in the control",
|
|
|
|
size=(200, 100), style=wxTE_MULTILINE)
|
|
|
|
t3.SetInsertionPoint(0)
|
1999-04-29 23:29:54 -04:00
|
|
|
EVT_TEXT(self, 30, self.EvtText)
|
|
|
|
|
2001-06-15 17:43:26 -04:00
|
|
|
l4 = wxStaticText(self, -1, "Rich Text")
|
|
|
|
t4 = wxTextCtrl(self, 40, "If supported by the native control, this is red, and this is a different font.",
|
|
|
|
size=(200, 100), style=wxTE_MULTILINE|wxTE_RICH)
|
|
|
|
t4.SetInsertionPoint(0)
|
|
|
|
t4.SetStyle(44, 47, wxTextAttr("RED", "YELLOW"))
|
|
|
|
|
|
|
|
points = t4.GetFont().GetPointSize() # get the current size
|
|
|
|
f = wxFont(points+2, wxROMAN, wxITALIC, wxBOLD, true)
|
|
|
|
## print 'a1', sys.getrefcount(f)
|
|
|
|
## t4.SetStyle(63, 77, wxTextAttr("BLUE", font=f))
|
|
|
|
t4.SetStyle(63, 77, wxTextAttr("BLUE", wxNullColour, f))
|
|
|
|
## print 'a2', sys.getrefcount(f)
|
|
|
|
|
|
|
|
sizer = wxFlexGridSizer(cols=2, hgap=6, vgap=6)
|
|
|
|
sizer.AddMany([ l1, t1,
|
|
|
|
l2, t2,
|
|
|
|
l3, t3,
|
|
|
|
l4, t4,
|
|
|
|
])
|
|
|
|
border = wxBoxSizer(wxVERTICAL)
|
|
|
|
border.Add(sizer, 0, wxALL, 25)
|
|
|
|
self.SetSizer(border)
|
|
|
|
self.SetAutoLayout(true)
|
|
|
|
|
|
|
|
|
1999-04-29 23:29:54 -04:00
|
|
|
def EvtText(self, event):
|
|
|
|
self.log.WriteText('EvtText: %s\n' % event.GetString())
|
|
|
|
|
|
|
|
|
2000-10-30 16:08:42 -05:00
|
|
|
def EvtChar(self, event):
|
|
|
|
self.log.WriteText('EvtChar: %d\n' % event.GetKeyCode())
|
|
|
|
event.Skip()
|
|
|
|
|
1999-04-29 23:29:54 -04:00
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
def runTest(frame, nb, log):
|
|
|
|
win = TestPanel(nb, log)
|
|
|
|
return win
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
overview = """\
|
|
|
|
"""
|