1 package org
.argeo
.demo
.i18n
.utils
;
3 import org
.apache
.commons
.logging
.Log
;
4 import org
.apache
.commons
.logging
.LogFactory
;
5 import org
.argeo
.ArgeoException
;
6 import org
.argeo
.demo
.i18n
.I18nDemoPlugin
;
7 import org
.argeo
.demo
.i18n
.editors
.SimpleMultitabEditor
;
8 import org
.argeo
.demo
.i18n
.editors
.SimpleMultitabEditorInput
;
9 import org
.argeo
.eclipse
.ui
.TreeParent
;
10 import org
.eclipse
.jface
.viewers
.DoubleClickEvent
;
11 import org
.eclipse
.jface
.viewers
.IDoubleClickListener
;
12 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
13 import org
.eclipse
.jface
.viewers
.TreeViewer
;
14 import org
.eclipse
.ui
.PartInitException
;
17 * Centralizes the management of double click on a NodeTreeViewer
19 public class GenericDoubleClickListener
implements IDoubleClickListener
{
21 private final static Log log
= LogFactory
22 .getLog(GenericDoubleClickListener
.class);
24 private TreeViewer treeViewer
;
26 public GenericDoubleClickListener(TreeViewer treeViewer
) {
27 this.treeViewer
= treeViewer
;
30 public void doubleClick(DoubleClickEvent event
) {
31 Object obj
= ((IStructuredSelection
) event
.getSelection())
33 if (obj
instanceof TreeParent
) {
35 TreeParent tp
= (TreeParent
) obj
;
37 SimpleMultitabEditorInput smei
= new SimpleMultitabEditorInput(
39 I18nDemoPlugin
.getDefault().getWorkbench()
40 .getActiveWorkbenchWindow().getActivePage()
41 .openEditor(smei
, SimpleMultitabEditor
.ID
);
42 } catch (PartInitException pie
) {
43 throw new ArgeoException(
44 "Unexpected exception while opening node editor", pie
);