From 198e4a234b55cbaca5288aa2c040513d9cb29cb7 Mon Sep 17 00:00:00 2001 From: jeonghwan kim Date: Fri, 25 Apr 2014 16:38:07 +0900 Subject: [PATCH] ResourcesView : support JPEG format Change-Id: I406fab5338469fbbd191f2dbb8f9ab08363519eb Signed-off-by: jeonghwan kim --- .../ui/views/resources/ResourcesPage.java | 200 ++++++++++++++++++--- .../ui/views/resources/ResourcesView.java | 1 - .../views/resources/ResourcesViewKeyHandler.java | 4 - .../actions/AbstractResourcesViewAction.java | 12 ++ .../ui/views/resources/actions/CopyAction.java | 5 +- .../ui/views/resources/actions/DeleteAction.java | 7 +- .../ui/views/resources/actions/GoIntoAction.java | 4 +- .../ui/views/resources/actions/RenameAction.java | 6 +- .../ui/views/resources/model/Resource.java | 63 +------ .../resources/viewer/ResourcesEntryEditPart.java | 24 +++ .../resources/viewer/ResourcesGroupEditPart.java | 7 +- .../resources/viewer/ResourcesRootEditPart.java | 53 ++++++ .../ui/views/resources/viewer/ResourcesViewer.java | 11 ++ 13 files changed, 281 insertions(+), 116 deletions(-) create mode 100644 org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesRootEditPart.java diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesPage.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesPage.java index f15950d..82bfbd7 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesPage.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesPage.java @@ -52,8 +52,10 @@ import org.eclipse.jface.action.Separator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DropTarget; @@ -61,32 +63,39 @@ import org.eclipse.swt.dnd.FileTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.graphics.ImageLoader; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.program.Program; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.DirectoryDialog; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IFileEditorInput; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.part.Page; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.tizen.common.util.Assert; import org.tizen.common.util.EFSUtil; import org.tizen.webuibuilder.gef.dnd.model.ResourceTemplate; +import org.tizen.webuibuilder.ui.SelectionProvider; import org.tizen.webuibuilder.ui.editor.PageDesigner; import org.tizen.webuibuilder.ui.views.resources.model.Resource; import org.tizen.webuibuilder.ui.views.resources.viewer.ResourcesEntryEditPart; import org.tizen.webuibuilder.ui.views.resources.viewer.ResourcesViewer; -import org.tizen.webuibuilder.utility.ImageUtils; public class ResourcesPage extends Page implements PalettePage, ModifyListener, - ISelectionChangedListener { + ISelectionChangedListener, ISelectionProvider { private static int ITEM_WIDTH = 32; private static int ITEM_HEIGHT = 32; @@ -105,14 +114,11 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, protected Text filterText = null; protected Combo filterCombo = null; - protected PaletteRoot root = null; - protected IProject project = null; protected IFolder currentFolder = null; protected List resources = null; // PageDesigner private PageDesigner pageDesigner = null; - private IFile baseFile = null; // Drag & Drop private TemplateTransferDragSourceListener dragSourceListener = null; @@ -121,9 +127,11 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, private DropTarget dropTarget = null; private ResourcesView view = null; - protected ResourcesViewer viewer = null; + private ResourcesViewer viewer = null; private List selectionActions = new ArrayList(); - protected List displayResources = new LinkedList(); + + private SelectionProvider selectionProvider = new SelectionProvider(); + private static Logger logger = LoggerFactory.getLogger(ResourcesPage.class); public ResourcesPage(ResourcesView view) { super(); @@ -140,12 +148,7 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, protected void setPageDesigner(PageDesigner pageDesigner) { this.pageDesigner = pageDesigner; - IEditorInput input = pageDesigner.getEditorInput(); - if (!(input instanceof IFileEditorInput)) { - return; - } - IFileEditorInput fileInput = (IFileEditorInput) input; - baseFile = fileInput.getFile(); + } protected PageDesigner getPageDesigner() { @@ -153,7 +156,10 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, } protected IFile getBaseFile() { - return baseFile; + IEditorInput input = pageDesigner.getEditorInput(); + Assert.isTrue(input instanceof IFileEditorInput); + IFileEditorInput fileInput = (IFileEditorInput) input; + return fileInput.getFile(); } /* @@ -193,7 +199,7 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, dropTargetListener = new ResourcesViewDropTargetAdapter(this); pageDesignerDnDHooker = new PageDesignerDnDHooker(this); - getSite().setSelectionProvider(viewer); + getSite().setSelectionProvider(this); addListeners(); } @@ -204,8 +210,8 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, */ @Override public void dispose() { - super.dispose(); removeListeners(); + super.dispose(); } protected ActionRegistry getActionRegistry() { @@ -343,12 +349,16 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, private void setInput(IFolder folder) { Assert.notNull(folder); - project = folder.getProject(); currentFolder = folder; resources = getResources(currentFolder); - root = getPaletteRoot(currentFolder, resources); + setInput(resources); + } + + private void setInput(List resources) { + PaletteRoot root = getPaletteRoot(currentFolder, resources); viewer.setPaletteRoot(root); - updateActions(); + viewer.deselectAll(); + refreshViewer(); } /** @@ -368,7 +378,7 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, List resources = new LinkedList(); int folderCount = 0; for (IResource member : members) { - Resource resource = new Resource(baseFile, member); + Resource resource = new Resource(getBaseFile(), member); if (member instanceof IFolder) { resources.add(folderCount, resource); folderCount++; @@ -398,13 +408,17 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, group.setDescription(groupName); for (Resource resource : resources) { String name = resource.getName(); - Image image = resource.getImage(); - image = ImageUtils.resize(image, ITEM_WIDTH, ITEM_HEIGHT); - ImageDescriptor imageDescriptor = ImageDescriptor.createFromImage(image); + IResource iResource = resource.getResource(); + ImageDescriptor imageDescriptor = getImageDescriptor(iResource); + ImageData imageData = imageDescriptor.getImageData(); + ImageData resizedImageData = imageData.scaledTo(ITEM_WIDTH, ITEM_HEIGHT); + ImageDescriptor resizedImageDescriptor = + ImageDescriptor.createFromImageData(resizedImageData); ResourceTemplate template = new ResourceTemplate(resource); CombinedTemplateCreationEntry entry = new CombinedTemplateCreationEntry(name, "", template, template.getFactory(), - imageDescriptor, imageDescriptor); + resizedImageDescriptor, + resizedImageDescriptor); group.add(entry); } root.add(group); @@ -440,6 +454,16 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, */ @Override public void selectionChanged(SelectionChangedEvent event) { + ISelection selection = event.getSelection(); + Assert.isTrue(selection instanceof IStructuredSelection); + IStructuredSelection ss = (IStructuredSelection) selection; + Object object = ss.getFirstElement(); + logger.info(object.getClass().toString()); + if (object instanceof ResourcesEntryEditPart) { + setSelection(selection); + } else { + setSelection(StructuredSelection.EMPTY); + } updateActions(); } @@ -468,7 +492,7 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, } public void goInto() { - ISelection selection = viewer.getSelection(); + ISelection selection = getSelection(); if (!(selection instanceof IStructuredSelection)) { return; } @@ -611,9 +635,127 @@ public class ResourcesPage extends Page implements PalettePage, ModifyListener, } private void runFilters(String exp, String extension) { - displayResources = getRegExpFilteredResources(resources, exp); + List displayResources = getRegExpFilteredResources(resources, exp); displayResources = getExtensionFilteredResources(displayResources, extension); - root = getPaletteRoot(currentFolder, displayResources); - viewer.setPaletteRoot(root); + setInput(displayResources); + } + + protected void refreshViewer() { + // PaletteRoot + PaletteRoot root = viewer.getPaletteRoot(); + List groups = root.getChildren(); + Assert.isTrue(groups.size() == 1); + Object group = groups.get(0); + // PaletteDrawer + Assert.isTrue(group instanceof PaletteDrawer); + PaletteDrawer paletteDrawer = (PaletteDrawer) group; + List entries = paletteDrawer.getChildren(); + for (Object entry : entries) { + Assert.isTrue(entry instanceof CombinedTemplateCreationEntry); + final CombinedTemplateCreationEntry templateEntry = + (CombinedTemplateCreationEntry) entry; + Object template = templateEntry.getTemplate(); + Assert.isTrue(template instanceof ResourceTemplate); + ResourceTemplate resourceTemplate = (ResourceTemplate) template; + Resource resource = resourceTemplate.getResource(); + if (resource.getType() != Resource.IMAGE) { + continue; + } + final IResource iResource = resource.getResource(); + Display.getCurrent().asyncExec(new Runnable() { + /* + * (non-Javadoc) + * + * @see java.lang.Runnable#run() + */ + @Override + public void run() { + ImageLoader imageLoader = new ImageLoader(); + ImageData[] imageData = imageLoader.load(iResource.getLocation().toString()); + ImageData resizedImageData = imageData[0].scaledTo(ITEM_WIDTH, ITEM_HEIGHT); + ImageDescriptor imageDescriptor = + ImageDescriptor.createFromImageData(resizedImageData); + templateEntry.setSmallIcon(imageDescriptor); + templateEntry.setLargeIcon(imageDescriptor); + } + }); + } + } + + private ImageDescriptor getImageDescriptor(IResource resource) { + Assert.notNull(resource); + ImageDescriptor imageDescriptor = null; + if (resource instanceof IFolder) { + imageDescriptor = + PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER); + } else if (resource instanceof IFile) { + IFile file = (IFile) resource; + imageDescriptor = getImageDescriptor(file); + } else { + } + return imageDescriptor; + } + + private ImageDescriptor getImageDescriptor(IFile file) { + Assert.notNull(file); + ImageDescriptor imageDescriptor = null; + String extension = file.getFileExtension(); + Program program = Program.findProgram(extension); + if (program != null) { + imageDescriptor = ImageDescriptor.createFromImageData(program.getImageData()); + } else { + imageDescriptor = + PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_OBJ_FILE); + } + return imageDescriptor; + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection + * ) + */ + @Override + public void setSelection(ISelection selection) { + selectionProvider.setSelection(selection); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() + */ + @Override + public ISelection getSelection() { + return selectionProvider.getSelection(); + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface + * .viewers.ISelectionChangedListener) + */ + @Override + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionProvider.addSelectionChangedListener(listener); + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface + * .viewers.ISelectionChangedListener) + */ + @Override + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionProvider.removeSelectionChangedListener(listener); } + } diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesView.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesView.java index e5f3375..739d60a 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesView.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesView.java @@ -199,7 +199,6 @@ public class ResourcesView extends PageBookView { action = new CopyAction(this); action.setId(ActionFactory.COPY.getId()); - logger.info(ActionFactory.COPY.getId() + " : " + ActionFactory.COPY.getCommandId()); action.setText(ResourcesViewMessages.ACTION_COPY_TITLE); action.setImageDescriptor(getImageDescriptor(ISharedImages.IMG_TOOL_COPY)); getActionRegistry().registerAction(action); diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesViewKeyHandler.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesViewKeyHandler.java index 7ed9513..4cd5999 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesViewKeyHandler.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/ResourcesViewKeyHandler.java @@ -27,12 +27,9 @@ import org.eclipse.gef.ui.palette.PaletteViewer; import org.eclipse.gef.ui.parts.PaletteViewerKeyHandler; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class ResourcesViewKeyHandler extends PaletteViewerKeyHandler { - private static Logger logger = LoggerFactory.getLogger(ResourcesViewKeyHandler.class); private ResourcesPage page = null; public ResourcesViewKeyHandler(ResourcesPage page, PaletteViewer viewer) { @@ -47,7 +44,6 @@ public class ResourcesViewKeyHandler extends PaletteViewerKeyHandler { * org.eclipse.gef.ui.parts.PaletteViewerKeyHandler#keyPressed(org.eclipse.swt.events.KeyEvent) */ public boolean keyPressed(KeyEvent event) { - logger.info(event.toString()); if (acceptGoInto(event)) { goInto(); return true; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/AbstractResourcesViewAction.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/AbstractResourcesViewAction.java index 0fc6369..e3185a2 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/AbstractResourcesViewAction.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/AbstractResourcesViewAction.java @@ -65,6 +65,10 @@ public abstract class AbstractResourcesViewAction extends SelectionAction { */ @Override public boolean calculateEnabled() { + return isActivatePage(); + } + + protected boolean isActivatePage() { ResourcesView view = getParentView(); IPage page = view.getCurrentPage(); if (!(page instanceof ResourcesPage)) { @@ -75,6 +79,14 @@ public abstract class AbstractResourcesViewAction extends SelectionAction { return true; } + protected boolean hasSelectedResources() { + List resources = getSelectedResources(); + if (resources.isEmpty()) { + return false; + } + return true; + } + protected ResourcesView getParentView() { IWorkbenchPart part = getWorkbenchPart(); Assert.isTrue(part instanceof ResourcesView); diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/CopyAction.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/CopyAction.java index efc6c2f..13ed351 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/CopyAction.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/CopyAction.java @@ -23,8 +23,6 @@ package org.tizen.webuibuilder.ui.views.resources.actions; -import java.util.List; - import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.ui.part.IPageSite; @@ -49,8 +47,7 @@ public class CopyAction extends AbstractResourcesViewAction { if (!super.calculateEnabled()) { return false; } - List selectedObjects = getSelectedObjects(); - if (selectedObjects.size() == 0) { + if (!hasSelectedResources()) { return false; } return true; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/DeleteAction.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/DeleteAction.java index 3bb132d..287ec7d 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/DeleteAction.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/DeleteAction.java @@ -23,8 +23,6 @@ package org.tizen.webuibuilder.ui.views.resources.actions; -import java.util.List; - import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.actions.DeleteResourceAction; import org.eclipse.ui.part.IPageSite; @@ -48,10 +46,11 @@ public class DeleteAction extends AbstractResourcesViewAction { if (!super.calculateEnabled()) { return false; } - List selectedObjects = getSelectedObjects(); - if (selectedObjects.size() == 0) { + + if (!hasSelectedResources()) { return false; } + return true; } diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/GoIntoAction.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/GoIntoAction.java index ec40f55..707a74e 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/GoIntoAction.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/GoIntoAction.java @@ -49,11 +49,11 @@ public class GoIntoAction extends AbstractResourcesViewAction { return false; } - List resources = getSelectedResources(); - if (resources.size() == 0) { + if (!hasSelectedResources()) { return false; } + List resources = getSelectedResources(); for (IResource resource : resources) { if (!(resource instanceof IFolder)) { return false; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/RenameAction.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/RenameAction.java index 5685900..e147bbf 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/RenameAction.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/actions/RenameAction.java @@ -23,8 +23,6 @@ package org.tizen.webuibuilder.ui.views.resources.actions; -import java.util.List; - import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.actions.RenameResourceAction; import org.eclipse.ui.part.IPageSite; @@ -49,8 +47,8 @@ public class RenameAction extends AbstractResourcesViewAction { if (!super.calculateEnabled()) { return false; } - List selectedObjects = getSelectedObjects(); - if (selectedObjects.size() == 0) { + + if (!hasSelectedResources()) { return false; } return true; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/model/Resource.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/model/Resource.java index fc0c536..0e01302 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/model/Resource.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/model/Resource.java @@ -26,13 +26,7 @@ package org.tizen.webuibuilder.ui.views.resources.model; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.program.Program; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; import org.tizen.common.util.Assert; @@ -47,7 +41,6 @@ public class Resource { private int type = INVALID; private String name = null; private String description = null; - private Image image = null; private String path = null; private Resource() { @@ -59,7 +52,6 @@ public class Resource { this.resource = resource; this.name = resource.getName(); this.type = getType(resource); - this.image = getImage(resource); this.path = getPath(base, resource); } @@ -79,10 +71,6 @@ public class Resource { return resource; } - public Image getImage() { - return image; - } - public String getPath() { return path; } @@ -125,8 +113,7 @@ public class Resource { if (extension == null) { return false; } - if (extension.equalsIgnoreCase("png") - // || file.getFileExtension().equalsIgnoreCase("jpg") + if (extension.equalsIgnoreCase("png") || file.getFileExtension().equalsIgnoreCase("jpg") || file.getFileExtension().equalsIgnoreCase("ico") || file.getFileExtension().equalsIgnoreCase("bmp") || file.getFileExtension().equalsIgnoreCase("gif")) { @@ -159,52 +146,4 @@ public class Resource { return false; } - private Image getImage(IResource resource) { - Assert.notNull(resource); - Image image = null; - if (resource instanceof IFolder) { - image = - PlatformUI.getWorkbench().getSharedImages() - .getImage(ISharedImages.IMG_OBJ_FOLDER); - } else if (resource instanceof IFile) { - IFile file = (IFile) resource; - image = getImage(file); - } else { - } - return image; - } - - private Image getImage(IFile file) { - Assert.notNull(file); - /* - * create image we have to dispose this image - */ - Image image = null; - if (isImageFile(file)) { - try { - image = new Image(Display.getCurrent(), file.getContents()); - } catch (CoreException e) { - e.printStackTrace(); - return null; - } - } else { - String extension = file.getFileExtension(); - if (extension == null) { - image = - PlatformUI.getWorkbench().getSharedImages() - .getImage(ISharedImages.IMG_OBJ_FILE); - return image; - } - - Program program = Program.findProgram(extension); - if (program != null) { - image = new Image(Display.getCurrent(), program.getImageData()); - } else { - image = - PlatformUI.getWorkbench().getSharedImages() - .getImage(ISharedImages.IMG_OBJ_FILE); - } - } - return image; - } } \ No newline at end of file diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesEntryEditPart.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesEntryEditPart.java index e380a76..8fe4b02 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesEntryEditPart.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesEntryEditPart.java @@ -23,13 +23,37 @@ package org.tizen.webuibuilder.ui.views.resources.viewer; +import org.eclipse.draw2d.IFigure; import org.eclipse.gef.internal.ui.palette.editparts.ToolEntryEditPart; import org.eclipse.gef.palette.PaletteEntry; @SuppressWarnings("restriction") public class ResourcesEntryEditPart extends ToolEntryEditPart { + public ResourcesEntryEditPart(PaletteEntry paletteEntry) { super(paletteEntry); } + + /* + * (non-Javadoc) + * + * @see org.eclipse.gef.internal.ui.palette.editparts.ToolEntryEditPart#createFigure() + */ + @Override + public IFigure createFigure() { + IFigure figure = super.createFigure(); + return figure; + } + + /** + * Get the model element for this palette edit part. + * + * @return the model element. + */ + protected PaletteEntry getPaletteEntry() { + PaletteEntry entry = (PaletteEntry) getModel(); + return entry; + } + } \ No newline at end of file diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesGroupEditPart.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesGroupEditPart.java index 5582c04..a599e28 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesGroupEditPart.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesGroupEditPart.java @@ -43,12 +43,7 @@ public class ResourcesGroupEditPart extends DrawerEditPart { */ @Override public IFigure createFigure() { - ResourcesGroupFigure fig = new ResourcesGroupFigure(getViewer().getControl()) { - @SuppressWarnings("unused") - IFigure buildTooltip() { - return createToolTip(); - } - }; + ResourcesGroupFigure fig = new ResourcesGroupFigure(getViewer().getControl()); fig.setExpanded(getDrawer().isInitiallyOpen()); fig.setPinned(getDrawer().isInitiallyPinned()); fig.getCollapseToggle().addFocusListener(new org.eclipse.draw2d.FocusListener.Stub() { diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesRootEditPart.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesRootEditPart.java new file mode 100644 index 0000000..4cb1ce0 --- /dev/null +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesRootEditPart.java @@ -0,0 +1,53 @@ +/* + * UI Builder + * + * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + + +package org.tizen.webuibuilder.ui.views.resources.viewer; + +import org.eclipse.gef.EditPart; +import org.eclipse.gef.editparts.SimpleRootEditPart; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class ResourcesRootEditPart extends SimpleRootEditPart { + private static Logger logger = LoggerFactory.getLogger(ResourcesRootEditPart.class); + + /* + * (non-Javadoc) + * + * @see org.eclipse.gef.editparts.SimpleRootEditPart#setContents(org.eclipse.gef.EditPart) + */ + @Override + public void setContents(EditPart editpart) { + logger.info(editpart.getClass().toString()); + super.setContents(editpart); + // if (contents == editpart) + // return; + // if (contents != null) + // removeChild(contents); + // contents = editpart; + // if (contents != null) + // addChild(contents, 0); + } + +} diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesViewer.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesViewer.java index c31842c..35fa306 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesViewer.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/resources/viewer/ResourcesViewer.java @@ -30,6 +30,8 @@ import org.eclipse.gef.ui.palette.PaletteViewerPreferences; public class ResourcesViewer extends PaletteViewer { private PaletteViewerPreferences preference = new ResourcesViewerPreferences(); + // private static Logger logger = LoggerFactory.getLogger(ResourcesViewer.class); + public ResourcesViewer() { super(); setEditPartFactory(new ResourcesEditPartFactory()); @@ -56,4 +58,13 @@ public class ResourcesViewer extends PaletteViewer { public void setPaletteViewerPreferences(PaletteViewerPreferences preference) { } + /* + * (non-Javadoc) + * + * @see org.eclipse.gef.ui.palette.PaletteViewer#createDefaultRoot() + */ + protected void createDefaultRoot() { + setRootEditPart(new ResourcesRootEditPart()); + } + } -- 2.7.4