# HG changeset patch # User Frank Benoit # Date 1206921401 -7200 # Node ID cf7413989c653a7a62fcd56d28a1d64f85fcf395 # Parent 6886832e1ed8b543e3018df34fe596efbc5915ba SafeRunnableDialog diff -r 6886832e1ed8 -r cf7413989c65 dwtx/jface/util/SafeRunnableDialog.d --- a/dwtx/jface/util/SafeRunnableDialog.d Mon Mar 31 01:41:52 2008 +0200 +++ b/dwtx/jface/util/SafeRunnableDialog.d Mon Mar 31 01:56:41 2008 +0200 @@ -12,23 +12,8 @@ *******************************************************************************/ module dwtx.jface.util.SafeRunnableDialog; -pragma(msg,"FIXME dwtx.jface.util.SafeRunnableDialog" ); -import dwt.widgets.Shell; -import dwtx.core.runtime.IStatus; -class SafeRunnableDialog{ - this(IStatus status) ; - Shell getShell(); - void create(); - void open(); - void addStatus(IStatus); - void refresh(); -} - -/++ - - -// import java.util.ArrayList; -// import java.util.Collection; +import tango.util.collection.model.Seq; +import tango.util.collection.ArraySeq; import dwt.DWT; import dwt.graphics.Point; @@ -50,6 +35,7 @@ import dwtx.jface.viewers.Viewer; import dwtx.jface.viewers.ViewerCell; import dwtx.jface.viewers.ViewerComparator; +import dwtx.jface.util.Util; import dwt.dwthelper.utils; @@ -62,7 +48,7 @@ private TableViewer statusListViewer; - private Collection statuses = new ArrayList(); + private Seq!(IStatus) statuses; /** * Create a new instance of the receiver on a status. @@ -74,25 +60,25 @@ super(null, JFaceResources.getString("error"), status.getMessage(), //$NON-NLS-1$ status, IStatus.ERROR); - + statuses = new ArraySeq!(IStatus); setShellStyle(DWT.DIALOG_TRIM | DWT.MODELESS | DWT.RESIZE | DWT.MIN | getDefaultOrientation()); setStatus(status); - statuses.add(status); + statuses.append(status); setBlockOnOpen(false); String reason = JFaceResources .getString("SafeRunnableDialog_checkDetailsMessage"); //$NON-NLS-1$ if (status.getException() !is null) { - reason = status.getException().getMessage() is null ? status + reason = status.getException().msg is null ? status .getException().toString() : status.getException() - .getMessage(); + .msg; } this.message = JFaceResources.format(JFaceResources - .getString("SafeRunnableDialog_reason"), new Object[] { //$NON-NLS-1$ - status.getMessage(), reason }); + .getString("SafeRunnableDialog_reason"), [ //$NON-NLS-1$ + status.getMessage(), reason ]); } /** @@ -104,7 +90,7 @@ if (AUTOMATED_MODE) return; - createStatusList((Composite) dialogArea); + createStatusList(cast(Composite) dialogArea); updateEnablements(); } @@ -115,7 +101,7 @@ */ protected Control createDialogArea(Composite parent) { Control area = super.createDialogArea(parent); - createStatusList((Composite) area); + createStatusList(cast(Composite) area); return area; } @@ -187,7 +173,7 @@ statusListViewer.setContentProvider(getStatusContentProvider()); statusListViewer.setLabelProvider(getStatusListLabelProvider()); statusListViewer - .addSelectionChangedListener(new ISelectionChangedListener() { + .addSelectionChangedListener(new class ISelectionChangedListener { public void selectionChanged(SelectionChangedEvent event) { handleSelectionChange(); } @@ -202,14 +188,14 @@ * @return CellLabelProvider */ private CellLabelProvider getStatusListLabelProvider() { - return new CellLabelProvider() { + return new class CellLabelProvider { /* * (non-Javadoc) * * @see dwtx.jface.viewers.CellLabelProvider#update(dwtx.jface.viewers.ViewerCell) */ public void update(ViewerCell cell) { - cell.setText(((IStatus) cell.getElement()).getMessage()); + cell.setText((cast(IStatus) cell.getElement()).getMessage()); } }; @@ -221,14 +207,20 @@ * @return IStructuredContentProvider */ private IStructuredContentProvider getStatusContentProvider() { - return new IStructuredContentProvider() { + return new class IStructuredContentProvider { /* * (non-Javadoc) * * @see dwtx.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ public Object[] getElements(Object inputElement) { - return statuses.toArray(); + Object[] res = new Object[ statuses.size() ]; + int idx; + foreach( st; statuses ){ + res[idx] = cast(Object)st; + idx++; + } + return res; } /* @@ -266,7 +258,7 @@ * @return ViewerSorter */ private ViewerComparator getViewerComparator() { - return new ViewerComparator() { + return new class ViewerComparator { /* * (non-Javadoc) * @@ -274,14 +266,15 @@ * java.lang.Object, java.lang.Object) */ public int compare(Viewer testViewer, Object e1, Object e2) { - String message1 = ((IStatus) e1).getMessage(); - String message2 = ((IStatus) e2).getMessage(); + String message1 = (cast(IStatus) e1).getMessage(); + String message2 = (cast(IStatus) e2).getMessage(); if (message1 is null) return 1; if (message2 is null) return -1; - return message1.compareTo(message2); + //TODO: was compareTo, is this sufficient? + return message1 < message2; } }; } @@ -307,10 +300,10 @@ private IStatus getSingleSelection() { ISelection rawSelection = statusListViewer.getSelection(); if (rawSelection !is null - && rawSelection instanceof IStructuredSelection) { - IStructuredSelection selection = (IStructuredSelection) rawSelection; + && cast(IStructuredSelection)rawSelection ) { + IStructuredSelection selection = cast(IStructuredSelection) rawSelection; if (selection.size() is 1) { - return (IStatus) selection.getFirstElement(); + return cast(IStatus) selection.getFirstElement(); } } return null; @@ -341,11 +334,10 @@ * @param status */ public void addStatus(IStatus status) { - statuses.add(status); + statuses.append(status); refresh(); } } -++/ \ No newline at end of file diff -r 6886832e1ed8 -r cf7413989c65 dwtx/jface/viewers/ColumnViewer.d --- a/dwtx/jface/viewers/ColumnViewer.d Mon Mar 31 01:41:52 2008 +0200 +++ b/dwtx/jface/viewers/ColumnViewer.d Mon Mar 31 01:56:41 2008 +0200 @@ -59,6 +59,7 @@ public abstract class ColumnViewer : StructuredViewer { alias StructuredViewer.getLabelProvider getLabelProvider; + alias StructuredViewer.refresh refresh; private CellEditor[] cellEditors; diff -r 6886832e1ed8 -r cf7413989c65 dwtx/jface/viewers/TableViewer.d --- a/dwtx/jface/viewers/TableViewer.d Mon Mar 31 01:41:52 2008 +0200 +++ b/dwtx/jface/viewers/TableViewer.d Mon Mar 31 01:56:41 2008 +0200 @@ -72,6 +72,7 @@ public class TableViewer : AbstractTableViewer { public alias AbstractTableViewer.preservingSelection preservingSelection; + public alias AbstractTableViewer.refresh refresh; /** * This viewer's table control.