]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/FileIconNameLabelProvider.java
Make CMS wizard more robust
[lgpl/argeo-commons.git] / org.argeo.eclipse.ui / src / org / argeo / eclipse / ui / fs / FileIconNameLabelProvider.java
1 package org.argeo.eclipse.ui.fs;
2
3 import java.nio.file.Files;
4 import java.nio.file.Path;
5
6 import org.eclipse.jface.resource.ImageDescriptor;
7 import org.eclipse.jface.viewers.ColumnLabelProvider;
8 import org.eclipse.swt.graphics.Image;
9
10 /** Basic label provider with icon for NIO file viewers */
11 public class FileIconNameLabelProvider extends ColumnLabelProvider {
12 private static final long serialVersionUID = 8187902187946523148L;
13
14 private Image folderIcon;
15 private Image fileIcon;
16
17 public FileIconNameLabelProvider() {
18 // if (!PlatformUI.isWorkbenchRunning()) {
19 folderIcon = ImageDescriptor.createFromFile(getClass(), "folder.png").createImage();
20 fileIcon = ImageDescriptor.createFromFile(getClass(), "file.png").createImage();
21 // }
22 }
23
24 @Override
25 public void dispose() {
26 if (folderIcon != null)
27 folderIcon.dispose();
28 if (fileIcon != null)
29 fileIcon.dispose();
30 super.dispose();
31 }
32
33 @Override
34 public String getText(Object element) {
35 if (element instanceof Path) {
36 Path curr = ((Path) element);
37 Path name = curr.getFileName();
38 if (name == null)
39 return "[No name]";
40 else
41 return name.toString();
42 } else if (element instanceof ParentDir) {
43 return "..";
44 }
45 return null;
46 }
47
48 @Override
49 public Image getImage(Object element) {
50 if (element instanceof Path) {
51 Path curr = ((Path) element);
52 if (Files.isDirectory(curr))
53 // if (folderIcon != null)
54 return folderIcon;
55 // else
56 // return
57 // PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
58 // else if (fileIcon != null)
59 return fileIcon;
60 // else
61 // return
62 // PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
63 } else if (element instanceof ParentDir) {
64 return folderIcon;
65 }
66 return null;
67 }
68
69 @Override
70 public String getToolTipText(Object element) {
71 if (element instanceof Path) {
72 Path curr = ((Path) element);
73 Path name = curr.getFileName();
74 if (name == null)
75 return "[No name]";
76 else
77 return name.toAbsolutePath().toString();
78 } else if (element instanceof ParentDir) {
79 return ((ParentDir) element).getPath().toAbsolutePath().toString();
80 }
81 return null;
82 }
83
84 }