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:com.logcat.offline.view.ddmuilib.logcat.LogCatMessageLabelProvider.java

License:Apache License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    if (!(element instanceof LogCatMessageWrapper)) {
        return;//from   w  ww  . j  ava 2 s .c  o m
    }
    LogCatMessage m = ((LogCatMessageWrapper) element).getLogCatMessage();

    String text = getCellText(m, cell.getColumnIndex());
    cell.setText(text);
    cell.setFont(mLogFont);
    cell.setForeground(getForegroundColor(m));
    cell.setBackground(getBackgroundColor((LogCatMessageWrapper) element));
}

From source file:com.maccasoft.composer.internal.TextEditingSupport.java

License:Open Source License

@Override
protected CellEditor getCellEditor(Object element) {
    if (cellEditor == null) {
        cellEditor = new TextCellEditor((Composite) getViewer().getControl(), SWT.CENTER) {

            @Override/*from   w  w w.java2  s.c o  m*/
            protected void keyReleaseOccured(KeyEvent e) {
                if (e.keyCode == SWT.ARROW_UP) {
                    fireApplyEditorValue();
                    deactivate();

                    ViewerCell cell = getViewer().getColumnViewerEditor().getFocusCell();
                    if (cell != null) {
                        final ViewerCell nextCell = cell.getNeighbor(ViewerCell.ABOVE, false);
                        if (nextCell != null) {
                            getViewer().getControl().getDisplay().asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    GridTableViewer viewer = (GridTableViewer) getViewer();
                                    Grid grid = (Grid) viewer.getControl();
                                    if (!grid.isDisposed()) {
                                        viewer.editElement(nextCell.getElement(), nextCell.getColumnIndex());
                                    }
                                }
                            });
                        }
                    }
                    e.doit = false;
                } else if (e.keyCode == SWT.ARROW_DOWN) {
                    fireApplyEditorValue();
                    deactivate();

                    ViewerCell cell = getViewer().getColumnViewerEditor().getFocusCell();
                    if (cell != null) {
                        final ViewerCell nextCell = cell.getNeighbor(ViewerCell.BELOW, false);
                        if (nextCell != null) {
                            getViewer().getControl().getDisplay().asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    GridTableViewer viewer = (GridTableViewer) getViewer();
                                    Grid grid = (Grid) viewer.getControl();
                                    if (!grid.isDisposed()) {
                                        viewer.editElement(nextCell.getElement(), nextCell.getColumnIndex());
                                    }
                                }
                            });
                        }
                    }
                    e.doit = false;
                }
                super.keyReleaseOccured(e);
            }
        };
    }
    return cellEditor;
}

From source file:com.maccasoft.composer.MusicEditor.java

License:Open Source License

void createMusicViewer(Composite parent) {
    Group group = new Group(parent, SWT.NONE);
    group.setText("Pattern");
    group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    group.setLayout(new GridLayout(1, false));

    final Font font;
    if ("win32".equals(SWT.getPlatform())) {
        font = new Font(Display.getDefault(), "Courier New", 10, SWT.NONE);
    } else {/*from  w  ww.  ja  va 2s .com*/
        font = new Font(Display.getDefault(), "mono", 10, SWT.NONE);
    }

    GC gc = new GC(group);
    gc.setFont(font);
    FontMetrics fontMetrics = gc.getFontMetrics();
    gc.dispose();

    Grid table = new Grid(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    table.setHeaderVisible(true);
    table.setLinesVisible(false);
    table.setRowHeaderVisible(true);
    table.setItemHeaderWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6));
    table.setCellSelectionEnabled(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    table.setFont(font);

    table.addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent e) {
            font.dispose();
        }
    });

    viewer = new GridTableViewer(table);

    ObservableListContentProvider contentProvider = new ObservableListContentProvider() {

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            if (oldInput != null) {
                ((IObservableList) oldInput).removeListChangeListener(listChangeListener);
            }
            if (newInput != null) {
                ((IObservableList) newInput).addListChangeListener(listChangeListener);
            }
            Display.getDefault().timerExec(0, rowBackgroundUpdateRunnable);
            super.inputChanged(viewer, oldInput, newInput);
        }
    };
    viewer.setContentProvider(contentProvider);

    viewer.setRowHeaderLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            int index = ((IObservableList) viewer.getInput()).indexOf(cell.getElement());
            cell.setText(String.format("%02X", index));
        }
    });

    for (int ch = 0; ch < Project.channelLabels.length; ch++) {
        final int channel = ch;

        GridColumnGroup columnGroup = new GridColumnGroup(table, SWT.NONE);
        columnGroup.setText(Project.channelLabels[ch]);

        GridColumn column = new GridColumn(columnGroup, SWT.CENTER);
        column.setText("Note");
        column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6));
        GridViewerColumn viewerColumn = new GridViewerColumn(viewer, column);
        viewerColumn.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                SongRow element = (SongRow) cell.getElement();
                cell.setText(element.getNote(channel));
            }
        });
        viewerColumn.setEditingSupport(new TextEditingSupport(viewer) {

            @Override
            protected Object getValue(Object element) {
                return ((SongRow) element).getNote(channel);
            }

            @Override
            protected void setValue(Object element, Object value) {
                ((SongRow) element).setNote(channel, value.toString());
                viewer.update(element, null);
            }
        });

        column = new GridColumn(columnGroup, SWT.CENTER);
        column.setText("Ins.");
        column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6));
        viewerColumn = new GridViewerColumn(viewer, column);
        viewerColumn.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                SongRow element = (SongRow) cell.getElement();
                String value = element.getInstrument(channel);
                cell.setText(value);
                if (project.getInstrument(value) == null) {
                    cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
                } else {
                    cell.setForeground(null);
                }
            }
        });
        viewerColumn.setEditingSupport(new TextEditingSupport(viewer) {

            @Override
            protected Object getValue(Object element) {
                return ((SongRow) element).getInstrument(channel);
            }

            @Override
            protected void setValue(Object element, Object value) {
                ((SongRow) element).setInstrument(channel, value.toString());
                viewer.update(element, null);
            }
        });

        column = new GridColumn(columnGroup, SWT.CENTER);
        column.setText("Fx1");
        column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6));
        viewerColumn = new GridViewerColumn(viewer, column);
        viewerColumn.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                SongRow element = (SongRow) cell.getElement();
                String value = element.getFx1(channel);
                cell.setText(value);
                if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) {
                    cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
                } else {
                    cell.setForeground(null);
                }
            }
        });
        viewerColumn.setEditingSupport(new TextEditingSupport(viewer) {

            @Override
            protected Object getValue(Object element) {
                return ((SongRow) element).getFx1(channel);
            }

            @Override
            protected void setValue(Object element, Object value) {
                ((SongRow) element).setFx1(channel, value.toString());
                viewer.update(element, null);
            }
        });

        column = new GridColumn(columnGroup, SWT.CENTER);
        column.setText("Fx2");
        column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6));
        viewerColumn = new GridViewerColumn(viewer, column);
        viewerColumn.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                SongRow element = (SongRow) cell.getElement();
                String value = element.getFx2(channel);
                cell.setText(value);
                if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) {
                    cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
                } else {
                    cell.setForeground(null);
                }
            }
        });
        viewerColumn.setEditingSupport(new TextEditingSupport(viewer) {

            @Override
            protected Object getValue(Object element) {
                return ((SongRow) element).getFx2(channel);
            }

            @Override
            protected void setValue(Object element, Object value) {
                ((SongRow) element).setFx2(channel, value.toString());
                viewer.update(element, null);
            }
        });
    }

    table.addKeyListener(new NoteKeyListener(viewer) {

        @Override
        protected int getOctave() {
            return octave.getSelection();
        }

        @Override
        protected String getInstrument() {
            IStructuredSelection selection = instrumentToolBar.getStructuredSelection();
            String id = project.getInstrumentId((Instrument) selection.getFirstElement());
            return id != null ? id : super.getInstrument();
        }
    });

    ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) {

        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.character == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    activationStrategy.setEnableEditorActivationWithKeyboard(true);

    GridViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL
            | ColumnViewerEditor.KEYBOARD_ACTIVATION | GridViewerEditor.SELECTION_FOLLOWS_EDITOR);
}

From source file:com.matlab.eclipse.mconsole.views.CommandHistoryLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    if (cell.getElement() instanceof CommandHistoryEntry) {
        ThemeWrapper theme = MConsolePlugin.getDefault().getCurrentTheme();
        CommandHistoryEntry commandHistoryEntry = (CommandHistoryEntry) cell.getElement();

        String entry = commandHistoryEntry.getName();
        if (entry.contains(System.getProperty("line.separator"))) {
            cell.setText(//from   www.jav a2  s.  c  o  m
                    commandHistoryEntry.toString().replaceAll(System.getProperty("line.separator"), "\\\\n"));
        } else {
            cell.setText(commandHistoryEntry.toString());
        }
        try {
            if (commandHistoryEntry.getName().startsWith("%")) {
                cell.setForeground(theme.getColor(ThemeConstants.COMMANDHISTORY_DATE_COLOR));
            } else
                cell.setForeground(theme.getColor(ThemeConstants.COMMANDHISTORY_FOREGROUND_COLOR));
            cell.setBackground(theme.getColor(ThemeConstants.COMMANDHISTORY_BACKGROUND_COLOR));
            cell.setFont(theme.getFont(ThemeConstants.COMMANDHISTORY_FONT));

        } catch (Exception e) {

        }
    }

}

From source file:com.mentor.nucleus.bp.ui.sem.pages.SEMEditorPage.java

License:Open Source License

private void createColumnForEvent(StateMachineEvent_c event) {
    TableViewerColumn column = new TableViewerColumn(fTableViewer, SWT.CENTER);
    column.setLabelProvider(new CellLabelProvider() {

        @Override/*from  w w  w  . ja v a  2  s  . c  om*/
        public void update(ViewerCell cell) {
            ITableLabelProvider provider = (ITableLabelProvider) fTableViewer.getLabelProvider();
            cell.setText(provider.getColumnText(cell.getElement(), cell.getColumnIndex()));
            cell.setImage(provider.getColumnImage(cell.getElement(), cell.getColumnIndex()));
        }

    });
    column.setEditingSupport(new SEMEditingSupport(fTableViewer, column.getColumn()));
    column.getColumn().setData(event);
    column.getColumn().setText(event.Get_name());
    column.getColumn().pack();
}

From source file:com.mobilesorcery.sdk.testing.internal.ui.FailureDetailsLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    cell.setText(getText(cell.getElement()));
}

From source file:com.mobilesorcery.sdk.testing.internal.ui.TestSessionLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    Object element = cell.getElement();
    String mainText = getText(element);
    StyledString text = new StyledString(mainText);
    String elapsedTimeText = getElapsedTimeText(element);
    if (elapsedTimeText != null) {
        text = StyledCellLabelProvider.styleDecoratedString(
                MessageFormat.format("{0} {1}", text, elapsedTimeText), StyledString.COUNTER_STYLER, text);
    }// ww  w.j a  v a 2 s . com
    cell.setText(text.getString());
    cell.setStyleRanges(text.getStyleRanges());
    Image image = getImage(element);
    cell.setImage(image);
}

From source file:com.motorola.studio.android.emulator.core.emulationui.AbstractEmuLabelProvider.java

License:Apache License

/**
 * @see org.eclipse.jface.viewers.CellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell)
 *//* ww  w .jav a 2  s  .  c  o m*/
@Override
public void update(ViewerCell cell) {
    // The instance column index is set with the current cell column index, as the logic
    // contained in this class depends on this information. Then after the cell is 
    // updated according to the standard procedure, the column index field is reset so that
    // it does not interfere with subsequent updates. 
    columnIndex = cell.getColumnIndex();
    super.update(cell);
    columnIndex = firstColumnIndex;

    // Checks if the cell needs to be highlighted. This will be true if the values of
    // alternativeColorHost and alternativeColorBeanId are different from null and -1
    if ((alternativeColorHost != null) && (alternativeColorBeanId != -1)) {

        Object element = cell.getElement();
        // Only leaf nodes can be highlighted
        if (element instanceof EmuViewerLeafNode) {
            // The next lines are used to check if the current element is the one to be
            // highlighted. For that, the host and bean id needs to be compared to the
            // alternativeColorHost and alternativeColorBeanId instance field values
            EmuViewerLeafNode node = (EmuViewerLeafNode) element;
            long beanId = node.getBeanId();
            EmuViewerRootNode root = (EmuViewerRootNode) node.getParent().getParent();
            String host = root.getEmulatorIdentifier();

            if ((beanId == alternativeColorBeanId) && (host.equals(alternativeColorHost))) {
                // Highlighting the node

                cell.setBackground(alternativeColor);

                // Putting the node at the visible part of the tree

                ViewerRow highlightedRow = cell.getViewerRow();
                TreeItem highlightedItem = (TreeItem) highlightedRow.getItem();
                Tree tree = (Tree) cell.getControl();
                tree.showItem(highlightedItem);
            }
        }

    }
}

From source file:com.motorolamobility.studio.android.certmanager.ui.tree.NameAliasColumnLabelProvider.java

License:Apache License

@Override
public void update(ViewerCell cell) {
    Object cellElement = cell.getElement();
    cell.setText(getText(cellElement));//from   ww w  .  j  av a  2 s  .  c om
    if (getImage(cellElement) != null) {
        cell.setImage(getImage(cellElement));
    }
}

From source file:com.motorolamobility.studio.android.db.core.ui.tree.DatabaseExplorerTreeLabelProvider.java

License:Apache License

@Override
public void update(ViewerCell cell) {
    Object cellElement = cell.getElement();
    cell.setText(getText(cellElement));//from  w  w w.j  a v  a 2  s.c  om
    cell.setImage(getImage(cellElement));
}