+void MyFrame::OnInsertURL(wxCommandEvent& WXUNUSED(event))
+{
+ wxString url = wxGetTextFromUser(_("URL:"), _("Insert URL"));
+ if (!url.IsEmpty())
+ {
+ wxRichTextCtrl* ctrl = (wxRichTextCtrl*) FindWindow(ID_RICHTEXT_CTRL);
+
+ // Make a style suitable for showing a URL
+ wxRichTextAttr urlStyle;
+ urlStyle.SetTextColour(*wxBLUE);
+ urlStyle.SetFontUnderlined(true);
+
+ ctrl->BeginStyle(urlStyle);
+ ctrl->BeginURL(url);
+ ctrl->WriteText(url);
+ ctrl->EndURL();
+ ctrl->EndStyle();
+ }
+}
+
+void MyFrame::OnURL(wxTextUrlEvent& event)
+{
+ wxMessageBox(event.GetString());
+}
+
+// Veto style sheet replace events when loading from XML, since we want
+// to keep the original style sheet.
+void MyFrame::OnStyleSheetReplacing(wxRichTextEvent& event)
+{
+ event.Veto();
+}