From b402d9c71132021ed74c0384c7d7ed85e6b925ce Mon Sep 17 00:00:00 2001 From: Miklos Magyari Date: Wed, 1 Jun 2022 10:10:36 +0200 Subject: [PATCH] Deprecated elements are indicated in the outline view (issue #488) Signed-off-by: Miklos Magyari --- .../org/eclipse/titan/designer/editors/Stylers.java | 10 ++++++++++ .../ttcn3editor/OutlineStyledLabelProvider.java | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java index 66d1422f7..c99989b8b 100755 --- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java +++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java @@ -73,6 +73,16 @@ public class Stylers { } } + public static class StrikethroughStyler extends Styler { + @Override + public void applyStyles(TextStyle textStyle) { + FontData fontData = JFaceResources.getDefaultFont().getFontData()[0]; + Font f = new Font(Display.getDefault(), fontData); + textStyle.font = f; + textStyle.strikeout = true; + } + } + public static class ColoredStyler extends Styler { private final Color color; private int style; diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/OutlineStyledLabelProvider.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/OutlineStyledLabelProvider.java index d68ff267c..8fa3a2639 100755 --- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/OutlineStyledLabelProvider.java +++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/OutlineStyledLabelProvider.java @@ -123,8 +123,12 @@ public final class OutlineStyledLabelProvider extends DelegatingStyledCellLabelP private StyledString getStyledText(Object element, String text) { final StyledString styledOutline = new StyledString(); + boolean isDeprecated = false; if (element instanceof Definition) { final Definition elemDef = (Definition)element; + if (elemDef.hasDocumentComment() && elemDef.getDocumentComment().isDeprecated()) { + isDeprecated = true; + } if (isInClassBody(elemDef.getMyScope())) { Stylers.ColoredStyler styler = null; switch (elemDef.getVisibilityModifier()) { @@ -142,7 +146,11 @@ public final class OutlineStyledLabelProvider extends DelegatingStyledCellLabelP } } if (styledOutline.length() == 0) { - styledOutline.append(text); + if (isDeprecated) { + styledOutline.append(text, new Stylers.StrikethroughStyler()); + } else { + styledOutline.append(text); + } } return styledOutline; } -- GitLab