Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java18
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;
+ }
+
+
}

Back to the top