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

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

Introduction

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

Prototype

public Object getElement() 

Source Link

Document

Get the element this row represents.

Usage

From source file:de.byteholder.geoclipse.preferences.PrefPageMapProviders.java

License:Open Source License

private void createUI20MapViewer(final Composite parent) {

    final PixelConverter pixelConverter = new PixelConverter(parent);

    final TableColumnLayout tableLayout = new TableColumnLayout();

    final Composite layoutContainer = new Composite(parent, SWT.NONE);
    layoutContainer.setLayout(tableLayout);
    GridDataFactory.fillDefaults()//
            .hint(400, pixelConverter.convertHeightInCharsToPixels(10)).grab(true, true)
            .applyTo(layoutContainer);//  w  w  w .  jav a  2 s.  c o  m

    /*
     * create table
     */
    final Table table = new Table(layoutContainer, SWT.FULL_SELECTION | SWT.BORDER);

    table.setLayout(new TableLayout());
    table.setHeaderVisible(true);
    table.setLinesVisible(false);

    _mpViewer = new TableViewer(table);
    _mpViewer.setUseHashlookup(true);

    /*
     * create columns
     */
    TableViewerColumn tvc;
    TableColumn tc;

    // column: server type
    tvc = new TableViewerColumn(_mpViewer, SWT.LEAD);
    tc = tvc.getColumn();
    tc.setToolTipText(Messages.Pref_Map_Viewer_Column_Lbl_ServerType_Tooltip);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final MP mapProvider = (MP) cell.getElement();

            if (mapProvider instanceof MPWms) {
                cell.setText(Messages.Pref_Map_Viewer_Column_ContentServerTypeWms);
            } else if (mapProvider instanceof MPCustom) {
                cell.setText(Messages.Pref_Map_Viewer_Column_ContentServerTypeCustom);
            } else if (mapProvider instanceof MPProfile) {
                cell.setText(Messages.Pref_Map_Viewer_Column_ContentServerTypeMapProfile);
            } else if (mapProvider instanceof MPPlugin) {
                cell.setText(Messages.Pref_Map_Viewer_Column_ContentServerTypePlugin);
            } else {
                cell.setText(UI.EMPTY_STRING);
            }
        }
    });
    tableLayout.setColumnData(tvc.getColumn(),
            new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(4)));

    // column: map provider
    tvc = new TableViewerColumn(_mpViewer, SWT.LEAD);
    tc = tvc.getColumn();
    tc.setText(Messages.Pref_Map_Viewer_Column_Lbl_MapProvider);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final MP mapProvider = (MP) cell.getElement();

            cell.setText(mapProvider.getName());
        }
    });
    tableLayout.setColumnData(tvc.getColumn(), new ColumnWeightData(20));

    // column: offline path
    tvc = new TableViewerColumn(_mpViewer, SWT.LEAD);
    tc = tvc.getColumn();
    tc.setText(Messages.Pref_Map_Viewer_Column_Lbl_OfflinePath);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final MP mapProvider = (MP) cell.getElement();

            cell.setText(mapProvider.getOfflineFolder());
        }
    });
    tableLayout.setColumnData(tvc.getColumn(), new ColumnWeightData(10));

    // column: layer
    tvc = new TableViewerColumn(_mpViewer, SWT.TRAIL);
    tc = tvc.getColumn();
    tc.setText(Messages.Pref_Map_Viewer_Column_Lbl_Layer);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            String layer = UI.EMPTY_STRING;

            final MP mapProvider = (MP) cell.getElement();
            if (mapProvider instanceof MPWms) {

                final MPWms wmsMapProvider = (MPWms) mapProvider;

                final StringBuilder sb = new StringBuilder();
                sb.append(wmsMapProvider.getAvailableLayers());

                layer = sb.toString();
            }
            cell.setText(layer);
        }
    });
    tableLayout.setColumnData(tvc.getColumn(),
            new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10)));

    // column: offline file counter
    tvc = new TableViewerColumn(_mpViewer, SWT.TRAIL);
    tc = tvc.getColumn();
    tc.setText(Messages.Pref_Map_Viewer_Column_Lbl_OfflineFileCounter);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final int offlineTileCounter = ((MP) cell.getElement()).getOfflineFileCounter();
            if (offlineTileCounter == MP.OFFLINE_INFO_NOT_READ) {
                cell.setText(Messages.pref_map_lable_NA);
            } else if (offlineTileCounter > 0) {
                cell.setText(Integer.toString(offlineTileCounter));
            } else {
                cell.setText(UI.DASH_WITH_SPACE);
            }
        }
    });
    tableLayout.setColumnData(tvc.getColumn(),
            new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10)));

    // column: offline file size
    tvc = new TableViewerColumn(_mpViewer, SWT.TRAIL);
    tc = tvc.getColumn();
    tc.setText(Messages.Pref_Map_Viewer_Column_Lbl_OfflineFileSize);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final long offlineTileSize = ((MP) cell.getElement()).getOfflineFileSize();
            if (offlineTileSize == MP.OFFLINE_INFO_NOT_READ) {
                cell.setText(Messages.pref_map_lable_NA);
            } else if (offlineTileSize > 0) {
                cell.setText(_nf.format((float) offlineTileSize / 1024 / 1024));
            } else {
                cell.setText(UI.DASH_WITH_SPACE);
            }
        }
    });
    tableLayout.setColumnData(tvc.getColumn(),
            new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(12)));

    /*
     * create table viewer
     */
    _mpViewer.setContentProvider(new MapContentProvider());
    _mpViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object e1, final Object e2) {

            final MP mp1 = (MP) e1;
            final MP mp2 = (MP) e2;

            final boolean thisIsPlugin = e1 instanceof MPPlugin;
            final boolean otherIsPlugin = e2 instanceof MPPlugin;

            if (thisIsPlugin && otherIsPlugin) {
                return mp1.getName().compareTo(mp2.getName());
            } else if (thisIsPlugin) {
                return 1;
            } else if (otherIsPlugin) {
                return -1;
            } else {
                return mp1.getName().compareTo(mp2.getName());
            }
        }
    });

    _mpViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            onSelectMapProvider(event);
        }
    });

    _mpViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {

            if (_selectedMapProvider instanceof MPWms) {

                openConfigDialogWms();

            } else if (_selectedMapProvider instanceof MPCustom) {

                openConfigDialogCustom();

            } else if (_selectedMapProvider instanceof MPProfile) {

                openConfigDialogMapProfile();

            } else {

                // select name
                _txtMapProviderName.setFocus();
                _txtMapProviderName.selectAll();
            }
        }
    });
}

From source file:de.dentrassi.eclipse.rpm.editor.ContentTable.java

License:Open Source License

private void createColumn(final TreeColumnLayout layout, final String label, final int weight, final int flags,
        final BiConsumer<Node, ViewerCell> consumer) {
    {// w w  w.  j  a v a2 s. c o m
        final TreeViewerColumn col = new TreeViewerColumn(this.viewer, flags);
        col.getColumn().setText(label);
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                final Object ele = cell.getElement();
                if (ele instanceof Node) {
                    final MetaInformation meta = ContentTable.this.meta.get(((Node) ele).getFullName());
                    if (meta == null) {
                        cell.setForeground(ContentTable.this.dimmedColor);
                    }
                    consumer.accept((Node) ele, cell);
                }
            }
        });
        layout.setColumnData(col.getColumn(), new ColumnWeightData(weight));
    }
}

From source file:de.dentrassi.eclipse.rpm.editor.DependenciesTable.java

License:Open Source License

public DependenciesTable(final Composite parent) {
    this.wrapper = new Composite(parent, SWT.NO_BACKGROUND);
    parent.setLayout(new FillLayout());

    this.viewer = new TreeViewer(this.wrapper, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);

    final TreeColumnLayout layout = new TreeColumnLayout();

    {// w w w. ja  va  2  s  .c  om
        final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Name");
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                final Object ele = cell.getElement();
                if (ele instanceof Map.Entry<?, ?>) {
                    final String label = ((Map.Entry<?, ?>) ele).getKey().toString();
                    cell.setText(label);
                } else if (ele instanceof Dependency) {
                    final Dependency dep = (Dependency) ele;
                    cell.setText(dep.getName());
                }
            }
        });
        layout.setColumnData(col.getColumn(), new ColumnWeightData(5));
    }

    {
        final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Op");
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                final Object ele = cell.getElement();
                if (ele instanceof Dependency) {
                    final Dependency dep = (Dependency) ele;

                    final EnumSet<RpmDependencyFlags> flags = dep.getFlags();

                    final StringBuilder sb = new StringBuilder();

                    for (final RpmDependencyFlags flag : flags) {
                        switch (flag) {
                        case LESS:
                            sb.append("<");
                            break;
                        case EQUAL:
                            sb.append("=");
                            break;
                        case GREATER:
                            sb.append(">");
                            break;
                        default:
                            break;
                        }
                    }

                    cell.setText(sb.toString());
                }
            }
        });
        layout.setColumnData(col.getColumn(), new ColumnWeightData(1));
    }

    {
        final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Version");
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                final Object ele = cell.getElement();
                if (ele instanceof Dependency) {
                    final Dependency dep = (Dependency) ele;
                    cell.setText(dep.getVersion());
                }
            }
        });
        layout.setColumnData(col.getColumn(), new ColumnWeightData(5));
    }

    {
        final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Flags");
        col.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                final Object ele = cell.getElement();
                if (ele instanceof Dependency) {
                    final Dependency dep = (Dependency) ele;

                    final EnumSet<RpmDependencyFlags> flags = dep.getFlags();

                    final String text = flags.stream().map(RpmDependencyFlags::name)
                            .collect(Collectors.joining(", "));

                    cell.setText(text);
                }
            }
        });
        layout.setColumnData(col.getColumn(), new ColumnWeightData(5));
    }

    this.wrapper.setLayout(layout);
    this.viewer.getTree().setHeaderVisible(true);

    final ITreePathContentProvider p = new ITreePathContentProvider() {

        @Override
        public boolean hasChildren(final TreePath path) {
            final Object[] children = getChildren(path);
            return children != null && children.length > 0;
        }

        @Override
        public TreePath[] getParents(final Object element) {
            return new TreePath[0];
        }

        @Override
        public Object[] getElements(final Object inputElement) {
            if (inputElement instanceof Map<?, ?>) {
                return ((Map<?, ?>) inputElement).entrySet().toArray();
            } else if (inputElement instanceof Map.Entry<?, ?>) {
                final Object val = ((Map.Entry<?, ?>) inputElement).getValue();
                if (val instanceof Collection<?>) {
                    return ((Collection<?>) val).toArray();
                }
            }
            return null;
        }

        @Override
        public Object[] getChildren(final TreePath parentPath) {
            return getElements(parentPath.getLastSegment());
        }
    };
    this.viewer.setContentProvider(p);
}

From source file:de.dentrassi.eclipse.rpm.editor.HeaderTable.java

License:Open Source License

private static void updateCellValue(final ViewerCell cell) {

    final Object ele = cell.getElement();

    if (ele instanceof Entry) {
        final Entry entry = (Entry) ele;
        final String s = cut(makeString(entry), 200);
        cell.setText(s);//from   w  w w  . j av a2 s  .c o  m

    } else if (ele != null) {
        cell.setText(ele.toString());
    }
}

From source file:de.fips.plugin.tinyaudioplayer.view.playlist.PlaylistItemLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    val item = (PlaylistItem) cell.getElement();
    cell.setText(item.getDisplayableName());
    if (player != null) {
        val playlist = player.getPlaylist();
        if (!playlist.isEmpty() && (item.equals(playlist.getCurrentTrack()))) {
            cell.setBackground(new Color(null, GREY));
        } else {//from www  .  j a  va  2 s.c  o  m
            cell.setBackground(new Color(null, WHITE));
        }
    }
}

From source file:de.gebit.integrity.eclipse.views.IntegrityTestRunnerView.java

License:Open Source License

private void configureTable(final TableViewer aTable) {
    aTable.getTable().setHeaderVisible(true);
    aTable.getTable().setLinesVisible(true);

    TableViewerColumn tempColumn = new TableViewerColumn(aTable,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    tempColumn.getColumn().setText("Name");
    tempColumn.getColumn().setWidth(150);
    tempColumn.getColumn().setResizable(true);
    tempColumn.getColumn().setMoveable(false);
    tempColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override//from w  w  w . j ava  2 s .  c  o  m
        public String getText(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            return (String) tempEntry.getAttribute(SetListEntryAttributeKeys.NAME);
        }
    });

    tempColumn = new TableViewerColumn(aTable, SWT.NONE);
    tempColumn.getColumn().setText("Value");
    tempColumn.getColumn().setWidth(150);
    tempColumn.getColumn().setResizable(true);
    tempColumn.getColumn().setMoveable(false);
    tempColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell aCell) {
            SetListEntry tempEntry = (SetListEntry) aCell.getElement();
            aCell.setText((String) tempEntry.getAttribute(SetListEntryAttributeKeys.VALUE));
        }
    });
    // Make the value column editable, mostly to be able to copy out results. See issue #77
    tempColumn.setEditingSupport(new EditingSupport(aTable) {

        @Override
        protected void setValue(Object anElement, Object aValue) {
            // not supported, we don't really want to support editing of result values
        }

        @Override
        protected Object getValue(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            return (String) tempEntry.getAttribute(SetListEntryAttributeKeys.VALUE);
        }

        @Override
        protected CellEditor getCellEditor(Object anElement) {
            return new TextCellEditor(aTable.getTable());
        }

        @Override
        protected boolean canEdit(Object anElement) {
            return true;
        }
    });
}

From source file:de.gebit.integrity.eclipse.views.IntegrityTestRunnerView.java

License:Open Source License

private void configureResultTable(final TableViewer aTable) {
    aTable.getTable().setHeaderVisible(true);
    aTable.getTable().setLinesVisible(true);

    TableViewerColumn tempColumn = new TableViewerColumn(aTable,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    tempColumn.getColumn().setText("Name");
    tempColumn.getColumn().setWidth(150);
    tempColumn.getColumn().setResizable(true);
    tempColumn.getColumn().setMoveable(false);
    tempColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override/*ww  w  .  j a  va2s .  com*/
        public String getText(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            return (String) tempEntry.getAttribute(SetListEntryAttributeKeys.NAME);
        }

        @Override
        public Color getBackground(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            Boolean tempSuccess = (Boolean) tempEntry
                    .getAttribute(SetListEntryAttributeKeys.RESULT_SUCCESS_FLAG);
            if (tempSuccess == null) {
                return super.getBackground(anElement);
            } else if (tempSuccess) {
                return resultTableSuccessColor;
            } else {
                return resultTableFailureColor;
            }
        }
    });

    tempColumn = new TableViewerColumn(aTable, SWT.NONE);
    tempColumn.getColumn().setText("Result");
    tempColumn.getColumn().setWidth(150);
    tempColumn.getColumn().setResizable(true);
    tempColumn.getColumn().setMoveable(false);
    tempColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell aCell) {
            SetListEntry tempEntry = (SetListEntry) aCell.getElement();
            aCell.setText((String) tempEntry.getAttribute(SetListEntryAttributeKeys.VALUE));
        }

        @Override
        public Color getBackground(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            Boolean tempSuccess = (Boolean) tempEntry
                    .getAttribute(SetListEntryAttributeKeys.RESULT_SUCCESS_FLAG);
            if (tempSuccess == null) {
                return super.getBackground(anElement);
            } else if (tempSuccess) {
                return resultTableSuccessColor;
            } else {
                return resultTableFailureColor;
            }
        }
    });
    // Make the value column editable, mostly to be able to copy out results. See issue #77
    tempColumn.setEditingSupport(new EditingSupport(aTable) {

        @Override
        protected void setValue(Object anElement, Object aValue) {
            // not supported, we don't really want to support editing of result values
        }

        @Override
        protected Object getValue(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            return (String) tempEntry.getAttribute(SetListEntryAttributeKeys.VALUE);
        }

        @Override
        protected CellEditor getCellEditor(Object anElement) {
            return new TextCellEditor(aTable.getTable());
        }

        @Override
        protected boolean canEdit(Object anElement) {
            return true;
        }
    });

    tempColumn = new TableViewerColumn(aTable, SWT.NONE);
    tempColumn.getColumn().setText("Expected");
    tempColumn.getColumn().setWidth(150);
    tempColumn.getColumn().setResizable(true);
    tempColumn.getColumn().setMoveable(false);
    tempColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell aCell) {
            SetListEntry tempEntry = (SetListEntry) aCell.getElement();
            aCell.setText((String) tempEntry.getAttribute(SetListEntryAttributeKeys.EXPECTED_RESULT));
        }

        @Override
        public Color getBackground(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            Boolean tempSuccess = (Boolean) tempEntry
                    .getAttribute(SetListEntryAttributeKeys.RESULT_SUCCESS_FLAG);
            if (tempSuccess == null) {
                return super.getBackground(anElement);
            } else if (tempSuccess) {
                return resultTableSuccessColor;
            } else {
                return resultTableFailureColor;
            }
        }
    });
    // Make the value column editable, mostly to be able to copy out results. See issue #77
    tempColumn.setEditingSupport(new EditingSupport(aTable) {

        @Override
        protected void setValue(Object anElement, Object aValue) {
            // not supported, we don't really want to support editing of result values
        }

        @Override
        protected Object getValue(Object anElement) {
            SetListEntry tempEntry = (SetListEntry) anElement;
            return (String) tempEntry.getAttribute(SetListEntryAttributeKeys.EXPECTED_RESULT);
        }

        @Override
        protected CellEditor getCellEditor(Object anElement) {
            return new TextCellEditor(aTable.getTable());
        }

        @Override
        protected boolean canEdit(Object anElement) {
            return true;
        }
    });
}

From source file:de.ovgu.featureide.fm.ui.editors.ConstraintDialog.java

License:Open Source License

/**
 * initializes the group containing the searchText and featureTable
 * //w w w  .j a  v a2s .  c o  m
 * @param featuremodel
 */
private void initFeatureGroup(final FeatureModel featuremodel) {

    featureGroup = new Group(shell, SWT.NONE);
    featureGroup.setText("Features");
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    featureGroup.setLayoutData(gridData);
    GridLayout featureGroupLayout = new GridLayout();
    featureGroupLayout.numColumns = 1;
    featureGroup.setLayout(featureGroupLayout);

    searchFeatureText = new StyledText(featureGroup, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
    searchFeatureText.setText(FILTERTEXT);
    searchFeatureText.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_GRAY));
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    searchFeatureText.setLayoutData(gridData);

    Composite tableComposite = new Composite(featureGroup, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    tableComposite.setLayoutData(gridData);

    final TableViewer featureTableViewer = new TableViewer(tableComposite,
            SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    featureTable = featureTableViewer.getTable();
    featureTableViewer.setContentProvider(new ArrayContentProvider());
    TableViewerColumn viewerNameColumn = new TableViewerColumn(featureTableViewer, SWT.NONE);
    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableColumnLayout.setColumnData(viewerNameColumn.getColumn(), new ColumnWeightData(100, 100, false));

    featureTableViewer.setComparator(new ViewerComparator() {

        @Override
        public int compare(Viewer viewer, Object feature1, Object feature2) {

            return ((Feature) feature1).getName().compareToIgnoreCase(((Feature) feature2).getName());
        }

    });

    viewerNameColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Feature) cell.getElement()).getName());

        }
    });

    searchFeatureText.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            ViewerFilter searchFilter = new ViewerFilter() {

                @Override
                public boolean select(Viewer viewer, Object parentElement, Object element) {
                    return ((Feature) element).getName().toLowerCase(Locale.ENGLISH)
                            .contains(searchFeatureText.getText().toLowerCase(Locale.ENGLISH));
                }

            };
            if (!searchFeatureText.getText().equalsIgnoreCase(FILTERTEXT)) {
                featureTableViewer.addFilter(searchFilter);

            }
        }

    });

    searchFeatureText.addListener(SWT.FocusOut, new Listener() {

        @Override
        public void handleEvent(Event event) {
            if (searchFeatureText.getText().isEmpty()) {
                searchFeatureText.setText(FILTERTEXT);
                searchFeatureText.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_GRAY));

            }

        }
    });
    searchFeatureText.addListener(SWT.FocusIn, new Listener() {

        @Override
        public void handleEvent(Event event) {
            if (searchFeatureText.getText().equals(FILTERTEXT))

                searchFeatureText.setText("");
            searchFeatureText.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_BLACK));
        }

    });

    featureTableViewer.setInput(featureModel.getFeatures());

    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.grabExcessVerticalSpace = true;
    featureTable.setLayoutData(gridData);

    featureTable.addListener(SWT.MouseDoubleClick, new Listener() {
        @Override
        public void handleEvent(Event event) {
            TableItem[] selectedItem = featureTable.getSelection();
            StringBuilder temp = new StringBuilder(constraintText.getText());

            temp.delete(x, y);
            if (selectedItem.length > 0) {
                temp.insert(x > y ? y : x,
                        " " + (selectedItem[0].getText().contains(" ")
                                || Operator.isOperatorName(selectedItem[0].getText())
                                        ? "\"" + selectedItem[0].getText() + "\""
                                        : selectedItem[0].getText())
                                + " ");

            }
            constraintText.setText(temp.toString()); //NodeReader.reduceWhiteSpaces(temp.toString()));

            constraintText.setSelection(constraintText.getCharCount());
            searchFeatureText.setText(FILTERTEXT);
            searchFeatureText.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_GRAY));
            constraintText.setFocus();
            featureTableViewer.resetFilters();

            validate();
        }
    });

}

From source file:de.ovgu.featureide.fm.ui.editors.DeleteOperationAlternativeDialog.java

License:Open Source License

/**
 * initializes the group containing the searchText and featureTable
 * //  w  w  w  . j a  va2s  .  c o m
 * @param featuremodel
 */
private void initFeatureGroup() {
    Group featureGroup = new Group(shell, SWT.NONE);
    featureGroup.setText("Features");
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.grabExcessHorizontalSpace = true;
    featureGroup.setLayoutData(gridData);
    GridLayout featureGroupLayout = new GridLayout();
    featureGroupLayout.numColumns = 2;
    featureGroup.setLayout(featureGroupLayout);

    Composite tableComposite = new Composite(featureGroup, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.grabExcessVerticalSpace = true;
    gridData.grabExcessHorizontalSpace = true;
    tableComposite.setLayoutData(gridData);

    final TableViewer tableViewer = new TableViewer(tableComposite,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    alternativefeatureTable = tableViewer.getTable();
    alternativefeatureTable.setLayoutData(gridData);
    alternativefeatureTable.setToolTipText("Features supposed to be deleted");
    TableViewerColumn viewerNameColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableColumnLayout.setColumnData(viewerNameColumn.getColumn(), new ColumnWeightData(100, 100, false));

    tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object feature1, Object feature2) {
            return ((Feature) feature1).getName().compareToIgnoreCase(((Feature) feature2).getName());
        }

    });

    viewerNameColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Feature) cell.getElement()).getName());

        }
    });
    Collection<Feature> l = new ArrayList<Feature>();
    l.addAll(featureMap.keySet());
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.setInput(l);

    tableComposite = new Composite(featureGroup, SWT.NONE);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.grabExcessVerticalSpace = true;
    gridData.grabExcessHorizontalSpace = true;
    tableComposite.setLayoutData(gridData);

    final TableViewer tableViewer2 = new TableViewer(tableComposite,
            SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    featureTable = tableViewer2.getTable();
    featureTable.setLayoutData(gridData);
    featureTable.setToolTipText("alternative features");
    TableViewerColumn viewerNameColumn2 = new TableViewerColumn(tableViewer2, SWT.NONE);
    tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableColumnLayout.setColumnData(viewerNameColumn2.getColumn(), new ColumnWeightData(100, 100, false));
    tableViewer2.setContentProvider(new ArrayContentProvider());

    featureTable.addListener(SWT.MouseDoubleClick, new Listener() {
        @Override
        public void handleEvent(Event event) {
            execute();
        }
    });

    alternativefeatureTable.addListener(SWT.MouseUp, new Listener() {
        @Override
        public void handleEvent(Event event) {
            final Collection<Feature> l = new ArrayList<Feature>();
            l.addAll(featureMap.get((Feature) (alternativefeatureTable.getSelection()[0]).getData()));
            for (int i = 0; i < alternativefeatureTable.getSelectionCount(); i++) {

                if (!featureMap.get((Feature) (alternativefeatureTable.getSelection()[0]).getData()).equals(
                        featureMap.get((Feature) (alternativefeatureTable.getSelection()[i]).getData()))) {
                    l.clear();
                    break;
                }
            }
            tableViewer2.setInput(l);
            featureTable.select(0);
            tableViewer2.refresh(true, true);
        }
    });

    viewerNameColumn2.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Feature) cell.getElement()).getName());

        }
    });

    final Label label = new Label(featureGroup, 0);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    label.setLayoutData(gridData);

    final Button button = new Button(featureGroup, SWT.PUSH);
    button.setText("Replace");
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    button.setLayoutData(gridData);

    button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            execute();
        }
    });
}

From source file:de.ralfebert.rcputils.properties.PropertyCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    try {/*w w  w  . j av a2s. c om*/
        Object rawValue = null;
        if (valueHandler != null) {
            rawValue = valueHandler.getValue(cell.getElement());
            Object formattedValue = rawValue;
            if (valueFormatter != null) {
                formattedValue = valueFormatter.format(rawValue);
            }
            cell.setText(String.valueOf(formattedValue));
        }
        if (cellFormatter != null) {
            cellFormatter.formatCell(cell, rawValue);
        }
    } catch (Exception e) {
        RcpUtilsPlugin.logException(e);
    }
}