Package org.cfeclipse.cfml.views.explorer

Source Code of org.cfeclipse.cfml.views.explorer.DirectoryLabelProvider

/*
* Created on Nov 7, 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
package org.cfeclipse.cfml.views.explorer;

import java.io.File;

import org.cfeclipse.cfml.net.RemoteFile;
import org.cfeclipse.cfml.util.CFPluginImages;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.RGB;



class DirectoryLabelProvider extends LabelProvider {
   
   
    public String getText(Object element) {

        try {
            if (element instanceof RemoteFile) {
                return ((RemoteFile)element).getName();
            }
            if (element instanceof FileSystemRoot) {
              return element.toString();
            }
          if (element.toString().length() == 1) {
            return element.toString();
          }
          else {
            String[] fullpath = element.toString().split("[\\\\/]");
            return fullpath[fullpath.length-1];
          }
        }
        catch (Exception e) {
            e.printStackTrace();
            return "";
        }
    }
   
   
    public Image getImage(Object element) {
        try {
            if (element instanceof RemoteFile) {
                return addPermissionIcon(element,CFPluginImages.get(CFPluginImages.ICON_FOLDER));
            }
            if (element instanceof FileSystemRoot) {
              FileSystemRoot root = (FileSystemRoot)element;
              if(root.getType().equalsIgnoreCase("file")){
                return CFPluginImages.get(CFPluginImages.ICON_DRIVE);
              }
              else if(root.getType().equalsIgnoreCase("ftp")){
                return CFPluginImages.get(CFPluginImages.ICON_DRIVE_FTP);
              }
              else if(root.getType().equalsIgnoreCase("sftp")){
                return CFPluginImages.get(CFPluginImages.ICON_DRIVE_SFTP);
              }
              else{
                return CFPluginImages.get(CFPluginImages.ICON_REPOSITORY);
              }
            }
          String[] fullpath = element.toString().split("[\\\\/]");
          if (fullpath.length > 1) {
              return CFPluginImages.get(CFPluginImages.ICON_FOLDER);
          }
          return null;
        }
        catch (Exception e) {
            e.printStackTrace();
            return null;
        }
       
    }
   
   

    private Image addPermissionIcon(Object element, Image image) {

        boolean canRead = true;
        boolean canWrite = true;
        if (element instanceof RemoteFile) {
            RemoteFile file = (RemoteFile)element;
            canRead = file.canRead();
            canWrite = file.canWrite();
        }
        else if (element instanceof File) {
            File file = (File)element;
            canRead = file.canRead();
            canWrite = file.canWrite();
        }
        else {
            return image;
        }
       
        if (!canRead) {
            return CFPluginImages.addOverlay(image,new RGB(255,0,0));
        }
        else if (!canWrite) {
            return CFPluginImages.addOverlay(image,new RGB(0,255,0));
        }
        else {
            return image;
        }
    }
   
   
   
}
TOP

Related Classes of org.cfeclipse.cfml.views.explorer.DirectoryLabelProvider

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.