]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/textctrl.cpp
fixed wxXmlResource::Load's detection of filenames to be done as early as possible
[wxWidgets.git] / src / x11 / textctrl.cpp
index 4d2785703d856640c05b15166e5d87bfeca0d91b..9cb89389452c2c63092f567b721bb20516ff7f28 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        textctrl.cpp
+// Name:        src/x11/textctrl.cpp
 // Purpose:
 // Author:      Robert Roebling
 // Id:          $Id$
@@ -7,16 +7,22 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
 #include "wx/textctrl.h"
 
-#include "wx/utils.h"
-#include "wx/intl.h"
-#include "wx/log.h"
-#include "wx/settings.h"
-#include "wx/panel.h"
+#ifndef WX_PRECOMP
+    #include "wx/intl.h"
+    #include "wx/log.h"
+    #include "wx/utils.h"
+    #include "wx/panel.h"
+    #include "wx/dcclient.h"
+    #include "wx/settings.h"
+#endif
+
 #include "wx/clipbrd.h"
 #include "wx/tokenzr.h"
-#include "wx/dcclient.h"
 
 #include "wx/univ/inphand.h"
 #include "wx/univ/renderer.h"
@@ -50,7 +56,7 @@ wxSourceUndoStep::wxSourceUndoStep( wxSourceUndo type, int y1, int y2, wxTextCtr
         for (int i = m_y1; i < m_y2+2; i++)
         {
             if (i >= (int)m_owner->m_lines.GetCount())
-                m_lines.Add( wxT("") );
+                m_lines.Add( wxEmptyString );
             else
                 m_lines.Add( m_owner->m_lines[i].m_text );
         }
@@ -125,9 +131,9 @@ WX_DEFINE_OBJARRAY(wxSourceLineArray);
 //  wxTextCtrl
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl,wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxTextCtrlBase)
 
-BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
+BEGIN_EVENT_TABLE(wxTextCtrl, wxTextCtrlBase)
     EVT_PAINT(wxTextCtrl::OnPaint)
     EVT_ERASE_BACKGROUND(wxTextCtrl::OnEraseBackground)
     EVT_CHAR(wxTextCtrl::OnChar)
@@ -271,7 +277,7 @@ wxString wxTextCtrl::GetValue() const
     return ret;
 }
 
-void wxTextCtrl::SetValue(const wxString& value)
+void wxTextCtrl::DoSetValue(const wxString& value, int flags)
 {
     m_modified = false;
 
@@ -285,7 +291,7 @@ void wxTextCtrl::SetValue(const wxString& value)
 
     if (value.empty())
     {
-        m_lines.Add( new wxSourceLine( wxT("") ) );
+        m_lines.Add( new wxSourceLine( wxEmptyString ) );
     }
     else
     {
@@ -337,6 +343,9 @@ void wxTextCtrl::SetValue(const wxString& value)
     MyAdjustScrollbars();
 
     Refresh();
+
+    if ( flags & SetValue_SendEvent )
+        SendTextUpdatedEvent();
 }
 
 int wxTextCtrl::GetLineLength(long lineNo) const
@@ -350,7 +359,7 @@ int wxTextCtrl::GetLineLength(long lineNo) const
 wxString wxTextCtrl::GetLineText(long lineNo) const
 {
     if (lineNo >= (long)m_lines.GetCount())
-        return wxT("");
+        return wxEmptyString;
 
     return m_lines[lineNo].m_text;
 }
@@ -393,7 +402,7 @@ void wxTextCtrl::Clear()
     ClearSelection();
 
     m_lines.Clear();
-    m_lines.Add( new wxSourceLine( wxT("") ) );
+    m_lines.Add( new wxSourceLine( wxEmptyString ) );
 
     SetScrollbars( m_charWidth, m_lineHeight, 0, 0, 0, 0 );
     Refresh();
@@ -1736,7 +1745,7 @@ void wxTextCtrl::OnMouse( wxMouseEvent &event )
 #if 0  // there is no middle button on iPAQs
     if (event.MiddleDown())
     {
-        Paste( TRUE );
+        Paste( true );
         return;
     }
 #endif
@@ -1792,15 +1801,15 @@ void wxTextCtrl::OnChar( wxKeyEvent &event )
     {
         switch (event.GetKeyCode())
         {
-            case '4': event.m_keyCode = WXK_LEFT;   break;
-            case '8': event.m_keyCode = WXK_UP;     break;
-            case '6': event.m_keyCode = WXK_RIGHT;  break;
-            case '2': event.m_keyCode = WXK_DOWN;   break;
-            case '9': event.m_keyCode = WXK_PRIOR;  break;
-            case '3': event.m_keyCode = WXK_NEXT;   break;
-            case '7': event.m_keyCode = WXK_HOME;   break;
-            case '1': event.m_keyCode = WXK_END;    break;
-            case '0': event.m_keyCode = WXK_INSERT; break;
+            case '4': event.m_keyCode = WXK_LEFT;     break;
+            case '8': event.m_keyCode = WXK_UP;       break;
+            case '6': event.m_keyCode = WXK_RIGHT;    break;
+            case '2': event.m_keyCode = WXK_DOWN;     break;
+            case '9': event.m_keyCode = WXK_PAGEUP;   break;
+            case '3': event.m_keyCode = WXK_PAGEDOWN; break;
+            case '7': event.m_keyCode = WXK_HOME;     break;
+            case '1': event.m_keyCode = WXK_END;      break;
+            case '0': event.m_keyCode = WXK_INSERT;   break;
         }
     }
 
@@ -1868,7 +1877,7 @@ void wxTextCtrl::OnChar( wxKeyEvent &event )
             m_ignoreInput = true;
             return;
         }
-        case WXK_PRIOR:
+        case WXK_PAGEUP:
         {
             if (m_ignoreInput) return;
             MoveCursor( m_cursorX, wxMax( 0, m_cursorY-size_y ), event.ShiftDown() );
@@ -1887,12 +1896,12 @@ void wxTextCtrl::OnChar( wxKeyEvent &event )
         }
         case WXK_RETURN:
         {
-            if (m_windowStyle & wxPROCESS_ENTER)
+            if (m_windowStyle & wxTE_PROCESS_ENTER)
             {
                 wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, m_windowId);
                 event.SetEventObject(this);
                 event.SetString(GetValue());
-                if (GetEventHandler()->ProcessEvent(event)) return;
+                if (HandleWindowEvent(event)) return;
             }
 
             if (IsSingleLine())
@@ -2366,18 +2375,6 @@ wxSize wxTextCtrl::DoGetBestSize() const
     }
 }
 
-// ----------------------------------------------------------------------------
-// freeze/thaw
-// ----------------------------------------------------------------------------
-
-void wxTextCtrl::Freeze()
-{
-}
-
-void wxTextCtrl::Thaw()
-{
-}
-
 void wxTextCtrl::OnSetFocus( wxFocusEvent& event )
 {
     // To hide or show caret, as appropriate
@@ -2407,4 +2404,3 @@ bool wxTextCtrl::ScrollPages(int pages)
 
     return false;
 }
-