[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/util ...
Robert Stryker
rawblem at gmail.com
Fri Jan 12 16:42:28 EST 2007
User: rawb
Date: 07/01/12 16:42:28
Added: core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/util
FilesetPreviewComposite.java
Log:
Pulled out the preview composite
Revision Changes Path
1.1 date: 2007/01/12 21:42:28; author: rawb; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/util/FilesetPreviewComposite.java
Index: FilesetPreviewComposite.java
===================================================================
/**
* JBoss, a Division of Red Hat
* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.ide.eclipse.packages.ui.util;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.ide.IDE;
/**
*
* @author rob.stryker at jboss.com
*/
public class FilesetPreviewComposite extends Composite {
private IContainer container;
private IPath folder;
private TableViewer previewTable;
public FilesetPreviewComposite (Composite parent, int style)
{
super(parent, style);
setLayout(new GridLayout(1, false));
previewTable = new TableViewer(parent, SWT.BORDER);
previewTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
previewTable.setContentProvider(new ArrayContentProvider());
previewTable.setLabelProvider(new ResourceLabelProvider());
}
public FilesetPreviewComposite (Composite parent)
{
this(parent, SWT.NONE);
}
public void setInput(Object[] o) {
previewTable.setInput(o);
}
public void setEnabled(boolean bool) {
previewTable.getTable().setEnabled(bool);
}
public void clearAll() {
previewTable.getTable().clearAll();
}
public void setRootContainer(IContainer container) {
this.container = container;
}
public void setRootFolder(IPath folder) {
this.folder = folder;
}
private IPath getContainerRelativePath(IContainer container, IResource resource)
{
String path = "";
IContainer parent = resource.getParent();
while (parent != null)
{
if (parent.equals(container))
{
break;
}
path = parent.getName() + "/" + path;
parent = parent.getParent();
}
path += (path.length() == 0 ? "" : "/") + resource.getName();
return new Path(path);
}
private String getFolderRelativePath(IPath root, IPath resource) {
IPath out = resource.removeFirstSegments(resource.matchingFirstSegments(root));
String out2 = "";
for( int i = 0; i < out.segmentCount(); i++ ) {
out2 += Path.SEPARATOR + out.segment(i);
}
return out2;
}
private class ResourceLabelProvider implements ILabelProvider
{
public Image getImage(Object element) {
if (element instanceof IResource)
{
IResource resource = (IResource) element;
if (resource.getType() == IResource.PROJECT)
{
return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
}
else if (resource.getType() == IResource.FOLDER)
{
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
}
else if (resource.getType() == IResource.FILE)
{
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
}
} else if (element instanceof IPath) {
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
}
return null;
}
public String getText(Object element) {
if (element instanceof IResource)
{
return getContainerRelativePath(container, (IResource)element).toString();
} else if (element instanceof IPath) {
return folder == null ? ((IPath)element).toString() : getFolderRelativePath(folder, (IPath)element);
}
return "";
}
public void addListener(ILabelProviderListener listener) {}
public void dispose() {}
public boolean isLabelProperty(Object element, String property) {
return true;
}
public void removeListener(ILabelProviderListener listener) { }
}
}
More information about the jboss-cvs-commits
mailing list