]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
carbon cfm fixes
[wxWidgets.git] / src / msw / textctrl.cpp
index ef70b6f9e34cacc659f9455e60fef9faf5f61de6..2f4136d212893849be5b9360842a94c5f8fa8cd0 100644 (file)
@@ -212,7 +212,7 @@ BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
     EVT_DROP_FILES(wxTextCtrl::OnDropFiles)
 
 #if wxUSE_RICHEDIT
-    EVT_RIGHT_UP(wxTextCtrl::OnRightClick)
+    EVT_CONTEXT_MENU(wxTextCtrl::OnContextMenu)
 #endif
 
     EVT_MENU(wxID_CUT, wxTextCtrl::OnCut)
@@ -251,7 +251,6 @@ void wxTextCtrl::Init()
     m_privateContextMenu = NULL;
     m_updatesCount = -1;
     m_isNativeCaretShown = true;
-    m_isCaretAtEnd = true;
 }
 
 wxTextCtrl::~wxTextCtrl()
@@ -1090,8 +1089,6 @@ void wxTextCtrl::SetEditable(bool editable)
 void wxTextCtrl::SetInsertionPoint(long pos)
 {
     DoSetSelection(pos, pos);
-
-    m_isCaretAtEnd = pos == GetLastPosition();
 }
 
 void wxTextCtrl::SetInsertionPointEnd()
@@ -1101,9 +1098,8 @@ void wxTextCtrl::SetInsertionPointEnd()
     // if it doesn't actually move the caret anywhere and so the simple fact of
     // doing it results in horrible flicker when appending big amounts of text
     // to the control in a few chunks (see DoAddText() test in the text sample)
-    if ( m_isCaretAtEnd || GetInsertionPoint() == GetLastPosition() )
+    if ( GetInsertionPoint() == GetLastPosition() )
     {
-        m_isCaretAtEnd = true;
         return;
     }
 
@@ -1141,7 +1137,7 @@ long wxTextCtrl::GetInsertionPoint() const
     return Pos & 0xFFFF;
 }
 
-long wxTextCtrl::GetLastPosition() const
+wxTextPos wxTextCtrl::GetLastPosition() const
 {
     int numLines = GetNumberOfLines();
     long posStartLastLine = XYToPosition(0, numLines - 1);
@@ -1484,9 +1480,6 @@ void wxTextCtrl::ShowPosition(long pos)
 
     if (linesToScroll != 0)
       (void)::SendMessage(hWnd, EM_LINESCROLL, (WPARAM)0, (LPARAM)linesToScroll);
-
-    // be pessimistic
-    m_isCaretAtEnd = false;
 }
 
 long wxTextCtrl::GetLengthOfLineContainingPos(long pos) const
@@ -1563,9 +1556,6 @@ void wxTextCtrl::Undo()
     if (CanUndo())
     {
         ::SendMessage(GetHwnd(), EM_UNDO, 0, 0);
-
-        // it's not necessarily at the end any more
-        m_isCaretAtEnd = false;
     }
 }
 
@@ -1580,9 +1570,6 @@ void wxTextCtrl::Redo()
 #endif
         // Same as Undo, since Undo undoes the undo, i.e. a redo.
         ::SendMessage(GetHwnd(), EM_UNDO, 0, 0);
-
-        // it's not necessarily at the end any more
-        m_isCaretAtEnd = false;
     }
 }
 
@@ -1836,7 +1823,6 @@ bool wxTextCtrl::SendUpdateEvent()
 
     wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, GetId());
     InitCommandEvent(event);
-    event.SetString(GetValue());
 
     return ProcessCommand(event);
 }
@@ -2044,7 +2030,7 @@ void wxTextCtrl::OnUpdateSelectAll(wxUpdateUIEvent& event)
     event.Enable(GetLastPosition() > 0);
 }
 
-void wxTextCtrl::OnRightClick(wxMouseEvent& event)
+void wxTextCtrl::OnContextMenu(wxContextMenuEvent& event)
 {
 #if wxUSE_RICHEDIT
     if (IsRich())
@@ -2062,7 +2048,7 @@ void wxTextCtrl::OnRightClick(wxMouseEvent& event)
             m_privateContextMenu->AppendSeparator();
             m_privateContextMenu->Append(wxID_SELECTALL, _("Select &All"));
         }
-        PopupMenu(m_privateContextMenu, event.GetPosition());
+        PopupMenu(m_privateContextMenu);
         return;
     }
     else
@@ -2083,7 +2069,7 @@ void wxTextCtrl::OnSetFocus(wxFocusEvent& WXUNUSED(event))
 // Default colors for MSW text control
 //
 // Set default background color to the native white instead of
-// the default wxSYS_COLOUR_BTNFACE (is triggered with wxNullColour). 
+// the default wxSYS_COLOUR_BTNFACE (is triggered with wxNullColour).
 // ----------------------------------------------------------------------------
 
 wxVisualAttributes wxTextCtrl::GetDefaultAttributes() const
@@ -2467,7 +2453,7 @@ bool wxTextCtrl::SetDefaultStyle(const wxTextAttr& style)
     {
         // we have to do this or the style wouldn't apply for the text typed by
         // the user
-        long posLast = GetLastPosition();
+        wxTextPos posLast = GetLastPosition();
         SetStyle(posLast, posLast, m_defaultStyle);
     }
 
@@ -2532,7 +2518,7 @@ bool wxTextCtrl::GetStyle(long position, wxTextAttr& style)
     wxStrcpy(lf.lfFaceName, cf.szFaceName);
 
     //NOTE:  we _MUST_ set each of these values to _something_ since we
-    //do not call wxZeroMemory on the LOGFONT lf 
+    //do not call wxZeroMemory on the LOGFONT lf
     if (cf.dwEffects & CFE_ITALIC)
         lf.lfItalic = TRUE;
     else