mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-21 06:45:39 -06:00
ide: Now shows misplaced whitespaces #1201
git-svn-id: svn://ultimatepp.org/upp/trunk@8763 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
d86b9e74f5
commit
4f06ee391d
12 changed files with 106 additions and 21 deletions
|
|
@ -56,6 +56,8 @@ void CodeEditor::Highlight(const String& h)
|
||||||
SetColor(LineEdit::PAPER_NORMAL, hl_style[HighlightSetup::PAPER_NORMAL].color);
|
SetColor(LineEdit::PAPER_NORMAL, hl_style[HighlightSetup::PAPER_NORMAL].color);
|
||||||
SetColor(LineEdit::PAPER_READONLY, hl_style[HighlightSetup::PAPER_READONLY].color);
|
SetColor(LineEdit::PAPER_READONLY, hl_style[HighlightSetup::PAPER_READONLY].color);
|
||||||
SetColor(LineEdit::PAPER_SELECTED, hl_style[HighlightSetup::PAPER_SELECTED].color);
|
SetColor(LineEdit::PAPER_SELECTED, hl_style[HighlightSetup::PAPER_SELECTED].color);
|
||||||
|
SetColor(LineEdit::WHITESPACE, hl_style[HighlightSetup::WHITESPACE].color);
|
||||||
|
SetColor(LineEdit::WARN_WHITESPACE, hl_style[HighlightSetup::WARN_WHITESPACE].color);
|
||||||
Refresh();
|
Refresh();
|
||||||
EditorBarLayout();
|
EditorBarLayout();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -167,6 +167,9 @@ void HighlightSetup::DefaultHlStyles()
|
||||||
SetHlStyle(PAPER_WARNING, Blend(White(), Yellow(), 50));
|
SetHlStyle(PAPER_WARNING, Blend(White(), Yellow(), 50));
|
||||||
|
|
||||||
SetHlStyle(SHOW_LINE, Color(199, 247, 198));
|
SetHlStyle(SHOW_LINE, Color(199, 247, 198));
|
||||||
|
|
||||||
|
SetHlStyle(WHITESPACE, Blend(SColorLight, SColorHighlight));
|
||||||
|
SetHlStyle(WARN_WHITESPACE, Blend(SColorLight, SRed));
|
||||||
}
|
}
|
||||||
|
|
||||||
END_UPP_NAMESPACE
|
END_UPP_NAMESPACE
|
||||||
|
|
|
||||||
|
|
@ -58,3 +58,6 @@ HL_COLOR(PAPER_SELWORD, t_("Selected word through file"), 0)
|
||||||
HL_COLOR(PAPER_ERROR, t_("Error in compiler messages"), 0)
|
HL_COLOR(PAPER_ERROR, t_("Error in compiler messages"), 0)
|
||||||
HL_COLOR(PAPER_WARNING, t_("Warning in compiler messages"), 0)
|
HL_COLOR(PAPER_WARNING, t_("Warning in compiler messages"), 0)
|
||||||
HL_COLOR(SHOW_LINE, t_("Current line highlight"), 0)
|
HL_COLOR(SHOW_LINE, t_("Current line highlight"), 0)
|
||||||
|
|
||||||
|
HL_COLOR(WHITESPACE, t_("Whitespaces"), 1)
|
||||||
|
HL_COLOR(WARN_WHITESPACE, t_("Misplaced tabs and spaces"), 1)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ LineEdit::LineEdit() {
|
||||||
showreadonly = true;
|
showreadonly = true;
|
||||||
dorectsel = false;
|
dorectsel = false;
|
||||||
hline = Null;
|
hline = Null;
|
||||||
|
warnwhitespace = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
LineEdit::~LineEdit() {}
|
LineEdit::~LineEdit() {}
|
||||||
|
|
@ -304,7 +305,6 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
selh -= cpos;
|
selh -= cpos;
|
||||||
int pos = cpos;
|
int pos = cpos;
|
||||||
int fascent = font.Info().GetAscent();
|
int fascent = font.Info().GetAscent();
|
||||||
Color showcolor = Blend(SColorLight, SColorHighlight);
|
|
||||||
int cursorline = GetLine(cursor);
|
int cursorline = GetLine(cursor);
|
||||||
Highlight ih;
|
Highlight ih;
|
||||||
ih.ink = color[IsShowEnabled() ? INK_NORMAL : INK_DISABLED];
|
ih.ink = color[IsShowEnabled() ? INK_NORMAL : INK_DISABLED];
|
||||||
|
|
@ -314,7 +314,39 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
ih.font = font;
|
ih.font = font;
|
||||||
ih.chr = 0;
|
ih.chr = 0;
|
||||||
for(int i = sc.y; i < ll; i++) {
|
for(int i = sc.y; i < ll; i++) {
|
||||||
|
Color showcolor = color[WHITESPACE];
|
||||||
WString tx = line[i];
|
WString tx = line[i];
|
||||||
|
bool warn_whitespace = false;
|
||||||
|
if(warnwhitespace && i != GetCursorLine()) {
|
||||||
|
int wkind = 0;
|
||||||
|
bool empty = true;
|
||||||
|
for(const wchar *s = tx; *s; s++) {
|
||||||
|
if(*s == '\t') {
|
||||||
|
if(wkind == ' ') {
|
||||||
|
warn_whitespace = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
wkind = '\t';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if(*s == ' ')
|
||||||
|
wkind = ' ';
|
||||||
|
else
|
||||||
|
if(*s > ' ') {
|
||||||
|
empty = false;
|
||||||
|
wkind = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(wkind == ' ')
|
||||||
|
warn_whitespace = true;
|
||||||
|
if(empty && !warn_whitespace) {
|
||||||
|
String l = GetUtf8Line(i);
|
||||||
|
warn_whitespace = (i < 0 || !GetUtf8Line(i - 1).StartsWith(l)) &&
|
||||||
|
(i >= GetLineCount() || !GetUtf8Line(i - 1).StartsWith(l));
|
||||||
|
}
|
||||||
|
if(warn_whitespace)
|
||||||
|
showcolor = color[WARN_WHITESPACE];
|
||||||
|
}
|
||||||
bool do_highlight = tx.GetCount() < 100000;
|
bool do_highlight = tx.GetCount() < 100000;
|
||||||
int len = tx.GetLength();
|
int len = tx.GetLength();
|
||||||
if(w.IsPainting(0, y, sz.cx, fsz.cy)) {
|
if(w.IsPainting(0, y, sz.cx, fsz.cy)) {
|
||||||
|
|
@ -329,6 +361,7 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ln = tx.GetCount();
|
ln = tx.GetCount();
|
||||||
|
int lgp = -1;
|
||||||
for(int pass = 0; pass < 2; pass++) {
|
for(int pass = 0; pass < 2; pass++) {
|
||||||
int gp = 0;
|
int gp = 0;
|
||||||
int scx = fsz.cx * sc.x;
|
int scx = fsz.cx * sc.x;
|
||||||
|
|
@ -354,6 +387,8 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
}
|
}
|
||||||
sOptimizedTextRenderer tw(w);
|
sOptimizedTextRenderer tw(w);
|
||||||
while(q < ln) {
|
while(q < ln) {
|
||||||
|
if(q == tx.GetCount())
|
||||||
|
lgp = gp;
|
||||||
Highlight h;
|
Highlight h;
|
||||||
if(do_highlight)
|
if(do_highlight)
|
||||||
h = hl[q];
|
h = hl[q];
|
||||||
|
|
@ -374,7 +409,8 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
LLOG("Highlight -> tab[" << q << "] paper = " << h.paper);
|
LLOG("Highlight -> tab[" << q << "] paper = " << h.paper);
|
||||||
if(pass == 0 && x >= -fsz.cy * tabsize) {
|
if(pass == 0 && x >= -fsz.cy * tabsize) {
|
||||||
w.DrawRect(x, y, fsz.cx * l, fsz.cy, h.paper);
|
w.DrawRect(x, y, fsz.cx * l, fsz.cy, h.paper);
|
||||||
if(showtabs && h.paper != SColorHighlight && q < tx.GetLength()) {
|
if((showtabs || warn_whitespace) &&
|
||||||
|
h.paper != SColorHighlight && q < tx.GetLength()) {
|
||||||
w.DrawRect(x + 2, y + fsz.cy / 2, l * fsz.cx - 4, 1, showcolor);
|
w.DrawRect(x + 2, y + fsz.cy / 2, l * fsz.cx - 4, 1, showcolor);
|
||||||
w.DrawRect(ngp * fsz.cx - scx - 3, y + 3, 1, fsz.cy - 6, showcolor);
|
w.DrawRect(ngp * fsz.cx - scx - 3, y + 3, 1, fsz.cy - 6, showcolor);
|
||||||
}
|
}
|
||||||
|
|
@ -389,8 +425,11 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
LLOG("Highlight -> space[" << q << "] paper = " << h.paper);
|
LLOG("Highlight -> space[" << q << "] paper = " << h.paper);
|
||||||
if(pass == 0 && x >= -fsz.cy) {
|
if(pass == 0 && x >= -fsz.cy) {
|
||||||
w.DrawRect(x, y, fsz.cx, fsz.cy, h.paper);
|
w.DrawRect(x, y, fsz.cx, fsz.cy, h.paper);
|
||||||
if(showspaces && h.paper != SColorHighlight && q < tx.GetLength())
|
if((showspaces || warn_whitespace)
|
||||||
w.DrawRect(x + fsz.cx / 2, y + fsz.cy / 2, 2, 2, showcolor);
|
&& h.paper != SColorHighlight && q < tx.GetLength()) {
|
||||||
|
int n = fsz.cy / 10 + 1;
|
||||||
|
w.DrawRect(x + fsz.cx / 2, y + fsz.cy / 2, n, n, showcolor);
|
||||||
|
}
|
||||||
if(bordercolumn > 0 && bordercolumn >= gp && bordercolumn < gp + 1)
|
if(bordercolumn > 0 && bordercolumn >= gp && bordercolumn < gp + 1)
|
||||||
w.DrawRect((bordercolumn - sc.x) * fsz.cx, y, 1, fsz.cy, bordercolor);
|
w.DrawRect((bordercolumn - sc.x) * fsz.cx, y, 1, fsz.cy, bordercolor);
|
||||||
}
|
}
|
||||||
|
|
@ -427,9 +466,9 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
if(bordercolumn > 0 && bordercolumn >= gp)
|
if(bordercolumn > 0 && bordercolumn >= gp)
|
||||||
w.DrawRect((bordercolumn - sc.x) * fsz.cx, y, 1, fsz.cy, bordercolor);
|
w.DrawRect((bordercolumn - sc.x) * fsz.cx, y, 1, fsz.cy, bordercolor);
|
||||||
}
|
}
|
||||||
if(pass == 0 && showlines) {
|
if(pass == 0 && (showlines || warn_whitespace)) {
|
||||||
int yy = 2 * fsz.cy / 3;
|
int yy = 2 * fsz.cy / 3;
|
||||||
int x = gp * fsz.cx - scx;
|
int x = (lgp >= 0 ? lgp : gp) * fsz.cx - scx;
|
||||||
w.DrawRect(x, y + yy, fsz.cx / 2, 1, showcolor);
|
w.DrawRect(x, y + yy, fsz.cx / 2, 1, showcolor);
|
||||||
if(fsz.cx > 2)
|
if(fsz.cx > 2)
|
||||||
w.DrawRect(x + 1, y + yy - 1, 1, 3, showcolor);
|
w.DrawRect(x + 1, y + yy - 1, 1, 3, showcolor);
|
||||||
|
|
@ -450,6 +489,7 @@ void LineEdit::Paint0(Draw& w) {
|
||||||
selh -= len + 1;
|
selh -= len + 1;
|
||||||
pos += len + 1;
|
pos += len + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
w.DrawRect(0, y, sz.cx, sz.cy - y, color[IsReadOnly() && showreadonly || !IsShowEnabled() ? PAPER_READONLY : PAPER_NORMAL]);
|
w.DrawRect(0, y, sz.cx, sz.cy - y, color[IsReadOnly() && showreadonly || !IsShowEnabled() ? PAPER_READONLY : PAPER_NORMAL]);
|
||||||
DrawTiles(w, DropCaret(), CtrlImg::checkers());
|
DrawTiles(w, DropCaret(), CtrlImg::checkers());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ TextCtrl::TextCtrl()
|
||||||
color[PAPER_NORMAL] = SColorPaper;
|
color[PAPER_NORMAL] = SColorPaper;
|
||||||
color[PAPER_READONLY] = SColorFace;
|
color[PAPER_READONLY] = SColorFace;
|
||||||
color[PAPER_SELECTED] = SColorHighlight;
|
color[PAPER_SELECTED] = SColorHighlight;
|
||||||
|
color[WHITESPACE] = Blend(SColorLight, SColorHighlight);
|
||||||
|
color[WARN_WHITESPACE] = Blend(SColorLight, SRed);
|
||||||
processtab = true;
|
processtab = true;
|
||||||
processenter = true;
|
processenter = true;
|
||||||
nobg = false;
|
nobg = false;
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,8 @@ public:
|
||||||
PAPER_NORMAL,
|
PAPER_NORMAL,
|
||||||
PAPER_READONLY,
|
PAPER_READONLY,
|
||||||
PAPER_SELECTED,
|
PAPER_SELECTED,
|
||||||
|
WHITESPACE,
|
||||||
|
WARN_WHITESPACE,
|
||||||
COLOR_COUNT,
|
COLOR_COUNT,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -288,6 +290,7 @@ protected:
|
||||||
bool showspaces;
|
bool showspaces;
|
||||||
bool showlines;
|
bool showlines;
|
||||||
bool showreadonly;
|
bool showreadonly;
|
||||||
|
bool warnwhitespace;
|
||||||
bool dorectsel; // TODO: Refactor this ugly hack!
|
bool dorectsel; // TODO: Refactor this ugly hack!
|
||||||
|
|
||||||
void Paint0(Draw& w);
|
void Paint0(Draw& w);
|
||||||
|
|
@ -390,6 +393,8 @@ public:
|
||||||
bool IsShowSpaces() const { return showspaces; }
|
bool IsShowSpaces() const { return showspaces; }
|
||||||
LineEdit& ShowLineEndings(bool sl = true) { showlines = sl; Refresh(); return *this; }
|
LineEdit& ShowLineEndings(bool sl = true) { showlines = sl; Refresh(); return *this; }
|
||||||
bool IsShowLineEndings() const { return showlines; }
|
bool IsShowLineEndings() const { return showlines; }
|
||||||
|
LineEdit& WarnWhiteSpace(bool b = true) { warnwhitespace = b; Refresh(); return *this; }
|
||||||
|
bool IsWantWhiteSpace() const { return warnwhitespace; }
|
||||||
LineEdit& WithCutLine(bool b) { cutline = b; return *this; }
|
LineEdit& WithCutLine(bool b) { cutline = b; return *this; }
|
||||||
LineEdit& NoCutLine() { return WithCutLine(false); }
|
LineEdit& NoCutLine() { return WithCutLine(false); }
|
||||||
bool IsWithCutLine() const { return cutline; }
|
bool IsWithCutLine() const { return cutline; }
|
||||||
|
|
|
||||||
|
|
@ -344,7 +344,7 @@ Default is off.&]
|
||||||
[s5;:LineEdit`:`:ShowSpaces`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* ShowSpaces]([@(0.0.255) b
|
[s5;:LineEdit`:`:ShowSpaces`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* ShowSpaces]([@(0.0.255) b
|
||||||
ool]_[*@3 ss]_`=_[@(0.0.255) true])&]
|
ool]_[*@3 ss]_`=_[@(0.0.255) true])&]
|
||||||
[s2;%% In this mode widget displays spaces with faint dots. Default
|
[s2;%% In this mode widget displays spaces with faint dots. Default
|
||||||
is off..&]
|
is off.&]
|
||||||
[s3;%% &]
|
[s3;%% &]
|
||||||
[s4; &]
|
[s4; &]
|
||||||
[s5;:LineEdit`:`:IsShowSpaces`(`)const: [@(0.0.255) bool]_[* IsShowSpaces]()_[@(0.0.255) co
|
[s5;:LineEdit`:`:IsShowSpaces`(`)const: [@(0.0.255) bool]_[* IsShowSpaces]()_[@(0.0.255) co
|
||||||
|
|
@ -352,6 +352,29 @@ nst]&]
|
||||||
[s2;%% Returns status of ShowSpaces.&]
|
[s2;%% Returns status of ShowSpaces.&]
|
||||||
[s3; &]
|
[s3; &]
|
||||||
[s4; &]
|
[s4; &]
|
||||||
|
[s5;:Upp`:`:LineEdit`:`:ShowLineEndings`(bool`): [_^Upp`:`:LineEdit^ LineEdit][@(0.0.255) `&
|
||||||
|
]_[* ShowLineEndings]([@(0.0.255) bool]_[*@3 sl]_`=_[@(0.0.255) true])&]
|
||||||
|
[s2;%% In this mode widget displays line endings with faint dots.
|
||||||
|
Default is off.&]
|
||||||
|
[s3;%% &]
|
||||||
|
[s4; &]
|
||||||
|
[s5;:Upp`:`:LineEdit`:`:IsShowLineEndings`(`)const: [@(0.0.255) bool]_[* IsShowLineEnding
|
||||||
|
s]()_[@(0.0.255) const]&]
|
||||||
|
[s2;%% Returns status of ShowLineEndings.&]
|
||||||
|
[s3; &]
|
||||||
|
[s4; &]
|
||||||
|
[s5;:Upp`:`:LineEdit`:`:WarnWhiteSpace`(bool`): [_^Upp`:`:LineEdit^ LineEdit][@(0.0.255) `&
|
||||||
|
]_[* WarnWhiteSpace]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
|
||||||
|
[s2;%% In this mode widget shows whitespaces that seem to be misplaced,
|
||||||
|
like tabs after spaces or if line ends with spaces. Default is
|
||||||
|
off.&]
|
||||||
|
[s3;%% &]
|
||||||
|
[s4; &]
|
||||||
|
[s5;:Upp`:`:LineEdit`:`:IsWantWhiteSpace`(`)const: [@(0.0.255) bool]_[* IsWantWhiteSpace](
|
||||||
|
)_[@(0.0.255) const]&]
|
||||||
|
[s2;%% Returns status of WarnWhiteSpace.&]
|
||||||
|
[s3; &]
|
||||||
|
[s4; &]
|
||||||
[s5;:LineEdit`:`:WithCutLine`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* WithCutLine](
|
[s5;:LineEdit`:`:WithCutLine`(bool`): [_^LineEdit^ LineEdit][@(0.0.255) `&]_[* WithCutLine](
|
||||||
[@(0.0.255) bool]_[*@3 b])&]
|
[@(0.0.255) bool]_[*@3 b])&]
|
||||||
[s2;%% In this mode widget calls CutLine when user presses Ctrl`+Y
|
[s2;%% In this mode widget calls CutLine when user presses Ctrl`+Y
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ void Sentinel(Stream& s, const char *txt)
|
||||||
|
|
||||||
void Ide::Serialize(Stream& s)
|
void Ide::Serialize(Stream& s)
|
||||||
{
|
{
|
||||||
int version = 6;
|
int version = 7;
|
||||||
Sentinel(s, "before 12341234");
|
Sentinel(s, "before 12341234");
|
||||||
s.Magic(0x12341234);
|
s.Magic(0x12341234);
|
||||||
Sentinel(s, "after magic");
|
Sentinel(s, "after magic");
|
||||||
|
|
@ -177,6 +177,8 @@ void Ide::Serialize(Stream& s)
|
||||||
s % find_replace_restore_pos;
|
s % find_replace_restore_pos;
|
||||||
}
|
}
|
||||||
s % show_tabs;
|
s % show_tabs;
|
||||||
|
if(version >= 7)
|
||||||
|
s % warnwhitespace;
|
||||||
s % tabs_icons;
|
s % tabs_icons;
|
||||||
s % tabs_crosses;
|
s % tabs_crosses;
|
||||||
s % tabs_grouping;
|
s % tabs_grouping;
|
||||||
|
|
|
||||||
|
|
@ -119,11 +119,12 @@ Font FontSelectManager::Get() {
|
||||||
void Ide::UpdateFormat(CodeEditor& editor)
|
void Ide::UpdateFormat(CodeEditor& editor)
|
||||||
{
|
{
|
||||||
if(!IsActiveFile() || ActiveFile().tabsize <= 0)
|
if(!IsActiveFile() || ActiveFile().tabsize <= 0)
|
||||||
editor.TabSize(editortabsize);
|
editor.TabSize(editortabsize);
|
||||||
editor.IndentSpaces(indent_spaces);
|
editor.IndentSpaces(indent_spaces);
|
||||||
editor.IndentAmount(indent_amount);
|
editor.IndentAmount(indent_amount);
|
||||||
editor.ShowTabs(show_tabs);
|
editor.ShowTabs(show_tabs);
|
||||||
editor.ShowLineEndings(show_tabs);
|
editor.ShowLineEndings(show_tabs);
|
||||||
|
editor.WarnWhiteSpace(warnwhitespace);
|
||||||
editor.NoParenthesisIndent(no_parenthesis_indent);
|
editor.NoParenthesisIndent(no_parenthesis_indent);
|
||||||
editor.HiliteScope(hilite_scope);
|
editor.HiliteScope(hilite_scope);
|
||||||
editor.HiliteBracket(hilite_bracket);
|
editor.HiliteBracket(hilite_bracket);
|
||||||
|
|
@ -413,6 +414,7 @@ void Ide::SetupFormat() {
|
||||||
(edt.indent_spaces, indent_spaces)
|
(edt.indent_spaces, indent_spaces)
|
||||||
(edt.no_parenthesis_indent, no_parenthesis_indent)
|
(edt.no_parenthesis_indent, no_parenthesis_indent)
|
||||||
(edt.showtabs, show_tabs)
|
(edt.showtabs, show_tabs)
|
||||||
|
(edt.warnwhitespace, warnwhitespace)
|
||||||
(edt.lineends, line_endings)
|
(edt.lineends, line_endings)
|
||||||
(edt.numbers, line_numbers)
|
(edt.numbers, line_numbers)
|
||||||
(edt.bookmark_pos, bookmark_pos)
|
(edt.bookmark_pos, bookmark_pos)
|
||||||
|
|
|
||||||
|
|
@ -557,6 +557,7 @@ public:
|
||||||
bool show_status_bar;
|
bool show_status_bar;
|
||||||
bool toolbar_in_row;
|
bool toolbar_in_row;
|
||||||
bool show_tabs;
|
bool show_tabs;
|
||||||
|
bool warnwhitespace;
|
||||||
int line_endings;
|
int line_endings;
|
||||||
bool tabs_icons;
|
bool tabs_icons;
|
||||||
int tabs_crosses;
|
int tabs_crosses;
|
||||||
|
|
|
||||||
|
|
@ -537,7 +537,7 @@ LAYOUT(SetupHlLayout, 544, 288)
|
||||||
ITEM(Button, hl_restore, SetLabel(t_("Restore default colors")).LeftPosZ(380, 160).TopPosZ(268, 16))
|
ITEM(Button, hl_restore, SetLabel(t_("Restore default colors")).LeftPosZ(380, 160).TopPosZ(268, 16))
|
||||||
END_LAYOUT
|
END_LAYOUT
|
||||||
|
|
||||||
LAYOUT(SetupEditorLayout, 544, 276)
|
LAYOUT(SetupEditorLayout, 544, 296)
|
||||||
ITEM(Label, dv___0, SetLabel(t_("Tab size")).LeftPosZ(4, 108).TopPosZ(4, 19))
|
ITEM(Label, dv___0, SetLabel(t_("Tab size")).LeftPosZ(4, 108).TopPosZ(4, 19))
|
||||||
ITEM(EditIntSpin, tabsize, LeftPosZ(116, 52).TopPosZ(4, 19))
|
ITEM(EditIntSpin, tabsize, LeftPosZ(116, 52).TopPosZ(4, 19))
|
||||||
ITEM(Label, dv___2, SetLabel(t_("Indent")).LeftPosZ(4, 108).TopPosZ(24, 19))
|
ITEM(Label, dv___2, SetLabel(t_("Indent")).LeftPosZ(4, 108).TopPosZ(24, 19))
|
||||||
|
|
@ -550,18 +550,19 @@ LAYOUT(SetupEditorLayout, 544, 276)
|
||||||
ITEM(Label, dv___9, SetLabel(t_("Line endings")).LeftPosZ(4, 108).TopPosZ(84, 19))
|
ITEM(Label, dv___9, SetLabel(t_("Line endings")).LeftPosZ(4, 108).TopPosZ(84, 19))
|
||||||
ITEM(DropList, lineends, LeftPosZ(116, 160).TopPosZ(84, 19))
|
ITEM(DropList, lineends, LeftPosZ(116, 160).TopPosZ(84, 19))
|
||||||
ITEM(Option, showtabs, SetLabel(t_("Show tabs and line endings")).LeftPosZ(4, 272).TopPosZ(108, 16))
|
ITEM(Option, showtabs, SetLabel(t_("Show tabs and line endings")).LeftPosZ(4, 272).TopPosZ(108, 16))
|
||||||
ITEM(Option, indent_spaces, SetLabel(t_("Indent using spaces")).HSizePosZ(4, 268).TopPosZ(124, 16))
|
ITEM(Option, warnwhitespace, SetLabel(t_("Show possibly misplaced tabs and spaces")).LeftPosZ(4, 272).TopPosZ(124, 16))
|
||||||
ITEM(Option, no_parenthesis_indent, SetLabel(t_("No indent after parenthesis")).LeftPosZ(4, 272).TopPosZ(140, 16))
|
ITEM(Option, indent_spaces, SetLabel(t_("Indent using spaces")).HSizePosZ(4, 268).TopPosZ(140, 16))
|
||||||
ITEM(Option, numbers, SetLabel(t_("Show line numbers")).LeftPosZ(4, 272).TopPosZ(156, 16))
|
ITEM(Option, no_parenthesis_indent, SetLabel(t_("No indent after parenthesis")).LeftPosZ(4, 272).TopPosZ(156, 16))
|
||||||
ITEM(Option, bookmark_pos, SetLabel(t_("Bookmarks restore position")).LeftPosZ(4, 272).TopPosZ(172, 16))
|
ITEM(Option, numbers, SetLabel(t_("Show line numbers")).LeftPosZ(4, 272).TopPosZ(172, 16))
|
||||||
ITEM(Option, findpicksel, SetLabel(t_("Find picks selection")).LeftPosZ(4, 272).TopPosZ(188, 16))
|
ITEM(Option, bookmark_pos, SetLabel(t_("Bookmarks restore position")).LeftPosZ(4, 272).TopPosZ(188, 16))
|
||||||
ITEM(Option, findpicktext, SetLabel(t_("Find picks selection or text")).LeftPosZ(4, 272).TopPosZ(204, 16))
|
ITEM(Option, findpicksel, SetLabel(t_("Find picks selection")).LeftPosZ(4, 272).TopPosZ(204, 16))
|
||||||
ITEM(Option, deactivate_save, SetLabel(t_("Save file on TheIde window deactivation")).LeftPosZ(4, 272).TopPosZ(220, 16))
|
ITEM(Option, findpicktext, SetLabel(t_("Find picks selection or text")).LeftPosZ(4, 272).TopPosZ(220, 16))
|
||||||
ITEM(Option, persistent_find_replace, SetLabel(t_("Do not close Find/Replace dialog automatically")).LeftPosZ(4, 272).TopPosZ(236, 16))
|
ITEM(Option, deactivate_save, SetLabel(t_("Save file on TheIde window deactivation")).LeftPosZ(4, 272).TopPosZ(236, 16))
|
||||||
ITEM(Option, find_replace_restore_pos, SetLabel(t_("Restore position on canceling incremental search")).LeftPosZ(4, 272).TopPosZ(252, 16))
|
ITEM(Option, persistent_find_replace, SetLabel(t_("Do not close Find/Replace dialog automatically")).LeftPosZ(4, 272).TopPosZ(252, 16))
|
||||||
ITEM(Label, dv___21, SetLabel(t_("File Tabs")).LeftPosZ(304, 64).TopPosZ(4, 19))
|
ITEM(Option, find_replace_restore_pos, SetLabel(t_("Restore position on canceling incremental search")).LeftPosZ(4, 272).TopPosZ(268, 16))
|
||||||
|
ITEM(Label, dv___22, SetLabel(t_("File Tabs")).LeftPosZ(304, 64).TopPosZ(4, 19))
|
||||||
ITEM(DropList, filetabs, LeftPosZ(372, 64).TopPosZ(4, 19))
|
ITEM(DropList, filetabs, LeftPosZ(372, 64).TopPosZ(4, 19))
|
||||||
ITEM(Label, dv___23, SetLabel(t_("Crosses")).LeftPosZ(304, 64).TopPosZ(24, 19))
|
ITEM(Label, dv___24, SetLabel(t_("Crosses")).LeftPosZ(304, 64).TopPosZ(24, 19))
|
||||||
ITEM(DropList, tabs_crosses, LeftPosZ(372, 64).TopPosZ(24, 19))
|
ITEM(DropList, tabs_crosses, LeftPosZ(372, 64).TopPosZ(24, 19))
|
||||||
ITEM(Option, tabs_icons, SetLabel(t_("Icons")).LeftPosZ(304, 132).TopPosZ(48, 16))
|
ITEM(Option, tabs_icons, SetLabel(t_("Icons")).LeftPosZ(304, 132).TopPosZ(48, 16))
|
||||||
ITEM(Option, tabs_grouping, SetLabel(t_("Grouping")).LeftPosZ(304, 132).TopPosZ(68, 16))
|
ITEM(Option, tabs_grouping, SetLabel(t_("Grouping")).LeftPosZ(304, 132).TopPosZ(68, 16))
|
||||||
|
|
|
||||||
|
|
@ -518,6 +518,7 @@ Ide::Ide()
|
||||||
indent_spaces = false;
|
indent_spaces = false;
|
||||||
show_status_bar = false;
|
show_status_bar = false;
|
||||||
show_tabs = false;
|
show_tabs = false;
|
||||||
|
warnwhitespace = true;
|
||||||
tabs_icons = false;
|
tabs_icons = false;
|
||||||
tabs_crosses = AlignedFrame::RIGHT;
|
tabs_crosses = AlignedFrame::RIGHT;
|
||||||
tabs_grouping = true;
|
tabs_grouping = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue