]> git.argeo.org Git - lgpl/argeo-commons.git/blob - GenericDoubleClickListener.java
1a898b7a451fe5c37fcbba15e74870b76bd7dc7b
[lgpl/argeo-commons.git] / GenericDoubleClickListener.java
1 package org.argeo.demo.i18n.utils;
2
3 import org.argeo.ArgeoException;
4 import org.argeo.demo.i18n.I18nDemoPlugin;
5 import org.argeo.demo.i18n.editors.SimpleMultitabEditor;
6 import org.argeo.demo.i18n.editors.SimpleMultitabEditorInput;
7 import org.argeo.eclipse.ui.TreeParent;
8 import org.eclipse.jface.viewers.DoubleClickEvent;
9 import org.eclipse.jface.viewers.IDoubleClickListener;
10 import org.eclipse.jface.viewers.IStructuredSelection;
11 import org.eclipse.jface.viewers.TreeViewer;
12 import org.eclipse.ui.PartInitException;
13
14 /**
15 * Centralizes the management of double click on a NodeTreeViewer
16 */
17 public class GenericDoubleClickListener implements IDoubleClickListener {
18
19 // private final static Log log = LogFactory
20 // .getLog(GenericDoubleClickListener.class);
21
22 // private TreeViewer treeViewer;
23
24 public GenericDoubleClickListener(TreeViewer treeViewer) {
25 // this.treeViewer = treeViewer;
26 }
27
28 public void doubleClick(DoubleClickEvent event) {
29 Object obj = ((IStructuredSelection) event.getSelection())
30 .getFirstElement();
31 if (obj instanceof TreeParent) {
32 try {
33 TreeParent tp = (TreeParent) obj;
34 // open an editor
35 SimpleMultitabEditorInput smei = new SimpleMultitabEditorInput(
36 tp.getName());
37 I18nDemoPlugin.getDefault().getWorkbench()
38 .getActiveWorkbenchWindow().getActivePage()
39 .openEditor(smei, SimpleMultitabEditor.ID);
40 } catch (PartInitException pie) {
41 throw new ArgeoException(
42 "Unexpected exception while opening node editor", pie);
43 }
44 }
45 // else do nothing
46 }
47 }