Package org.cfeclipse.cfml.views.images

Source Code of org.cfeclipse.cfml.views.images.SelectionImages

package org.cfeclipse.cfml.views.images;

import java.util.HashSet;

import org.cfeclipse.cfml.images.AbstractWorskspaceImageEntry;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IResourceDeltaVisitor;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;

public class SelectionImages extends AbstractWorskspaceImageEntry {

  private static SelectionImages instance;

  public String getName() {
    return "Workspace";
  }

  private SelectionImages() {
    this.init();

    ResourcesPlugin.getWorkspace().addResourceChangeListener(new IResourceChangeListener() {

      public void resourceChanged(IResourceChangeEvent event) {
        final HashSet<String> str = new HashSet<String>();
        try {
          event.getDelta().accept(new IResourceDeltaVisitor() {

            public boolean visit(IResourceDelta delta) throws CoreException {
              final IResource resource = delta.getResource();
              if (resource instanceof IProject) {
                str.add(resource.getName());
                return false;
              }
              return true;
            }

          });
        } catch (final CoreException e) {
          e.printStackTrace();
        }
        SelectionImages.this.reprocess(str);
      }

    });
  }

  public static SelectionImages getSelectionImages() {
    if (SelectionImages.instance != null) {
      return SelectionImages.instance;
    }
    final SelectionImages selectionImages = new SelectionImages();
    SelectionImages.instance = selectionImages;
    return selectionImages;
  }

  public IContainer getFile() {
    return ResourcesPlugin.getWorkspace().getRoot();
  }

}
TOP

Related Classes of org.cfeclipse.cfml.views.images.SelectionImages

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.