Example usage for org.eclipse.jface.viewers ViewerCell getViewerRow

List of usage examples for org.eclipse.jface.viewers ViewerCell getViewerRow

Introduction

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

Prototype

public ViewerRow getViewerRow() 

Source Link

Usage

From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java

License:Open Source License

public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);/*from www. j  av  a  2 s.c o m*/
    v.getTree().setHeaderVisible(true);

    final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && (event.keyCode == SWT.CR || event.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(v, mgr, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
    final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree());

    TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 1");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "Column 1 => " + element;
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return false;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 2");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "Column 2 => " + element;
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 3");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((MyModel) element).bool + "";
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return checkboxCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return Boolean.valueOf(((MyModel) element).bool);
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).bool = ((Boolean) value).booleanValue();
            v.update(element, null);
        }
    });

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
    v.getControl().addTraverseListener(new TraverseListener() {

        @Override
        public void keyTraversed(TraverseEvent e) {
            if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
                    && mgr.getFocusCell().getColumnIndex() == 2) {
                ColumnViewerEditor editor = v.getColumnViewerEditor();
                ViewerCell cell = mgr.getFocusCell();

                try {
                    Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent",
                            new Class[] { int.class, ViewerRow.class, TraverseEvent.class });
                    m.setAccessible(true);
                    m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e);
                } catch (SecurityException | NoSuchMethodException | IllegalArgumentException
                        | IllegalAccessException | InvocationTargetException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        }

    });
}

From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTableFindReplaceTarget.java

License:Open Source License

private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction,
        boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) {

    if (cell == null)
        return null;

    int dirCell = ViewerCell.RIGHT;

    if (!searchForward)
        dirCell = ViewerCell.LEFT;//from  ww  w  . j a  v  a 2  s .  c  om

    Table table = _viewer.getTable();

    if (!scope || table.isSelected(table.indexOf((TableItem) cell.getItem()))) {
        ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString,
                searchForward, caseSensitive, wholeWord, dirCell, regExSearch);

        if (cellFound != null)
            return cellFound;
    }

    dirCell = ViewerCell.RIGHT;

    int dirRow = 0;
    if (searchForward)
        dirRow = ViewerRow.BELOW;
    else
        dirRow = ViewerRow.ABOVE;

    ViewerRow row = cell.getViewerRow();

    if (table.getSelectionCount() == 0) {
        while (row.getNeighbor(dirRow, true) != null) {
            row = row.getNeighbor(dirRow, true);
            cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                    regExSearch);
            if (cell != null)
                return cell;
        }
    } else {
        while (row.getNeighbor(dirRow, true) != null) {
            row = row.getNeighbor(dirRow, true);
            if (!scope || table.isSelected(table.indexOf((TableItem) row.getItem()))) {
                cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                        regExSearch);
                if (cell != null)
                    return cell;
            }
        }
    }

    return null;

}

From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java

License:Open Source License

private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction,
        boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) {

    if (cell == null)
        return null;

    int dirCell = ViewerCell.RIGHT;

    if (!searchForward)
        dirCell = ViewerCell.LEFT;/*from  w  w w.  ja  v a  2  s.  c  om*/

    if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) {
        ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString,
                searchForward, caseSensitive, wholeWord, dirCell, regExSearch);

        if (cellFound != null)
            return cellFound;
    }

    dirCell = ViewerCell.RIGHT;

    int dirRow = 0;
    if (searchForward)
        dirRow = ViewerRow.BELOW;
    else
        dirRow = ViewerRow.ABOVE;

    ViewerRow row = cell.getViewerRow();

    if (fSelections == null) {
        while (row.getNeighbor(dirRow, false) != null) {
            row = row.getNeighbor(dirRow, false);
            cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                    regExSearch);
            if (cell != null)
                return cell;
        }
    } else {
        while (row.getNeighbor(dirRow, false) != null) {
            row = row.getNeighbor(dirRow, false);
            if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) {
                cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                        regExSearch);
                if (cell != null)
                    return cell;
            }
        }
    }

    return null;

}

From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java

License:Open Source License

public ViewerCell getFirstCell(ViewerCell start, int direction) {
    if (direction == ViewerRow.ABOVE) {
        STTreeViewerRow row;/* w w  w.  ja  va  2 s.c  o  m*/
        if (scope && fSelections != null)
            row = new STTreeViewerRow(_viewer.getTree().getSelection()[0]);
        else
            row = new STTreeViewerRow(_viewer.getTree().getItem(0));

        return row.getCell(0);
    }

    if (scope && fSelections != null) {
        STTreeViewerRow row = new STTreeViewerRow(
                _viewer.getTree().getSelection()[_viewer.getTree().getSelection().length - 1]);
        return row.getCell(0);
    }

    ViewerRow row = start.getViewerRow();
    while (row.getNeighbor(direction, true) != null)
        row = row.getNeighbor(direction, true);

    return row.getCell(0);
}

From source file:org.eclipse.nebula.jface.gridviewer.GridColumnLabelProvider.java

License:Open Source License

/**
 * {@inheritDoc}//from   w w  w . j a  v a  2s  .c  o m
 */
public void update(ViewerCell cell) {
    super.update(cell);

    Object element = cell.getElement();

    String rowText = getRowHeaderText(element);
    int colSpan = getColumnSpan(element);
    int rowSpan = getRowSpan(element);

    GridItem gridItem = (GridItem) cell.getViewerRow().getItem();
    if (rowText != null) {
        gridItem.setHeaderText(rowText);
    }

    gridItem.setColumnSpan(cell.getColumnIndex(), colSpan);
    gridItem.setRowSpan(cell.getColumnIndex(), rowSpan);
}

From source file:org.eclipse.rcptt.ui.actions.Q7ElementLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    Control ctrl = cell.getControl();
    Widget item = cell.getViewerRow().getItem();
    int index = 0;
    if (ctrl instanceof Tree) {
        index = ((Tree) ctrl).indexOf((TreeItem) item);
    } else if (ctrl instanceof Table) {
        index = ((Table) ctrl).indexOf((TableItem) item);
    }//from   ww w  .  ja va  2  s  .co  m

    StyledString styled = getStyledText(element, index);
    cell.setText(styled.getString());
    cell.setStyleRanges(styled.getStyleRanges());
    cell.setImage(getImage(element));
}

From source file:org.eclipse.richbeans.generator.DeleteLableProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    TableItem item = (TableItem) cell.getItem();
    Button button;/*www  .  ja  v a  2 s .  c o  m*/
    Object element = cell.getElement();
    if (buttons.containsKey(element)) {
        button = buttons.get(cell.getElement());
    } else {
        button = new Button((Composite) cell.getViewerRow().getControl(), SWT.NONE);
        button.setText(action.getName());
        buttons.put(cell.getElement(), button);
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    action.invoke(toModify, element);
                    button.dispose();
                } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
                    logger.error("could not apply action", ex);
                }
            }
        });
    }
    TableEditor editor = new TableEditor(item.getParent());
    editor.grabHorizontal = true;
    editor.grabVertical = true;
    editor.setEditor(button, item, cell.getColumnIndex());
    editor.layout();
}

From source file:org.eclipse.tcf.te.ui.views.internal.ViewViewerDecoratingLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    path = cell.getViewerRow().getTreePath();
    super.update(cell);
    path = null;
}

From source file:org.eclipse.team.svn.ui.composite.ResourceSelectionComposite.java

License:Open Source License

public void createControls() {
    GridLayout gridLayout = null;
    GridData data = null;/*from   w w w. j  a  va 2 s.c o m*/

    gridLayout = new GridLayout();
    gridLayout.marginHeight = gridLayout.marginWidth = 0;
    this.setLayout(gridLayout);

    int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER;
    Table table = new Table(this, this.showCheckBoxesAndButtons ? style | SWT.CHECK : style);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    TableLayout layout = new TableLayout();
    table.setLayout(layout);

    this.tableViewer = new CheckboxTableViewer(table);
    data = new GridData(GridData.FILL_BOTH);
    this.tableViewer.getTable().setLayoutData(data);

    // creating a comparator right now to get column listeners
    ResourcesTableComparator comparator = new ResourcesTableComparator(this.tableViewer);

    // checkbox
    TableColumn col = new TableColumn(table, SWT.NONE);
    col.setResizable(false);
    layout.addColumnData(new ColumnPixelData(20, false));

    // resource name
    col = new TableColumn(table, SWT.NONE);
    col.setResizable(true);
    col.setText(SVNUIMessages.ResourceSelectionComposite_Resource);
    layout.addColumnData(new ColumnWeightData(44, true));
    col.addSelectionListener(comparator);

    // status
    col = new TableColumn(table, SWT.NONE);
    col.setResizable(true);
    col.setText(SVNUIMessages.ResourceSelectionComposite_Content);
    layout.addColumnData(new ColumnWeightData(12, true));
    if (this.cacheEnabled) {
        col.addSelectionListener(comparator);
    }

    // propstatus
    col = new TableColumn(table, SWT.NONE);
    col.setResizable(true);
    col.setText(SVNUIMessages.ResourceSelectionComposite_Properties);
    layout.addColumnData(new ColumnWeightData(12, true));
    if (this.cacheEnabled) {
        col.addSelectionListener(comparator);
    }

    TableColumn treatAsEdit = null;
    if (this.allowTreatAsEditsColumn) {
        treatAsEdit = col = new TableColumn(table, SWT.NONE);
        col.setResizable(false);
        col.setText(SVNUIMessages.ResourceSelectionComposite_TreatAsEdit);
        layout.addColumnData(new ColumnWeightData(12, true));
    }

    // adding comparator and selection default sorting column and direction
    this.tableViewer.setComparator(comparator);
    comparator.setColumnNumber(ResourceSelectionComposite.COLUMN_STATUS);
    this.tableViewer.getTable()
            .setSortColumn(this.tableViewer.getTable().getColumn(ResourceSelectionComposite.COLUMN_STATUS));
    this.tableViewer.getTable().setSortDirection(SWT.UP);

    this.tableViewer.setLabelProvider(new ITableLabelProvider() {
        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex == ResourceSelectionComposite.COLUMN_NAME && element instanceof IAdaptable) {
                IWorkbenchAdapter adapter = (IWorkbenchAdapter) ((IAdaptable) element)
                        .getAdapter(IWorkbenchAdapter.class);
                if (adapter == null) {
                    return null;
                }
                ImageDescriptor descriptor = adapter.getImageDescriptor(element);
                if (descriptor == null) {
                    return null;
                }

                boolean hasWarning = false;
                boolean hasError = false;
                try {
                    IResource currentResource = (IResource) element;
                    IMarker[] markers = currentResource.findMarkers(IMarker.PROBLEM, true,
                            IResource.DEPTH_INFINITE);
                    // Errors always with highest priority. So, other severities should be ignored.
                    for (int i = 0; i < markers.length && !hasError; i++) {
                        Integer severity = markers[i] != null
                                ? (Integer) markers[i].getAttribute(IMarker.SEVERITY)
                                : null;
                        if (severity != null) {
                            hasWarning |= severity.intValue() == IMarker.SEVERITY_WARNING;
                            hasError |= severity.intValue() == IMarker.SEVERITY_ERROR;
                        }
                    }
                } catch (CoreException e) {
                    // Markers are inaccessible: do not decorate resource icon
                }

                Image image = ResourceSelectionComposite.this.images.get(descriptor);
                if (image == null) {
                    ResourceSelectionComposite.this.images.put(descriptor, image = descriptor.createImage());
                }
                OverlayedImageDescriptor desc = null;
                if (hasError) {
                    desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.ERROR_IMAGE_DESC,
                            new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.LEFT);
                } else if (hasWarning) {
                    desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.WARNING_IMAGE_DESC,
                            new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.LEFT);
                } else {
                    desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.EMPTY_IMAGE_DESC,
                            new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.LEFT);
                }
                image = this.createImage(desc);

                if (ResourceSelectionComposite.this.externalResources.contains(element)) {
                    desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.SWITCHED_IMAGE_DESC,
                            new Point(16, 16),
                            OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.RIGHT);
                }
                image = this.createImage(desc);

                return image;
            }
            return null;
        }

        protected Image createImage(OverlayedImageDescriptor descriptor) {
            Image image = ResourceSelectionComposite.this.images.get(descriptor);
            if (image == null) {
                ResourceSelectionComposite.this.images.put(descriptor, image = descriptor.createImage());
            }
            return image;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (columnIndex == ResourceSelectionComposite.COLUMN_CHECKBOX) {
                return ""; //$NON-NLS-1$
            }
            IResource resource = (IResource) element;
            if (columnIndex == ResourceSelectionComposite.COLUMN_NAME) {
                String path = resource.getFullPath().toString();
                return path.startsWith("/") ? path.substring(1) : path; //$NON-NLS-1$
            }
            ILocalResource local = SVNRemoteStorage.instance().asLocalResource(resource);
            if (columnIndex == ResourceSelectionComposite.COLUMN_STATUS) {
                return ResourceSelectionComposite.this.contentStatusAsString(local);
            } else if (columnIndex == ResourceSelectionComposite.COLUMN_PROPSTATUS) {
                return ResourceSelectionComposite.this.propertiesStatusAsString(local);
            }
            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) {
        }
    });

    if (this.allowTreatAsEditsColumn) {
        // the order is important otherwise the common label provider overrides this one
        TableViewerColumn cbColumn = new TableViewerColumn(this.tableViewer, treatAsEdit);
        cbColumn.setLabelProvider(new ColumnLabelProvider() {
            public void update(ViewerCell cell) {
                IResource resource = (IResource) cell.getElement();
                ILocalResource local = SVNRemoteStorage.instance().asLocalResource(resource);
                if (IStateFilter.SF_PREREPLACEDREPLACED.accept(local)) {
                    TableItem item = (TableItem) cell.getItem();
                    Button button;
                    if (ResourceSelectionComposite.this.treatAsEditButtons.containsKey(cell.getElement())) {
                        button = ResourceSelectionComposite.this.treatAsEditButtons.get(cell.getElement());
                    } else {
                        button = new Button((Composite) cell.getViewerRow().getControl(), SWT.CHECK);
                        button.setData(resource);
                        button.setSelection(ResourceSelectionComposite.this.treatAsEdit.contains(resource));
                        button.setBackground(cell.getBackground());
                        button.addSelectionListener(new SelectionAdapter() {
                            public void widgetSelected(SelectionEvent e) {
                                if (((Button) e.getSource()).getSelection()) {
                                    ResourceSelectionComposite.this.treatAsEdit
                                            .add((IResource) ((Button) e.getSource()).getData());
                                } else {
                                    ResourceSelectionComposite.this.treatAsEdit
                                            .remove((IResource) ((Button) e.getSource()).getData());
                                }
                                ResourceSelectionComposite.this.getTableViewer()
                                        .refresh(((Button) e.getSource()).getData());
                            }
                        });
                        ResourceSelectionComposite.this.treatAsEditButtons.put(resource, button);
                    }
                    TableEditor editor = new TableEditor(item.getParent());
                    editor.grabHorizontal = true;
                    editor.grabVertical = true;
                    editor.setEditor(button, item, cell.getColumnIndex());
                    editor.layout();
                }
            }
        });
    }

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

    this.tableViewer.setInput(this.resources);
    for (int i = 0; i < this.resources.length; i++) {
        this.tableViewer.setChecked(this.resources[i], this.isSelectableResource(this.resources[i]));
    }
    this.updateSelectedResources();

    this.tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            final IResource resource = (IResource) selection.getFirstElement();
            IResource[] resources = { resource };
            if (selection.size() == 1 && FileUtility.checkForResourcesPresence(resources,
                    IStateFilter.SF_ANY_CHANGE, IResource.DEPTH_ZERO)) {
                UIMonitorUtility.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        ILocalResource local = SVNRemoteStorage.instance().asLocalResource(resource);
                        if (!IStateFilter.SF_INTERNAL_INVALID.accept(local)) {
                            IRepositoryResource remote = local.isCopied() ? SVNUtility.getCopiedFrom(resource)
                                    : SVNRemoteStorage.instance().asRepositoryResource(resource);
                            remote.setSelectedRevision(
                                    CompareResourcesOperation.getRemoteResourceRevisionForCompare(resource));
                            UIMonitorUtility.doTaskScheduledDefault(
                                    new CompareResourcesOperation(local, remote, true, true));
                        }
                    }
                });
            }
        }
    });

    if (!this.showCheckBoxesAndButtons) {
        return;
    }

    this.tableViewer.addSelectionChangedListener(this.selectionListener = new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ResourceSelectionComposite.this.updateSelectedResources();

            ResourceSelectionComposite.this.fireResourcesSelectionChanged(
                    new ResourceSelectionChangedEvent(ResourceSelectionComposite.this.selectedResources));

            int selectedNumber = ResourceSelectionComposite.this.selectedResources.length;
            ResourceSelectionComposite.this.lblSelectedResourcesNumber
                    .setText(ResourceSelectionComposite.this.resourceNumberToString(selectedNumber));
        }
    });

    Composite tComposite = new Composite(this, SWT.RIGHT);
    GridLayout gLayout = new GridLayout();
    gLayout.numColumns = 4;
    gLayout.marginWidth = 0;
    tComposite.setLayout(gLayout);
    data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
    tComposite.setLayoutData(data);

    Button selectButton = new Button(tComposite, SWT.PUSH);
    selectButton.setText(SVNUIMessages.Button_SelectAll);
    data = new GridData();
    data.widthHint = DefaultDialog.computeButtonWidth(selectButton);
    selectButton.setLayoutData(data);
    SelectionListener listener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            ResourceSelectionComposite.this.tableViewer.setAllChecked(true);
            Object[] elements = ResourceSelectionComposite.this.tableViewer.getCheckedElements();
            ResourceSelectionComposite.this.selectionListener.selectionChanged(null);
            ResourceSelectionComposite.this.fireResourcesSelectionChanged(new ResourceSelectionChangedEvent(
                    Arrays.asList(elements).toArray(new IResource[elements.length])));
        }
    };
    selectButton.addSelectionListener(listener);

    Button deselectButton = new Button(tComposite, SWT.PUSH);
    deselectButton.setText(SVNUIMessages.Button_ClearSelection);
    data = new GridData();
    data.widthHint = DefaultDialog.computeButtonWidth(deselectButton);
    deselectButton.setLayoutData(data);
    listener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            TableItem[] items = ResourceSelectionComposite.this.tableViewer.getTable().getSelection();
            for (TableItem item : items) {
                ResourceSelectionComposite.this.tableViewer.setChecked(item.getData(), false);
            }
            ResourceSelectionComposite.this.selectionListener.selectionChanged(null);
            ResourceSelectionComposite.this
                    .fireResourcesSelectionChanged(new ResourceSelectionChangedEvent(new IResource[0]));
        }
    };
    deselectButton.addSelectionListener(listener);

    deselectButton = new Button(tComposite, SWT.PUSH);
    deselectButton.setText(SVNUIMessages.Button_ClearAll);
    data = new GridData();
    data.widthHint = DefaultDialog.computeButtonWidth(deselectButton);
    deselectButton.setLayoutData(data);
    listener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            ResourceSelectionComposite.this.tableViewer.setAllChecked(false);
            ResourceSelectionComposite.this.selectionListener.selectionChanged(null);
            ResourceSelectionComposite.this
                    .fireResourcesSelectionChanged(new ResourceSelectionChangedEvent(new IResource[0]));
        }
    };
    deselectButton.addSelectionListener(listener);

    Composite lComposite = new Composite(tComposite, SWT.NONE);
    GridLayout lLayout = new GridLayout();
    lLayout.horizontalSpacing = 0;
    lLayout.marginWidth = 0;
    lComposite.setLayout(lLayout);
    data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
    lComposite.setLayoutData(data);

    this.lblSelectedResourcesNumber = new Label(lComposite, SWT.RIGHT);
    this.lblSelectedResourcesNumber.setText(this.resourceNumberToString(this.selectedResources.length));
    data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
    this.lblSelectedResourcesNumber.setLayoutData(data);
}

From source file:org.eclipse.ui.examples.views.properties.tabbed.logic.properties.Model.ModelOutputFiles.java

License:Open Source License

/**
 * @wbp.parser.entryPoint//w  w w  .  j a  va2 s .  c  o  m
 */
public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
    super.createControls(parent, tabbedPropertySheetPage);

    outputFileNames = new ArrayList<OutputPair>();
    removeButtons = new HashMap<Object, Button>();
    editButtons = new HashMap<Object, Button>();

    final Composite composite = getWidgetFactory().createFlatFormComposite(parent);
    composite.setBounds(28, 10, 900, 252);
    composite.setLayout(null);

    ///------------- output file field
    lblOutputfile = new Label(composite, SWT.NONE);
    lblOutputfile.setBounds(10, 15, 55, 15);
    lblOutputfile.setText("File Name");

    txtOutputFileName = new Text(composite, SWT.BORDER);
    txtOutputFileName.setBounds(105, 15, 300, 21);

    lblNumerOfLines = new Label(composite, SWT.NONE);
    lblNumerOfLines.setBounds(10, 45, 55, 15);
    lblNumerOfLines.setText("lines");

    txtNumberOfLines = new Text(composite, SWT.BORDER);
    txtNumberOfLines.setBounds(105, 45, 50, 21);

    /// minimum size label and textbox
    lblFileSize = new Label(composite, SWT.NONE);
    lblFileSize.setBounds(220, 45, 85, 15);
    lblFileSize.setText("Minimum Size ");

    txtFileSize = new Text(composite, SWT.BORDER);
    txtFileSize.setBounds(320, 45, 50, 21);

    lblBytes = new Label(composite, SWT.NONE);
    lblBytes.setBounds(390, 45, 85, 15);
    lblBytes.setText("Bytes ");

    chkBreakOperation = new Button(composite, SWT.CHECK);
    chkBreakOperation.setBounds(10, 75, 255, 15);
    chkBreakOperation.setText("break the operation ");

    Button btnBrows = new Button(composite, SWT.NONE);
    btnBrows.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {

            FileDialog fileDialog = new FileDialog(composite.getShell());
            // Set the text
            fileDialog.setText("Select File");
            // Set filter on .txt files
            fileDialog.setFilterExtensions(new String[] { "*.*" });
            // Put in a readable name for the filter
            fileDialog.setFilterNames(new String[] { "All Files(*.*)" });
            // Open Dialog and save result of selection
            //             if(!txtWorkingDirectory.getText().trim().equals(""))
            //                fileDialog.setFilterPath(txtWorkingDirectory.getText());             

            String selected = fileDialog.open();
            //btnAddToList.setEnabled(true);
            if (selected != null)
                txtOutputFileName.setText(selected.substring(selected.lastIndexOf("\\") + 1));
            //else btnAddToList.setEnabled(false); 

        }
    });
    btnBrows.setBounds(415, 13, 75, 25);
    btnBrows.setText("brows");

    btnAddToList = new Button(composite, SWT.NONE);

    btnAddToList.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (txtOutputFileName.getText().trim().equals(""))
                return;
            OutputPair op = new OutputPair();
            op.setFileName(txtOutputFileName.getText().trim());
            op.setNumberOfLines(txtNumberOfLines.getText().trim());
            op.setMinFileSize(txtFileSize.getText().trim());

            op.setBreakIfHappend(chkBreakOperation.getSelection());

            if (!outputFileNames.contains(op)) {
                outputFileNames.add(op);
                //((ResusModel)getElement()).setInputFileNames((ArrayList<String>)inputFileNames);
                setOutputFiles(outputFileNames);

            } else {
                MessageBox messageBox = new MessageBox(composite.getShell(), SWT.ICON_ERROR | SWT.OK);
                messageBox.setText("Error");
                messageBox.setMessage("Your selected file is already in list");
                System.out.println("errror ");

                return;
            }

            //ListChanged();
            viewer.setInput(outputFileNames);
            viewer.refresh();

        }

    });
    btnAddToList.setBounds(15, 103, 95, 25);
    btnAddToList.setText("Add To List");

    //-----------------------------------------table-------------------
    viewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION);

    final Table table_1 = viewer.getTable();
    table_1.setBounds(5, 136, 685, 132);

    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);
    viewer.setContentProvider(new ArrayContentProvider());

    TableColumn column = new TableColumn(viewer.getTable(), SWT.NONE);
    column.setText(" Row ");
    column.setWidth(50);
    TableViewerColumn rowCol = new TableViewerColumn(viewer, column);
    rowCol.setLabelProvider(new RowNumberLabelProvider());

    column = new TableColumn(viewer.getTable(), SWT.NONE);
    column.setText("File Name");
    column.setWidth(300);
    TableViewerColumn firstNameCol = new TableViewerColumn(viewer, column);
    firstNameCol.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            OutputPair p = (OutputPair) element;
            return p.getFileName();
        }

    });

    column = new TableColumn(viewer.getTable(), SWT.NONE);
    column.setText("Number Of Lines");
    column.setWidth(105);
    TableViewerColumn linesCol = new TableViewerColumn(viewer, column);
    linesCol.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            OutputPair p = (OutputPair) element;
            return p.getNumberOfLines();
        }

    });

    column = new TableColumn(viewer.getTable(), SWT.NONE);
    column.setText("Min File Size");
    column.setWidth(85);
    TableViewerColumn MinFileSizeCol = new TableViewerColumn(viewer, column);
    MinFileSizeCol.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            OutputPair p = (OutputPair) element;
            return p.getMinFileSize();
        }

    });

    column = new TableColumn(viewer.getTable(), SWT.NONE);
    column.setText("Break");
    column.setWidth(50);
    TableViewerColumn breakCol = new TableViewerColumn(viewer, column);
    breakCol.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            OutputPair p = (OutputPair) element;
            return Boolean.toString(p.isBreakIfHappend());
        }

    });

    column = new TableColumn(viewer.getTable(), SWT.NONE);
    column.setText("Remove");
    column.setWidth(80);
    TableViewerColumn actionsNameCol = new TableViewerColumn(viewer, column);

    actionsNameCol.setLabelProvider(new ColumnLabelProvider() {
        //make sure you dispose these buttons when viewer input changes
        //final Map<Object, Button> 

        @Override
        public void update(ViewerCell cell) {

            TableItem item = (TableItem) cell.getItem();
            Button button;
            if (removeButtons.containsKey(cell.getElement())) {
                button = removeButtons.get(cell.getElement());
            } else {
                button = new Button((Composite) cell.getViewerRow().getControl(), SWT.NONE);
                button.setText("Remove");
                final OutputPair pair = (OutputPair) cell.getElement();
                button.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        outputFileNames.remove(pair);

                        ((Button) e.getSource()).dispose();
                        removeButtons.remove(pair);

                        setOutputFiles(outputFileNames);

                        viewer.setInput(outputFileNames);
                        viewer.refresh();
                    }
                });
                removeButtons.put(cell.getElement(), button);
            }
            TableEditor editor = new TableEditor(item.getParent());
            editor.grabHorizontal = true;
            editor.grabVertical = true;
            editor.setEditor(button, item, cell.getColumnIndex());
            editor.layout();
        }

    });

    viewer.setInput(outputFileNames);

    Label lblHelpTip = new Label(composite, SWT.WRAP | SWT.BORDER);
    lblHelpTip.setText(ResusMessages.Model_OutputFiles_information);
    lblHelpTip.setBounds(composite.getBounds().width + composite.getLocation().x, 10, 500, 200);

}