/*
* 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.mapping.ui.recursion.actions;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchPart;
import org.teiid.designer.mapping.ui.UiConstants;
import org.teiid.designer.mapping.ui.UiPlugin;
import org.teiid.designer.mapping.ui.recursion.RecursionPanel;
import org.teiid.designer.ui.common.actions.AbstractAction;
/**
* The <code>LaunchCriteriaBuilder</code> class launches the Criteria Builder
* @since 8.0
*/
public class LaunchCriteriaBuilder extends AbstractAction {
// =================================================================
// FIELDS
// =================================================================
private RecursionPanel pnlRecursionPanel;
///////////////////////////////////////////////////////////////////////////////////////////////
// CONSTRUCTORS
///////////////////////////////////////////////////////////////////////////////////////////////
public LaunchCriteriaBuilder( RecursionPanel pnlRecursionPanel ) {
super( UiPlugin.getDefault() );
setImageDescriptor(UiPlugin.getDefault().getImageDescriptor(UiConstants.Images.CRITERIA_BUILDER));
this.pnlRecursionPanel = pnlRecursionPanel;
setEnabled( false );
}
// =================================================================
// METHODS
// =================================================================
@Override
protected void doRun() {
// Tell ChoicePanel to show the Criteria builder
// System.out.println("[LaunchCriteriaBuilder.doRun]"); //$NON-NLS-1$
pnlRecursionPanel.launchCriteriaBuilder();
}
/**
* @see org.eclipse.ui.ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
* @since 4.0
*/
public void selectionChanged() {
if ( pnlRecursionPanel.canLaunchCriteriaBuilder() ) {
setEnabled( true );
} else {
setEnabled( false );
}
}
}