+++ /dev/null
-\r
-package eu.etaxonomy.taxeditor.bulkeditor.test;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.eclipse.jface.viewers.ITreeContentProvider;\r
-import org.eclipse.jface.viewers.LabelProvider;\r
-import org.eclipse.jface.viewers.TreeViewer;\r
-import org.eclipse.jface.viewers.Viewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.MouseAdapter;\r
-import org.eclipse.swt.events.MouseEvent;\r
-import org.eclipse.swt.widgets.Button;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.IEditorInput;\r
-import org.eclipse.ui.IPersistableElement;\r
-import org.eclipse.ui.part.ViewPart;\r
-\r
-public class TreeTestView extends ViewPart {\r
- private static final Logger logger = Logger.getLogger(TreeTestView.class);\r
-\r
- public static final String ID = "taxeditor-bulkeditor.view1";\r
- \r
- String addOn = "";\r
- \r
- @Override\r
- public void createPartControl(Composite parent) {\r
- final TreeViewer descriptionViewer = new TreeViewer(parent);\r
-\r
- descriptionViewer.setContentProvider(new TreeContentProvider());\r
- descriptionViewer.setLabelProvider(new TreeLabelProvider());\r
- descriptionViewer.setInput(new TreeInput());\r
- \r
- Button button = new Button(parent, SWT.PUSH);\r
- button.setText("push");\r
- button.addMouseListener(new MouseAdapter() {\r
- /* (non-Javadoc)\r
- * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)\r
- */\r
- @Override\r
- public void mouseUp(MouseEvent e) {\r
- logger.warn("Mouse up, yo");\r
- addOn += "x";\r
- descriptionViewer.refresh(true);\r
- }\r
- });\r
- }\r
-\r
- @Override\r
- public void setFocus() {\r
- // TODO Auto-generated method stub\r
-\r
- }\r
- \r
- class TreeObject {\r
-\r
- public List<TreeObject> children = new ArrayList<TreeObject>();\r
- public String name;\r
- \r
- public TreeObject(String name) {\r
- this.name = name;\r
- }\r
- \r
- public void addChild(TreeObject child) {\r
- children.add(child);\r
- }\r
-\r
- /**\r
- * @return\r
- */\r
- public String getName() {\r
- return name;\r
- }\r
- }\r
- \r
- class TreeContentProvider implements ITreeContentProvider {\r
-\r
- private final Object[] NO_CHILDREN = new Object[0];\r
- \r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)\r
- */\r
- public Object[] getChildren(Object parentElement) {\r
- if (parentElement instanceof TreeInput) {\r
- return ((TreeInput) parentElement).getRoot().toArray();\r
- }\r
- if (parentElement instanceof TreeObject) {\r
- return ((TreeObject) parentElement).children.toArray();\r
- }\r
- return NO_CHILDREN;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)\r
- */\r
- public Object getParent(Object element) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)\r
- */\r
- public boolean hasChildren(Object element) {\r
- return (getChildren(element).length > 0);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)\r
- */\r
- public Object[] getElements(Object inputElement) {\r
- return getChildren(inputElement);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()\r
- */\r
- public void dispose() {\r
- // TODO Auto-generated method stub\r
- \r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
- */\r
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {\r
- // TODO Auto-generated method stub\r
- \r
- }\r
- }\r
- \r
- class TreeInput implements IEditorInput {\r
- \r
- List<TreeObject> rootObjects = new ArrayList<TreeObject>(); \r
- \r
- public TreeInput() {\r
- \r
- TreeObject o1 = new TreeObject("Root 1");\r
- TreeObject o1a = new TreeObject("Root 1 child 1");\r
- TreeObject o1a1 = new TreeObject("Root 1 child 1 grandchild 1");\r
- TreeObject o1a2 = new TreeObject("Root 1 child 1 grandchild 2");\r
- TreeObject o1a3 = new TreeObject("Root 1 child 1 grandchild 3");\r
- TreeObject o1a4 = new TreeObject("Root 1 child 1 grandchild 4");\r
- o1.addChild(o1a);\r
- o1a.addChild(o1a1);\r
- o1a.addChild(o1a2);\r
- o1a.addChild(o1a3);\r
- o1a.addChild(o1a4);\r
-\r
- TreeObject o2 = new TreeObject("Root 2");\r
- TreeObject o2a = new TreeObject("Root 2 child 1");\r
- TreeObject o2b = new TreeObject("Root 2 child 2");\r
- TreeObject o2c = new TreeObject("Root 2 child 3");\r
- o2.addChild(o2a);\r
- o2.addChild(o2b);\r
- o2.addChild(o2c);\r
- \r
- rootObjects.add(o1);\r
- rootObjects.add(o2);\r
- }\r
-\r
- public List<TreeObject> getRoot() {\r
- return rootObjects;\r
- }\r
- \r
- /* (non-Javadoc)\r
- * @see org.eclipse.ui.IEditorInput#exists()\r
- */\r
- public boolean exists() {\r
- // TODO Auto-generated method stub\r
- return false;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.ui.IEditorInput#getImageDescriptor()\r
- */\r
- public ImageDescriptor getImageDescriptor() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.ui.IEditorInput#getName()\r
- */\r
- public String getName() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.ui.IEditorInput#getPersistable()\r
- */\r
- public IPersistableElement getPersistable() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.ui.IEditorInput#getToolTipText()\r
- */\r
- public String getToolTipText() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)\r
- */\r
- public Object getAdapter(Class adapter) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
- }\r
- \r
- class TreeLabelProvider extends LabelProvider {\r
- \r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)\r
- */\r
- @Override\r
- public String getText(Object element) {\r
- return ((TreeObject) element).getName() + addOn;\r
- }\r
- }\r
-}\r