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

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

Introduction

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

Prototype

public CheckboxTableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:eu.esdihumboldt.hale.io.gml.ui.wfs.wizard.filter.OGCFilterBuilder.java

License:Open Source License

/**
 * Constructor/*w w w .jav  a2 s .c  o m*/
 * 
 * @param parent the parent composite
 * @param featureType the feature type to be filtered
 */
public OGCFilterBuilder(Composite parent, FeatureType featureType) {
    super(parent, SWT.NONE);

    this.featureType = featureType;

    setLayout(new GridLayout(1, false));
    setLayoutData(new GridData(GridData.FILL_BOTH));

    final Group conditionsGroup = new Group(this, SWT.NONE);
    conditionsGroup.setLayout(new GridLayout(1, false));
    conditionsGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
    conditionsGroup.setText(Messages.OGCFilterBuilder_0); //$NON-NLS-1$

    Table table = new Table(conditionsGroup, SWT.CHECK | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));

    tableViewer = new CheckboxTableViewer(table);

    String[] titles = { Messages.OGCFilterBuilder_1, Messages.OGCFilterBuilder_2, Messages.OGCFilterBuilder_3,
            Messages.OGCFilterBuilder_4, Messages.OGCFilterBuilder_5 }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
    int[] widths = { 50, 100, 185, 155, 50 };
    for (int i = 0; i < titles.length; i++) {
        TableViewerColumn columnViewer = new TableViewerColumn(tableViewer, SWT.NONE);
        columnViewer.getColumn().setText(titles[i]);
        columnViewer.getColumn().setWidth(widths[i]);
        columnViewer.getColumn().setResizable(true);
        columnViewer.getColumn().setMoveable(false);
        columnViewer.setEditingSupport(new ConditionEditingSupport(tableViewer, i));
    }

    // tableViewer.setUseHashlookup(true);
    tableViewer.setContentProvider(new ConditionContentProvider());
    tableViewer.setLabelProvider(new ConditionLabelProvider());
    tableViewer.addCheckStateListener(new ConditionCheckStateListener());

    data = new ConditionDataProvider();
    tableViewer.setInput(data);

    final Composite conditionButtons = new Composite(conditionsGroup, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = 0;
    conditionButtons.setLayout(layout);

    final Button addConditionButton = new Button(conditionButtons, SWT.NONE);
    addConditionButton.setText(Messages.OGCFilterBuilder_6); //$NON-NLS-1$
    addConditionButton.setToolTipText(Messages.OGCFilterBuilder_7); //$NON-NLS-1$
    addConditionButton.addListener(SWT.Selection, new Listener() {

        @Override
        public void handleEvent(Event event) {
            data.getConditions().add(new Condition());
            tableViewer.refresh();
        }
    });

    final Button removeConditionButton = new Button(conditionButtons, SWT.NONE);
    removeConditionButton.setText(Messages.OGCFilterBuilder_8); //$NON-NLS-1$
    removeConditionButton.setToolTipText(Messages.OGCFilterBuilder_9); //$NON-NLS-1$
    removeConditionButton.addListener(SWT.Selection, new Listener() {

        @Override
        public void handleEvent(Event event) {
            ISelection selection = tableViewer.getSelection();
            if (selection != null && selection instanceof IStructuredSelection) {
                IStructuredSelection sel = (IStructuredSelection) selection;
                Object obj = sel.getFirstElement();
                if (obj != null && obj instanceof Condition) {
                    data.getConditions().remove(obj);
                    tableViewer.refresh();
                }
            }
        }
    });
}

From source file:eu.geclipse.jsdl.ui.internal.dialogs.CandidateHostsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {

    Composite container = (Composite) super.createDialogArea(parent);
    GridData gd = new GridData(GridData.FILL_BOTH);
    container.setLayout(new GridLayout(1, false));
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;//from  w  w  w . j a  v  a  2s  .  c  o m
    container.setLayoutData(gd);
    this.panel = new Composite(container, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    this.panel.setLayout(layout);
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;
    this.panel.setLayoutData(gd);

    Label label = new Label(this.panel, SWT.NONE);
    label.setText(Messages.getString("ResourcesPage_NewHostsDialogDescr")); //$NON-NLS-1$
    label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));

    gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;
    gd.verticalSpan = 3;
    gd.horizontalSpan = 2;
    gd.widthHint = 300;
    gd.heightHint = 100;

    Table table = new Table(this.panel, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);
    table.setLayoutData(gd);

    this.hostsViewer = new CheckboxTableViewer(table);

    this.hostsViewer.setContentProvider(new FeatureContentProvider());
    FeatureLabelProvider hostsLabelProvider = new FeatureLabelProvider();
    hostsLabelProvider.setStringType(FeatureLabelProvider.STRING_TYPE_CANDIDATE_HOSTS);
    this.hostsViewer.setLabelProvider(hostsLabelProvider);

    this.hostsViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(final CheckStateChangedEvent event) {
            setValue(CandidateHostsDialog.this.hostsViewer.getCheckedElements());

        }

    });

    try {

        Collection<String> computingElements = new ArrayList<String>();

        IGridResource[] gridComputings = this.jobDescription.getProject().getVO().getInfoService()
                .fetchResources(this.jobDescription.getProject().getVO(),
                        this.jobDescription.getProject().getVO(),
                        GridResourceCategoryFactory.getCategory(GridResourceCategoryFactory.ID_COMPUTING),
                        false, IGridComputing.class, new NullProgressMonitor());

        //      IGridComputing[] gridComputings =  this.jobDescription.getProject().getVO()
        //                                                                            .getComputing( new NullProgressMonitor() ) ;
        String hostnameOnly;

        for (int i = 0; i < gridComputings.length; i++) {

            /* Get only the CE host name substring
             * 
             * Start from (last occurrence of empty space + 1) to remove the "CE @ " prefix.
             * Finish to the indexOf ":" character to remove any trailing characters.
             * 
             */
            if (gridComputings[i].getName().indexOf(":") != -1) { //$NON-NLS-1$
                hostnameOnly = gridComputings[i].getName()
                        .substring(gridComputings[i].getName().lastIndexOf(" ") + 1 //$NON-NLS-1$
                                , gridComputings[i].getName().indexOf(":")); //$NON-NLS-1$

                /*
                 * If there are elements in the Candidate Hosts Table Viewer then
                 */
                if (this.existingHostsInViewer != null) {
                    /* check to see if the host name is already included. If not add it.*/
                    if (!this.existingHostsInViewer.contains(hostnameOnly)) {
                        /* Check if the host name appears twice from the InfoSystem and if it does do not
                         * include it twice.
                         */
                        if (!computingElements.contains(hostnameOnly))
                            computingElements.add(hostnameOnly);
                    }
                } else {
                    /* Check if the host name appears twice from the InfoSystem and if it does do not
                     * include it twice.
                     */
                    if (!computingElements.contains(hostnameOnly))
                        computingElements.add(hostnameOnly);
                }
            } // end 
        }
        this.hostsViewer.setInput(computingElements);
    } catch (Exception e) {
        Activator.logException(e);
    }

    Dialog.applyDialogFont(container);
    return parent;

}

From source file:eu.geclipse.ui.internal.preference.VoPreferencePage.java

License:Open Source License

@Override
protected Control createContents(final Composite parent) {

    initializeDialogUnits(parent);//  ww w.  j  a v  a 2  s . c o m
    noDefaultAndApplyButton();

    GridData gData;
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);

    Label voLabel = new Label(parent, SWT.NONE);
    voLabel.setText(Messages.getString("VoPreferencePage.vo_list_label")); //$NON-NLS-1$
    gData = new GridData();
    gData.horizontalSpan = 2;
    gData.grabExcessHorizontalSpace = true;
    voLabel.setLayoutData(gData);

    Table voTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    voTable.setHeaderVisible(true);
    voTable.setLinesVisible(true);
    gData = new GridData(GridData.FILL_BOTH);
    gData.horizontalSpan = 1;
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    gData.widthHint = 200;
    gData.heightHint = 100;
    voTable.setLayoutData(gData);
    voTable.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(final MouseEvent e) {
            IVirtualOrganization selectedVo = getSelectedVo();
            if (selectedVo != null) {
                editVO(selectedVo);
            }
        }
    });
    voTable.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(final KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                removeSelectedVOs();
            }
        }
    });

    TableColumn nameColumn = new TableColumn(voTable, SWT.LEFT);
    nameColumn.setText(Messages.getString("VoPreferencePage.name_column_text")); //$NON-NLS-1$
    nameColumn.setWidth(100);
    TableColumn typeColumn = new TableColumn(voTable, SWT.CENTER);
    typeColumn.setText(Messages.getString("VoPreferencePage.type_column_text")); //$NON-NLS-1$
    typeColumn.setWidth(100);

    final IVoManager manager = GridModel.getVoManager();
    this.voViewer = new CheckboxTableViewer(voTable);
    this.voViewer.setLabelProvider(new VoLabelProvider());
    this.voViewer.setContentProvider(new VoContentProvider());

    TableColumnListener columnListener = new TableColumnListener(this.voViewer);
    nameColumn.addSelectionListener(columnListener);
    typeColumn.addSelectionListener(columnListener);

    // Initially we sort the VOs by name, ascending
    voTable.setSortColumn(nameColumn);
    voTable.setSortDirection(SWT.UP);
    this.voViewer.setComparator(new TableColumnComparator(nameColumn));

    this.voViewer.setInput(manager);
    this.voViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            updateButtons();
        }
    });
    manager.addGridModelListener(this);
    IVirtualOrganization defaultVo = (IVirtualOrganization) manager.getDefault();
    if (defaultVo != null) {
        this.voViewer.setCheckedElements(new Object[] { defaultVo });
    }
    this.voViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {
            Object element = event.getElement();
            if (element instanceof IVirtualOrganization) {
                IVirtualOrganization vo = (IVirtualOrganization) element;
                try {
                    if (!event.getChecked()) {
                        manager.setDefault(null);
                    } else {
                        // We want a radio-button behavior, as there is only one default VO
                        VoPreferencePage.this.voViewer.setCheckedElements(new Object[] { vo });
                        VoPreferencePage.this.voViewer.refresh();
                        manager.setDefault(vo);
                    }
                } catch (ProblemException pExc) {
                    // TODO mathias
                    Activator.logException(pExc);
                }
            }
        }
    });

    Composite buttons = new Composite(parent, SWT.NULL);
    gData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    gData.horizontalSpan = 1;
    buttons.setLayoutData(gData);
    GridLayout gLayout = new GridLayout(1, false);
    gLayout.marginHeight = 0;
    gLayout.marginWidth = 0;
    buttons.setLayout(gLayout);

    this.addButton = new Button(buttons, SWT.PUSH);
    this.addButton.setText(Messages.getString("VoPreferencePage.add_button")); //$NON-NLS-1$
    gData = new GridData(GridData.FILL_HORIZONTAL);
    this.addButton.setLayoutData(gData);
    this.importButton = new Button(buttons, SWT.PUSH);
    this.importButton.setText(Messages.getString("VoPreferencePage.import_button")); //$NON-NLS-1$
    gData = new GridData(GridData.FILL_HORIZONTAL);
    this.importButton.setLayoutData(gData);
    this.editButton = new Button(buttons, SWT.PUSH);
    this.editButton.setText(Messages.getString("VoPreferencePage.edit_button")); //$NON-NLS-1$
    gData = new GridData(GridData.FILL_HORIZONTAL);
    this.editButton.setLayoutData(gData);
    this.removeButton = new Button(buttons, SWT.PUSH);
    this.removeButton.setText(Messages.getString("VoPreferencePage.remove_button")); //$NON-NLS-1$
    gData = new GridData(GridData.FILL_HORIZONTAL);
    this.removeButton.setLayoutData(gData);

    Label separator = new Label(buttons, SWT.NONE);
    separator.setVisible(false);
    gData = new GridData();
    gData.horizontalAlignment = GridData.FILL;
    gData.heightHint = 4;
    separator.setLayoutData(gData);

    this.addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            editVO(null);
        }
    });
    this.importButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            importVOs();
        }
    });
    this.editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            IVirtualOrganization selectedVo = getSelectedVo();
            if (selectedVo != null) {
                editVO(selectedVo);
            }
        }
    });
    this.removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            removeSelectedVOs();
        }
    });

    updateButtons();

    return parent;

}

From source file:eu.geclipse.ui.internal.transfer.TransferResumeDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    Composite mainComp = new Composite(parent, SWT.NONE);
    mainComp.setLayout(new GridLayout(1, false));
    mainComp.setLayoutData(new GridData(GridData.FILL_BOTH));

    Composite msgComp = new Composite(mainComp, SWT.BORDER);
    msgComp.setLayout(new GridLayout(2, false));
    msgComp.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
    createMessageArea(msgComp);/*from w  w w  . j  av a 2s .  c  o m*/

    //    Composite composite = ( Composite )super.createDialogArea( parent );
    Composite composite = (Composite) super.createDialogArea(mainComp);
    composite.setLayout(new GridLayout(1, false));
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    Group group = new Group(composite, SWT.SHADOW_OUT);
    group.setLayout(new GridLayout(1, false));
    group.setText("Pending transfers");
    GridData gData = new GridData(GridData.FILL_HORIZONTAL);
    gData.grabExcessHorizontalSpace = true;
    gData.heightHint = 150;
    gData.verticalIndent = 20;
    group.setLayoutData(gData);
    int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.CHECK;
    Table table = new Table(group, style);
    gData = new GridData(SWT.FILL, SWT.FILL, true, false);
    table.setLayoutData(gData);
    table.setHeaderVisible(true);
    TableColumn checkCol = new TableColumn(table, SWT.CENTER);
    checkCol.setWidth(20);
    TableColumn nameCol = new TableColumn(table, SWT.CENTER);
    nameCol.setText("Name");
    nameCol.setWidth(80);
    TableColumn sizeCol = new TableColumn(table, SWT.LEFT);
    sizeCol.setText("Size");
    sizeCol.setWidth(50);
    TableColumn fromCol = new TableColumn(table, SWT.LEFT);
    fromCol.setText("From");
    fromCol.setWidth(350);
    TableColumn toCol = new TableColumn(table, SWT.LEFT);
    toCol.setText("To");
    toCol.setWidth(350);
    this.tableViewer = new CheckboxTableViewer(table);
    this.tableViewer.setContentProvider(new TransferContentProvider());
    this.tableViewer.setLabelProvider(new TransferLabelProvider());
    if (this.operations != null && this.operations.size() > 0) {
        this.tableViewer.setInput(this.operations);
        for (TransferInformation op : this.operations) {
            this.operationsToResume.add(op);
        }
    } else {
        //No operations to show
    }
    this.tableViewer.setAllChecked(true);
    this.tableViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(final CheckStateChangedEvent event) {
            if (event.getChecked()) {
                Object obj = event.getElement();
                if (obj instanceof TransferInformation) {
                    TransferResumeDialog.this.operationsToResume.add((TransferInformation) obj);
                }
            } else {
                Object obj = event.getElement();
                if (obj instanceof TransferInformation) {
                    TransferResumeDialog.this.operationsToResume.remove(obj);
                }
            }
        }
    });
    return composite;
}

From source file:eu.geclipse.ui.internal.wizards.VoChooserPage.java

License:Open Source License

public void createControl(final Composite parent) {

    GridData gData;//from  www  . j a v a 2  s  . c o  m

    Composite mainComp = new Composite(parent, SWT.NULL);
    mainComp.setLayout(new GridLayout(1, false));
    gData = new GridData(GridData.FILL_BOTH);
    mainComp.setLayoutData(gData);

    this.filterText = new Text(mainComp, SWT.BORDER | SWT.SEARCH);
    this.filterText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    this.filterText.setText(Messages.getString("VoChooserPage.initial_filter_text")); //$NON-NLS-1$
    this.filterText.selectAll();

    Table table = new Table(mainComp, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    table.setLayoutData(gData);

    this.viewer = new CheckboxTableViewer(table);
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.voFilter = new VoFilter();
    this.viewer.addFilter(this.voFilter);

    Composite buttonComp = new Composite(mainComp, SWT.NULL);
    buttonComp.setLayout(new GridLayout(3, false));
    gData = new GridData();
    buttonComp.setLayoutData(gData);

    Button selectAllButton = new Button(buttonComp, SWT.PUSH);
    selectAllButton.setText(Messages.getString("VoChooserPage.select_all_button")); //$NON-NLS-1$
    gData = new GridData();
    selectAllButton.setLayoutData(gData);

    Button deselectAllButton = new Button(buttonComp, SWT.PUSH);
    deselectAllButton.setText(Messages.getString("VoChooserPage.deselect_all_button")); //$NON-NLS-1$
    gData = new GridData();
    deselectAllButton.setLayoutData(gData);

    Button invertButton = new Button(buttonComp, SWT.PUSH);
    invertButton.setText(Messages.getString("VoChooserPage.invert_selection_button")); //$NON-NLS-1$
    gData = new GridData();
    invertButton.setLayoutData(gData);

    this.viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {
            handleCheckStateChanged(event);
        }
    });

    this.filterText.addModifyListener(new ModifyListener() {
        public void modifyText(final ModifyEvent e) {
            VoChooserPage.this.voFilter.setFilterText(VoChooserPage.this.filterText.getText());
            VoChooserPage.this.viewer.refresh();
            VoChooserPage.this.viewer.setCheckedElements(
                    VoChooserPage.this.selection.toArray(new Object[VoChooserPage.this.selection.size()]));
        }
    });

    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            selectAll();
        }
    });

    deselectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            deselectAll();
        }
    });

    invertButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            invertSelection();
        }
    });

    setControl(mainComp);

}

From source file:eu.geclipse.ui.widgets.GridProjectStructureComposite.java

License:Open Source License

public GridProjectStructureComposite(final Composite parent, final int style) {

    super(parent, style);

    GridData gData;/*w w w.ja  v a  2s.  c  o m*/

    setLayout(new GridLayout(3, false));
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    setLayoutData(gData);

    Composite previewComp = new Composite(this, SWT.NONE);
    previewComp.setLayout(new GridLayout(1, false));
    gData = new GridData(GridData.FILL_VERTICAL);
    gData.grabExcessVerticalSpace = true;
    previewComp.setLayoutData(gData);

    Label previewLabel = new Label(previewComp, SWT.NONE);
    previewLabel.setText("Preview:");
    gData = new GridData();
    previewLabel.setLayoutData(gData);

    this.previewTree = new Tree(previewComp, SWT.BORDER);
    gData = new GridData(GridData.FILL_VERTICAL);
    gData.grabExcessVerticalSpace = true;
    gData.widthHint = 150;
    this.previewTree.setLayoutData(gData);

    this.rootItem = new TreeItem(this.previewTree, SWT.NONE);
    this.rootItem.setText("My Cloud/Grid Project");
    this.rootItem
            .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT));

    Composite settingsComp = new Composite(this, SWT.NONE);
    settingsComp.setLayout(new GridLayout(1, false));
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessVerticalSpace = true;
    gData.grabExcessHorizontalSpace = true;
    settingsComp.setLayoutData(gData);

    Label settingsLabel = new Label(settingsComp, SWT.NONE);
    settingsLabel.setText("Available Folders:");
    gData = new GridData();
    settingsLabel.setLayoutData(gData);

    this.table = new Table(settingsComp,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK | SWT.FULL_SELECTION);
    this.table.setHeaderVisible(true);
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    this.table.setLayoutData(gData);

    TableColumn nameColumn = new TableColumn(this.table, SWT.NONE);
    nameColumn.setText("Folder ID");
    nameColumn.setWidth(150);
    TableColumn labelColumn = new TableColumn(this.table, SWT.None);
    labelColumn.setText("Folder Label");
    labelColumn.setWidth(100);

    this.editor = new TableEditor(this.table);
    this.editor.grabHorizontal = true;
    this.editor.minimumWidth = 100;
    this.editor.horizontalAlignment = SWT.LEFT;

    this.table.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            startEditing((TableItem) e.item);
        }
    });

    this.viewer = new CheckboxTableViewer(this.table);
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.viewer.setLabelProvider(new ArrayTableLabelProvider());

    this.viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent e) {
            updateTree();
        }
    });

    Composite buttonComp = new Composite(settingsComp, SWT.NONE);
    GridLayout buttonLayout = new GridLayout(3, false);
    buttonLayout.marginHeight = 0;
    buttonLayout.marginWidth = 0;
    buttonComp.setLayout(buttonLayout);
    buttonComp.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));

    Button selectAllButton = new Button(buttonComp, SWT.NONE);
    selectAllButton.setText("Select All");
    selectAllButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            selectAll();
        }
    });

    Button deselectAllButton = new Button(buttonComp, SWT.NONE);
    deselectAllButton.setText("Deselect All");
    deselectAllButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    deselectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            deselectAll();
        }
    });

    Button invertButton = new Button(buttonComp, SWT.NONE);
    invertButton.setText("Invert Selection");
    invertButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    invertButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            invertSelection();
        }
    });

    loadProjectFolders();
    initialize();
    updateTree();

}

From source file:eu.geclipse.ui.wizards.VoSelectionWizardPage.java

License:Open Source License

public void createControl(final Composite parent) {

    GridData gData;//from  w  w w.  j  a v a 2s.c  o  m

    Composite mainComp = new Composite(parent, SWT.NONE);
    mainComp.setLayout(new GridLayout(1, false));
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    mainComp.setLayoutData(gData);

    Group voGroup = new Group(mainComp, SWT.NONE);
    voGroup.setLayout(new GridLayout(2, false));
    voGroup.setText("&Available VOs");
    gData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gData.heightHint = 120;
    voGroup.setLayoutData(gData);

    int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.CHECK;
    Table voTable = new Table(voGroup, style);
    gData = new GridData(SWT.FILL, SWT.FILL, true, true);
    voTable.setLayoutData(gData);
    voTable.setHeaderVisible(false);

    this.tableViewer = new CheckboxTableViewer(voTable);
    this.tableViewer.setContentProvider(new ArrayContentProvider());
    this.tableViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            return ((IVirtualOrganization) element).getName();
        }
    });

    this.tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object vo1, final Object vo2) {
            String name1 = ((IVirtualOrganization) vo1).getName();
            String name2 = ((IVirtualOrganization) vo2).getName();
            // Sort by VO name
            return name1.compareTo(name2);
        }
    });

    // Filter the VOs that can be used to create this type of auth-token
    this.tableViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
            boolean ret = false;

            Class<?> type = VoSelectionWizardPage.this.voType;
            if (element instanceof IVirtualOrganization) {
                IVirtualOrganization vo = (IVirtualOrganization) element;
                if ((type == null) || type.isAssignableFrom(vo.getClass())) {
                    ret = true;
                }
            }
            return ret;
        }
    });

    this.tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            showSelectedInfo();
        }
    });

    this.tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {

            // If allowMultiSelection is not set, then implement a radio-button behavior
            if (!VoSelectionWizardPage.this.allowMultiSelection) {
                Object element = event.getElement();
                if (element instanceof IVirtualOrganization) {
                    IVirtualOrganization vo = (IVirtualOrganization) element;
                    if (event.getChecked()) {
                        VoSelectionWizardPage.this.tableViewer.setCheckedElements(new Object[] { vo });
                        VoSelectionWizardPage.this.tableViewer.refresh();
                    }
                }
            }

            setPageComplete(getSelectedVos() != null);
        }
    });

    updateVoList();
    this.tableViewer.setInput(this.voList);

    // Listen on new VOs, this will update the tableViewer
    GridModel.getVoManager().addGridModelListener(this);

    Button editVOsButton = new Button(voGroup, SWT.PUSH);
    editVOsButton.setText("Edit &VOs...");
    gData = new GridData();
    gData.horizontalAlignment = GridData.BEGINNING;
    gData.verticalAlignment = GridData.BEGINNING;
    editVOsButton.setLayoutData(gData);
    editVOsButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
                    VoSelectionWizardPage.this.PREFERENCE_PAGE_ID, null, null);

            /*
             * Even if the user pressed 'Cancel' VOs might have been
             * added/deleted, so ignore the dialog's return value.
             */
            dialog.open();
        }
    });

    Group infoGroup = new Group(mainComp, SWT.NONE);
    infoGroup.setLayout(new GridLayout(1, false));
    infoGroup.setText("&VO Info");
    gData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gData.heightHint = 120;
    infoGroup.setLayoutData(gData);

    this.infoText = new Text(infoGroup, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    this.infoText.setEditable(false);
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    this.infoText.setLayoutData(gData);

    setInitialSelection();
    showSelectedInfo();
    setPageComplete(getSelectedVos() != null);

    setControl(mainComp);

}

From source file:ext.org.eclipse.jdt.internal.ui.preferences.JavaEditorHoverConfigurationBlock.java

License:Open Source License

/**
 * Creates page for hover preferences.//from   w  ww.j  a  v a 2 s.  c  o m
 *
 * @param parent the parent composite
 * @return the control for the preference page
 */
public Control createControl(Composite parent) {

    ScrolledPageContent scrolled = new ScrolledPageContent(parent, SWT.H_SCROLL | SWT.V_SCROLL);
    scrolled.setExpandHorizontal(true);
    scrolled.setExpandVertical(true);

    Composite hoverComposite = new Composite(scrolled, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    hoverComposite.setLayout(layout);

    String rollOverLabel = PreferencesMessages.JavaEditorHoverConfigurationBlock_annotationRollover;
    addCheckBox(hoverComposite, rollOverLabel, PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER, 0);

    addFiller(hoverComposite);

    Label label = new Label(hoverComposite, SWT.NONE);
    label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_hoverPreferences);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalAlignment = GridData.BEGINNING;
    gd.horizontalSpan = 2;
    label.setLayoutData(gd);

    TableLayoutComposite layouter = new TableLayoutComposite(hoverComposite, SWT.NONE);
    addColumnLayoutData(layouter);

    // Hover table
    fHoverTable = new Table(layouter,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK);
    fHoverTable.setHeaderVisible(true);
    fHoverTable.setLinesVisible(true);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = SWTUtil.getTableHeightHint(fHoverTable, 10);
    gd.horizontalSpan = 2;
    gd.widthHint = new PixelConverter(parent).convertWidthInCharsToPixels(30);
    layouter.setLayoutData(gd);

    fHoverTable.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            handleHoverListSelection();
        }

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

    TableLayout tableLayout = new TableLayout();
    fHoverTable.setLayout(tableLayout);

    fNameColumn = new TableColumn(fHoverTable, SWT.NONE);
    fNameColumn.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_nameColumnTitle);
    fNameColumn.setResizable(true);

    fModifierColumn = new TableColumn(fHoverTable, SWT.NONE);
    fModifierColumn.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_modifierColumnTitle);
    fModifierColumn.setResizable(true);

    fHoverTableViewer = new CheckboxTableViewer(fHoverTable);
    fHoverTableViewer.setUseHashlookup(true);
    fHoverTableViewer.setContentProvider(new JavaEditorTextHoverDescriptorContentProvider());
    fHoverTableViewer.setLabelProvider(new JavaEditorTextHoverDescriptorLabelProvider());

    ((CheckboxTableViewer) fHoverTableViewer).addCheckStateListener(new ICheckStateListener() {
        /*
         * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            String id = ((JavaEditorTextHoverDescriptor) event.getElement()).getId();
            if (id == null)
                return;
            JavaEditorTextHoverDescriptor[] descriptors = getContributedHovers();
            HoverConfig hoverConfig = null;
            int i = 0, length = fHoverConfigs.length;
            while (i < length) {
                if (id.equals(descriptors[i].getId())) {
                    hoverConfig = fHoverConfigs[i];
                    hoverConfig.fIsEnabled = event.getChecked();
                    fModifierEditor.setEnabled(event.getChecked());
                    fHoverTableViewer.setSelection(new StructuredSelection(descriptors[i]));
                }
                i++;
            }
            handleHoverListSelection();
            updateStatus(hoverConfig);
        }
    });

    // Text field for modifier string
    label = new Label(hoverComposite, SWT.LEFT);
    label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_keyModifier);
    fModifierEditor = new Text(hoverComposite, SWT.BORDER);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    fModifierEditor.setLayoutData(gd);

    fModifierEditor.addKeyListener(new KeyListener() {
        private boolean isModifierCandidate;

        public void keyPressed(KeyEvent e) {
            isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
        }

        public void keyReleased(KeyEvent e) {
            if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {
                String text = fModifierEditor.getText();
                Point selection = fModifierEditor.getSelection();
                int i = selection.x - 1;
                while (i > -1 && Character.isWhitespace(text.charAt(i))) {
                    i--;
                }
                boolean needsPrefixDelimiter = i > -1 && !String.valueOf(text.charAt(i)).equals(DELIMITER);

                i = selection.y;
                while (i < text.length() && Character.isWhitespace(text.charAt(i))) {
                    i++;
                }
                boolean needsPostfixDelimiter = i < text.length()
                        && !String.valueOf(text.charAt(i)).equals(DELIMITER);

                String insertString;

                if (needsPrefixDelimiter && needsPostfixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter,
                            new String[] { Action.findModifierString(e.stateMask) });
                else if (needsPrefixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifier,
                            new String[] { Action.findModifierString(e.stateMask) });
                else if (needsPostfixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.JavaEditorHoverConfigurationBlock_insertModifierAndDelimiter,
                            new String[] { Action.findModifierString(e.stateMask) });
                else
                    insertString = Action.findModifierString(e.stateMask);

                if (insertString != null)
                    fModifierEditor.insert(insertString);
            }
        }
    });

    fModifierEditor.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            handleModifierModified();
        }
    });

    // Description
    Label descriptionLabel = new Label(hoverComposite, SWT.LEFT);
    descriptionLabel.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_description);
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    descriptionLabel.setLayoutData(gd);
    fDescription = new Text(hoverComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER);
    gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    fDescription.setLayoutData(gd);

    initialize();

    scrolled.setContent(hoverComposite);
    final Point size = hoverComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
    scrolled.setMinSize(size.x, size.y);

    Dialog.applyDialogFont(scrolled);

    return scrolled;

}

From source file:ext.org.eclipse.jdt.internal.ui.wizards.dialogfields.CheckedListDialogField.java

License:Open Source License

@Override
protected TableViewer createTableViewer(Composite parent) {
    Table table = new Table(parent, SWT.CHECK | getListStyle());
    table.setFont(parent.getFont());/*from w ww .j av a2s  . c  om*/
    CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);
    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent e) {
            doCheckStateChanged(e);
        }
    });
    return tableViewer;
}

From source file:fr.inria.atlanmod.neo4emf.neo4jresolver.wizards.AvailableNeo4jRuntimesWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());

    Table table = new Table(composite, SWT.BORDER | SWT.CHECK);
    GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    tableLayoutData.heightHint = 150;/*from w  ww  .j av a 2  s . c om*/
    table.setLayoutData(tableLayoutData);
    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new Neo4jRuntimeInstallerLabelProvider());
    viewer.setInput(installers);
    viewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            AbstractNeo4jRuntimeInstaller installer = (AbstractNeo4jRuntimeInstaller) event.getElement();
            if (event.getChecked()) {
                data.getInstallersToInstall().add(installer);
            } else {
                data.getInstallersToInstall().remove(installer);
            }
            setPageComplete(!data.getInstallersToInstall().isEmpty());
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                AbstractNeo4jRuntimeInstaller installer = (AbstractNeo4jRuntimeInstaller) selection
                        .getFirstElement();
                descText.setText(installer.getDescription());
            } else {
                descText.setText("");
            }
        }
    });
    Label descLabel = new Label(composite, SWT.NONE);
    descLabel.setText("Description");
    descText = new Text(composite, SWT.BORDER | SWT.WRAP | SWT.MULTI);
    GridData textLayoutData = new GridData(SWT.FILL, SWT.END, true, false);
    textLayoutData.heightHint = 60;
    descText.setLayoutData(textLayoutData);
    descText.setEditable(false);
    checkCanInstallSomething();
    setPageComplete(false);
    setControl(composite);
}