Changeset 1485 for trunk


Ignore:
Timestamp:
04/13/12 12:36:21 (12 years ago)
Author:
wschamai
Message:

MOD: decoration of "code-sync" folder icon

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modelicaml/org.openmodelica.modelicaml.modelica.importer/src/org/openmodelica/modelicaml/modelica/importer/display/ViewLabelProviderStyledCell.java

    r1221 r1485  
    3535package org.openmodelica.modelicaml.modelica.importer.display;
    3636
     37import java.io.File;
    3738import java.util.HashSet;
    3839
     
    7475
    7576public class ViewLabelProviderStyledCell extends StyledCellLabelProvider {
    76    
    77     private String projectName = "";
     77    private static final String unknownProjectName = "? Project name is unknown";
     78    private String projectName = unknownProjectName;
    7879   
    7980    private boolean decorateItem = false;
     
    115116    @Override
    116117    public void update(ViewerCell cell) {
     118       
    117119        String treeItemText = "";
    118120        Object obj = cell.getElement();
     
    163165            // for the root (folder) add the project name
    164166            if (obj instanceof TreeParent && ((TreeParent)obj).getName().equals(Constants.folderName_code_sync) ) {
    165                 styledString.append(" - " + getProjectName(), stylerGrey);
    166                 treeItemText = treeItemText + " - " + getProjectName();
     167                if (codeSyncFolderExists()) {
     168                    styledString.append(" - " + getProjectName(), stylerGrey);
     169                    treeItemText = treeItemText + " - " + getProjectName();
     170                }
     171                else {
     172                    styledString.append(" - Folder does not exist in " + getProjectName(), stylerRed);
     173                    treeItemText = treeItemText + " - Folder does not exist in " + getProjectName();
     174                }
    167175            }
    168176           
     
    190198       
    191199       
    192        
    193200        // set image
    194201        if ( obj instanceof TreeObject  ){
     
    294301    }
    295302   
     303   
     304    private boolean codeSyncFolderExists(){
     305        if (!getProjectName().equals(unknownProjectName)) {
     306            IWorkspace workspace = ResourcesPlugin.getWorkspace();
     307            IWorkspaceRoot root = workspace.getRoot();
     308            IProject iProject = root.getProject(getProjectName());
     309            String projectAbsolutePath = iProject.getLocationURI().toString().replaceFirst("file:\\/", "");
     310            String codeIncAbsolutePath = projectAbsolutePath+"/"+Constants.folderName_code_sync + "/";
     311
     312            File codeSyncFolder = new File(codeIncAbsolutePath);
     313            boolean exists = codeSyncFolder.exists();
     314           
     315            return exists;
     316        }
     317       
     318        // in case the project is not known yet -> do not display an error.
     319        return true;
     320    }
     321   
    296322    private void setImage(TreeObject treeObject){
    297323       
     
    299325        if ( treeObject.getName().equals(Constants.folderName_code_sync)) {
    300326//          overlayIconImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
    301             overlayIconImage = ResourceManager.decorateImage(
    302                     PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER),
    303                     ResourceManager.getImage(Activator.class, "/icons/sync_ovr.gif"));
     327           
     328            if (codeSyncFolderExists()) {
     329                overlayIconImage = ResourceManager.decorateImage(
     330                        PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER),
     331                        ResourceManager.getImage(Activator.class, "/icons/sync_ovr.gif"));
     332            }
     333            else {
     334                // decorate with error
     335                overlayIconImage = ResourceManager.decorateImage(
     336                        PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER),
     337                        PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEC_FIELD_ERROR));
     338            }
    304339        }
    305340       
Note: See TracChangeset for help on using the changeset viewer.