]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/wxTextCtrl.py
66fbd17c53edf68c37d94b902d866e1ff0927bb5
   2 from wxPython
.wx 
import * 
   4 #--------------------------------------------------------------------------- 
   6 class TestPanel(wxPanel
): 
   7     def OnSetFocus(self
, evt
): 
  10     def OnKillFocus(self
, evt
): 
  14     def __init__(self
, parent
, log
): 
  15         wxPanel
.__init
__(self
, parent
, -1) 
  18         l1 
= wxStaticText(self
, -1, "wxTextCtrl") 
  19         t1 
= wxTextCtrl(self
, 10, "Test it out and see", size
=(125, -1)) 
  20         t1
.SetInsertionPoint(0) 
  21         EVT_TEXT(self
, 10, self
.EvtText
) 
  22         EVT_CHAR(t1
, self
.EvtChar
) 
  23         EVT_SET_FOCUS(t1
, self
.OnSetFocus
) 
  24         EVT_KILL_FOCUS(t1
, self
.OnKillFocus
) 
  27         l2 
= wxStaticText(self
, -1, "Passsword") 
  28         t2 
= wxTextCtrl(self
, 20, "", size
=(125, -1), style
=wxTE_PASSWORD
) 
  29         EVT_TEXT(self
, 20, self
.EvtText
) 
  31         l3 
= wxStaticText(self
, -1, "Multi-line") 
  32         t3 
= wxTextCtrl(self
, 30, "How does it work with a long line of text set in the control", 
  33                        size
=(200, 100), style
=wxTE_MULTILINE
) 
  34         t3
.SetInsertionPoint(0) 
  35         EVT_TEXT(self
, 30, self
.EvtText
) 
  36         b 
= wxButton(self
, -1, "Test Replace") 
  37         EVT_BUTTON(self
, b
.GetId(), self
.OnTestReplace
) 
  40         l4 
= wxStaticText(self
, -1, "Rich Text") 
  41         t4 
= wxTextCtrl(self
, 40, "If supported by the native control, this is red, and this is a different font.", 
  42                         size
=(200, 100), style
=wxTE_MULTILINE|wxTE_RICH
) 
  43         t4
.SetInsertionPoint(0) 
  44         t4
.SetStyle(44, 47, wxTextAttr("RED", "YELLOW")) 
  46         points 
= t4
.GetFont().GetPointSize()  # get the current size 
  47         f 
= wxFont(points
+2, wxROMAN
, wxITALIC
, wxBOLD
, true
) 
  48 ##         print 'a1', sys.getrefcount(f) 
  49 ##         t4.SetStyle(63, 77, wxTextAttr("BLUE", font=f)) 
  50         t4
.SetStyle(63, 77, wxTextAttr("BLUE", wxNullColour
, f
)) 
  51 ##         print 'a2', sys.getrefcount(f) 
  53         sizer 
= wxFlexGridSizer(cols
=3, hgap
=6, vgap
=6) 
  54         sizer
.AddMany([ l1
, t1
, (0,0), 
  59         border 
= wxBoxSizer(wxVERTICAL
) 
  60         border
.Add(sizer
, 0, wxALL
, 25) 
  62         self
.SetAutoLayout(true
) 
  65     def EvtText(self
, event
): 
  66         self
.log
.WriteText('EvtText: %s\n' % event
.GetString()) 
  69     def EvtChar(self
, event
): 
  70         self
.log
.WriteText('EvtChar: %d\n' % event
.GetKeyCode()) 
  74     def OnTestReplace(self
, evt
): 
  75         self
.tc
.Replace(4, 8, "DOES") 
  79 #--------------------------------------------------------------------------- 
  81 def runTest(frame
, nb
, log
): 
  82     win 
= TestPanel(nb
, log
) 
  85 #---------------------------------------------------------------------------