Skip to content
Snippets Groups Projects
Commit ab9c45e6 authored by Johannes Eder's avatar Johannes Eder
Browse files

edited Library View

parent b9bb5d8c
No related branches found
No related tags found
No related merge requests found
......@@ -47,7 +47,7 @@ public class PrototypeService implements IPrototypeService {
private static final String CONFIGURATION_ELEMENT_NAME = "modelPrototypeProvider";
/** Stores the registered prototype providers. */
private final List<IPrototypeProvider> prototypeList = new ArrayList<IPrototypeProvider>();
private final List<IPrototypeProvider> prototypeProviderList = new ArrayList<IPrototypeProvider>();
/** Constructor. */
public PrototypeService() {
......@@ -65,7 +65,7 @@ public class PrototypeService implements IPrototypeService {
ce.getAttribute("provider"), bundle);
IPrototypeProvider provider = (IPrototypeProvider) handlerClass
.getConstructor().newInstance();
prototypeList.add(provider);
prototypeProviderList.add(provider);
} catch (Exception ex) {
LoggingUtils.error(ToolingKernelActivator.getDefault(),
ex.getMessage(), ex);
......@@ -76,6 +76,16 @@ public class PrototypeService implements IPrototypeService {
/** {@inheritDoc} */
@Override
public UnmodifiableList<IPrototypeProvider> getPrototypeProviders() {
return CollectionUtils.asUnmodifiable(prototypeList);
return CollectionUtils.asUnmodifiable(prototypeProviderList);
}
/** {@inheritDoc} */
@Override
public UnmodifiableList<Prototype> getAllPrototypes() {
List<Prototype> result = new ArrayList<Prototype>();
for (IPrototypeProvider provider : prototypeProviderList) {
result.addAll(provider.getPrototypes());
}
return CollectionUtils.asUnmodifiable(result);
}
}
......@@ -17,23 +17,22 @@ $Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.kernel.internal.views;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.dnd.TemplateTransfer;
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.dialogs.FilteredTree;
import org.eclipse.ui.dialogs.PatternFilter;
import org.eclipse.ui.part.ViewPart;
import org.fortiss.tooling.kernel.internal.editor.BindingEditor;
import org.fortiss.tooling.kernel.services.IPrototypeService;
import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype;
/**
*
......@@ -44,42 +43,13 @@ import org.fortiss.tooling.kernel.services.IPrototypeService;
*/
public class LibraryView extends ViewPart {
/** Used to show the filter box */
private FilteredTree filteredTree;
TreeViewer viewer;
/** Library Viewer */
private TreeViewer viewer;
/** Listens to Editor Activations */
// TODO (JE): implement EditorActivationListener
// private final EditorActivationListener editorActivationListener = new
// EditorActivationListener();
/** Current active {@link BindingEditor}. */
private BindingEditor activeBindingEditor;
/** The container object used. */
private EObject containerObject = null;
FilteredTree filteredTree;
/** {@inheritDoc} */
@Override
public void createPartControl(Composite parent) {
viewer = new TreeViewer(parent);
IWorkbenchPage page = getViewSite().getWorkbenchWindow()
.getActivePage();
// if (page != null) { switchWorkbenchEditor(page.getActiveEditor()); }
getViewSite().setSelectionProvider(viewer);
// getSite().getWorkbenchWindow().getPartService()
// .addPartListener(editorActivationListener);
}
/** creates the viewer */
public void createViewer(Composite parent) {
PatternFilter patternFilter = new PatternFilter();
patternFilter.setIncludeLeadingWildcard(true);
......@@ -90,30 +60,21 @@ public class LibraryView extends ViewPart {
viewer.setContentProvider(new ITreeContentProvider() {
@Override
public void inputChanged(Viewer viewer, Object oldInput,
Object newInput) {
public Object[] getChildren(Object parentElement) {
// TODO Auto-generated method stub
return null;
}
@Override
public void dispose() {
// TODO Auto-generated method stub
public Object getParent(Object element) {
return null;
}
@Override
public boolean hasChildren(Object element) {
// TODO Auto-generated method stub
return false;
}
@Override
public Object getParent(Object element) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object[] getElements(Object inputElement) {
if (inputElement instanceof Object[]) {
......@@ -123,36 +84,38 @@ public class LibraryView extends ViewPart {
}
@Override
public Object[] getChildren(Object parentElement) {
public void dispose() {
// TODO Auto-generated method stub
return null;
}
});
viewer.setLabelProvider(new LabelProvider());
@Override
public void inputChanged(Viewer viewer, Object oldInput,
Object newInput) {
// TODO Auto-generated method stub
}
});
viewer.setLabelProvider(new LibraryLabelProvider());
viewer.addDragSupport(DND.DROP_COPY,
new Transfer[] { TemplateTransfer.getInstance(),
LocalSelectionTransfer.getTransfer() },
new EObjectDragSourceListener(viewer));
// viewer.setInput(PrototypeMananger.getInstance().getPrototypes()
// .toArray());
viewer.setInput(IPrototypeService.INSTANCE.getAllPrototypes().toArray());
viewer.setInput(IPrototypeService.INSTANCE.getPrototypeProviders()
.toArray());
viewer.addFilter(new ViewerFilter() {
/*
* viewer.addFilter(new ViewerFilter() {
*
* @Override public boolean select(Viewer viewer, Object parentElement,
* Object element) { if (element instanceof Prototype) { EObject
* prototypeObject = ((Prototype) element) .getPrototype(); //
* CompositorManager // return
* CompositionManager.getInstance().canCompose( // containerObject,
* prototypeObject, null); } return false; } });
*/
@Override
public boolean select(Viewer viewer, Object parentElement,
Object element) {
// TODO Auto-generated method stub
return true;
}
});
getViewSite().setSelectionProvider(viewer);
}
/** {@inheritDoc} */
......@@ -161,4 +124,25 @@ public class LibraryView extends ViewPart {
viewer.getControl().setFocus();
}
/** The label provider used here-in. */
private class LibraryLabelProvider extends LabelProvider {
/** {@inheritDoc} */
@Override
public String getText(Object element) {
if (element instanceof Prototype) {
Prototype prototype = (Prototype) element;
return prototype.getName();
}
return super.getText(element);
}
// TODO (JE): getImage
/*
* @Override public Image getImage(Object element) { if (element
* instanceof Prototype) { Prototype prototype = (Prototype) element;
* return ModelElementService.getInstance().getImage(
* prototype.getPrototypeObject()); } return super.getImage(element); }
*/
}
}
......@@ -40,6 +40,9 @@ public interface IPrototypeService {
/** Returns the list of all registered prototype providers. */
UnmodifiableList<IPrototypeProvider> getPrototypeProviders();
/** Returns the list of all prototypes registered any provider. */
UnmodifiableList<Prototype> getAllPrototypes();
/**
* Prototypes consist of a generic description and preconfigured
* {@link EObject}.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment