1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-09-10 12:03:16 +02:00

codan: added filter field in the problem configuration page

tree is getting very big. Added tree filter.

Change-Id: I49a0b059c794486178b2ba35bbe42b6131c34888
This commit is contained in:
Alena Laskavaia 2015-03-18 22:54:02 -04:00 committed by Gerrit Code Review @ Eclipse.org
parent 862705bb45
commit 535f49a7db
3 changed files with 24 additions and 2 deletions

View file

@ -212,7 +212,7 @@ public abstract class CheckedTreeEditor extends FieldEditor implements ICheckSta
Tree table = (Tree) getTreeControl(); Tree table = (Tree) getTreeControl();
if (table == null) { if (table == null) {
listParent = parent; listParent = parent;
treeViewer = new CheckboxTreeViewer(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION); treeViewer = doCreateTreeViewer(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
table = treeViewer.getTree(); table = treeViewer.getTree();
table.setFont(parent.getFont()); table.setFont(parent.getFont());
treeViewer.setComparator(new ViewerComparator()); treeViewer.setComparator(new ViewerComparator());
@ -223,6 +223,10 @@ public abstract class CheckedTreeEditor extends FieldEditor implements ICheckSta
return table; return table;
} }
protected CheckboxTreeViewer doCreateTreeViewer(Composite parent, int style) {
return new CheckboxTreeViewer(parent, style);
}
public StructuredViewer getViewer() { public StructuredViewer getViewer() {
return treeViewer; return treeViewer;
} }

View file

@ -153,7 +153,7 @@ public class CodanPreferencePage extends FieldEditorOverlayPage implements IWork
profile = getRegistry().getWorkspaceProfile(); profile = getRegistry().getWorkspaceProfile();
} }
Composite comp = (Composite) super.createContents(parent); Composite comp = (Composite) super.createContents(parent);
createInfoControl(comp); createInfoControl(parent);
return comp; return comp;
} }

View file

@ -32,6 +32,7 @@ import org.eclipse.cdt.codan.internal.ui.ImageConstants;
import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IMarker;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport; import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
import org.eclipse.jface.viewers.ComboBoxCellEditor; import org.eclipse.jface.viewers.ComboBoxCellEditor;
@ -39,12 +40,15 @@ import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.ICheckStateProvider; import org.eclipse.jface.viewers.ICheckStateProvider;
import org.eclipse.jface.viewers.IContentProvider; import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.TreeViewerColumn; import org.eclipse.jface.viewers.TreeViewerColumn;
import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.ToolTip; import org.eclipse.jface.window.ToolTip;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.dialogs.FilteredTree;
import org.eclipse.ui.dialogs.PatternFilter;
public class ProblemsTreeEditor extends CheckedTreeEditor { public class ProblemsTreeEditor extends CheckedTreeEditor {
private static final String EMPTY_STRING = ""; //$NON-NLS-1$ private static final String EMPTY_STRING = ""; //$NON-NLS-1$
@ -382,4 +386,18 @@ public class ProblemsTreeEditor extends CheckedTreeEditor {
} }
return message; return message;
} }
@Override
protected CheckboxTreeViewer doCreateTreeViewer(Composite parent, int style) {
PatternFilter filter = new PatternFilter();
filter.setIncludeLeadingWildcard(true);
FilteredTree filteredTree = new FilteredTree(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION,
filter, true) {
@Override
protected TreeViewer doCreateTreeViewer(Composite parent, int style) {
return new CheckboxTreeViewer(parent, style);
}
};
return (CheckboxTreeViewer) filteredTree.getViewer();
}
} }