4 package eu
.etaxonomy
.taxeditor
.editor
.view
.concept
.graph
;
6 import org
.eclipse
.jface
.viewers
.ISelection
;
7 import org
.eclipse
.jface
.viewers
.StructuredSelection
;
8 import org
.eclipse
.jface
.viewers
.Viewer
;
9 import org
.eclipse
.swt
.SWT
;
10 import org
.eclipse
.swt
.widgets
.Composite
;
11 import org
.eclipse
.ui
.IEditorInput
;
12 import org
.eclipse
.ui
.IEditorPart
;
13 import org
.eclipse
.ui
.IWorkbenchPart
;
14 import org
.eclipse
.zest
.core
.viewers
.GraphViewer
;
15 import org
.eclipse
.zest
.core
.widgets
.ZestStyles
;
16 import org
.eclipse
.zest
.layouts
.LayoutAlgorithm
;
17 import org
.eclipse
.zest
.layouts
.LayoutStyles
;
18 import org
.eclipse
.zest
.layouts
.algorithms
.TreeLayoutAlgorithm
;
20 import eu
.etaxonomy
.taxeditor
.bulkeditor
.BulkEditor
;
21 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
22 import eu
.etaxonomy
.taxeditor
.editor
.Messages
;
23 import eu
.etaxonomy
.taxeditor
.editor
.MultiPageTaxonEditor
;
24 import eu
.etaxonomy
.taxeditor
.view
.AbstractCdmEditorViewPart
;
30 public class ConceptGraphView
extends AbstractCdmEditorViewPart
{
32 public static final String ID
= "eu.etaxonomy.taxeditor.editor.view.concept.graph"; //$NON-NLS-1$
34 private GraphViewer viewer
;
35 private LayoutAlgorithm layoutAlgoritm
;
38 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
41 protected void selectionChanged_internal(IWorkbenchPart part
, ISelection selection
) {
43 // if(part instanceof ConceptGraphView){
44 // // ConceptGraphView is maximized
48 if(EditorUtil
.getActiveEditor() == null){
53 if(part
instanceof BulkEditor
){
59 if(part
instanceof MultiPageTaxonEditor
){
60 if(! part
.equals(this.part
)){
61 IEditorInput input
= ((IEditorPart
) part
).getEditorInput();
62 showViewer(part
, new StructuredSelection(input
));
70 * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#onComplete()
73 public boolean onComplete() {
79 * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#getViewer()
82 public Viewer
getViewer() {
87 * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
90 public void createViewer(Composite parent
) {
92 viewer
= new GraphViewer(parent
, SWT
.NONE
);
93 getSite().setSelectionProvider(viewer
);
95 viewer
.setContentProvider(new ConceptGraphContentProvider());
96 viewer
.setLabelProvider(new ConceptGraphLabelProvider());
98 viewer
.setConnectionStyle(ZestStyles
.CONNECTIONS_DIRECTED
);
100 viewer
.setLayoutAlgorithm(getLayoutAlgoritm(), false);
109 private LayoutAlgorithm
getLayoutAlgoritm() {
111 if (layoutAlgoritm
== null) {
112 // layoutAlgoritm = new CompositeLayoutAlgorithm(
113 // LayoutStyles.NO_LAYOUT_NODE_RESIZING,
114 // new LayoutAlgorithm[] {
115 // new TreeLayoutAlgorithm(
116 // LayoutStyles.NO_LAYOUT_NODE_RESIZING),
117 // new HorizontalShift(
118 // LayoutStyles.NO_LAYOUT_NODE_RESIZING) });
120 layoutAlgoritm
= new TreeLayoutAlgorithm(
121 LayoutStyles
.NO_LAYOUT_NODE_RESIZING
);
122 layoutAlgoritm
.setEntityAspectRatio(0.5);
124 return layoutAlgoritm
;
128 protected String
getViewName() {
129 return Messages
.ConceptGraphView_VIEWER_NAME
;