Example usage for org.eclipse.jface.viewers CheckboxTableViewer newCheckList

List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer newCheckList

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTableViewer newCheckList.

Prototype

public static CheckboxTableViewer newCheckList(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:org.eclipse.team.svn.ui.panel.ListSelectionPanel.java

License:Open Source License

protected CheckboxTableViewer createViewer(Composite parent) {
    if (!this.multipleColumns) {
        return CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    }//from w  ww.jav  a 2  s . c o  m
    Table table = new Table(parent, SWT.CHECK | SWT.BORDER);
    table.setLinesVisible(true);
    GridData data = new GridData(GridData.FILL_BOTH);
    table.setLayoutData(data);

    TableLayout layout = new TableLayout();
    table.setLayout(layout);

    // resource name
    TableColumn col = new TableColumn(table, SWT.NONE);
    col.setResizable(true);
    col.setText(SVNUIMessages.ListSelectionPanel_Resource);
    layout.addColumnData(new ColumnWeightData(60, true));

    // local presentation
    col = new TableColumn(table, SWT.NONE);
    col.setResizable(true);
    col.setText(SVNUIMessages.ListSelectionPanel_LocalPresentation);
    layout.addColumnData(new ColumnWeightData(40, true));

    return new CheckboxTableViewer(table);
}

From source file:org.eclipse.team.svn.ui.panel.view.property.PropertyKeywordEditPanel.java

License:Open Source License

public void createControlsImpl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.marginHeight = layout.marginWidth = 0;
    composite.setLayout(layout);/*from  www  .j a  v a2 s .  c o  m*/
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    this.checkboxViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);
    GridData data = new GridData(GridData.FILL_BOTH);
    this.checkboxViewer.getTable().setLayoutData(data);

    TableLayout tlayout = new TableLayout();
    this.checkboxViewer.getTable().setLayout(tlayout);

    TableColumn column = new TableColumn(this.checkboxViewer.getTable(), SWT.LEFT);
    column.setText(SVNUIMessages.PropertyKeywordEditPanel_Keyword);
    tlayout.addColumnData(new ColumnWeightData(20, true));

    column = new TableColumn(this.checkboxViewer.getTable(), SWT.LEFT);
    column.setText(SVNUIMessages.PropertyKeywordEditPanel_Description1);
    tlayout.addColumnData(new ColumnWeightData(50, true));

    column = new TableColumn(this.checkboxViewer.getTable(), SWT.LEFT);
    column.setText(SVNUIMessages.PropertyKeywordEditPanel_Sample);
    tlayout.addColumnData(new ColumnWeightData(30, true));

    KeywordTableElement[] elements = new KeywordTableElement[] { this.dateElement, this.revisionElement,
            this.lastChangedByElement, this.headUrlElement, this.idElement, this.headerElement };

    this.checkboxViewer.setContentProvider(new ArrayStructuredContentProvider());

    this.checkboxViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            KeywordTableElement element = (KeywordTableElement) event.getElement();

            if (element.getCurrentState() == KeywordTableElement.DESELECTED) {
                element.setCurrentState(KeywordTableElement.SELECTED);
            } else if ((element.getCurrentState() == KeywordTableElement.SELECTED)
                    && (element.getInitialState() == KeywordTableElement.MIXED)) {
                element.setCurrentState(KeywordTableElement.MIXED);
            } else {
                element.setCurrentState(KeywordTableElement.DESELECTED);
            }
            PropertyKeywordEditPanel.this.refreshCheckboxState(element);
        }
    });

    this.checkboxViewer.setLabelProvider(new ITableLabelProvider() {
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            KeywordTableElement keyElement = (KeywordTableElement) element;
            switch (columnIndex) {
            case 0: {
                return keyElement.getName();
            }
            case 1: {
                return keyElement.getDescription();
            }
            case 2: {
                return keyElement.getSample();
            }
            default: {
                return ""; //$NON-NLS-1$
            }
            }
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });

    this.checkboxViewer.setInput(elements);
    this.checkboxViewer.getTable().setHeaderVisible(true);

    this.addSelectionButtons(composite);

    if (this.recursionEnabled || this.selectedResources.length > 1) {
        Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
        separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
        separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        separator.setVisible(false);

        Composite subComposite = new Composite(composite, SWT.NONE);
        layout = new GridLayout();
        layout.marginHeight = layout.marginWidth = 0;
        layout.numColumns = 2;
        subComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        subComposite.setLayout(layout);

        Composite maskComposite = new Composite(subComposite, SWT.NONE);
        layout = new GridLayout();
        layout.marginHeight = layout.marginWidth = 0;
        layout.numColumns = 2;
        maskComposite.setLayout(layout);
        maskComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        this.useMaskCheckbox = new Button(maskComposite, SWT.CHECK);
        this.useMaskCheckbox.setText(SVNUIMessages.PropertyKeywordEditPanel_UseMask);
        this.maskHistory = new UserInputHistory("keywordsEditPanel"); //$NON-NLS-1$
        this.maskText = new Combo(maskComposite, SWT.BORDER);
        this.maskText.setItems(this.maskHistory.getHistory());
        if (this.maskText.getItemCount() == 0) {
            this.maskText.setText("*"); //$NON-NLS-1$
        } else {
            this.maskText.select(0);
        }
        Listener maskTextListener = new Listener() {
            public void handleEvent(Event event) {
                PropertyKeywordEditPanel.this.checkboxViewer.setAllGrayed(false);
                PropertyKeywordEditPanel.this.changeMixedElementsToChecked();
            }
        };
        this.maskText.addListener(SWT.Selection, maskTextListener);
        this.maskText.addListener(SWT.Modify, maskTextListener);

        this.attachTo(this.maskText, new AbstractVerifierProxy(
                new NonEmptyFieldVerifier(SVNUIMessages.PropertyKeywordEditPanel_Mask_Verifier)) {
            protected boolean isVerificationEnabled(Control input) {
                return PropertyKeywordEditPanel.this.useMaskCheckbox.getSelection();
            }
        });
        data = new GridData();
        data.widthHint = 170;
        this.maskText.setLayoutData(data);

        this.maskText.setEnabled(false);

        this.useMaskCheckbox.addSelectionListener(new SelectionListener() {
            public void widgetSelected(SelectionEvent e) {
                PropertyKeywordEditPanel.this.maskText
                        .setEnabled(PropertyKeywordEditPanel.this.useMaskCheckbox.getSelection());
                PropertyKeywordEditPanel.this.checkboxViewer.setAllGrayed(false);
                PropertyKeywordEditPanel.this.changeMixedElementsToChecked();
                PropertyKeywordEditPanel.this.validateContent();
            }

            public void widgetDefaultSelected(SelectionEvent e) {
            }
        });

        if (this.recursionEnabled) {
            this.setRecursivelyCheckbox = new Button(subComposite, SWT.CHECK);
            this.setRecursivelyCheckbox.setText(SVNUIMessages.PropertyKeywordEditPanel_Recursively);
            this.setRecursivelyCheckbox
                    .setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_END));
            this.setRecursivelyCheckbox.setSelection(true);
            this.setRecursivelyCheckbox.addSelectionListener(new SelectionListener() {
                public void widgetSelected(SelectionEvent e) {
                    PropertyKeywordEditPanel.this.checkboxViewer.setAllGrayed(false);
                    PropertyKeywordEditPanel.this.changeMixedElementsToChecked();
                }

                public void widgetDefaultSelected(SelectionEvent e) {
                }
            });
        }
    }

    for (int i = 0; i < elements.length; i++) {
        this.refreshCheckboxState(elements[i]);
    }
}

From source file:org.eclipse.team.svn.ui.preferences.SVNTeamPropsPreferencePage.java

License:Open Source License

protected void createAutopropTable(Composite parent) {
    this.autopropTableViewer = CheckboxTableViewer.newCheckList(parent,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
    TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnPixelData(20, false));
    layout.addColumnData(new ColumnWeightData(25, true));
    layout.addColumnData(new ColumnWeightData(75, true));

    this.autopropTableViewer.getTable().setLayout(layout);
    this.autopropTableViewer.getTable().setLinesVisible(true);
    this.autopropTableViewer.getTable().setHeaderVisible(true);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.heightHint = 200;/*from w  w w.  java  2s .c  o  m*/
    this.autopropTableViewer.getTable().setLayoutData(data);

    this.autopropTableViewer.setLabelProvider(new ITableLabelProvider() {

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (columnIndex == SVNTeamPropsPreferencePage.COLUMN_INDEX_FILE_NAME) {
                return ((SVNTeamPropsPreferencePage.AutoProperty) element).fileName;
            } else if (columnIndex == SVNTeamPropsPreferencePage.COLUMN_INDEX_PROPERTIES) {
                return ((SVNTeamPropsPreferencePage.AutoProperty) element).properties;
            }
            return ""; //$NON-NLS-1$
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }

    });

    TableColumn column = new TableColumn(this.autopropTableViewer.getTable(), SWT.NONE);
    column.setResizable(false);

    column = new TableColumn(this.autopropTableViewer.getTable(), SWT.NONE);
    column.setText(SVNUIMessages.AutoPropsPreferencePage_columnHeaderFileName);

    column = new TableColumn(this.autopropTableViewer.getTable(), SWT.NONE);
    column.setText(SVNUIMessages.AutoPropsPreferencePage_columnHeaderProperties);
}

From source file:org.eclipse.thym.ui.wizard.export.CheckboxTableSelectionGroup.java

License:Open Source License

private void createGroup() {
    setLayout(new GridLayout(2, false));
    tableViewer = CheckboxTableViewer.newCheckList(this, SWT.BORDER | SWT.FULL_SELECTION);
    Table table = tableViewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    tableViewer.addCheckStateListener(new ICheckStateListener() {
        @Override/* w w w  .  j  av a 2 s.c o  m*/
        public void checkStateChanged(CheckStateChangedEvent event) {
            sendSelectionEvent();
        }
    });

    Composite projectButtons = new Composite(this, SWT.NONE);
    projectButtons.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    RowLayout rl_projectButtons = new RowLayout(SWT.VERTICAL);
    rl_projectButtons.center = true;
    rl_projectButtons.fill = true;
    rl_projectButtons.justify = true;
    rl_projectButtons.pack = false;
    projectButtons.setLayout(rl_projectButtons);

    Button btnSelectAll = new Button(projectButtons, SWT.NONE);
    btnSelectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tableViewer.setAllChecked(true);
            sendSelectionEvent();
        }
    });
    btnSelectAll.setText("Select All");

    Button btnDeselectAll = new Button(projectButtons, SWT.NONE);
    btnDeselectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tableViewer.setAllChecked(false);
            sendSelectionEvent();
        }
    });
    btnDeselectAll.setText("Deselect All");
}

From source file:org.eclipse.tracecompass.internal.provisional.analysis.lami.ui.views.LamiSeriesDialog.java

License:Open Source License

/**
 * @param parentShell//from w ww .  ja  va2s.  co  m
 *            The parent shell of the dialog
 * @param chartType
 *            The chart type for which the dialog construct series
 * @param xInput
 *            The possible X axis set of values
 * @param yInput
 *            The possible Y axis set of values
 * @param xContentProvider
 *            A content provider for the X axis set
 * @param xLabelProvider
 *            The label provider for the X axis set
 * @param yContentProvider
 *            The content provider for the Y axis set
 * @param yLabelProvider
 *            The label provider for the Y axis set
 */
public LamiSeriesDialog(Shell parentShell, ChartType chartType, Object xInput, Object yInput,
        IStructuredContentProvider xContentProvider, ILabelProvider xLabelProvider,
        IStructuredContentProvider yContentProvider, ILabelProvider yLabelProvider) {
    super(parentShell);
    fXInputElement = xInput;
    fYInputElement = yInput;
    fXContentProvider = xContentProvider;
    fXLabelProvider = xLabelProvider;
    fYContentProvider = yContentProvider;
    fYLabelProvider = yLabelProvider;
    series = new ArrayList<>();
    fSeriesContentProvider = checkNotNull(ArrayContentProvider.getInstance());

    fXCheckBoxOptions = new ArrayList<>();
    fYCheckBoxOptions = new ArrayList<>();
    fSeriesListViewer = new TableViewer(parentShell);
    fXTableViewer = new TableViewer(parentShell);
    fYCheckBoxViewer = checkNotNull(CheckboxTableViewer.newCheckList(parentShell, SWT.NONE));

    /* Dynamic restriction per chart type */
    switch (chartType) {
    case XY_SCATTER:
        fRestrictXSeriesNumbers = false;
        break;
    case BAR_CHART:
    case PIE_CHART:
    default:
        fRestrictXSeriesNumbers = true;
        break;
    }

    this.fWarning = new Label(parentShell, SWT.NONE);
}

From source file:org.eclipse.tracecompass.internal.provisional.analysis.lami.ui.views.LamiSeriesDialog.java

License:Open Source License

@Override
protected Control createDialogArea(@Nullable Composite parent) {

    Composite composite = (Composite) super.createDialogArea(parent);
    initializeDialogUnits(composite);//from www  .j  ava2 s .co  m

    /* Base 3 column grid layout */
    GridLayout gridLayout = new GridLayout(3, false);
    composite.setLayout(gridLayout);

    GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 3;
    Group seriesGroup = new Group(composite, SWT.NONE);
    seriesGroup.setLayoutData(gridData);
    seriesGroup.setLayout(new GridLayout(3, false));
    seriesGroup.setText(Messages.LamiSeriesDialog_series);

    /*
     * New sub group for the series table.
     */
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 2;
    gridData.heightHint = MININAL_SERIES_TABLE_HEIGHT;
    Group seriesTableGroup = new Group(seriesGroup, SWT.NONE);
    seriesTableGroup.setLayoutData(gridData);
    TableColumnLayout layout = new TableColumnLayout();
    seriesTableGroup.setLayout(layout);

    /* Current series */
    fSeriesListViewer = new TableViewer(seriesTableGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    fSeriesListViewer.setContentProvider(fSeriesContentProvider);
    fSeriesListViewer.setInput(series);
    fSeriesListViewer.getTable().setHeaderVisible(true);
    fSeriesListViewer.getTable().setLinesVisible(true);
    TableViewerColumn column1 = createTableViewerColumn(fSeriesListViewer, Messages.LamiSeriesDialog_x_values,
            element -> element.getXAspect().getLabel());
    TableViewerColumn column2 = createTableViewerColumn(fSeriesListViewer, Messages.LamiSeriesDialog_y_values,
            element -> element.getYAspect().getLabel());
    layout.setColumnData(column1.getColumn(), new ColumnWeightData(1, MINIMUM_COLUMN_WIDTH, true));
    layout.setColumnData(column2.getColumn(), new ColumnWeightData(1, MINIMUM_COLUMN_WIDTH, true));

    /* Delete series button */
    gridData = new GridData(GridData.CENTER);
    gridData.horizontalSpan = 1;
    Button deleteSeries = new Button(seriesGroup, SWT.PUSH);
    deleteSeries.setText(Messages.LamiSeriesDialog_delete);
    deleteSeries.setLayoutData(gridData);
    deleteSeries.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(@Nullable SelectionEvent e) {
            /* Remove the selectecd series */
            IStructuredSelection selections = (IStructuredSelection) fSeriesListViewer.getSelection();
            for (Object selection : selections.toList()) {
                series.remove(selection);
            }
            /* When table is empty reset to initial state */
            if (series.isEmpty()) {
                /* Make sure the OK button is disabled */
                getButton(IDialogConstants.OK_ID).setEnabled(false);
                /* Hide the selection warning */
                fWarning.setVisible(false);

                /*
                 * Reset the initial selection of the X axis selection table
                 */
                fXTableViewer.refresh();
                /* Reset check boxes options */
                fXCheckBoxOptions.forEach(checkBox -> {
                    checkBox.setButtonEnabled(true);
                });
                fYCheckBoxOptions.forEach(checkBox -> {
                    checkBox.setButtonEnabled(true);
                });
            }
            /* Refresh the series table to show the added series */
            fSeriesListViewer.refresh();
        }

        @Override
        public void widgetDefaultSelected(@Nullable SelectionEvent e) {
        }
    });

    /*
     * Series creator subgroup
     */
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 3;
    Group seriesCreatorGroup = new Group(composite, getShellStyle());
    seriesCreatorGroup.setLayoutData(gridData);
    seriesCreatorGroup.setLayout(new GridLayout(3, false));
    seriesCreatorGroup.setText(Messages.LamiSeriesDialog_serie_creator);

    /* X axis sash label */
    gridData = new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_END);
    gridData.horizontalSpan = 1;
    Label xSeriesCreatorLabel = new Label(seriesCreatorGroup, SWT.CENTER);
    xSeriesCreatorLabel.setLayoutData(gridData);
    xSeriesCreatorLabel.setText(Messages.LamiSeriesDialog_x_axis);

    gridData = new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_END);
    gridData.horizontalSpan = 1;
    Label ySeriesCreatorLabel = new Label(seriesCreatorGroup, SWT.CENTER);
    ySeriesCreatorLabel.setLayoutData(gridData);
    ySeriesCreatorLabel.setText(Messages.LamiSeriesDialog_y_axis);

    /* Empty label for grid layout */
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 1;
    Label emptyLabel = new Label(seriesCreatorGroup, SWT.CENTER);
    emptyLabel.setLayoutData(gridData);

    SashForm sash1 = new SashForm(seriesCreatorGroup, SWT.BORDER | SWT.HORIZONTAL);
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 2;
    sash1.setLayoutData(gridData);
    sash1.setVisible(true);

    fXTableViewer = new TableViewer(sash1, getTableStyle());
    fXTableViewer.setContentProvider(fXContentProvider);
    fXTableViewer.setLabelProvider(fXLabelProvider);
    fXTableViewer.setInput(fXInputElement);

    fYCheckBoxViewer = checkNotNull(CheckboxTableViewer.newCheckList(sash1, SWT.BORDER));
    fYCheckBoxViewer.setLabelProvider(fYLabelProvider);
    fYCheckBoxViewer.setContentProvider(fYContentProvider);
    fYCheckBoxViewer.setInput(fYInputElement);

    gridData = new GridData(SWT.FILL, SWT.NONE, true, true);
    gridData.horizontalSpan = 1;
    Button button1 = new Button(seriesCreatorGroup, SWT.PUSH);
    button1.setText(Messages.LamiSeriesDialog_add);
    button1.setLayoutData(gridData);
    button1.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(@Nullable SelectionEvent e) {
            Object[] ySelections = fYCheckBoxViewer.getCheckedElements();
            IStructuredSelection xSelections = (IStructuredSelection) fXTableViewer.getSelection();
            @Nullable
            Object x = xSelections.getFirstElement();
            if (!(x instanceof LamiTableEntryAspect) || ySelections.length == 0) {
                return;
            }

            /* Add selection to series if it doesn not already exist in the list */
            for (Object y : ySelections) {
                if (!(y instanceof LamiTableEntryAspect)) {
                    continue;
                }
                LamiXYSeriesDescription serie = new LamiXYSeriesDescription((LamiTableEntryAspect) x,
                        ((LamiTableEntryAspect) y));
                if (!series.contains(serie)) {
                    series.add(serie);
                    fSeriesListViewer.refresh();
                }
            }

            /* Set label warning visible and enable OK button */
            fWarning.setVisible(true);
            getButton(IDialogConstants.OK_ID).setEnabled(true);

            /* Update possible X selection based on current series */
            TableItem[] items = fXTableViewer.getTable().getItems();
            Arrays.stream(items).forEach(item -> {
                LamiTableEntryAspect aspect = (LamiTableEntryAspect) item.getData();
                if (!aspect.arePropertiesEqual(series.get(0).getXAspect())) {
                    fXTableViewer.remove(aspect);
                }
                if (fRestrictXSeriesNumbers && aspect != (series.get(0).getXAspect())) {
                    fXTableViewer.remove(aspect);
                }
            });

            /*
             * Disable all checkBox that do not apply to aspects series.
             * Simply take the first one since all series should comply to
             * the same restriction
             */
            fXCheckBoxOptions.forEach(checkBox -> {
                checkBox.setButtonEnabled(checkBox.getPredicate().test(series.get(0).getXAspect()));
            });
            fYCheckBoxOptions.forEach(checkBox -> {
                checkBox.setButtonEnabled(checkBox.getPredicate().test(series.get(0).getYAspect()));
            });
        }

        @Override
        public void widgetDefaultSelected(@Nullable SelectionEvent e) {
        }
    });

    gridData = new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_END);
    gridData.horizontalSpan = 3;
    fWarning = new Label(seriesCreatorGroup, SWT.LEFT);
    fWarning.setLayoutData(gridData);
    fWarning.setText(Messages.LamiSeriesDialog_selectionRestrictionWarning);
    fWarning.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
    fWarning.setVisible(false);

    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 3;
    Group optionGroups = new Group(composite, getShellStyle());
    optionGroups.setLayoutData(gridData);
    optionGroups.setLayout(new GridLayout(3, false));
    optionGroups.setText(Messages.LamiSeriesDialog_chart_options);

    for (LamiAxisCheckBoxOption checkBox : fXCheckBoxOptions) {
        Button button = new Button(optionGroups, SWT.CHECK);
        button.setSelection(checkBox.getDefaultValue());
        button.setText(checkBox.getName());
        checkBox.setButton(button);
    }

    for (LamiAxisCheckBoxOption checkBox : fYCheckBoxOptions) {
        Button button = new Button(optionGroups, SWT.CHECK);
        button.setSelection(checkBox.getDefaultValue());
        button.setText(checkBox.getName());
        checkBox.setButton(button);
    }

    fYCheckBoxViewer.getTable().addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(@Nullable SelectionEvent e) {
            /* On check */
            if (e != null && e.detail == SWT.CHECK) {
                /* Change possible selection */
                IStructuredSelection selections = (IStructuredSelection) fYCheckBoxViewer.getSelection();
                if (selections.getFirstElement() != null) {

                    boolean checked = fYCheckBoxViewer.getChecked(selections.getFirstElement());
                    /*
                     * If just selected look for stuff to disable. If not no
                     * need to look for stuff to disable since it was
                     * already done before.
                     */
                    if (checked) {
                        TableItem[] items = fYCheckBoxViewer.getTable().getItems();
                        Arrays.stream(items).forEach(item -> {
                            LamiTableEntryAspect aspect = (LamiTableEntryAspect) item.getData();
                            if (!aspect.arePropertiesEqual(
                                    (LamiTableEntryAspect) checkNotNull(selections.getFirstElement()))) {
                                fYCheckBoxViewer.remove(aspect);
                            }
                        });
                    } else if (!checked && fYCheckBoxViewer.getCheckedElements().length == 0
                            && fSeriesListViewer.getTable().getItemCount() == 0) {
                        fYCheckBoxViewer.refresh();
                    }
                }
            }
        }

        @Override
        public void widgetDefaultSelected(@Nullable SelectionEvent e) {
        }
    });

    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.eclipse.ui.dialogs.TypeFilteringDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    // page group
    Composite composite = (Composite) super.createDialogArea(parent);
    createMessageArea(composite);/*from w ww  .ja  v  a  2s .c om*/
    listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
    data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
    listViewer.getTable().setLayoutData(data);
    listViewer.getTable().setFont(parent.getFont());
    listViewer.setLabelProvider(FileEditorMappingLabelProvider.INSTANCE);
    listViewer.setContentProvider(ArrayContentProvider.getInstance());
    listViewer.setComparator(new ViewerComparator());
    addSelectionButtons(composite);
    createUserEntryGroup(composite);
    initializeViewer();
    // initialize page
    if (this.initialSelections != null && !this.initialSelections.isEmpty()) {
        checkInitialSelections();
    }
    return composite;
}

From source file:org.eclipse.ui.dialogs.WizardNewProjectReferencePage.java

License:Open Source License

/** (non-Javadoc)
 * Method declared on IDialogPage./*  w  ww  .j  av a 2s .com*/
 */
public void createControl(Composite parent) {

    Font font = parent.getFont();

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    composite.setFont(font);

    PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
            IIDEHelpContextIds.NEW_PROJECT_REFERENCE_WIZARD_PAGE);

    Label referenceLabel = new Label(composite, SWT.NONE);
    referenceLabel.setText(REFERENCED_PROJECTS_TITLE);
    referenceLabel.setFont(font);

    referenceProjectsViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    referenceProjectsViewer.getTable().setFont(composite.getFont());
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);

    data.heightHint = getDefaultFontHeight(referenceProjectsViewer.getTable(), PROJECT_LIST_MULTIPLIER);
    referenceProjectsViewer.getTable().setLayoutData(data);
    referenceProjectsViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    referenceProjectsViewer.setContentProvider(getContentProvider());
    referenceProjectsViewer.setComparator(new ViewerComparator());
    referenceProjectsViewer.setInput(ResourcesPlugin.getWorkspace());

    setControl(composite);
}

From source file:org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage.java

License:Open Source License

protected Control createContents(Composite parent) {

    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
            IExternalToolsHelpContextIds.EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE);

    Font font = parent.getFont();

    Composite topLevel = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;//  w  ww.  j a  v  a 2s  .  co m
    layout.marginWidth = 0;
    topLevel.setLayout(layout);
    topLevel.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label description = new Label(topLevel, SWT.WRAP);
    description.setText(ExternalToolsUIMessages.BuilderPropertyPage_description);
    description.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    description.setFont(font);

    Composite tableAndButtons = new Composite(topLevel, SWT.NONE);
    tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH));
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.numColumns = 2;
    tableAndButtons.setLayout(layout);

    // table of builders and tools
    viewer = CheckboxTableViewer.newCheckList(tableAndButtons,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    viewer.setLabelProvider(labelProvider);
    viewer.addCheckStateListener(this);
    Table builderTable = viewer.getTable();
    builderTable.setLayoutData(new GridData(GridData.FILL_BOTH));
    builderTable.setFont(font);
    builderTable.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            handleTableSelectionChanged();
        }
    });

    builderTable.addListener(SWT.MouseDoubleClick, new Listener() {
        public void handleEvent(Event event) {
            handleEditButtonPressed();
        }
    });

    //button area
    Composite buttonArea = new Composite(tableAndButtons, SWT.NONE);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttonArea.setLayout(layout);
    buttonArea.setFont(font);
    buttonArea.setLayoutData(new GridData(GridData.FILL_VERTICAL));
    newButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_newButton);
    importButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage__Import____3);
    editButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_editButton);
    removeButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_removeButton);
    new Label(buttonArea, SWT.LEFT);
    upButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_upButton);
    downButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_downButton);

    newButton.setEnabled(true);
    importButton.setEnabled(true);

    //populate widget contents   
    addBuildersToTable();

    return topLevel;
}

From source file:org.eclipse.ui.ide.dialogs.ResourceTreeAndListGroup.java

License:Open Source License

/**
 *   Create this group's list viewer.//  w  ww . j a  va 2  s . c  o m
 */
private void createListViewer(Composite parent, boolean useHeightHint) {
    listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_BOTH);
    if (useHeightHint) {
        data.heightHint = PREFERRED_HEIGHT;
    }
    listViewer.setUseHashlookup(true);
    listViewer.getTable().setLayoutData(data);
    listViewer.getTable().setFont(parent.getFont());
    listViewer.setContentProvider(listContentProvider);
    listViewer.setLabelProvider(listLabelProvider);
    listViewer.addCheckStateListener(checkListener);
}