Package org.codemap.mapview

Source Code of org.codemap.mapview.SelectionInfoAction

package org.codemap.mapview;

import java.util.ArrayList;

import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;

public class SelectionInfoAction extends Action {
   
    private static final String PREFIX = "selection: ";
    private static final String EMPTY = "<empty>";   
   
    public SelectionInfoAction(ISelection selection) {
        if (!(selection instanceof IStructuredSelection)) {
            // only structured selections make sense in our context.
            // thus if it is not a structured selection, it must be an empty one.
            setText(PREFIX + EMPTY);
            return;
        }
       
        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        ArrayList<ICompilationUnit> compilationUnits = new ArrayList<ICompilationUnit>();
        for(Object entry: structuredSelection.toList()) {
            if (!(entry instanceof ICompilationUnit)) continue;
            compilationUnits.add((ICompilationUnit) entry);
        }
        setText(PREFIX + makeText(compilationUnits));
    }

    private String makeText(ArrayList<ICompilationUnit> compilationUnits) {
        if (compilationUnits.isEmpty()) {
            return EMPTY;
        }
        if (compilationUnits.size() == 1) {
            ICompilationUnit unit = compilationUnits.get(0);
            return unit.getElementName();
        }
        return compilationUnits.size() + " Classes";
    }
}
TOP

Related Classes of org.codemap.mapview.SelectionInfoAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.