// @see org.gudy.azureus2.plugins.ui.tables.TableCellMouseListener#cellMouseTrigger(org.gudy.azureus2.plugins.ui.tables.TableCellMouseEvent)
public void cellMouseTrigger(TableCellMouseEvent event) {
String tooltip = null;
boolean invalidateAndRefresh = false;
VuzeActivitiesEntry entry = (VuzeActivitiesEntry) event.cell.getDataSource();
//Rectangle bounds = getDrawBounds((TableCellSWT) event.cell);
Rectangle bounds = ((TableCellSWT) event.cell).getBounds();
String text = entry.getText();
GC gc = new GC(Display.getDefault());
GCStringPrinter sp = null;
try {
sp = setupStringPrinter(gc, (TableCellSWT) event.cell);
} catch (Exception e) {
Debug.out(e);
} finally {
gc.dispose();
}
if (sp != null) {
URLInfo hitUrl = sp.getHitUrl(event.x + bounds.x, event.y + bounds.y);
int newCursor;
if (hitUrl != null) {
boolean ourUrl = UrlFilter.getInstance().urlCanRPC(hitUrl.url)
|| hitUrl.url.startsWith("/") || hitUrl.url.startsWith("#");
if (event.eventType == TableCellMouseEvent.EVENT_MOUSEDOWN) {
if (!ourUrl) {
Utils.launch(hitUrl.url);
} else {
UIFunctionsSWT uif = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (uif != null) {
String target = hitUrl.target;
if (target == null) {
target = ContentNetworkUtils.getTarget(entry.getContentNetwork());
}
uif.viewURL(hitUrl.url, target, "column.activity.text");
return;
}
}