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.google.gapid.widgets.MeasuringViewLabelProvider.java

License:Apache License

public Object getFollow(Point point) {
    ViewerCell cell = viewer.getCell(point);
    if (cell == null || !isFollowable(cell.getElement())) {
        return null;
    }//  www  . j av  a 2  s  . c o  m

    LinkableStyledString string = format(cell.getItem(), cell.getElement(), LinkableStyledString.create(theme));
    string.endLink();
    string.append("dummy", string.defaultStyle());
    updateLayout(cell, string.getString());

    Rectangle bounds = cell.getTextBounds();
    int offset = layout.getOffset(point.x - bounds.x, point.y - bounds.y, null);
    return string.getLinkTarget(offset);
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.rdb.table.TadpoleTableComposite.java

License:Open Source License

private void createWidget(final CTabFolder tabFolderObject) {
    CTabItem tbtmTable = new CTabItem(tabFolderObject, SWT.NONE);
    tbtmTable.setText("Tables"); //$NON-NLS-1$

    Composite compositeTables = new Composite(tabFolderObject, SWT.NONE);
    tbtmTable.setControl(compositeTables);
    GridLayout gl_compositeTables = new GridLayout(1, false);
    gl_compositeTables.verticalSpacing = 2;
    gl_compositeTables.horizontalSpacing = 2;
    gl_compositeTables.marginHeight = 2;
    gl_compositeTables.marginWidth = 2;/* w  w  w .j ava2 s.co m*/
    compositeTables.setLayout(gl_compositeTables);
    compositeTables.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    SashForm sashForm = new SashForm(compositeTables, SWT.NONE);
    sashForm.setOrientation(SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    tableListViewer = new TableViewer(sashForm, SWT.BORDER | SWT.FULL_SELECTION);
    tableListViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (PublicTadpoleDefine.YES_NO.NO.toString().equals(userDB.getIs_showtables()))
                return;

            IStructuredSelection is = (IStructuredSelection) event.getSelection();
            if (null != is) {
                TableDAO tableDAO = (TableDAO) is.getFirstElement();
                String strSQL = GenerateDDLScriptUtils.genTableScript(userDB, tableDAO, showTableColumns);
                if (StringUtils.isNotEmpty(strSQL)) {
                    FindEditorAndWriteQueryUtil.run(userDB, strSQL, PublicTadpoleDefine.DB_ACTION.TABLES);
                }
            }
        }
    });
    tableListViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (PublicTadpoleDefine.YES_NO.NO.toString().equals(userDB.getIs_showtables()))
                return;

            // ??  ?? .
            try {
                IStructuredSelection is = (IStructuredSelection) event.getSelection();
                Object tableDAO = is.getFirstElement();

                if (tableDAO != null) {
                    TableDAO table = (TableDAO) tableDAO;

                    if (selectTableName.equals(table.getName()))
                        return;
                    selectTableName = table.getName();

                    showTableColumns = TadpoleObjectQuery.makeShowTableColumns(userDB, table);

                } else {
                    showTableColumns = null;
                    selectTableName = "";
                }

                tableColumnViewer.setInput(showTableColumns);

                tableColumnComparator = new TableColumnComparator();
                tableColumnViewer.setSorter(tableColumnComparator);

                tableColumnViewer.refresh();
                TableUtil.packTable(tableColumnViewer.getTable());

            } catch (Exception e) {
                logger.error("get table column", e); //$NON-NLS-1$

                // initialize table columns
                showTableColumns.clear();
                tableColumnViewer.setInput(showTableColumns);
                tableColumnComparator = new TableColumnComparator();
                tableColumnViewer.setSorter(tableColumnComparator);
                tableColumnViewer.refresh();
                TableUtil.packTable(tableColumnViewer.getTable());

                // show error message
                Status errStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); //$NON-NLS-1$
                ExceptionDetailsErrorDialog.openError(tabFolderObject.getShell(), "Error", e.getMessage(), //$NON-NLS-1$
                        errStatus);
            }
        }
    });

    Table tableTableList = tableListViewer.getTable();
    tableTableList.setLinesVisible(true);
    tableTableList.setHeaderVisible(true);

    // sorter
    tableComparator = new TableComparator();
    tableListViewer.setSorter(tableComparator);
    tableComparator.setColumn(0);

    // auto table layout
    AutoResizeTableLayout layoutColumnLayout = new AutoResizeTableLayout(tableListViewer.getTable());

    TableViewerColumn tvColName = new TableViewerColumn(tableListViewer, SWT.NONE);
    TableColumn tbName = tvColName.getColumn();
    tbName.setWidth(170);
    tbName.setText("Name"); //$NON-NLS-1$
    tbName.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbName, 0));
    tvColName.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public Image getImage(Object element) {
            return ResourceManager.getPluginImage(Activator.PLUGIN_ID,
                    "resources/icons/objectExplorer/tables.png"); //$NON-NLS-1$
        }

        @Override
        public String getText(Object element) {
            TableDAO table = (TableDAO) element;
            return table.getName();
        }
    });
    tvColName.setEditingSupport(new TableCommentEditorSupport(tableListViewer, userDB, 0));
    layoutColumnLayout.addColumnData(new ColumnWeightData(170));

    // table column tooltip
    ColumnViewerToolTipSupport.enableFor(tableListViewer);
    CellLabelProvider clpTable = new CellLabelProvider() {

        public String getToolTipText(Object element) {
            TableDAO table = (TableDAO) element;
            return table.getComment();
        }

        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        public int getToolTipDisplayDelayTime(Object object) {
            return 100;
        }

        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        public void update(ViewerCell cell) {
            TableDAO table = (TableDAO) cell.getElement();
            cell.setText(table.getComment());
        }
    };

    TableViewerColumn tvTableComment = new TableViewerColumn(tableListViewer, SWT.NONE);
    TableColumn tbComment = tvTableComment.getColumn();
    tbComment.setWidth(200);
    tbComment.setText("Comment"); //$NON-NLS-1$
    tbComment.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbComment, 1));
    tvTableComment.setLabelProvider(clpTable);
    tvTableComment.setEditingSupport(new TableCommentEditorSupport(tableListViewer, userDB, 1));
    layoutColumnLayout.addColumnData(new ColumnWeightData(200));

    tableListViewer.getTable().setLayout(layoutColumnLayout);
    tableListViewer.setContentProvider(new ArrayContentProvider());
    tableListViewer.setInput(showTables);

    // dnd  
    Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
    tableListViewer.addDragSupport(DND_OPERATIONS, transferTypes,
            new TableDragListener(userDB, tableListViewer));

    // filter
    tableFilter = new TableFilter();
    tableListViewer.addFilter(tableFilter);

    createTableMenu();

    // columns
    tableColumnViewer = new TableViewer(sashForm, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    tableColumnViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection is = (IStructuredSelection) event.getSelection();

            if (null != is) {
                TableColumnDAO tableDAO = (TableColumnDAO) is.getFirstElement();
                FindEditorAndWriteQueryUtil.runAtPosition(StringUtils.trim(tableDAO.getField()));
            }
        }
    });
    Table tableTableColumn = tableColumnViewer.getTable();
    tableTableColumn.setHeaderVisible(true);
    tableTableColumn.setLinesVisible(true);

    tableColumnComparator = new TableColumnComparator();
    tableColumnViewer.setSorter(tableColumnComparator);

    createTableColumne(tableColumnViewer);

    tableColumnViewer.setContentProvider(new ArrayContentProvider());
    tableColumnViewer.setLabelProvider(new TableColumnLabelprovider());

    createTableColumnMenu();

    sashForm.setWeights(new int[] { 1, 1 });
}

From source file:com.hydra.project.myplugin_nebula.xviewer.XViewerStyledTextLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();

    StyledString styledString = getStyledText(element, cell.getColumnIndex());
    String newText = styledString.toString();

    StyleRange[] oldStyleRanges = cell.getStyleRanges();
    StyleRange[] newStyleRanges = isOwnerDrawEnabled() ? styledString.getStyleRanges() : null;

    if (!Arrays.equals(oldStyleRanges, newStyleRanges)) {
        cell.setStyleRanges(newStyleRanges);
        //         if (cell.getText().equals(newText)) {
        //            // make sure there will be a refresh from a change
        //            cell.setText(""); //$NON-NLS-1$
        //         }
    }/*from  w ww.  j a va 2  s  . c  om*/

    cell.setText(newText);
    cell.setImage(getColumnImage(element, cell.getColumnIndex()));
    cell.setFont(getFont(element, cell.getColumnIndex()));
    cell.setForeground(getForeground(element, cell.getColumnIndex()));
    cell.setBackground(getBackground(element, cell.getColumnIndex()));

    // no super call required. changes on item will trigger the refresh.
}

From source file:com.jaspersoft.studio.property.dataset.dialog.DataPreviewTable.java

License:Open Source License

private void updateTableLayout() {
    if (composite.isVisible()) {
        // Remove all table items if any
        wtable.removeAll();//from   ww w  . jav a2 s. c om
        tviewer.setInput(null);

        // Dispose old columns if any
        for (TableColumn col : wtable.getColumns()) {
            col.dispose();
        }

        TableColumnLayout tColLayout = new TableColumnLayout();
        tableContainer.setLayout(tColLayout);

        List<JRDesignField> fields = previewInfoProvider.getFieldsForPreview();
        if (fields.size() > 0) {
            for (JRDesignField f : fields) {
                TableViewerColumn tvc = new TableViewerColumn(tviewer, SWT.NONE);
                tvc.getColumn().setText(f.getName());
                tvc.setLabelProvider(new ColumnLabelProvider());
                tColLayout.setColumnData(tvc.getColumn(),
                        new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true));
                tvc.setLabelProvider(new CellLabelProvider() {
                    @Override
                    public void update(ViewerCell cell) {
                        DataPreviewBean element = (DataPreviewBean) cell.getElement();
                        Object value = element.getValue(cell.getColumnIndex());
                        if (value != null) {
                            cell.setText(value.toString());
                        } else {
                            cell.setText(""); //$NON-NLS-1$
                        }
                    }
                });
            }

        }

        tableContainer.layout();
    }
}

From source file:com.kdmanalytics.toif.report.internal.providers.ReportLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    Object element = cell.getElement();
    final StyledString styledString = new StyledString(getColumnText(element, cell.getColumnIndex()));

    if (element instanceof IFindingEntry) {
        final IFindingEntry entry = (IFindingEntry) element;

        if (Citing.UNKNOWN == entry.isOk()) {
            cell.setForeground(colorReg.get(FOREGROUND_BLACK));
            cell.setBackground(colorReg.get(BLUE));
        } else {//from   w w  w. ja  v a 2 s  . c om

            cell.setForeground(Citing.TRUE == entry.isOk() ? colorReg.get(FOREGROUND_GREEN)
                    : colorReg.get(FOREGROUND_RED));
            cell.setBackground(Citing.TRUE == entry.isOk() ? colorReg.get(GREEN) : colorReg.get(RED));
        }
    } else if (element instanceof IFileGroup) {
        cell.setFont(getFont(element));
    }
    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(cell.getColumnIndex() > 0 ? null : getImage(element));
}

From source file:com.kdmanalytics.toif.report.internal.providers.ReportStyledCellLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final IToifReportEntry entry = (IToifReportEntry) cell.getElement();
    final StyledString styledString = new StyledString(getColumnText(entry, cell.getColumnIndex()));
    final IFindingEntry findingEntry = entry.getFindingEntry();

    if (Citing.UNKNOWN == findingEntry.isOk()) {
        cell.setForeground(FOREGROUND_BLACK);
        cell.setBackground(WHITE);/*  w w w .ja va  2 s  . co m*/
    } else {

        cell.setForeground(Citing.TRUE == findingEntry.isOk() ? FOREGROUND_RED : FOREGROUND_GREEN);
        cell.setBackground(Citing.TRUE == findingEntry.isOk() ? RED : GREEN);
    }
    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(getImage(entry, cell.getColumnIndex()));
}

From source file:com.kdmanalytics.toif.ui.views.DefectDescStyledLabelProvider.java

License:Open Source License

public void update(final ViewerCell cell) {
    final DefectNode entry = (DefectNode) cell.getElement();
    int index = cell.getColumnIndex();
    final StyledString styledString = new StyledString(getColumnText(entry, index));

    String desc = entry.getDescription();
    if (desc.startsWith("http://") || desc.startsWith("https://")) {
        cell.setForeground(FOREGROUND_BLUE);
    }/*from   w w w  .ja  va 2  s .  c o m*/

    String text = styledString.toString();

    // This removed code is used to split the string into a number of separate
    // lines suitable for wrapping.
    //
    //
    // // How many characters will we allow per line?
    // Tree tree = (Tree)cell.getControl();
    //
    // // Use the client area minus the first column to see how much room we have
    // // for text.
    // Rectangle area = viewer.getTree().getClientArea();
    // TreeColumn column = tree.getColumn(0);
    // int width = area.width - column.getWidth();
    // if (width < 50) width = 50;
    // width -= 10;
    // GC gc = new GC(tree);
    // FontMetrics fm = gc.getFontMetrics();
    // int charWidth = fm.getAverageCharWidth();
    // int charCount = width / charWidth;
    // if (charCount < 10) charCount = 10;
    //
    // List<String> lines = new LinkedList<String>();
    //
    // while (text.length() > 0) {
    // // Break at space
    // int lastSpace = text.lastIndexOf(' ', charCount);
    // if (lastSpace > 10) {
    // lines.add(text.substring(0, lastSpace));
    // text = text.substring(lastSpace + 1);
    // continue;
    // }
    //
    // // Break at next space
    // int nextSpace = text.indexOf(' ', charCount);
    // if (nextSpace > 10) {
    // lines.add(text.substring(0, nextSpace));
    // text = text.substring(nextSpace + 1);
    // continue;
    // }
    //
    // // Just use whole string
    // lines.add(text);
    // text = "";
    // }
    //
    // // Add in \n characters
    // StringBuilder sb = new StringBuilder();
    // for (int i = 0; i < lines.size(); i++) {
    // if (i > 0) sb.append("\n");
    // sb.append(lines.get(i));
    // }
    //
    // cell.setText(sb.toString());
    cell.setText(text);
    cell.setStyleRanges(styledString.getStyleRanges());
}

From source file:com.kdmanalytics.toif.ui.views.FindingStyledLabelProvider.java

License:Open Source License

public void update(final ViewerCell cell) {
    final IFindingEntry entry = (IFindingEntry) cell.getElement();
    int index = cell.getColumnIndex();
    String text = getColumnText(entry, index);
    if (text == null) {
        text = "";
    }/*from w w  w  .j ava 2s.com*/
    final StyledString styledString = new StyledString(text);

    Boolean citing = entry.getCiting();
    if (citing != null) {
        if (citing) {
            cell.setForeground(FOREGROUND_RED);
            cell.setBackground(RED);
        } else {
            cell.setForeground(FOREGROUND_GREEN);
            cell.setBackground(GREEN);
        }
    } else {
        cell.setForeground(FOREGROUND_BLACK);
        cell.setBackground(WHITE);
    }

    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(getImage(entry, cell.getColumnIndex()));
}

From source file:com.kopson.cite.views.SmartLogConsole.java

License:Open Source License

/**
 *  This will create the columns for the table
 *  // w w  w.  ja  v  a2  s .com
 * @param parent
 */
private void createColumns(final Composite parent) {
    headerMenu = new Menu(parent.getShell(), SWT.POP_UP);

    String[] titles = { CITE.SMARTLOG_COLUMN_ID, CITE.SMARTLOG_COLUMN_TYPE, CITE.SMARTLOG_COLUMN_TAG,
            CITE.SMARTLOG_COLUMN_MESSAGE, CITE.SMARTLOG_COLUMN_OBJECT, CITE.SMARTLOG_COLUMN_ASSERT };

    int[] bounds = { 100, 100, 100, 100, 100, 100 };

    TableViewerColumn idColumn = createTableViewerColumn(titles[0], bounds[0], 0);
    idColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText("" + ((SmartLogEntry) cell.getElement()).getId());
        }

        @Override
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 100;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

    });

    TableViewerColumn typeColumn = createTableViewerColumn(titles[1], bounds[1], 1);
    typeColumn.setLabelProvider(new StyledCellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            String search = searchText.getText();
            SmartLogEntry logRow = (SmartLogEntry) cell.getElement();
            String cellText = logRow.getType();
            cell.setText(cellText);
            if (search != null && search.length() > 0) {
                int intRangesCorrectSize[] = SearchUtil.getSearchTermOccurrences(search, cellText);
                List<StyleRange> styleRange = new ArrayList<StyleRange>();
                for (int i = 0; i < intRangesCorrectSize.length / 2; i++) {
                    int start = intRangesCorrectSize[i];
                    int length = intRangesCorrectSize[++i];
                    StyleRange myStyledRange = new StyleRange(start, length, null, colorYellow);

                    styleRange.add(myStyledRange);
                }
                cell.setStyleRanges(styleRange.toArray(new StyleRange[styleRange.size()]));
            } else {
                cell.setStyleRanges(null);
            }

            super.update(cell);

        }
    });

    typeColumn.setEditingSupport(new TypeEditingSupport(viewer));

    TableViewerColumn tagColumn = createTableViewerColumn(titles[2], bounds[2], 2);
    tagColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((SmartLogEntry) cell.getElement()).getTag());
        }

        @Override
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 100;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

    });
    tagColumn.setEditingSupport(new TagEditingSupport(viewer));

    TableViewerColumn messageColumn = createTableViewerColumn(titles[3], bounds[3], 3);
    messageColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SmartLogEntry) element).getMessage();
        }
    });

    messageColumn.setEditingSupport(new MessageEditingSupport(viewer));

    TableViewerColumn objectColumn = createTableViewerColumn(titles[4], bounds[4], 4);
    objectColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SmartLogEntry) element).getObject();
        }

        //TODO: set meaningful images
        @Override
        public Image getImage(Object element) {
            if (((SmartLogEntry) element).getObject() != null) {
                return CHECKED;
            }
            return UNCHECKED;
        }
    });

    TableViewerColumn assertColumn = createTableViewerColumn(titles[5], bounds[5], 5);
    assertColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SmartLogEntry) element).getAssertion();
        }
    });
    assertColumn.setEditingSupport(new AssertionEditingSupport(viewer));
}

From source file:com.lmpessoa.sonarview.ui.IssueDescriptionField.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    super.update(cell);
    String severity = null;//from  w ww.j a v  a  2 s . co m
    MarkerItem item = (MarkerItem) cell.getElement();
    if (item != null) {
        severity = item.getAttributeValue(MarkerUtils.SEVERITY, null);
    }
    if (severity == null && "MarkerCategory".equals(item.getClass().getSimpleName())) {
        severity = item.getAttributeValue(IMarker.MESSAGE, null).trim().toUpperCase();
        int pos = severity.indexOf(' ');
        if (pos >= 0) {
            severity = severity.substring(0, pos);
        }
    }
    cell.setImage(Images.getMarkerImage(severity));
}