Bug 124124 [Markers] Group sorting needs criterea other than lexical value
20060117 Lexicial sorting is not good enough for the severity group as we need to sort errors before warnings and the translation of the word error may not appear lexically before warnings. The sorting of groups needs to be the same as the sort order of thier elements. This turns out to be an issue for groups contributed via attributes as well. My suggestion is that allow the group to sort either by attribute value or by name (the default) so that sort order can be supplied by the group contributor. I am including the JDT team as they may want to use this support to determine sort ordering within thier groups.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.activities.ActivityManagerEvent;
import org.eclipse.ui.activities.IActivityManagerListener;
import org.eclipse.ui.internal.ide.IDEInternalPreferences;
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
 * The ProblemView is the view that displays problem markers.
 * 
 */
public class ProblemView extends MarkerView {
	private final static String[] ROOT_TYPES = { IMarker.PROBLEM };
	private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.problem"; 
	private ActionResolveMarker resolveMarkerAction;
	private IActivityManagerListener activityManagerListener;
	private IField severity = new FieldSeverity();
	private IField folder = new FieldFolder();
	private IField resource = new FieldResource();
	private IField message = new FieldMessage();
	private IField lineNumber = new FieldLineNumber();
	private IField creationTime = new FieldCreationTime();
	
	
	private static IField id = new FieldId();
	private class GroupingAction extends Action {