4 package eu
.etaxonomy
.taxeditor
.editor
.view
.concept
.graph
;
6 import org
.eclipse
.jface
.viewers
.ISelection
;
7 import org
.eclipse
.jface
.viewers
.LabelProvider
;
8 import org
.eclipse
.jface
.viewers
.StructuredSelection
;
9 import org
.eclipse
.jface
.viewers
.Viewer
;
10 import org
.eclipse
.swt
.SWT
;
11 import org
.eclipse
.swt
.widgets
.Composite
;
12 import org
.eclipse
.ui
.IEditorInput
;
13 import org
.eclipse
.ui
.IEditorPart
;
14 import org
.eclipse
.ui
.IWorkbenchPart
;
15 import org
.eclipse
.zest
.core
.viewers
.GraphViewer
;
16 import org
.eclipse
.zest
.core
.widgets
.ZestStyles
;
17 import org
.eclipse
.zest
.layouts
.LayoutAlgorithm
;
18 import org
.eclipse
.zest
.layouts
.LayoutStyles
;
19 import org
.eclipse
.zest
.layouts
.algorithms
.TreeLayoutAlgorithm
;
21 import eu
.etaxonomy
.taxeditor
.bulkeditor
.BulkEditor
;
22 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
23 import eu
.etaxonomy
.taxeditor
.editor
.MultiPageTaxonEditor
;
24 import eu
.etaxonomy
.taxeditor
.editor
.key
.AbstractGraphKeyEditor
;
25 import eu
.etaxonomy
.taxeditor
.view
.AbstractCdmEditorViewPart
;
31 public class ConceptGraphView
extends AbstractCdmEditorViewPart
{
33 public static final String ID
= "eu.etaxonomy.taxeditor.editor.view.concept.graph";
35 private GraphViewer viewer
;
36 private LayoutAlgorithm layoutAlgoritm
;
39 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
42 public void selectionChanged(IWorkbenchPart part
, ISelection selection
) {
44 // if(part instanceof ConceptGraphView){
45 // // ConceptGraphView is maximized
49 if(EditorUtil
.getActiveEditor() == null){
54 if(part
instanceof BulkEditor
){
60 if(part
instanceof MultiPageTaxonEditor
){
61 if(! part
.equals(this.part
)){
62 IEditorInput input
= ((IEditorPart
) part
).getEditorInput();
63 showViewer(part
, new StructuredSelection(input
));
71 * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#onComplete()
74 public boolean onComplete() {
80 * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#getViewer()
83 public Viewer
getViewer() {
88 * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
91 public void createViewer(Composite parent
) {
93 viewer
= new GraphViewer(parent
, SWT
.NONE
);
94 getSite().setSelectionProvider(viewer
);
96 viewer
.setContentProvider(new ConceptGraphContentProvider());
97 viewer
.setLabelProvider(new ConceptGraphLabelProvider());
99 viewer
.setConnectionStyle(ZestStyles
.CONNECTIONS_DIRECTED
);
101 viewer
.setLayoutAlgorithm(getLayoutAlgoritm(), false);
110 private LayoutAlgorithm
getLayoutAlgoritm() {
112 if (layoutAlgoritm
== null) {
113 // layoutAlgoritm = new CompositeLayoutAlgorithm(
114 // LayoutStyles.NO_LAYOUT_NODE_RESIZING,
115 // new LayoutAlgorithm[] {
116 // new TreeLayoutAlgorithm(
117 // LayoutStyles.NO_LAYOUT_NODE_RESIZING),
118 // new HorizontalShift(
119 // LayoutStyles.NO_LAYOUT_NODE_RESIZING) });
121 layoutAlgoritm
= new TreeLayoutAlgorithm(
122 LayoutStyles
.NO_LAYOUT_NODE_RESIZING
);
123 layoutAlgoritm
.setEntityAspectRatio(0.5);
125 return layoutAlgoritm
;