Package org.cfeclipse.cfml.views.explorer

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

/*
* 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 java.util.regex.Matcher;
import java.util.regex.Pattern;

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


class FileLabelProvider extends LabelProvider implements ITableLabelProvider {
   
    Pattern p = Pattern.compile("(.)+(htm|html|cfc|cfm|cfml)$");
   
    public String getColumnText(Object element, int columnIndex) {
          String nameReturn = "";
          Object[] item = (Object[])element;
         
        if(columnIndex == 0){
          String[] fullpath = item[columnIndex].toString().split("[\\\\/]");
          nameReturn = fullpath[fullpath.length-1];
           if (item[columnIndex] instanceof RemoteFile) {
             nameReturn = ((RemoteFile)item[columnIndex]).getName();
               }
        } 
        else {
          nameReturn = item[columnIndex].toString();
        }
         
          return nameReturn;
    }
   
   
   
    public Image getColumnImage(Object element, int columnIndex) {
      Object[] item = (Object[])element;
       
        if(columnIndex == 1){
          return null;
        }
       
          String filename = item[columnIndex].toString();
         
          if (item[columnIndex] instanceof RemoteFile) {
              filename = ((RemoteFile)item[columnIndex]).getName();
          }
          Matcher m = p.matcher(filename);
          if (m.matches()) {
            String extension = filename.substring(filename.length()-3, filename.length());
            String icon_default = CFPluginImages.ICON_DEFAULT;
            if(extension.equalsIgnoreCase("cfc")){
              icon_default = CFPluginImages.ICON_CFC;
            }
              return addPermissionIcon(item[columnIndex],CFPluginImages.get(icon_default)); //cfm icon
          }
          else {
              return addPermissionIcon(item[columnIndex],CFPluginImages.get(CFPluginImages.ICON_DOCUMENT));
          }
       
    }
   
    private Image addPermissionIcon(Object element, Image image) {
        //int redPixel = image.getImageData().palette.getPixel(new RGB(255,0,0));
        //int greenPixel = image.getImageData().palette.getPixel(new RGB(0,255,0));
        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(254,0,0));
        }
        else if (!canWrite) {
            return CFPluginImages.addOverlay(image,new RGB(0,254,0));
        }
        else {
            return image;
        }
    }
   
   
   
}
TOP

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

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.