/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.advisor.ui.core; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.events.HyperlinkAdapter; import org.eclipse.ui.forms.events.HyperlinkEvent; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ImageHyperlink; /** * */ public class AdvisorHyperLinkListener extends HyperlinkAdapter { private FormToolkit toolkit; private IAdvisorActionHandler actionHandler; private Composite parent; /** * */ public AdvisorHyperLinkListener( Composite parent, FormToolkit toolkit, IAdvisorActionHandler actionHandler ) { this.parent = parent; this.toolkit = toolkit; this.actionHandler = actionHandler; } /** * {@inheritDoc} * * @see org.eclipse.ui.forms.events.IHyperlinkListener#linkActivated(org.eclipse.ui.forms.events.HyperlinkEvent) */ @Override public void linkActivated( HyperlinkEvent e ) { if (e.getSource() != null) { int groupType = Integer.parseInt(((ImageHyperlink)e.getSource()).getData().toString()); Point point = parent.getDisplay().getCursorLocation(); AdvisorFixDialog fixDialog = new AdvisorFixDialog(actionHandler.getActions(groupType), point.x, point.y, toolkit); fixDialog.open(); } } }