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:org.limy.eclipse.qalab.propertypage.PageMain.java

License:Open Source License

/**
 * @param comp/*  www .j av  a2 s. c o m*/
 * @throws CoreException 
 */
private void createContents(Composite comp) throws CoreException {

    FormLayout layout = new FormLayout();
    layout.marginWidth = 4;
    layout.marginHeight = 4;
    comp.setLayout(layout);

    enableNature = new Button(comp, SWT.CHECK);
    enableNature.setText(Messages.LABEL_MARKER);
    enableNature.setSelection(project.hasNature(LimyQalabNature.NATURE_ID));
    enableNature.setLayoutData(FormDataCreater.maxWidthControlDown(null, 0));

    Label label = new Label(comp, SWT.NONE);
    label.setText("Sub projects");
    label.setLayoutData(FormDataCreater.maxWidthControlDown(enableNature, 4));

    Table table = new Table(comp, SWT.CHECK);
    viewer = new CheckboxTableViewer(table);
    viewer.setLabelProvider(new TableLabelProvider());
    viewer.setContentProvider(new LimyContentProvider());
    Collection<ITableObject> items = new ArrayList<ITableObject>();

    Collection<Object> checkedElements = new ArrayList<Object>();
    String storeNames = getStore().getString(LimyQalabConstants.SUB_PROJECT_NAMES);
    for (IProject refProject : env.getProject().getReferencedProjects()) {
        CheckedTableObject element = new CheckedTableObject(refProject.getName(), refProject);
        items.add(element);
        if (storeNames.indexOf(element.getValue(0) + "\n") >= 0) {
            checkedElements.add(element);
        }
    }
    viewer.setInput(items);
    viewer.setCheckedElements(checkedElements.toArray(new Object[checkedElements.size()]));
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ((CheckedTableObject) event.getElement()).setChecked(event.getChecked());
        }
    });
    table.setLayoutData(FormDataCreater.maxWidthControlBottom(label, 4, 0, 100));

    Composite gridComp = new Composite(comp, SWT.NONE);
    gridComp.setLayout(new GridLayout(3, false));
    gridComp.setLayoutData(FormDataCreater.maxWidthNoHeightControlBottom(table, 8, 0));

    createIgnoreResComp(comp, gridComp);

}

From source file:org.marketcetera.photon.views.OrderTicketView.java

/**
 * Set up viewers.// w ww. ja  v a 2 s  .c  o  m
 * 
 * @param ticket
 */
protected void initViewers(T ticket) {
    /*
     * Side combo based on Side enum.
     */
    mSideComboViewer = new ComboViewer(ticket.getSideCombo());
    mSideComboViewer.setContentProvider(new ArrayContentProvider());
    mSideComboViewer.setInput(getModel().getValidSideValues());

    /*
     * Order type combo based on OrderType enum.
     */
    mOrderTypeComboViewer = new ComboViewer(ticket.getOrderTypeCombo());
    mOrderTypeComboViewer.setContentProvider(new ArrayContentProvider());
    mOrderTypeComboViewer.setInput(getModel().getValidOrderTypeValues());

    /*
     * Broker combo based on available brokers.
     */
    mAvailableBrokersViewer = new ComboViewer(ticket.getBrokerCombo());
    mAvailableBrokersViewer.setContentProvider(new ObservableListContentProvider());
    mAvailableBrokersViewer.setLabelProvider(new BrokerLabelProvider());
    mAvailableBrokersViewer.setInput(getModel().getValidBrokers());

    /*
     * Time in Force combo based on TimeInForce enum.
     * 
     * An extra blank entry is added since the field is optional.
     */
    mTimeInForceComboViewer = new ComboViewer(ticket.getTifCombo());
    mTimeInForceComboViewer.setContentProvider(new ArrayContentProvider());
    mTimeInForceComboViewer.setInput(getModel().getValidTimeInForceValues());

    /*
     * Custom fields table.
     * 
     * Input is bound to model in bindCustomFields.
     */
    mCustomFieldsTableViewer = new CheckboxTableViewer(ticket.getCustomFieldsTable());
    ObservableListContentProvider contentProvider = new ObservableListContentProvider();
    mCustomFieldsTableViewer.setContentProvider(contentProvider);
    mCustomFieldsTableViewer.setLabelProvider(
            new ObservableMapLabelProvider(BeansObservables.observeMaps(contentProvider.getKnownElements(),
                    CustomField.class, new String[] { "keyString", "valueString" })));//$NON-NLS-1$ //$NON-NLS-2$
}

From source file:org.modelio.app.preferences.proxy.NonProxyHostsComposite.java

License:Open Source License

@objid("48f2a019-df30-4484-9b3c-c4bd68c5d6cb")
protected void createWidgets() {
    setLayout(new GridLayout(2, false));

    this.hostsLabel = new Label(this, SWT.NONE);
    this.hostsLabel.setText(NetUIMessages.ProxyPreferencePage_12);
    this.hostsLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 2, 1));

    Table hostsTable = new Table(this,
            SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
    hostsTable.setHeaderVisible(true);//from ww w  . j a va 2  s  .c o m
    hostsTable.setLinesVisible(true);
    hostsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));

    this.hostsViewer = new CheckboxTableViewer(hostsTable);
    NonProxyHostsLabelProvider labelProvider = new NonProxyHostsLabelProvider();
    NonProxyHostsContentProvider contentProvider = new NonProxyHostsContentProvider();
    labelProvider.createColumns(this.hostsViewer);
    this.hostsViewer.setContentProvider(contentProvider);
    this.hostsViewer.setLabelProvider(labelProvider);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnPixelData(24));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    hostsTable.setLayout(tableLayout);

    this.addButton = createButton(NetUIMessages.ProxyPreferencePage_15);
    this.editButton = createButton(NetUIMessages.ProxyPreferencePage_16);
    this.removeButton = createButton(NetUIMessages.ProxyPreferencePage_17);

    this.hostsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            enableButtons();
        }
    });
    this.hostsViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            setProvider(NonProxyHostsComposite.this.currentProvider);
        }
    });
    this.hostsViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            editSelection();
        }
    });
    this.addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            addHost();
        }
    });
    this.editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            editSelection();
        }
    });
    this.removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            removeSelection();
        }
    });

    initializeValues();
    enableButtons();
}

From source file:org.modelio.app.preferences.proxy.ProxyEntriesComposite.java

License:Open Source License

@objid("cae687a8-b4e3-4deb-ac1e-783eb07da32d")
protected void createWidgets() {
    setLayout(new GridLayout(2, false));

    this.entriesLabel = new Label(this, SWT.NONE);
    this.entriesLabel.setText(NetUIMessages.ProxyPreferencePage_1);
    this.entriesLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1));

    Table entriesTable = new Table(this,
            SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
    entriesTable.setHeaderVisible(true);
    entriesTable.setLinesVisible(true);//from w  ww.  j a v  a  2s  . c  o  m
    entriesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));

    this.entriesViewer = new CheckboxTableViewer(entriesTable);
    ProxyEntriesLabelProvider labelProvider = new ProxyEntriesLabelProvider();
    ProxyEntriesContentProvider contentProvider = new ProxyEntriesContentProvider();
    labelProvider.createColumns(this.entriesViewer);
    this.entriesViewer.setContentProvider(contentProvider);
    this.entriesViewer.setLabelProvider(labelProvider);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnPixelData(24));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));

    entriesTable.setLayout(tableLayout);

    // addButton = createButton(NetUIMessages.ProxyPreferencePage_9);
    this.editButton = createButton(NetUIMessages.ProxyPreferencePage_10);
    this.removeButton = createButton(NetUIMessages.ProxyPreferencePage_11);

    this.entriesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            enableButtons();
        }
    });
    this.entriesViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            setProvider(ProxyEntriesComposite.this.currentProvider);
        }
    });
    this.entriesViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            editSelection();
        }
    });
    // addButton.addSelectionListener(new SelectionAdapter() {
    // public void widgetSelected(SelectionEvent e) {
    // addEntry();
    // }
    // });
    this.editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            editSelection();
        }
    });
    this.removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            removeSelection();
        }
    });

    initializeValues();
    enableButtons();
}

From source file:org.projectusus.ui.internal.coveredprojects.CoveredProjectsView.java

License:Open Source License

private void createViewer(Composite parent) {
    Table table = createTable(parent);/*from www  .  j a v  a2 s . c  o m*/
    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(new CoveredProjectsCP());
    viewer.setLabelProvider(new CoveredProjectsLP());
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            updateUsusProject(event.getElement(), event.getChecked());
            refresh();
        }
    });
    MenuManager menuManager = new MenuManager();
    menuManager.addMenuListener(createContextMenu());
    table.setMenu(menuManager.createContextMenu(parent));
}

From source file:org.python.pydev.editor.hover.PyEditorHoverConfigurationBlock.java

License:Open Source License

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

    priorityHelpRange = new StyleRange(
            PyEditorMessages.PyEditorHoverConfigurationBlock_hoverPreferences.length(),
            priorityHelpStr.length(), parent.getDisplay().getSystemColor(SWT.COLOR_BLUE), null);

    fComp = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(fComp);
    GridLayoutFactory.fillDefaults().numColumns(3).applyTo(fComp);

    fButtonComp = new Composite(fComp, SWT.BORDER);
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(fButtonComp);
    fUseFirstHover = new Button(fButtonComp, SWT.RADIO | SWT.BORDER);
    fUseFirstHover.setText("Use highest priority Hover");
    GridDataFactory.fillDefaults().applyTo(fUseFirstHover);
    fCombineHovers = new Button(fButtonComp, SWT.RADIO | SWT.BORDER);
    fCombineHovers.setText("Combine Hovers");
    GridDataFactory.fillDefaults().applyTo(fCombineHovers);
    fCombineHovers.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            fCombiningHoverModifierEditor.setEnabled(fCombineHovers.getSelection());
            fCombiningHoverLabel.setEnabled(fCombineHovers.getSelection());
            showColumn(fPreemptColumn, fCombineHovers.getSelection());
            showColumn(fModifierColumn, !fCombineHovers.getSelection());
            fModifierFieldLabel.setEnabled(!fCombineHovers.getSelection());
        }
    });

    fCombiningHoverLabel = new Label(fComp, SWT.PUSH);
    fCombiningHoverLabel.setText("Combined Hovers Key Modifier:");
    fCombiningHoverModifierEditor = new Text(fComp, SWT.BORDER);
    fCombiningHoverModifierEditor.addKeyListener(new KeyModifierListener(fCombiningHoverModifierEditor));
    fCombiningHoverModifierEditor.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            handleModifierModified(fCombiningHoverModifierEditor);
        }
    });
    GridDataFactory.fillDefaults().grab(true, false).applyTo(fCombiningHoverModifierEditor);

    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);

    addFiller(hoverComposite);

    fTableLabel = new StyledText(hoverComposite, SWT.NONE);
    fTableLabel.setEditable(false);
    fTableLabel.setEnabled(false);
    fTableLabel.setBackground(fTableLabel.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    fTableLabel.setText(PyEditorMessages.PyEditorHoverConfigurationBlock_hoverPreferences);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalAlignment = GridData.BEGINNING;
    gd.horizontalSpan = 2;
    fTableLabel.setLayoutData(gd);

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

    // Hover table
    fHoverTable = new Table(layouter,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | 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(100);
    layouter.setLayoutData(gd);

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

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

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

    TableViewerColumn nameColumnViewer = new TableViewerColumn(fHoverTableViewer, SWT.NONE);
    nameColumnViewer.setLabelProvider(new PyEditorTextHoverDescriptorLabelProvider(fHoverTableViewer));
    fNameColumn = nameColumnViewer.getColumn();
    fNameColumn.setText(PyEditorMessages.PyEditorHoverConfigurationBlock_nameColumnTitle);
    fNameColumn.setResizable(true);

    TableViewerColumn priorityViewerColumn = new TableViewerColumn(fHoverTableViewer, SWT.NONE);
    priorityViewerColumn.setEditingSupport(new HoverTableEditingSupport(fHoverTableViewer, PRIORITY_PROP));
    priorityViewerColumn.setLabelProvider(new PyEditorTextHoverDescriptorLabelProvider(fHoverTableViewer));
    fPriorityColumn = priorityViewerColumn.getColumn();
    fPriorityColumn.setText(PyEditorMessages.PyEditorHoverConfigurationBlock_priorityColumnTitle);
    fPriorityColumn.setResizable(true);

    TableViewerColumn modifierColumnViewer = new TableViewerColumn(fHoverTableViewer, SWT.NONE);
    modifierColumnViewer.setLabelProvider(new PyEditorTextHoverDescriptorLabelProvider(fHoverTableViewer));
    fModifierColumn = modifierColumnViewer.getColumn();
    fModifierColumn.setText(PyEditorMessages.PyEditorHoverConfigurationBlock_modifierColumnTitle);
    fModifierColumn.setResizable(true);

    TableViewerColumn preemptViewerColumn = new TableViewerColumn(fHoverTableViewer, SWT.NONE);
    preemptViewerColumn.setEditingSupport(new HoverTableEditingSupport(fHoverTableViewer, PREEMPT_PROP));
    preemptViewerColumn.setLabelProvider(new PyEditorTextHoverDescriptorLabelProvider(fHoverTableViewer));

    fPreemptColumn = preemptViewerColumn.getColumn();
    fPreemptColumn.setText(PyEditorMessages.PyEditorHoverConfigurationBlock_preemptColumnTitle);
    fPreemptColumn.setResizable(true);

    fHoverTableViewer.setUseHashlookup(true);
    fHoverTableViewer.setContentProvider(new PyEditorTextHoverDescriptorContentProvider());

    fHoverTableViewer.addCheckStateListener(new ICheckStateListener() {
        /*
         * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.Che((CheckboxTreeViewer) fHoverTableViewer)nt)
         */
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            String id = ((PyEditorTextHoverDescriptor) event.getElement()).getId();
            if (id == null) {
                return;
            }
            PyEditorTextHoverDescriptor[] descriptors = fHoverDescs;
            PyEditorTextHoverDescriptor hover = null;
            int i = 0, length = fHoverDescs.length;
            while (i < length) {
                if (id.equals(descriptors[i].getId())) {
                    hover = fHoverDescs[i];
                    hover.setIsEnabled(event.getChecked());
                    fModifierEditor.setEnabled(event.getChecked());
                    fHoverTableViewer.setSelection(new StructuredSelection(descriptors[i]));
                }
                i++;
            }
            handleHoverListSelection();
            updateStatus(hover);
        }
    });

    fHoverTableViewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((PyEditorTextHoverDescriptor) e1).getPriority()
                    .compareTo(((PyEditorTextHoverDescriptor) e2).getPriority());
        }
    });

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

    fModifierEditor.addKeyListener(new KeyModifierListener(fModifierEditor));

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

    // Description
    Label label = new Label(hoverComposite, SWT.LEFT);
    label.setText(PyEditorMessages.PyEditorHoverConfigurationBlock_description);
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    label.setLayoutData(gd);
    fDescription = new Text(hoverComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER);
    SWTUtil.fixReadonlyTextBackground(fDescription);
    gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    fDescription.setLayoutData(gd);

    fDebugShowVars = new Button(parent, SWT.CHECK);
    fDebugShowVars.setText("Show variables values while debugging");
    fDebugShowVars.setSelection(PyHoverPreferencesPage.getShowValuesWhileDebuggingOnHover());
    fUseHoverDivider = new Button(parent, SWT.CHECK);
    fUseHoverDivider.setText("Add divider between contributions when combining hovers");
    fUseHoverDivider.setSelection(PyHoverPreferencesPage.getUseHoverDelimiters());

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

    Dialog.applyDialogFont(scrolled);

    return fComp;

}

From source file:org.robotframework.ide.eclipse.main.plugin.preferences.InstalledRobotsPreferencesPage.java

License:Apache License

private void createViewer(final Composite tableParent) {
    final Table table = new Table(tableParent,
            SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer = new CheckboxTableViewer(table);
    ViewersConfigurator.enableDeselectionPossibility(viewer);
    GridDataFactory.fillDefaults().grab(true, true).span(1, 5).applyTo(viewer.getTable());
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    final ISelectionChangedListener selectionListener = new ISelectionChangedListener() {
        @Override//from ww  w  .  j a v  a2  s  . c  om
        public void selectionChanged(final SelectionChangedEvent event) {
            final RobotRuntimeEnvironment selectedInstallation = getSelectedInstallation();
            removeButton.setEnabled(selectedInstallation != null);
        }
    };
    final ICheckStateListener checkListener = new ICheckStateListener() {
        @Override
        public void checkStateChanged(final CheckStateChangedEvent event) {
            if (event.getChecked()) {
                viewer.setCheckedElements(new Object[] { event.getElement() });
                viewer.refresh();
            }
            dirty = true;
        }
    };
    viewer.addSelectionChangedListener(selectionListener);
    viewer.addCheckStateListener(checkListener);
    viewer.getTable().addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(final DisposeEvent e) {
            viewer.removeSelectionChangedListener(selectionListener);
            viewer.removeCheckStateListener(checkListener);
        }
    });
    ColumnViewerToolTipSupport.enableFor(viewer);

    viewer.setContentProvider(new ListInputStructuredContentProvider());
    ViewerColumnsFactory.newColumn("Name").withWidth(300)
            .labelsProvidedBy(new InstalledRobotsNamesLabelProvider(viewer)).createFor(viewer);
    ViewerColumnsFactory.newColumn("Path").withWidth(200)
            .labelsProvidedBy(new InstalledRobotsPathsLabelProvider(viewer)).createFor(viewer);
}

From source file:org.robotframework.ide.eclipse.main.plugin.project.editor.general.FrameworksSectionFormFragment.java

License:Apache License

private void createViewer(final Composite tableParent) {
    final Table table = new Table(tableParent,
            SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer = new CheckboxTableViewer(table);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getTable());
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setEnabled(false);

    final ICheckStateListener checkListener = createCheckListener();
    viewer.addCheckStateListener(checkListener);
    viewer.getTable().addDisposeListener(new DisposeListener() {
        @Override/*w ww  . ja  va 2  s. com*/
        public void widgetDisposed(final DisposeEvent e) {
            viewer.removeCheckStateListener(checkListener);
        }
    });

    ColumnViewerToolTipSupport.enableFor(viewer);

    viewer.setContentProvider(new ListInputStructuredContentProvider());
    ViewerColumnsFactory.newColumn("Name").withWidth(200)
            .labelsProvidedBy(new InstalledRobotsNamesLabelProvider(viewer)).createFor(viewer);
    ViewerColumnsFactory.newColumn("Path").withWidth(200).shouldGrabAllTheSpaceLeft(true).withMinWidth(30)
            .labelsProvidedBy(new InstalledRobotsPathsLabelProvider(viewer)).createFor(viewer);
}

From source file:org.rssowl.ui.internal.dialogs.NewsFiltersListDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {

    /* Separator */
    new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL)
            .setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

    /* Title *///from w  ww. j  a  v a  2  s.c o m
    setTitle(Messages.NewsFiltersListDialog_NEWS_FILTERS);

    /* Title Image */
    setTitleImage(OwlUI.getImage(fResources, "icons/wizban/filter_wiz.png")); //$NON-NLS-1$

    /* Composite to hold all components */
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(LayoutUtils.createGridLayout(2, 5, 10));
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Composite tableContainer = new Composite(composite, SWT.NONE);
    tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    CTable cTable = new CTable(tableContainer, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    fViewer = new CheckboxTableViewer(cTable.getControl());
    fViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fViewer.getTable().setHeaderVisible(true);
    ((GridData) fViewer.getTable().getLayoutData()).heightHint = fViewer.getTable().getItemHeight() * 15;
    fViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object());

    TableColumn nameCol = new TableColumn(fViewer.getTable(), SWT.NONE);

    CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100);
    cTable.manageColumn(nameCol, data, Messages.NewsFiltersListDialog_NAME, null, null, false, false);

    /* ContentProvider returns all filters */
    fViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            return fSearchFilterDao.loadAll().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    /* Label Provider */
    fViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            ISearchFilter filter = (ISearchFilter) cell.getElement();
            Display display = fViewer.getControl().getDisplay();
            if (filter.isEnabled())
                cell.setText(filter.getName());
            else
                cell.setText(NLS.bind(Messages.NewsFiltersListDialog_FILTER_DISABLED, filter.getName()));
            cell.setImage(fFilterIcon);
            if (!OwlUI.isHighContrast())
                cell.setForeground(filter.isEnabled() ? display.getSystemColor(SWT.COLOR_BLACK)
                        : display.getSystemColor(SWT.COLOR_DARK_GRAY));
        }
    });

    /* Sort */
    fViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            ISearchFilter filter1 = (ISearchFilter) e1;
            ISearchFilter filter2 = (ISearchFilter) e2;

            return filter1.getOrder() < filter2.getOrder() ? -1 : 1;
        }
    });

    /* Selection */
    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            fEditButton.setEnabled(!selection.isEmpty());
            fDeleteButton.setEnabled(!selection.isEmpty());
            fApplySelectedFilter.setEnabled(!selection.isEmpty() && selection.size() == 1);

            updateMoveEnablement();
        }
    });

    /* Doubleclick */
    fViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            onEdit();
        }
    });

    /* Set input (ignored by ContentProvider anyways) */
    fViewer.setInput(this);
    updateCheckedState();

    /* Listen on Check State Changes */
    fViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ISearchFilter filter = (ISearchFilter) event.getElement();
            filter.setEnabled(event.getChecked());
            fSearchFilterDao.save(filter);
            fViewer.update(filter, null);
            updateTitle();
        }
    });

    /* Container for the Buttons to Manage Filters */
    Composite buttonContainer = new Composite(composite, SWT.None);
    buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false));

    /* Adds a new Filter */
    Button addButton = new Button(buttonContainer, SWT.PUSH);
    addButton.setText(Messages.NewsFiltersListDialog_NEW);
    addButton.setFocus();
    applyDialogFont(addButton);
    setButtonLayoutData(addButton);
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onAdd();
        }
    });

    /* Edits a selected Filter */
    fEditButton = new Button(buttonContainer, SWT.PUSH);
    fEditButton.setText(Messages.NewsFiltersListDialog_EDIT);
    applyDialogFont(fEditButton);
    setButtonLayoutData(fEditButton);
    fEditButton.setEnabled(false);
    fEditButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onEdit();
        }
    });

    /* Deletes the selected Filter */
    fDeleteButton = new Button(buttonContainer, SWT.PUSH);
    fDeleteButton.setText(Messages.NewsFiltersListDialog_DELETE);
    applyDialogFont(fDeleteButton);
    setButtonLayoutData(fDeleteButton);
    fDeleteButton.setEnabled(false);
    fDeleteButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onDelete();
        }
    });

    /* Move Filter Up */
    fMoveUpButton = new Button(buttonContainer, SWT.PUSH);
    fMoveUpButton.setText(Messages.NewsFiltersListDialog_MOVE_UP);
    fMoveUpButton.setEnabled(false);
    applyDialogFont(fMoveUpButton);
    setButtonLayoutData(fMoveUpButton);
    ((GridData) fMoveUpButton.getLayoutData()).verticalIndent = 10;
    fMoveUpButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(true);
        }
    });

    /* Move Filter Down */
    fMoveDownButton = new Button(buttonContainer, SWT.PUSH);
    fMoveDownButton.setText(Messages.NewsFiltersListDialog_MOVE_DOWN);
    fMoveDownButton.setEnabled(false);
    applyDialogFont(fMoveDownButton);
    setButtonLayoutData(fMoveDownButton);
    fMoveDownButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(false);
        }
    });

    Composite buttonBar = new Composite(composite, SWT.NONE);
    buttonBar.setLayout(LayoutUtils.createGridLayout(2, 0, 0));
    buttonBar.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1));

    /* Button to apply filter on all News */
    fApplySelectedFilter = new Button(buttonBar, SWT.PUSH);
    fApplySelectedFilter.setText(Messages.NewsFiltersListDialog_RUN_SELECTED_FILTER);
    fApplySelectedFilter.setEnabled(false);
    applyDialogFont(fApplySelectedFilter);
    setButtonLayoutData(fApplySelectedFilter);
    ((GridData) fApplySelectedFilter.getLayoutData()).grabExcessHorizontalSpace = false;
    ((GridData) fApplySelectedFilter.getLayoutData()).horizontalAlignment = SWT.BEGINNING;
    fApplySelectedFilter.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onApplySelectedFilter();
        }
    });

    /* Close */
    Button closeButton = new Button(buttonBar, SWT.PUSH);
    closeButton.setText(Messages.NewsFiltersListDialog_CLOSE);
    applyDialogFont(closeButton);
    setButtonLayoutData(closeButton);
    ((GridData) closeButton.getLayoutData()).grabExcessHorizontalSpace = true;
    ((GridData) closeButton.getLayoutData()).horizontalAlignment = SWT.END;
    closeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            close();
        }
    });

    /* Update Title Message */
    updateTitle();

    /* Set Selection if provided */
    if (fSelectedFilter != null)
        fViewer.setSelection(new StructuredSelection(fSelectedFilter), true);

    applyDialogFont(composite);

    return composite;
}

From source file:org.rssowl.ui.internal.dialogs.preferences.SharingPreferencesPage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite container = createContainer(parent);

    Label infoText = new Label(container, SWT.WRAP);
    infoText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
    ((GridData) infoText.getLayoutData()).widthHint = 200;
    infoText.setText(Messages.SharingPreferencesPage_SELECT_COMMUNITY);

    Composite tableContainer = new Composite(container, SWT.NONE);
    tableContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    CTable cTable = new CTable(tableContainer, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    fViewer = new CheckboxTableViewer(cTable.getControl());
    fViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fViewer.getTable().setHeaderVisible(true);
    ((GridData) fViewer.getTable().getLayoutData()).heightHint = fViewer.getTable().getItemHeight() * 15;
    fViewer.getTable().setFocus();//from   w  w  w . j  av  a  2 s.  c  o m
    fViewer.getTable().setData(ApplicationWorkbenchWindowAdvisor.FOCUSLESS_SCROLL_HOOK, new Object());

    TableColumn nameCol = new TableColumn(fViewer.getTable(), SWT.NONE);

    CColumnLayoutData data = new CColumnLayoutData(Size.FILL, 100);
    cTable.manageColumn(nameCol, data, Messages.SharingPreferencesPage_AVAILABLE_COMMUNITIES, null, null, false,
            false);

    /* ContentProvider returns all providers */
    fViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            return Controller.getDefault().getShareProviders().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    /* Label Provider */
    fViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            ShareProvider provider = (ShareProvider) cell.getElement();
            cell.setText(provider.getName());
            if (StringUtils.isSet(provider.getIconPath()))
                cell.setImage(fResources
                        .createImage(OwlUI.getImageDescriptor(provider.getPluginId(), provider.getIconPath())));
        }
    });

    /* Selection */
    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateMoveEnablement();
        }
    });

    /* Drag Support */
    fViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
            new DragSourceAdapter() {
                @Override
                public void dragStart(final DragSourceEvent event) {
                    SafeRunnable.run(new LoggingSafeRunnable() {
                        public void run() throws Exception {
                            IStructuredSelection selection = (IStructuredSelection) fViewer.getSelection();
                            event.doit = (selection.size() < fViewer.getTable().getItemCount());

                            if (event.doit) {
                                LocalSelectionTransfer.getTransfer().setSelection(selection);
                                LocalSelectionTransfer.getTransfer()
                                        .setSelectionSetTime(event.time & 0xFFFFFFFFL);
                            }
                            ;
                        }
                    });
                }

                @Override
                public void dragSetData(final DragSourceEvent event) {
                    SafeRunnable.run(new LoggingSafeRunnable() {
                        public void run() throws Exception {
                            if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType))
                                event.data = LocalSelectionTransfer.getTransfer().getSelection();
                        }
                    });
                }

                @Override
                public void dragFinished(DragSourceEvent event) {
                    SafeRunnable.run(new LoggingSafeRunnable() {
                        public void run() throws Exception {
                            LocalSelectionTransfer.getTransfer().setSelection(null);
                            LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
                        }
                    });
                }
            });

    /* Drop Support */
    ViewerDropAdapter dropSupport = new ViewerDropAdapter(fViewer) {

        @Override
        public boolean validateDrop(Object target, int operation, TransferData transferType) {
            return true;
        }

        @Override
        public boolean performDrop(Object data) {
            ShareProvider target = (ShareProvider) getCurrentTarget();
            if (target != null) {
                onMove((StructuredSelection) data, target, getCurrentLocation());
                return true;
            }

            return false;
        }
    };
    dropSupport.setFeedbackEnabled(true);
    dropSupport.setScrollEnabled(true);
    dropSupport.setSelectionFeedbackEnabled(true);
    fViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, dropSupport);

    /* Set input (ignored by ContentProvider anyways) */
    fViewer.setInput(this);
    updateCheckedState();

    /* Ensure that the first checked element is visible */
    TableItem[] items = fViewer.getTable().getItems();
    for (TableItem item : items) {
        if (item.getChecked()) {
            fViewer.getTable().showItem(item);
            break;
        }
    }

    /* Listen on Check State Changes */
    fViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ShareProvider provider = (ShareProvider) event.getElement();
            provider.setEnabled(event.getChecked());
            save();
            fViewer.update(provider, null);
        }
    });

    /* Container for the Buttons to Manage Providers */
    Composite buttonContainer = new Composite(container, SWT.None);
    buttonContainer.setLayout(LayoutUtils.createGridLayout(1, 0, 0));
    buttonContainer.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, false));

    /* Move Provider Up */
    fMoveUpButton = new Button(buttonContainer, SWT.PUSH);
    fMoveUpButton.setText(Messages.SharingPreferencesPage_MOVE_UP);
    fMoveUpButton.setEnabled(false);
    Dialog.applyDialogFont(fMoveUpButton);
    setButtonLayoutData(fMoveUpButton);
    fMoveUpButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(true);
        }
    });

    /* Move Provider Down */
    fMoveDownButton = new Button(buttonContainer, SWT.PUSH);
    fMoveDownButton.setText(Messages.SharingPreferencesPage_MOVE_DOWN);
    fMoveDownButton.setEnabled(false);
    Dialog.applyDialogFont(fMoveDownButton);
    setButtonLayoutData(fMoveDownButton);
    fMoveDownButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onMove(false);
        }
    });

    /* Select All */
    Button selectAllButton = new Button(buttonContainer, SWT.PUSH);
    selectAllButton.setText(Messages.SharingPreferencesPage_SELECT_ALL);
    Dialog.applyDialogFont(selectAllButton);
    setButtonLayoutData(selectAllButton);
    ((GridData) selectAllButton.getLayoutData()).verticalIndent = 10;
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onSelectAll(false);
        }
    });

    /* De-Select All */
    Button deSelectAllButton = new Button(buttonContainer, SWT.PUSH);
    deSelectAllButton.setText(Messages.SharingPreferencesPage_DESELECT_ALL);
    Dialog.applyDialogFont(deSelectAllButton);
    setButtonLayoutData(deSelectAllButton);
    deSelectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onSelectAll(true);
        }
    });

    /* Info Container */
    Composite infoContainer = new Composite(container, SWT.None);
    infoContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
    infoContainer.setLayout(LayoutUtils.createGridLayout(2, 0, 0));

    Label infoImg = new Label(infoContainer, SWT.NONE);
    infoImg.setImage(OwlUI.getImage(fResources, "icons/obj16/info.gif")); //$NON-NLS-1$
    infoImg.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));

    Label infoTextLabel = new Label(infoContainer, SWT.WRAP);
    infoTextLabel.setText(Messages.SharingPreferencesPage_COMMUNITY_INFO);
    infoTextLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    applyDialogFont(container);

    /* Enable Apply Button on Selection Changes */
    OwlUI.runOnSelection(new Runnable() {
        public void run() {
            updateApplyEnablement(true);
        }
    }, container);

    return container;
}