1 package oic.simulator.serviceprovider.view.dialogs;
3 import java.util.ArrayList;
4 import java.util.Collections;
7 import oic.simulator.serviceprovider.manager.LogManager;
9 import org.eclipse.jface.dialogs.TrayDialog;
10 import org.eclipse.swt.SWT;
11 import org.eclipse.swt.events.SelectionAdapter;
12 import org.eclipse.swt.events.SelectionEvent;
13 import org.eclipse.swt.layout.GridData;
14 import org.eclipse.swt.layout.GridLayout;
15 import org.eclipse.swt.widgets.Button;
16 import org.eclipse.swt.widgets.Composite;
17 import org.eclipse.swt.widgets.Control;
18 import org.eclipse.swt.widgets.Group;
19 import org.eclipse.swt.widgets.Shell;
21 public class FilterDialog extends TrayDialog {
22 private Map<Integer, Boolean> severities;
24 public FilterDialog(Shell shell, Map<Integer, Boolean> severities) {
26 this.severities = severities;
30 protected void configureShell(Shell shell) {
31 super.configureShell(shell);
35 protected Control createDialogArea(Composite parent) {
36 Composite composite = (Composite) super.createDialogArea(parent);
37 createSeverityGroup(composite);
38 getShell().setText("Filter details");
43 * Dynamically creates a check-box list for severity levels for user to
46 private void createSeverityGroup(Composite parent) {
47 Group group = new Group(parent, SWT.NONE);
48 group.setLayout(new GridLayout());
49 GridData gd = new GridData(GridData.FILL_HORIZONTAL);
51 group.setLayoutData(gd);
52 group.setText("Severity Levels");
54 ArrayList<Integer> arrayList = new ArrayList<Integer>(
56 Collections.sort(arrayList);
57 for (final Integer i : arrayList) {
58 final Button checkbox = new Button(group, SWT.CHECK);
59 checkbox.setText(LogManager.getSeverityName(i));
60 checkbox.setSelection(severities.get(i));
61 checkbox.addSelectionListener(new SelectionAdapter() {
64 public void widgetSelected(SelectionEvent e) {
65 severities.put(i, checkbox.getSelection());
72 public boolean isHelpAvailable() {