diff options
Diffstat (limited to 'plugins/org.eclipse.emf.eef.runtime/src/org/eclipse/emf/eef/runtime/ui/widgets/EMFModelViewerDialog.java')
-rw-r--r-- | plugins/org.eclipse.emf.eef.runtime/src/org/eclipse/emf/eef/runtime/ui/widgets/EMFModelViewerDialog.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.eef.runtime/src/org/eclipse/emf/eef/runtime/ui/widgets/EMFModelViewerDialog.java b/plugins/org.eclipse.emf.eef.runtime/src/org/eclipse/emf/eef/runtime/ui/widgets/EMFModelViewerDialog.java index b2e2be0bc..d9dcd69b9 100644 --- a/plugins/org.eclipse.emf.eef.runtime/src/org/eclipse/emf/eef/runtime/ui/widgets/EMFModelViewerDialog.java +++ b/plugins/org.eclipse.emf.eef.runtime/src/org/eclipse/emf/eef/runtime/ui/widgets/EMFModelViewerDialog.java @@ -35,6 +35,7 @@ import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.viewers.ViewerComparator; import org.eclipse.jface.viewers.ViewerFilter; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyAdapter; @@ -83,6 +84,10 @@ public abstract class EMFModelViewerDialog extends Dialog { protected Object input; + private ViewerComparator comparator; + + private boolean customComparator; + /** * Constructor. * @@ -109,6 +114,7 @@ public abstract class EMFModelViewerDialog extends Dialog { this.nullable = nullable; this.isMulti = isMulti; setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE); + customComparator = false; } /* @@ -184,7 +190,10 @@ public abstract class EMFModelViewerDialog extends Dialog { }; } elements.setLabelProvider(labelProvider); - elements.setComparator(new EMFModelViewerComparator(labelProvider)); + if (!customComparator) { + comparator = new EMFModelViewerComparator(labelProvider); + } + elements.setComparator(comparator); elements.addDoubleClickListener(new IDoubleClickListener() { @@ -418,4 +427,11 @@ public abstract class EMFModelViewerDialog extends Dialog { return StringTools.EMPTY_STRING; return result; } + + public void setComparator(ViewerComparator comparator) { + this.comparator = comparator; + customComparator = true; + } + + } |