package com.gorillalogic.monkeyconsole.cloudview.ui; import org.eclipse.jface.viewers.StyledCellLabelProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.ui.forms.widgets.Hyperlink; public class ActionLabelProvider extends StyledCellLabelProvider { MyHyperlink m_control; public ActionLabelProvider( Composite parent ) { m_control = new MyHyperlink( parent, SWT.WRAP ); m_control.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { System.out.println("You have selected: "+event.text); } }); } @Override protected void paint( Event event, Object element ) { String sValue = ((JobRow)element).getActions(); m_control.setText( sValue ); GC gc = event.gc; Rectangle cellRect = new Rectangle( event.x, event.y, event.width, event.height ); cellRect.width = 4000; m_control.paintText( gc, cellRect); } } class MyHyperlink extends Hyperlink { public MyHyperlink(Composite parent, int style) { super(parent, style); this.setUnderlined(true); } @Override public void paintText(GC gc, Rectangle bounds) { super.paintText(gc, bounds); } }