diff options
| author | Robert Gemmell <robbie@apache.org> | 2009-07-24 14:54:50 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2009-07-24 14:54:50 +0000 |
| commit | e6c831a5d033f304d1f81944a6e8a3e7403d245a (patch) | |
| tree | 9786b348915179ecdca4c73a44a19601a9d40ff5 /java/management/eclipse-plugin | |
| parent | 5d9ed6c500752b636ff2e1e39b70f9399f8b27ed (diff) | |
| download | qpid-python-e6c831a5d033f304d1f81944a6e8a3e7403d245a.tar.gz | |
QPID-2006: enable double click to open a Queue/Exchange directly from the VirtualHostManager mbean view
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@797508 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin')
| -rw-r--r-- | java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java index d12a0afeef..dae8d8d067 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java @@ -25,6 +25,7 @@ import static org.apache.qpid.management.ui.Constants.DEFAULT_EXCHANGE_TYPE_VALU import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Map; import javax.management.MBeanServerConnection; import javax.management.MBeanServerInvocationHandler; @@ -48,6 +49,8 @@ import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerSorter; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; @@ -62,6 +65,8 @@ import org.eclipse.swt.widgets.TabFolder; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.forms.widgets.Form; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -243,6 +248,18 @@ public class VHostTabControl extends TabControl } }); + //listener for double clicking to open the selection mbean + _queueTable.addMouseListener(new MouseListener() + { + // MouseListener implementation + public void mouseDoubleClick(MouseEvent event) + { + openMBean(_queueTable); + } + + public void mouseDown(MouseEvent e){} + public void mouseUp(MouseEvent e){} + }); Group exchangesGroup = new Group(_paramsComposite, SWT.SHADOW_NONE); exchangesGroup.setBackground(_paramsComposite.getBackground()); @@ -340,6 +357,18 @@ public class VHostTabControl extends TabControl } }); + //listener for double clicking to open the selection mbean + _exchangeTable.addMouseListener(new MouseListener() + { + // MouseListener implementation + public void mouseDoubleClick(MouseEvent event) + { + openMBean(_exchangeTable); + } + + public void mouseDown(MouseEvent e){} + public void mouseUp(MouseEvent e){} + }); } @@ -807,4 +836,26 @@ public class VHostTabControl extends TabControl DELETE_EXCHANGE; } + private void openMBean(Table table) + { + int selectionIndex = table.getSelectionIndex(); + + if (selectionIndex == -1) + { + return; + } + + ManagedBean selectedMBean = (ManagedBean) table.getItem(selectionIndex).getData(); + + IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + MBeanView view = (MBeanView) window.getActivePage().findView(MBeanView.ID); + try + { + view.openMBean(selectedMBean); + } + catch (Exception ex) + { + MBeanUtility.handleException(selectedMBean, ex); + } + } } |
