diff --git a/src/org/ntlab/traceDebugger/CallStackLabelProvider.java b/src/org/ntlab/traceDebugger/CallStackLabelProvider.java index 9b28a5f..dc0f797 100644 --- a/src/org/ntlab/traceDebugger/CallStackLabelProvider.java +++ b/src/org/ntlab/traceDebugger/CallStackLabelProvider.java @@ -9,7 +9,9 @@ import org.eclipse.swt.graphics.Image; public class CallStackLabelProvider extends LabelProvider implements IColorProvider { - + private Image threadSuspendImage = DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED); + private Image callStackModelImage = DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_STACKFRAME); + @Override public String getText(Object element) { if (element instanceof TreeNode) { @@ -36,9 +38,9 @@ if (element instanceof TreeNode) { Object value = ((TreeNode)element).getValue(); if (value instanceof String) { - return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED); + return threadSuspendImage; } else if (value instanceof CallStackModel) { - return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_STACKFRAME); + return callStackModelImage; } } return null; diff --git a/src/org/ntlab/traceDebugger/CallTreeLabelProvider.java b/src/org/ntlab/traceDebugger/CallTreeLabelProvider.java index 0221ebc..d1c9e68 100644 --- a/src/org/ntlab/traceDebugger/CallTreeLabelProvider.java +++ b/src/org/ntlab/traceDebugger/CallTreeLabelProvider.java @@ -8,10 +8,11 @@ import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; public class CallTreeLabelProvider extends LabelProvider implements IColorProvider { + private Image callTreeModelImage = DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_STACKFRAME); + private Color currentColor = new Color(Display.getDefault(), 198, 219, 174); + @Override public String getText(Object element) { if (element instanceof TreeNode) { @@ -29,7 +30,7 @@ if (element instanceof TreeNode) { Object value = ((TreeNode)element).getValue(); if (value instanceof CallTreeModel) { - return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_STACKFRAME); + return callTreeModelImage; } } return null; @@ -47,7 +48,7 @@ if (value instanceof CallTreeModel) { CallTreeModel callTreeModel = (CallTreeModel)value; if (callTreeModel.isHighlighting()) { - return new Color(Display.getDefault(), 198, 219, 174); + return currentColor; } } } diff --git a/src/org/ntlab/traceDebugger/VariableLabelProvider.java b/src/org/ntlab/traceDebugger/VariableLabelProvider.java index 248f8c3..e9aecfd 100644 --- a/src/org/ntlab/traceDebugger/VariableLabelProvider.java +++ b/src/org/ntlab/traceDebugger/VariableLabelProvider.java @@ -7,6 +7,7 @@ import org.eclipse.jface.viewers.TreeNode; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; import org.ntlab.traceDebugger.Variable.VariableType; @@ -17,6 +18,10 @@ public static final String THIS_VARIABLE = "ThisVariable"; public static final String FIELD_VARIABLE = "FieldVariable"; public static final String ARG_VARIABLE = "ArgVariable"; + private Image specialVariableImage = TraceDebuggerPlugin.getDefault().getImageRegistry().getDescriptor(SPECIAL_VARIABLE).createImage(); + private Image thisVariableImage = TraceDebuggerPlugin.getDefault().getImageRegistry().getDescriptor(THIS_VARIABLE).createImage(); + private Image fieldVariableImage = TraceDebuggerPlugin.getDefault().getImageRegistry().getDescriptor(FIELD_VARIABLE).createImage(); + private Image argVariableImage = TraceDebuggerPlugin.getDefault().getImageRegistry().getDescriptor(ARG_VARIABLE).createImage(); @Override public String getColumnText(Object element, int columnIndex) { @@ -74,33 +79,28 @@ @Override public Image getColumnImage(Object element, int columnIndex) { - if (columnIndex != 0) return null; - ImageRegistry registry = TraceDebuggerPlugin.getDefault().getImageRegistry(); - if (element instanceof TreeNode) { - Object value = ((TreeNode)element).getValue(); - if (value instanceof String) { - return registry.getDescriptor(SPECIAL_VARIABLE).createImage(); - } else if (value instanceof Variable) { - Variable variable = (Variable)value; - VariableType variableType = variable.getVariableType(); - if (variableType == VariableType.THIS) { - return registry.getDescriptor(THIS_VARIABLE).createImage(); - } else if (variableType == VariableType.PARAMETER){ - return registry.getDescriptor(ARG_VARIABLE).createImage(); - } else if (variableType.isContainerSide()) { - return registry.getDescriptor(THIS_VARIABLE).createImage(); - } else { - return registry.getDescriptor(FIELD_VARIABLE).createImage(); - } - } + if (columnIndex == 0) { + if (element instanceof TreeNode) { + Object value = ((TreeNode)element).getValue(); + if (value instanceof String) { + return specialVariableImage; + } else if (value instanceof Variable) { + Variable variable = (Variable)value; + VariableType variableType = variable.getVariableType(); + if (variableType == VariableType.THIS) { + return thisVariableImage; + } else if (variableType == VariableType.PARAMETER){ + return argVariableImage; + } else if (variableType.isContainerSide()) { + return thisVariableImage; + } else { + return fieldVariableImage; + } + } + } } return null; } - - @Override - public Image getImage(Object element) { - return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); - } @Override public Color getForeground(Object element, int columnIndex) {