// Accelerators
wxAcceleratorEntry entries[6];
- entries[0].Set(wxACCEL_CMD, (int) 'C', wxID_COPY);
- entries[1].Set(wxACCEL_CMD, (int) 'X', wxID_CUT);
- entries[2].Set(wxACCEL_CMD, (int) 'V', wxID_PASTE);
- entries[3].Set(wxACCEL_CMD, (int) 'A', wxID_SELECTALL);
- entries[4].Set(wxACCEL_CMD, (int) 'Z', wxID_UNDO);
- entries[5].Set(wxACCEL_CMD, (int) 'Y', wxID_REDO);
+ entries[0].Set(wxACCEL_CTRL, (int) 'C', wxID_COPY);
+ entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_CUT);
+ entries[2].Set(wxACCEL_CTRL, (int) 'V', wxID_PASTE);
+ entries[3].Set(wxACCEL_CTRL, (int) 'A', wxID_SELECTALL);
+ entries[4].Set(wxACCEL_CTRL, (int) 'Z', wxID_UNDO);
+ entries[5].Set(wxACCEL_CTRL, (int) 'Y', wxID_REDO);
wxAcceleratorTable accel(6, entries);
SetAcceleratorTable(accel);
// For now, don't handle shift-click when we're selecting multiple objects.
if (event.ShiftDown() && GetFocusObject() == oldFocusObject && m_selectionState == wxRichTextCtrlSelectionState_Normal)
- {
- if (!m_selection.IsValid())
- ExtendSelection(oldCaretPos, m_caretPosition, wxRICHTEXT_SHIFT_DOWN);
- else
- ExtendSelection(m_caretPosition, m_caretPosition, wxRICHTEXT_SHIFT_DOWN);
- }
+ ExtendSelection(oldCaretPos, m_caretPosition, wxRICHTEXT_SHIFT_DOWN);
else
SelectNone();
}
// Editing
// ----------------------------------------------------------------------------
-void wxRichTextCtrl::Replace(long WXUNUSED(from), long WXUNUSED(to),
+void wxRichTextCtrl::Replace(long from, long to,
const wxString& value)
{
BeginBatchUndo(_("Replace"));
+ SetSelection(from, to);
+
+ wxRichTextAttr attr = GetDefaultStyle();
+
DeleteSelectedContent();
+ SetDefaultStyle(attr);
+
DoWriteText(value, SetValue_SelectionOnly);
EndBatchUndo();