diff options
author | Selvasundaram <selvam@gluster.com> | 2011-11-10 08:29:49 +0530 |
---|---|---|
committer | Selvasundaram <selvam@gluster.com> | 2011-11-10 08:34:42 +0530 |
commit | 5db18d827c55d4452b55e8215721b86fbfa49c92 (patch) | |
tree | 680661201773a7b78776f9313fcb640cf555715d /src/com.gluster.storage.management.console/src | |
parent | a7d564e78889cc2ce4950579e09d755be19ee63a (diff) |
Story#65 Task#189 Double click on volume log row will show in a popup dialog
Diffstat (limited to 'src/com.gluster.storage.management.console/src')
2 files changed, 28 insertions, 1 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java index 7f35d332..2790869f 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java @@ -1,14 +1,22 @@ package com.gluster.storage.management.console.views; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.DoubleClickEvent; +import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.part.ViewPart; import com.gluster.storage.management.console.utils.GUIHelper; import com.gluster.storage.management.console.views.pages.VolumeLogsPage; +import com.gluster.storage.management.core.constants.CoreConstants; import com.gluster.storage.management.core.model.Volume; +import com.gluster.storage.management.core.model.VolumeLogMessage; +import com.gluster.storage.management.core.utils.DateUtil; -public class VolumeLogsView extends ViewPart { +public class VolumeLogsView extends ViewPart implements IDoubleClickListener { VolumeLogsPage logsPage; public static final String ID = VolumeLogsView.class.getName(); private static final GUIHelper guiHelper = GUIHelper.getInstance(); @@ -25,6 +33,8 @@ public class VolumeLogsView extends ViewPart { private void createPage(Composite parent) { logsPage = new VolumeLogsPage(parent, SWT.NONE, volume); + logsPage.addDoubleClickListener(this); + parent.layout(); // IMP: lays out the form properly } @@ -32,4 +42,16 @@ public class VolumeLogsView extends ViewPart { public void setFocus() { logsPage.setFocus(); } + + @Override + public void doubleClick(DoubleClickEvent event) { + VolumeLogMessage volumeLogMessage = (VolumeLogMessage) ((StructuredSelection) event.getSelection()) + .getFirstElement(); + String message = DateUtil.formatDate(volumeLogMessage.getTimestamp()) + " " + + DateUtil.formatTime(volumeLogMessage.getTimestamp()) + " [" + volumeLogMessage.getSeverity() + "]" + + CoreConstants.NEWLINE + CoreConstants.NEWLINE + volumeLogMessage.getMessage(); + + new MessageDialog(getSite().getShell(), "Log message from " + volumeLogMessage.getBrick(), GUIHelper + .getInstance().getImage(""), message, MessageDialog.NONE, new String[] { "Close" }, 0).open(); + } }
\ No newline at end of file diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java index e573229c..162160f8 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java @@ -26,6 +26,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.layout.TableColumnLayout; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; @@ -423,4 +424,8 @@ public class VolumeLogsPage extends Composite { calendar.set(Calendar.SECOND, time.getSeconds()); return calendar.getTime(); } + + public void addDoubleClickListener(IDoubleClickListener listener) { + tableViewer.addDoubleClickListener(listener); + } } |