194
/** Strip Trailing Blanks before saving */
299
bool IsComment( int style )
301
cbStyledTextCtrl* control = m_pOwner->GetControl();
302
switch ( control->GetLexer() )
305
return style == wxSCI_C_COMMENT ||
306
style == wxSCI_C_COMMENTLINE ||
307
style == wxSCI_C_COMMENTDOC ||
308
style == wxSCI_C_COMMENTDOCKEYWORD ||
309
style == wxSCI_C_COMMENTDOCKEYWORDERROR ||
310
style == wxSCI_C_COMMENTLINEDOC;
312
return style == wxSCI_D_COMMENT ||
313
style == wxSCI_D_COMMENTLINE ||
314
style == wxSCI_D_COMMENTDOC ||
315
style == wxSCI_D_COMMENTDOCKEYWORD ||
316
style == wxSCI_D_COMMENTDOCKEYWORDERROR ||
317
style == wxSCI_D_COMMENTLINEDOC;
324
bool IsPreprocessor( int style )
326
cbStyledTextCtrl* control = m_pOwner->GetControl();
327
if ( control->GetLexer() == wxSCI_LEX_CPP )
328
return style == wxSCI_C_PREPROCESSOR;
332
bool IsCharacterOrString( int style )
334
cbStyledTextCtrl* control = m_pOwner->GetControl();
335
switch ( control->GetLexer() )
338
return style == wxSCI_C_STRING || style == wxSCI_C_CHARACTER;
340
return style == wxSCI_D_STRING || style == wxSCI_D_CHARACTER;
347
bool IsCharacter( int style )
349
cbStyledTextCtrl* control = m_pOwner->GetControl();
350
switch ( control->GetLexer() )
353
return style == wxSCI_C_CHARACTER;
355
return style == wxSCI_D_CHARACTER;
362
void DoBraceCompletion(const wxChar& ch)
364
cbStyledTextCtrl* control = m_pOwner->GetControl();
365
int pos = control->GetCurrentPos();
366
int style = control->GetStyleAt(pos);
367
if ( IsComment(style) || IsPreprocessor(style) )
369
if ( ch == _T('\'') )
371
if ( (control->GetCharAt(pos) == ch) && (pos > 1) && (control->GetCharAt(pos-2) != _T('\\')) )
373
control->DeleteBack();
374
control->GotoPos(pos);
378
if ( (control->GetCharAt(pos-2) == _T('\\')) || IsCharacterOrString(style) )
380
control->AddText(ch);
381
control->GotoPos(pos);
387
if ( (control->GetCharAt(pos) == ch) && (pos > 1) && (control->GetCharAt(pos-2) != _T('\\')) )
389
control->DeleteBack();
390
control->GotoPos(pos);
394
if ( (control->GetCharAt(pos-2) == _T('\\')) || IsCharacter(style) )
396
control->AddText(ch);
397
control->GotoPos(pos);
401
if ( IsCharacterOrString(style) )
403
const wxString leftBrace(_T("([{"));
404
const wxString rightBrace(_T(")]}"));
405
int index = leftBrace.Find(ch);
406
const wxString unWant(_T(");\n\r\t\b "));
407
const wxChar nextChar = control->GetCharAt(pos);
408
#if wxCHECK_VERSION(2, 9, 0)
409
if ((index != wxNOT_FOUND) && ((unWant.Find(wxUniChar(nextChar)) != wxNOT_FOUND) || nextChar == _T('\0')))
411
if ((index != wxNOT_FOUND) && ((unWant.Find(nextChar) != wxNOT_FOUND) || nextChar == _T('\0')))
414
control->AddText(rightBrace.GetChar(index));
415
control->GotoPos(pos);
418
const wxRegEx reg(_T("^[ \t]*{}[ \t]*"));
419
if (reg.Matches(control->GetCurLine()))
422
control->GotoPos(pos);
430
index = rightBrace.Find(ch);
431
if (index != wxNOT_FOUND)
433
if (control->GetCharAt(pos) == ch)
435
control->DeleteBack();
436
control->GotoPos(pos);
443
/** Strip trailing blanks before saving */
195
444
void StripTrailingSpaces()
197
446
cbStyledTextCtrl* control = m_pOwner->GetControl();
258
507
if (lineNumWidth != m_lineNumbersWidth)
260
m_pOwner->m_pControl->SetMarginWidth(0, 6 + lineNumWidth * pixelWidth);
509
m_pOwner->m_pControl->SetMarginWidth(lineMargin, 6 + lineNumWidth * pixelWidth);
261
510
if (m_pOwner->m_pControl2)
262
m_pOwner->m_pControl2->SetMarginWidth(0, 6 + lineNumWidth * pixelWidth);
511
m_pOwner->m_pControl2->SetMarginWidth(lineMargin, 6 + lineNumWidth * pixelWidth);
263
512
m_lineNumbersWidth = lineNumWidth;
268
m_pOwner->m_pControl->SetMarginWidth(0, 6 + cfg->ReadInt(_T("/margin/width_chars"), 6) * pixelWidth);
517
m_pOwner->m_pControl->SetMarginWidth(lineMargin, 6 + cfg->ReadInt(_T("/margin/width_chars"), 6) * pixelWidth);
269
518
if (m_pOwner->m_pControl2)
270
m_pOwner->m_pControl2->SetMarginWidth(0, 6 + cfg->ReadInt(_T("/margin/width_chars"), 6) * pixelWidth);
519
m_pOwner->m_pControl2->SetMarginWidth(lineMargin, 6 + cfg->ReadInt(_T("/margin/width_chars"), 6) * pixelWidth);
523
void HighlightOccurrences()
527
// chosed a high value for indicator, in the hope not to interfere with the indicators used by some lexers (,
528
// if they get updated from deprecated oldstyle indicators somedays.
529
const int theIndicator = 10;
532
m_pOwner->GetControl()->GetSelection(&a, &b);
534
m_pOwner->GetControl()->SetIndicatorCurrent(theIndicator);
536
if(old_a == a && old_b == b) // whatever the current state is, we've already done it once
539
old_a = a; old_b = b;
541
wxString selectedText(m_pOwner->GetControl()->GetTextRange(a, b));
543
int eof = m_pOwner->m_pControl->GetLength();
544
ConfigManager* cfg = Manager::Get()->GetConfigManager(_T("editor"));
547
// clear all style indications set in a previous run (is also done once after text gets unselected)
548
m_pOwner->GetControl()->IndicatorClearRange(0, eof);
550
// check that feature is enabled,
551
// selected text has a minimal length of 3 and contains no spaces
552
if( cfg->ReadBool(_T("/highlight_occurrence/enabled"), true)
553
&& selectedText.Len() > 2 // if there is no text selected (a == b), it stops here and does not hog the cpu further
554
&& selectedText.Find(_T(' ')) == wxNOT_FOUND
555
&& selectedText.Find(_T('\t')) == wxNOT_FOUND
556
&& selectedText.Find(_T('\n')) == wxNOT_FOUND )
558
wxColour highlightColour(cfg->ReadColour(_T("/highlight_occurrence/colour"), wxColour(255, 0, 0)));
559
if ( m_pOwner->m_pControl )
561
m_pOwner->m_pControl->IndicatorSetStyle(theIndicator, wxSCI_INDIC_HIGHLIGHT);
562
m_pOwner->m_pControl->IndicatorSetForeground(theIndicator, highlightColour );
563
#ifndef wxHAVE_RAW_BITMAP
564
// If wxWidgets is build without rawbitmap-support, the indicators become opaque
565
// and hide the text, so we show them under the text.
566
// Not enabled as default, because the readability is a little bit worse.
567
m_pOwner->m_pControl->IndicatorSetUnder(theIndicator,true);
570
if ( m_pOwner->m_pControl2 )
572
m_pOwner->m_pControl2->IndicatorSetStyle(theIndicator, wxSCI_INDIC_HIGHLIGHT);
573
m_pOwner->m_pControl2->IndicatorSetForeground(theIndicator, highlightColour );
574
#ifndef wxHAVE_RAW_BITMAP
575
m_pOwner->m_pControl2->IndicatorSetUnder(theIndicator,true);
580
if (cfg->ReadBool(_T("/highlight_occurrence/case_sensitive"), true))
582
flag |= wxSCI_FIND_MATCHCASE;
584
if (cfg->ReadBool(_T("/highlight_occurrence/whole_word"), true))
586
flag |= wxSCI_FIND_WHOLEWORD;
588
// search for every occurence
589
int lengthFound = 0; // we need this to work properly with multibyte characters
590
for ( int pos = m_pOwner->GetControl()->FindText(0, eof, selectedText, flag, &lengthFound);
591
pos != wxSCI_INVALID_POSITION ;
592
pos = m_pOwner->GetControl()->FindText(pos+=selectedText.Len(), eof, selectedText, flag, &lengthFound) )
594
// does not make sense anymore: check that the found occurrence is not the same as the selected,
595
// since it is not selected in the second view -> so highlight it
596
m_pOwner->m_pControl->IndicatorFillRange(pos, lengthFound);
933
1291
// if user wants "Home" key to set cursor to the very beginning of line
934
1292
if (mgr->ReadBool(_T("/simplified_home"), false))
936
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_NULL, wxSCI_CMD_HOME);
1294
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_NORM, wxSCI_CMD_HOME);
937
1295
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_SHIFT, wxSCI_CMD_HOMEEXTEND);
938
1296
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_ALT | wxSCI_SCMOD_SHIFT, wxSCI_CMD_HOMERECTEXTEND);
940
1298
else // else set default "Home" key behavior
942
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_NULL, wxSCI_CMD_VCHOME);
1300
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_NORM, wxSCI_CMD_VCHOME);
943
1301
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_SHIFT, wxSCI_CMD_VCHOMEEXTEND);
944
1302
control->CmdKeyAssign(wxSCI_KEY_HOME, wxSCI_SCMOD_ALT | wxSCI_SCMOD_SHIFT, wxSCI_CMD_VCHOMERECTEXTEND);
947
1305
control->SetUseTabs(mgr->ReadBool(_T("/use_tab"), false));
948
control->SetIndentationGuides(mgr->ReadBool(_T("/show_indent_guides"), false));
1306
control->SetIndentationGuides(mgr->ReadBool(_T("/show_indent_guides"), false)?wxSCI_IV_LOOKBOTH:wxSCI_IV_NONE);
949
1307
control->SetTabIndents(mgr->ReadBool(_T("/tab_indents"), true));
950
1308
control->SetBackSpaceUnIndents(mgr->ReadBool(_T("/backspace_unindents"), true));
951
1309
control->SetWrapMode(mgr->ReadBool(_T("/word_wrap"), false));
1310
if(mgr->ReadBool(_T("/word_wrap_style_home_end"), true))
1312
//in word wrap mode, home/end keys goto the wrap point if not already there,
1313
//otherwise to the start/end of the entire line.
1314
//alt+home/end go to start/end of the entire line.
1315
//in unwrapped mode, there is no difference between home/end and alt+home/end
1316
control->CmdKeyAssign(wxSCI_KEY_HOME,wxSCI_SCMOD_NORM,wxSCI_CMD_VCHOMEWRAP);
1317
control->CmdKeyAssign(wxSCI_KEY_END,wxSCI_SCMOD_NORM,wxSCI_CMD_LINEENDWRAP);
1318
control->CmdKeyAssign(wxSCI_KEY_HOME,wxSCI_SCMOD_ALT,wxSCI_CMD_VCHOME);
1319
control->CmdKeyAssign(wxSCI_KEY_END,wxSCI_SCMOD_ALT,wxSCI_CMD_LINEEND);
1320
control->CmdKeyAssign(wxSCI_KEY_HOME,wxSCI_SCMOD_SHIFT,wxSCI_CMD_VCHOMEWRAPEXTEND);
1321
control->CmdKeyAssign(wxSCI_KEY_END,wxSCI_SCMOD_SHIFT,wxSCI_CMD_LINEENDWRAPEXTEND);
1322
control->CmdKeyAssign(wxSCI_KEY_HOME,wxSCI_SCMOD_SHIFT|wxSCI_SCMOD_ALT,wxSCI_CMD_VCHOMEEXTEND);
1323
control->CmdKeyAssign(wxSCI_KEY_END,wxSCI_SCMOD_SHIFT|wxSCI_SCMOD_ALT,wxSCI_CMD_LINEENDEXTEND);
1326
{ //in word wrap mode, home/end keys goto start/end of the entire line. alt+home/end goes to wrap points
1327
control->CmdKeyAssign(wxSCI_KEY_HOME,wxSCI_SCMOD_ALT,wxSCI_CMD_VCHOMEWRAP);
1328
control->CmdKeyAssign(wxSCI_KEY_END,wxSCI_SCMOD_ALT,wxSCI_CMD_LINEENDWRAP);
1329
control->CmdKeyAssign(wxSCI_KEY_HOME,wxSCI_SCMOD_SHIFT|wxSCI_SCMOD_ALT,wxSCI_CMD_VCHOMEWRAPEXTEND);
1330
control->CmdKeyAssign(wxSCI_KEY_END,wxSCI_SCMOD_SHIFT|wxSCI_SCMOD_ALT,wxSCI_CMD_LINEENDWRAPEXTEND);
952
1332
control->SetViewEOL(mgr->ReadBool(_T("/show_eol"), false));
953
1333
control->SetViewWhiteSpace(mgr->ReadInt(_T("/view_whitespace"), 0));
1604
2053
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPEN, wxSCI_MARK_ARROWDOWN, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1605
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_ARROW, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1606
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1607
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1608
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_ARROW, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1609
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_ARROWDOWN, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1610
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2054
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_ARROW, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2055
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2056
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2057
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_ARROW, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2058
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_ARROWDOWN, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2059
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1614
2063
else if(id == 1)
1616
2065
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPEN, wxSCI_MARK_CIRCLEMINUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1617
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_CIRCLEPLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1618
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_VLINE, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1619
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_LCORNERCURVE, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1620
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_CIRCLEPLUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1621
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_CIRCLEMINUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1622
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_TCORNER, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2066
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_CIRCLEPLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2067
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_VLINE, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2068
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_LCORNERCURVE, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2069
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_CIRCLEPLUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2070
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_CIRCLEMINUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2071
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_TCORNER, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1626
2075
else if(id == 2)
1628
2077
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPEN, wxSCI_MARK_BOXMINUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1629
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_BOXPLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1630
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_VLINE, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1631
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_LCORNER, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1632
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_BOXPLUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1633
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_BOXMINUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1634
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_TCORNER, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2078
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_BOXPLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2079
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_VLINE, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2080
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_LCORNER, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2081
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_BOXPLUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2082
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_BOXMINUSCONNECTED, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2083
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_TCORNER, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1638
2087
else if(id == 3)
1640
2089
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPEN, wxSCI_MARK_MINUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1641
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_PLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1642
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1643
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1644
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_PLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1645
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_MINUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
1646
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2090
SetMarkerStyle(wxSCI_MARKNUM_FOLDER, wxSCI_MARK_PLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2091
SetMarkerStyle(wxSCI_MARKNUM_FOLDERSUB, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2092
SetMarkerStyle(wxSCI_MARKNUM_FOLDERTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2093
SetMarkerStyle(wxSCI_MARKNUM_FOLDEREND, wxSCI_MARK_PLUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2094
SetMarkerStyle(wxSCI_MARKNUM_FOLDEROPENMID, wxSCI_MARK_MINUS, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2095
SetMarkerStyle(wxSCI_MARKNUM_FOLDERMIDTAIL, wxSCI_MARK_BACKGROUND, wxColor(0xff, 0xff, 0xff), wxColor(0x80, 0x80, 0x80));
2613
3238
// generic scintilla event handler
2614
3239
void cbEditor::OnScintillaEvent(wxScintillaEvent& event)
2617
3242
// wxEventType type = event.GetEventType();
2618
// if (type == wxEVT_SCI_CHANGE) txt << _T("wxEVT_SCI_CHANGE");
2619
// else if (type == wxEVT_SCI_STYLENEEDED) txt << _T("wxEVT_SCI_STYLENEEDED");
2620
// else if (type == wxEVT_SCI_CHARADDED) txt << _T("wxEVT_SCI_CHARADDED");
2621
// else if (type == wxEVT_SCI_SAVEPOINTREACHED) txt << _T("wxEVT_SCI_SAVEPOINTREACHED");
2622
// else if (type == wxEVT_SCI_SAVEPOINTLEFT) txt << _T("wxEVT_SCI_SAVEPOINTLEFT");
2623
// else if (type == wxEVT_SCI_ROMODIFYATTEMPT) txt << _T("wxEVT_SCI_ROMODIFYATTEMPT");
2624
// else if (type == wxEVT_SCI_KEY) txt << _T("wxEVT_SCI_KEY");
2625
// else if (type == wxEVT_SCI_DOUBLECLICK) txt << _T("wxEVT_SCI_DOUBLECLICK");
2626
// else if (type == wxEVT_SCI_UPDATEUI) txt << _T("wxEVT_SCI_UPDATEUI");
2627
// else if (type == wxEVT_SCI_MODIFIED) txt << _T("wxEVT_SCI_MODIFIED");
2628
// else if (type == wxEVT_SCI_MACRORECORD) txt << _T("wxEVT_SCI_MACRORECORD");
2629
// else if (type == wxEVT_SCI_MARGINCLICK) txt << _T("wxEVT_SCI_MARGINCLICK");
2630
// else if (type == wxEVT_SCI_NEEDSHOWN) txt << _T("wxEVT_SCI_NEEDSHOWN");
2631
// else if (type == wxEVT_SCI_PAINTED) txt << _T("wxEVT_SCI_PAINTED");
2632
// else if (type == wxEVT_SCI_USERLISTSELECTION) txt << _T("wxEVT_SCI_USERLISTSELECTION");
2633
// else if (type == wxEVT_SCI_URIDROPPED) txt << _T("wxEVT_SCI_URIDROPPED");
2634
// else if (type == wxEVT_SCI_DWELLSTART) txt << _T("wxEVT_SCI_DWELLSTART");
2635
// else if (type == wxEVT_SCI_DWELLEND) txt << _T("wxEVT_SCI_DWELLEND");
2636
// else if (type == wxEVT_SCI_START_DRAG) txt << _T("wxEVT_SCI_START_DRAG");
2637
// else if (type == wxEVT_SCI_DRAG_OVER) txt << _T("wxEVT_SCI_DRAG_OVER");
2638
// else if (type == wxEVT_SCI_DO_DROP) txt << _T("wxEVT_SCI_DO_DROP");
2639
// else if (type == wxEVT_SCI_ZOOM) txt << _T("wxEVT_SCI_ZOOM");
2640
// else if (type == wxEVT_SCI_HOTSPOT_CLICK) txt << _T("wxEVT_SCI_HOTSPOT_CLICK");
2641
// else if (type == wxEVT_SCI_HOTSPOT_DCLICK) txt << _T("wxEVT_SCI_HOTSPOT_DCLICK");
2642
// else if (type == wxEVT_SCI_CALLTIP_CLICK) txt << _T("wxEVT_SCI_CALLTIP_CLICK");
3243
// if (type == wxEVT_SCI_CHANGE) txt << _T("wxEVT_SCI_CHANGE");
3244
// else if (type == wxEVT_SCI_STYLENEEDED) txt << _T("wxEVT_SCI_STYLENEEDED");
3245
// else if (type == wxEVT_SCI_CHARADDED) txt << _T("wxEVT_SCI_CHARADDED");
3246
// else if (type == wxEVT_SCI_SAVEPOINTREACHED) txt << _T("wxEVT_SCI_SAVEPOINTREACHED");
3247
// else if (type == wxEVT_SCI_SAVEPOINTLEFT) txt << _T("wxEVT_SCI_SAVEPOINTLEFT");
3248
// else if (type == wxEVT_SCI_ROMODIFYATTEMPT) txt << _T("wxEVT_SCI_ROMODIFYATTEMPT");
3249
// else if (type == wxEVT_SCI_KEY) txt << _T("wxEVT_SCI_KEY");
3250
// else if (type == wxEVT_SCI_DOUBLECLICK) txt << _T("wxEVT_SCI_DOUBLECLICK");
3251
// else if (type == wxEVT_SCI_UPDATEUI) txt << _T("wxEVT_SCI_UPDATEUI");
3252
// else if (type == wxEVT_SCI_MODIFIED) txt << _T("wxEVT_SCI_MODIFIED");
3253
// else if (type == wxEVT_SCI_MACRORECORD) txt << _T("wxEVT_SCI_MACRORECORD");
3254
// else if (type == wxEVT_SCI_MARGINCLICK) txt << _T("wxEVT_SCI_MARGINCLICK");
3255
// else if (type == wxEVT_SCI_NEEDSHOWN) txt << _T("wxEVT_SCI_NEEDSHOWN");
3256
// else if (type == wxEVT_SCI_PAINTED) txt << _T("wxEVT_SCI_PAINTED");
3257
// else if (type == wxEVT_SCI_USERLISTSELECTION) txt << _T("wxEVT_SCI_USERLISTSELECTION");
3258
// else if (type == wxEVT_SCI_URIDROPPED) txt << _T("wxEVT_SCI_URIDROPPED");
3259
// else if (type == wxEVT_SCI_DWELLSTART) txt << _T("wxEVT_SCI_DWELLSTART");
3260
// else if (type == wxEVT_SCI_DWELLEND) txt << _T("wxEVT_SCI_DWELLEND");
3261
// else if (type == wxEVT_SCI_START_DRAG) txt << _T("wxEVT_SCI_START_DRAG");
3262
// else if (type == wxEVT_SCI_DRAG_OVER) txt << _T("wxEVT_SCI_DRAG_OVER");
3263
// else if (type == wxEVT_SCI_DO_DROP) txt << _T("wxEVT_SCI_DO_DROP");
3264
// else if (type == wxEVT_SCI_ZOOM) txt << _T("wxEVT_SCI_ZOOM");
3265
// else if (type == wxEVT_SCI_HOTSPOT_CLICK) txt << _T("wxEVT_SCI_HOTSPOT_CLICK");
3266
// else if (type == wxEVT_SCI_HOTSPOT_DCLICK) txt << _T("wxEVT_SCI_HOTSPOT_DCLICK");
3267
// else if (type == wxEVT_SCI_CALLTIP_CLICK) txt << _T("wxEVT_SCI_CALLTIP_CLICK");
3268
// else if (type == wxEVT_SCI_AUTOCOMP_SELECTION) txt << _T("wxEVT_SCI_AUTOCOMP_SELECTION");
3269
// else if (type == wxEVT_SCI_INDICATOR_CLICK) txt << _T("wxEVT_SCI_INDICATOR_CLICK");
3270
// else if (type == wxEVT_SCI_INDICATOR_RELEASE) txt << _T("wxEVT_SCI_INDICATOR_RELEASE");
2643
3271
// Manager::Get()->GetLogManager()->DebugLog(txt);
2645
3273
// call any hooked functors