Allow setting and clearing indicators in the STC sample
Show another Scintilla feature and allow experimenting with it.
This commit is contained in:
parent
8c9b09dfa9
commit
6886fb3aa7
4 changed files with 85 additions and 0 deletions
|
|
@ -57,6 +57,32 @@ enum {
|
|||
myID_ANNOTATION_STYLE_HIDDEN,
|
||||
myID_ANNOTATION_STYLE_STANDARD,
|
||||
myID_ANNOTATION_STYLE_BOXED,
|
||||
|
||||
myID_INDICATOR_FILL,
|
||||
myID_INDICATOR_CLEAR,
|
||||
myID_INDICATOR_STYLE_FIRST,
|
||||
myID_INDICATOR_STYLE_PLAIN = myID_INDICATOR_STYLE_FIRST,
|
||||
myID_INDICATOR_STYLE_SQUIGGLE,
|
||||
myID_INDICATOR_STYLE_TT,
|
||||
myID_INDICATOR_STYLE_DIAGONAL,
|
||||
myID_INDICATOR_STYLE_STRIKE,
|
||||
myID_INDICATOR_STYLE_HIDDEN,
|
||||
myID_INDICATOR_STYLE_BOX,
|
||||
myID_INDICATOR_STYLE_ROUNDBOX,
|
||||
myID_INDICATOR_STYLE_STRAIGHTBOX,
|
||||
myID_INDICATOR_STYLE_DASH,
|
||||
myID_INDICATOR_STYLE_DOTS,
|
||||
myID_INDICATOR_STYLE_SQUIGGLELOW,
|
||||
myID_INDICATOR_STYLE_DOTBOX,
|
||||
myID_INDICATOR_STYLE_SQUIGGLEPIXMAP,
|
||||
myID_INDICATOR_STYLE_COMPOSITIONTHICK,
|
||||
myID_INDICATOR_STYLE_COMPOSITIONTHIN,
|
||||
myID_INDICATOR_STYLE_FULLBOX,
|
||||
myID_INDICATOR_STYLE_TEXTFORE,
|
||||
myID_INDICATOR_STYLE_POINT,
|
||||
myID_INDICATOR_STYLE_POINTCHARACTER,
|
||||
myID_INDICATOR_STYLE_LAST = myID_INDICATOR_STYLE_POINTCHARACTER,
|
||||
|
||||
myID_CHANGECASE,
|
||||
myID_CHANGELOWER,
|
||||
myID_CHANGEUPPER,
|
||||
|
|
|
|||
|
|
@ -115,6 +115,12 @@ wxBEGIN_EVENT_TABLE (Edit, wxStyledTextCtrl)
|
|||
EVT_MENU (myID_ANNOTATION_STYLE_HIDDEN, Edit::OnAnnotationStyle)
|
||||
EVT_MENU (myID_ANNOTATION_STYLE_STANDARD, Edit::OnAnnotationStyle)
|
||||
EVT_MENU (myID_ANNOTATION_STYLE_BOXED, Edit::OnAnnotationStyle)
|
||||
// indicators
|
||||
EVT_MENU (myID_INDICATOR_FILL, Edit::OnIndicatorFill)
|
||||
EVT_MENU (myID_INDICATOR_CLEAR, Edit::OnIndicatorClear)
|
||||
EVT_MENU_RANGE (myID_INDICATOR_STYLE_FIRST,
|
||||
myID_INDICATOR_STYLE_LAST,
|
||||
Edit::OnIndicatorStyle)
|
||||
// extra
|
||||
EVT_MENU (myID_CHANGELOWER, Edit::OnChangeCase)
|
||||
EVT_MENU (myID_CHANGEUPPER, Edit::OnChangeCase)
|
||||
|
|
@ -430,6 +436,26 @@ void Edit::OnAnnotationStyle(wxCommandEvent& event)
|
|||
AnnotationSetVisible(style);
|
||||
}
|
||||
|
||||
void Edit::OnIndicatorFill(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
long from, to;
|
||||
GetSelection(&from, &to);
|
||||
IndicatorFillRange(from, to - from);
|
||||
}
|
||||
|
||||
void Edit::OnIndicatorClear(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
long from, to;
|
||||
GetSelection(&from, &to);
|
||||
IndicatorClearRange(from, to - from);
|
||||
}
|
||||
|
||||
void Edit::OnIndicatorStyle(wxCommandEvent& event)
|
||||
{
|
||||
IndicatorSetStyle(GetIndicatorCurrent(),
|
||||
event.GetId() - myID_INDICATOR_STYLE_FIRST);
|
||||
}
|
||||
|
||||
void Edit::OnChangeCase (wxCommandEvent &event) {
|
||||
switch (event.GetId()) {
|
||||
case myID_CHANGELOWER: {
|
||||
|
|
|
|||
|
|
@ -95,6 +95,10 @@ public:
|
|||
void OnAnnotationRemove(wxCommandEvent& event);
|
||||
void OnAnnotationClear(wxCommandEvent& event);
|
||||
void OnAnnotationStyle(wxCommandEvent& event);
|
||||
// indicators
|
||||
void OnIndicatorFill(wxCommandEvent& event);
|
||||
void OnIndicatorClear(wxCommandEvent& event);
|
||||
void OnIndicatorStyle(wxCommandEvent& event);
|
||||
//! extra
|
||||
void OnChangeCase (wxCommandEvent &event);
|
||||
void OnConvertEOL (wxCommandEvent &event);
|
||||
|
|
|
|||
|
|
@ -547,6 +547,34 @@ void AppFrame::CreateMenu ()
|
|||
menuAnnotationsStyle->AppendRadioItem(myID_ANNOTATION_STYLE_BOXED, _("&Boxed"));
|
||||
menuAnnotations->AppendSubMenu(menuAnnotationsStyle, "&Style");
|
||||
|
||||
// Indicators menu
|
||||
wxMenu* menuIndicators = new wxMenu;
|
||||
menuIndicators->Append(myID_INDICATOR_FILL, _("&Add indicator for selection"));
|
||||
menuIndicators->Append(myID_INDICATOR_CLEAR, _("&Clear indicator for selection"));
|
||||
|
||||
wxMenu* menuIndicatorStyle = new wxMenu;
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_PLAIN, "Plain");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_SQUIGGLE, "Squiggle");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_TT, "TT");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_DIAGONAL, "Diagonal");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_STRIKE, "Strike");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_HIDDEN, "Hidden");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_BOX, "Box");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_ROUNDBOX, "Round box");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_STRAIGHTBOX, "Straight box");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_DASH, "Dash");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_DOTS, "Dots");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_SQUIGGLELOW, "Squiggle low");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_DOTBOX, "Dot box");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_SQUIGGLEPIXMAP, "Squiggle pixmap");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_COMPOSITIONTHICK, "Composition thick");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_COMPOSITIONTHIN, "Composition thin");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_FULLBOX, "Full box");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_TEXTFORE, "Text fore");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_POINT, "Point");
|
||||
menuIndicatorStyle->AppendRadioItem(myID_INDICATOR_STYLE_POINTCHARACTER, "Point character");
|
||||
menuIndicators->AppendSubMenu(menuIndicatorStyle, "&Style");
|
||||
|
||||
// change case submenu
|
||||
wxMenu *menuChangeCase = new wxMenu;
|
||||
menuChangeCase->Append (myID_CHANGEUPPER, _("&Upper case"));
|
||||
|
|
@ -591,6 +619,7 @@ void AppFrame::CreateMenu ()
|
|||
m_menuBar->Append (menuEdit, _("&Edit"));
|
||||
m_menuBar->Append (menuView, _("&View"));
|
||||
m_menuBar->Append (menuAnnotations, _("&Annotations"));
|
||||
m_menuBar->Append (menuIndicators, _("&Indicators"));
|
||||
m_menuBar->Append (menuExtra, _("E&xtra"));
|
||||
m_menuBar->Append (menuWindow, _("&Window"));
|
||||
m_menuBar->Append (menuHelp, _("&Help"));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue