]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
VTK wrapper of vtkRenderWindow for wxPython. Tested on MSW so far.
[wxWidgets.git] / src / msw / textctrl.cpp
index fa88d2dc95537cbe8481ea33cd333ecfa974f5cc..fc7e926e8c4bd7f6203dee2d747972302ef729ec 100644 (file)
@@ -115,7 +115,8 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     if ( !CreateBase(parent, id, pos, size, style, validator, name) )
         return FALSE;
 
-    SetValidator(validator);
+    // Validator was set in CreateBase
+    //SetValidator(validator);
     if ( parent )
         parent->AddChild(this);
 
@@ -128,7 +129,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     if ( m_windowStyle & wxTE_MULTILINE )
     {
         wxASSERT_MSG( !(m_windowStyle & wxTE_PROCESS_ENTER),
-                      _T("wxTE_PROCESS_ENTER style is ignored for multiline "
+                      wxT("wxTE_PROCESS_ENTER style is ignored for multiline "
                          "text controls (they always process it)") );
 
         msStyle |= ES_MULTILINE | ES_WANTRETURN;
@@ -139,6 +140,9 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     else
         msStyle |= ES_AUTOHSCROLL;
 
+    if (m_windowStyle & wxHSCROLL)
+        msStyle |= (WS_HSCROLL | ES_AUTOHSCROLL);
+
     if (m_windowStyle & wxTE_READONLY)
         msStyle |= ES_READONLY;
 
@@ -163,14 +167,14 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
         m_lDlgCode |= DLGC_WANTTAB;
 
     // do create the control - either an EDIT or RICHEDIT
-    const wxChar *windowClass = _T("EDIT");
+    const wxChar *windowClass = wxT("EDIT");
 
 #if wxUSE_RICHEDIT
     if ( m_windowStyle & wxTE_RICH )
     {
         msStyle |= ES_AUTOVSCROLL;
         m_isRich = TRUE;
-        windowClass = _T("RICHEDIT");
+        windowClass = wxT("RICHEDIT");
     }
     else
         m_isRich = FALSE;
@@ -197,7 +201,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
                                       wxGetInstance(),
                                       NULL);
 
-    wxCHECK_MSG( m_hWnd, FALSE, _T("Failed to create text ctrl") );
+    wxCHECK_MSG( m_hWnd, FALSE, wxT("Failed to create text ctrl") );
 
 #if wxUSE_CTL3D
     if ( want3D )
@@ -256,7 +260,7 @@ void wxTextCtrl::AdoptAttributesFromHWND()
 
   GetClassName(hWnd, buf, WXSIZEOF(buf));
 
-  if ( wxStricmp(buf, _T("EDIT")) == 0 )
+  if ( wxStricmp(buf, wxT("EDIT")) == 0 )
     m_isRich = FALSE;
   else
     m_isRich = TRUE;
@@ -292,9 +296,12 @@ void wxTextCtrl::SetValue(const wxString& value)
 {
     wxString valueDos = wxTextFile::Translate(value, wxTextFileType_Dos);
 
-    SetWindowText(GetHwnd(), valueDos);
+    if ( valueDos != GetValue() )
+    {
+        SetWindowText(GetHwnd(), valueDos);
 
-    AdjustSpaceLimit();
+        AdjustSpaceLimit();
+    }
 }
 
 void wxTextCtrl::WriteText(const wxString& value)
@@ -314,7 +321,7 @@ void wxTextCtrl::AppendText(const wxString& text)
 
 void wxTextCtrl::Clear()
 {
-    SetWindowText(GetHwnd(), _T(""));
+    SetWindowText(GetHwnd(), wxT(""));
 }
 
 // ----------------------------------------------------------------------------