1 package org
.argeo
.slc
.client
.ui
.dist
.controllers
;
3 import org
.argeo
.eclipse
.ui
.ErrorFeedback
;
4 import org
.argeo
.slc
.client
.ui
.dist
.DistPlugin
;
5 import org
.argeo
.slc
.client
.ui
.dist
.editors
.DistributionEditor
;
6 import org
.argeo
.slc
.client
.ui
.dist
.editors
.DistributionEditorInput
;
7 import org
.argeo
.slc
.client
.ui
.dist
.model
.WorkspaceElem
;
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
.ui
.PartInitException
;
13 /** Listen to double-clicks */
14 public class DistTreeDoubleClickListener
implements IDoubleClickListener
{
16 public void doubleClick(DoubleClickEvent event
) {
17 if (event
.getSelection() == null || event
.getSelection().isEmpty())
19 Object obj
= ((IStructuredSelection
) event
.getSelection())
21 if (obj
instanceof WorkspaceElem
) {
22 WorkspaceElem we
= (WorkspaceElem
) obj
;
23 DistributionEditorInput dei
= new DistributionEditorInput(we
24 .getRepoElem().getRepository(), we
.getRepoElem()
25 .getCredentials(), we
.getRepoElem().getLabel(), we
26 .getRepoElem().getDescription(), we
.getWorkspaceName());
28 DistPlugin
.getDefault().getWorkbench()
29 .getActiveWorkbenchWindow().getActivePage()
30 .openEditor(dei
, DistributionEditor
.ID
);
31 } catch (PartInitException e
) {
33 "Cannot open editor for " + we
.getWorkspaceName(), e
);