Show Scintilla multiple selections and multipaste features in the sample.
Add menu items to toggle multiple selections and multipaste support in wxSTC. See #16221. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -73,6 +73,9 @@ enum {
|
||||
myID_CONVERTCR,
|
||||
myID_CONVERTCRLF,
|
||||
myID_CONVERTLF,
|
||||
myID_MULTIPLE_SELECTIONS,
|
||||
myID_MULTI_PASTE,
|
||||
myID_MULTIPLE_SELECTIONS_TYPING,
|
||||
myID_USECHARSET,
|
||||
myID_CHARSETANSI,
|
||||
myID_CHARSETMAC,
|
||||
|
@@ -108,6 +108,9 @@ wxBEGIN_EVENT_TABLE (Edit, wxStyledTextCtrl)
|
||||
EVT_MENU (myID_CONVERTCR, Edit::OnConvertEOL)
|
||||
EVT_MENU (myID_CONVERTCRLF, Edit::OnConvertEOL)
|
||||
EVT_MENU (myID_CONVERTLF, Edit::OnConvertEOL)
|
||||
EVT_MENU(myID_MULTIPLE_SELECTIONS, Edit::OnMultipleSelections)
|
||||
EVT_MENU(myID_MULTI_PASTE, Edit::OnMultiPaste)
|
||||
EVT_MENU(myID_MULTIPLE_SELECTIONS_TYPING, Edit::OnMultipleSelectionsTyping)
|
||||
// stc
|
||||
EVT_STC_MARGINCLICK (wxID_ANY, Edit::OnMarginClick)
|
||||
EVT_STC_CHARADDED (wxID_ANY, Edit::OnCharAdded)
|
||||
@@ -439,6 +442,26 @@ void Edit::OnConvertEOL (wxCommandEvent &event) {
|
||||
SetEOLMode (eolMode);
|
||||
}
|
||||
|
||||
void Edit::OnMultipleSelections(wxCommandEvent& WXUNUSED(event)) {
|
||||
bool isSet = GetMultipleSelection();
|
||||
SetMultipleSelection(!isSet);
|
||||
}
|
||||
|
||||
void Edit::OnMultiPaste(wxCommandEvent& WXUNUSED(event)) {
|
||||
int pasteMode = GetMultiPaste();
|
||||
if (wxSTC_MULTIPASTE_EACH == pasteMode) {
|
||||
SetMultiPaste(wxSTC_MULTIPASTE_ONCE);
|
||||
}
|
||||
else {
|
||||
SetMultiPaste(wxSTC_MULTIPASTE_EACH);
|
||||
}
|
||||
}
|
||||
|
||||
void Edit::OnMultipleSelectionsTyping(wxCommandEvent& WXUNUSED(event)) {
|
||||
bool isSet = GetAdditionalSelectionTyping();
|
||||
SetAdditionalSelectionTyping(!isSet);
|
||||
}
|
||||
|
||||
//! misc
|
||||
void Edit::OnMarginClick (wxStyledTextEvent &event) {
|
||||
if (event.GetMargin() == 2) {
|
||||
|
@@ -98,6 +98,9 @@ public:
|
||||
//! extra
|
||||
void OnChangeCase (wxCommandEvent &event);
|
||||
void OnConvertEOL (wxCommandEvent &event);
|
||||
void OnMultipleSelections(wxCommandEvent& event);
|
||||
void OnMultiPaste(wxCommandEvent& event);
|
||||
void OnMultipleSelectionsTyping(wxCommandEvent& event);
|
||||
// stc
|
||||
void OnMarginClick (wxStyledTextEvent &event);
|
||||
void OnCharAdded (wxStyledTextEvent &event);
|
||||
|
@@ -546,6 +546,9 @@ void AppFrame::CreateMenu ()
|
||||
menuExtra->Append (myID_CHANGECASE, _("Change &case to .."), menuChangeCase);
|
||||
menuExtra->AppendSeparator();
|
||||
menuExtra->Append (myID_CONVERTEOL, _("Convert line &endings to .."), menuConvertEOL);
|
||||
menuExtra->AppendCheckItem(myID_MULTIPLE_SELECTIONS, _("Toggle &multiple selections"));
|
||||
menuExtra->AppendCheckItem(myID_MULTI_PASTE, _("Toggle multi-&paste"));
|
||||
menuExtra->AppendCheckItem(myID_MULTIPLE_SELECTIONS_TYPING, _("Toggle t&yping on multiple selections"));
|
||||
|
||||
// Window menu
|
||||
wxMenu *menuWindow = new wxMenu;
|
||||
|
Reference in New Issue
Block a user