/** * Logback-beagle: The logback Console Plugin for Eclipse * Copyright (C) 2006-2012, QOS.ch. All rights reserved. * * This program and the accompanying materials are licensed under * either the terms of the Eclipse Public License v1.0 as published by * the Eclipse Foundation. */ package ch.qos.logback.beagle.visual; import org.eclipse.nebula.widgets.grid.GridItem; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import ch.qos.logback.beagle.view.ConverterFacade; public class CallerDataTIS implements ITableItemStub { static Color CALLER_DATACOLOR = new Color(null, 193, 230, 253); ConverterFacade converterFacade; final StackTraceElement stackTraceElement; final int index; public CallerDataTIS(ConverterFacade converterFacade, StackTraceElement stackTraceElement, int index) { this.converterFacade = converterFacade; this.stackTraceElement = stackTraceElement; this.index = index; } public Color getBackgroundColor() { return CALLER_DATACOLOR; } public Image getImage() { return null; } public String getText() { String prefix = " |-- "; if (index == 0) { prefix = " + "; } return prefix + " at " + stackTraceElement.toString(); } public StackTraceElement getJumpData() { return new StackTraceElement(stackTraceElement.getClassName(), stackTraceElement.getMethodName(), stackTraceElement.getFileName(), stackTraceElement.getLineNumber()); } public boolean supportsJump() { return true; } @Override public void populate(GridItem gridItem) { int columnCount = converterFacade.getColumnCount(); gridItem.setText(DATA_COLUMNS_OFFSET, getText()); gridItem.setColumnSpan(DATA_COLUMNS_OFFSET, columnCount-1); gridItem.setBackground(DATA_COLUMNS_OFFSET, getBackgroundColor()); } }