List of usage examples for org.eclipse.jface.viewers ViewerCell getElement
public Object getElement()
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)); }