/*******************************************************************************
* Copyright (c) 2007 Borland Software Corporation and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Borland Software Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.m2m.internal.qvt.oml.runtime.ui.trace.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.m2m.internal.qvt.oml.runtime.ui.QvtRuntimePluginImages;
import org.eclipse.m2m.internal.qvt.oml.runtime.ui.QvtRuntimeUIPlugin;
import org.eclipse.m2m.internal.qvt.oml.runtime.ui.trace.TraceViewLabelProvider;
import org.eclipse.swt.custom.BusyIndicator;
/**
* @author Aleksandr Igdalov
*/
public class ShowQualifiedNamesAction extends Action {
private TreeViewer myViewer;
public ShowQualifiedNamesAction() {
super(Messages.ShowQualifiedNamesAction_0, IAction.AS_CHECK_BOX);
setToolTipText(Messages.ShowQualifiedNamesAction_1);
setDisabledImageDescriptor(QvtRuntimePluginImages.getInstance().getImageDescriptor(QvtRuntimePluginImages.TRACE_VIEWER_DLCL_SHOW_QUALIFIED_ACTION));
setImageDescriptor(QvtRuntimePluginImages.getInstance().getImageDescriptor(QvtRuntimePluginImages.TRACE_VIEWER_ELCL_SHOW_QUALIFIED_ACTION));
setHoverImageDescriptor(QvtRuntimePluginImages.getInstance().getImageDescriptor(QvtRuntimePluginImages.TRACE_VIEWER_ELCL_SHOW_QUALIFIED_ACTION));
setId(QvtRuntimeUIPlugin.getDefault().getBundle().getSymbolicName() + ".ShowQualifiedNames"); //$NON-NLS-1$
setChecked(false);
}
@Override
public void run() {
if (myViewer.getControl().isDisposed()) {
return;
}
TraceViewLabelProvider labelProvider = (TraceViewLabelProvider) myViewer.getLabelProvider();
labelProvider.setShowQualifiedNames(isChecked());
BusyIndicator.showWhile(myViewer.getControl().getDisplay(), new Runnable() {
public void run() {
if (!myViewer.getControl().isDisposed()) {
myViewer.refresh();
}
}
});
}
public TreeViewer getViewer() {
return myViewer;
}
public void setViewer(TreeViewer viewer) {
myViewer = viewer;
}
}