Colours for fold symbols

114 views
Skip to first unread message

Jingcheng Zhang

unread,
Aug 1, 2010, 2:54:39 AM8/1/10
to scite-interest
Hello everyone,

Currently fold symbols have no colour options defined. I add two
options to support this:

#fold.symbols.fore=#FFFFFF
#fold.symbols.back=#808080

Here is the patch, maybe it will be useful for some users who want to
customize fold symbol colours:

diff -r 6aac9d7b17e2 src/SciTEGlobal.properties
--- a/src/SciTEGlobal.properties Sat Jul 31 13:39:57 2010 +1000
+++ b/src/SciTEGlobal.properties Sun Aug 01 14:43:08 2010 +0800
@@ -170,6 +170,8 @@
fold.compact=1
fold.flags=16
fold.symbols=1
+#fold.symbols.fore=#FFFFFF
+#fold.symbols.back=#808080
#fold.on.open=1
fold.comment=1
fold.preprocessor=1
diff -r 6aac9d7b17e2 src/SciTEProps.cxx
--- a/src/SciTEProps.cxx Sat Jul 31 13:39:57 2010 +1000
+++ b/src/SciTEProps.cxx Sun Aug 01 14:43:08 2010 +0800
@@ -1101,53 +1101,51 @@

wEditor.Call(SCI_SETMARGINMASKN, 2, SC_MASK_FOLDERS);
wEditor.Call(SCI_SETMARGINSENSITIVEN, 2, 1);
+
+ Colour symbolsFore, symbolsBack;
+ symbolsFore = ColourOfProperty(props, "fold.symbols.fore",
ColourRGB(0xff, 0xff, 0xff));
+ symbolsBack = ColourOfProperty(props, "fold.symbols.back",
ColourRGB(0x80, 0x80, 0x80));

switch (props.GetInt("fold.symbols")) {
case 0:
// Arrow pointing right for contracted folders, arrow pointing down
for expanded
- DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_ARROWDOWN,
- ColourRGB(0, 0, 0), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_ARROW,
- ColourRGB(0, 0, 0), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY,
- ColourRGB(0, 0, 0), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY,
- ColourRGB(0, 0, 0), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY,
- ColourRGB(0xff, 0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY,
- ColourRGB(0xff, 0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0, 0, 0));
+ DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_ARROWDOWN, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_ARROW, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
break;
case 1:
// Plus for contracted folders, minus for expanded
- DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_MINUS, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_PLUS, ColourRGB(0xff, 0xff,
0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0, 0, 0));
- DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0, 0, 0));
+ DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_MINUS, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_PLUS, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY, symbolsFore,
symbolsBack);
break;
case 2:
// Like a flattened tree control using circular headers and curved
joins
- DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_CIRCLEMINUS,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x40, 0x40, 0x40));
- DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_CIRCLEPLUS, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0x40, 0x40, 0x40));
- DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0x40, 0x40, 0x40));
- DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNERCURVE,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x40, 0x40, 0x40));
- DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_CIRCLEPLUSCONNECTED,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x40, 0x40, 0x40));
- DefineMarker(SC_MARKNUM_FOLDEROPENMID,
SC_MARK_CIRCLEMINUSCONNECTED, ColourRGB(0xff, 0xff, 0xff),
ColourRGB(0x40, 0x40, 0x40));
- DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNERCURVE,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x40, 0x40, 0x40));
+ DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_CIRCLEMINUS,
symbolsFore, symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_CIRCLEPLUS, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNERCURVE,
symbolsFore, symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_CIRCLEPLUSCONNECTED,
symbolsFore, symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEROPENMID,
SC_MARK_CIRCLEMINUSCONNECTED, symbolsFore, symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNERCURVE,
symbolsFore, symbolsBack);
break;
case 3:
// Like a flattened tree control using square headers
- DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
- DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
- DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE, ColourRGB(0xff,
0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
- DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNER,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
- DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_BOXPLUSCONNECTED,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
- DefineMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_BOXMINUSCONNECTED,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
- DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNER,
ColourRGB(0xff, 0xff, 0xff), ColourRGB(0x80, 0x80, 0x80));
+ DefineMarker(SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNER, symbolsFore,
symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEREND, SC_MARK_BOXPLUSCONNECTED,
symbolsFore, symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDEROPENMID, SC_MARK_BOXMINUSCONNECTED,
symbolsFore, symbolsBack);
+ DefineMarker(SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNER,
symbolsFore, symbolsBack);
break;
}

Neil Hodgson

unread,
Aug 1, 2010, 11:20:01 PM8/1/10
to scite-i...@googlegroups.com
Jingcheng Zhang:

> Currently fold symbols have no colour options defined. I add two
> options to support this:
>
> #fold.symbols.fore=#FFFFFF
> #fold.symbols.back=#808080

Um. Is this the same Jingcheng Zhang who wanted more properties to
be defined per-language? ;-)

Neil

Jingcheng Zhang

unread,
Aug 2, 2010, 5:33:43 AM8/2/10
to scite-i...@googlegroups.com
Hello Neil,


Yes :-)
I'm reading the code to learn more about SciTE. At this time I can only add global options, and I hope I can add some language-specific options on styles after reading the code.
 
  Neil

--
You received this message because you are subscribed to the Google Groups "scite-interest" group.
To post to this group, send email to scite-i...@googlegroups.com.
To unsubscribe from this group, send email to scite-interes...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/scite-interest?hl=en.




--
Best regards,
Jingcheng Zhang
P.R.China

Reply all
Reply to author
Forward
0 new messages