diff --git a/samples/stc/defsext.h b/samples/stc/defsext.h index a46b24ae9a..f0c3189b46 100644 --- a/samples/stc/defsext.h +++ b/samples/stc/defsext.h @@ -70,6 +70,8 @@ enum { myID_MULTIPLE_SELECTIONS, myID_MULTI_PASTE, myID_MULTIPLE_SELECTIONS_TYPING, + myID_TECHNOLOGY_DEFAULT, + myID_TECHNOLOGY_DIRECTWRITE, myID_CUSTOM_POPUP, myID_USECHARSET, myID_CHARSETANSI, diff --git a/samples/stc/edit.cpp b/samples/stc/edit.cpp index c2d94cf933..25b143eb93 100644 --- a/samples/stc/edit.cpp +++ b/samples/stc/edit.cpp @@ -128,6 +128,8 @@ wxBEGIN_EVENT_TABLE (Edit, wxStyledTextCtrl) EVT_MENU(myID_MULTI_PASTE, Edit::OnMultiPaste) EVT_MENU(myID_MULTIPLE_SELECTIONS_TYPING, Edit::OnMultipleSelectionsTyping) EVT_MENU(myID_CUSTOM_POPUP, Edit::OnCustomPopup) + EVT_MENU(myID_TECHNOLOGY_DEFAULT, Edit::OnTechnology) + EVT_MENU(myID_TECHNOLOGY_DIRECTWRITE, Edit::OnTechnology) // stc EVT_STC_MARGINCLICK (wxID_ANY, Edit::OnMarginClick) EVT_STC_CHARADDED (wxID_ANY, Edit::OnCharAdded) @@ -480,6 +482,11 @@ void Edit::OnCustomPopup(wxCommandEvent& evt) UsePopUp(evt.IsChecked() ? wxSTC_POPUP_NEVER : wxSTC_POPUP_ALL); } +void Edit::OnTechnology(wxCommandEvent& event) +{ + SetTechnology(event.GetId() == myID_TECHNOLOGY_DIRECTWRITE ? wxSTC_TECHNOLOGY_DIRECTWRITE : wxSTC_TECHNOLOGY_DEFAULT); +} + //! misc void Edit::OnMarginClick (wxStyledTextEvent &event) { if (event.GetMargin() == 2) { diff --git a/samples/stc/edit.h b/samples/stc/edit.h index 23263dd7f8..6465d0d9a0 100644 --- a/samples/stc/edit.h +++ b/samples/stc/edit.h @@ -102,6 +102,7 @@ public: void OnMultiPaste(wxCommandEvent& event); void OnMultipleSelectionsTyping(wxCommandEvent& event); void OnCustomPopup(wxCommandEvent& evt); + void OnTechnology(wxCommandEvent& event); // stc void OnMarginClick (wxStyledTextEvent &event); void OnCharAdded (wxStyledTextEvent &event); diff --git a/samples/stc/stctest.cpp b/samples/stc/stctest.cpp index c6f9d67bd0..300470883b 100644 --- a/samples/stc/stctest.cpp +++ b/samples/stc/stctest.cpp @@ -572,7 +572,14 @@ void AppFrame::CreateMenu () menuExtra->AppendCheckItem(myID_MULTI_PASTE, _("Toggle multi-&paste")); menuExtra->AppendCheckItem(myID_MULTIPLE_SELECTIONS_TYPING, _("Toggle t&yping on multiple selections")); menuExtra->AppendSeparator(); - menuExtra->AppendCheckItem (myID_CUSTOM_POPUP, _("C&ustom popup menu")); +#if defined(__WXMSW__) && wxUSE_GRAPHICS_DIRECT2D + wxMenu* menuTechnology = new wxMenu; + menuTechnology->AppendRadioItem(myID_TECHNOLOGY_DEFAULT, _("&Default")); + menuTechnology->AppendRadioItem(myID_TECHNOLOGY_DIRECTWRITE, _("Direct&Write")); + menuExtra->AppendSubMenu(menuTechnology, _("&Technology")); + menuExtra->AppendSeparator(); +#endif + menuExtra->AppendCheckItem (myID_CUSTOM_POPUP, _("C&ustom context menu")); // Window menu wxMenu *menuWindow = new wxMenu;