List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex
public int getColumnIndex()
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTableFindReplaceTarget.java
License:Open Source License
private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction, boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) { if (cell == null) return null; int dirCell = ViewerCell.RIGHT; if (!searchForward) dirCell = ViewerCell.LEFT;/*w w w . ja va2 s . com*/ Table table = _viewer.getTable(); if (!scope || table.isSelected(table.indexOf((TableItem) cell.getItem()))) { ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cellFound != null) return cellFound; } dirCell = ViewerCell.RIGHT; int dirRow = 0; if (searchForward) dirRow = ViewerRow.BELOW; else dirRow = ViewerRow.ABOVE; ViewerRow row = cell.getViewerRow(); if (table.getSelectionCount() == 0) { while (row.getNeighbor(dirRow, true) != null) { row = row.getNeighbor(dirRow, true); cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } else { while (row.getNeighbor(dirRow, true) != null) { row = row.getNeighbor(dirRow, true); if (!scope || table.isSelected(table.indexOf((TableItem) row.getItem()))) { cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } } return null; }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTableFindReplaceTarget.java
License:Open Source License
private ViewerCell searchInRow(ViewerRow row, int index, String findString, boolean searchForward, boolean caseSensitive, boolean wholeWord, int dirCell, boolean regExSearch) { Pattern pattern = null;/*from ww w .j a v a 2 s . c o m*/ if (regExSearch) { pattern = Pattern.compile(findString); } ISTDataViewersField[] fields = getAllFields(); ViewerCell cell = row.getCell(index); do { String text = ""; ISTDataViewersField field = fields[cell.getColumnIndex()]; if (field.getSpecialDrawer(cell.getElement()) != null) { ISpecialDrawerListener hfield = (ISpecialDrawerListener) field; text = hfield.getValue(cell.getElement()).trim(); } else text = cell.getText().trim(); boolean ok = false; if (regExSearch) { Matcher matcher = pattern.matcher(text); ok = matcher.find(); } else { if (wholeWord) { if (caseSensitive) ok = text.equals(findString); else ok = text.equalsIgnoreCase(findString); } else { ok = text.contains(findString); if (ok && caseSensitive) { text.indexOf(findString); } } } if (ok) { _viewer.reveal(cell.getElement()); if (((TableViewer) _viewer).getTable().getSelectionCount() > 0) { TableViewer tv = (TableViewer) _viewer; Table table = tv.getTable(); table.deselect(table.indexOf((TableItem) row.getItem())); } return cell; } cell = cell.getNeighbor(dirCell, true); } while (cell != null); return null; }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java
License:Open Source License
private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction, boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) { if (cell == null) return null; int dirCell = ViewerCell.RIGHT; if (!searchForward) dirCell = ViewerCell.LEFT;//from w w w. j av a 2 s.c o m if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) { ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cellFound != null) return cellFound; } dirCell = ViewerCell.RIGHT; int dirRow = 0; if (searchForward) dirRow = ViewerRow.BELOW; else dirRow = ViewerRow.ABOVE; ViewerRow row = cell.getViewerRow(); if (fSelections == null) { while (row.getNeighbor(dirRow, false) != null) { row = row.getNeighbor(dirRow, false); cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } else { while (row.getNeighbor(dirRow, false) != null) { row = row.getNeighbor(dirRow, false); if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) { cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } } return null; }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java
License:Open Source License
private ViewerCell searchInRow(ViewerRow row, int index, String findString, boolean searchForward, boolean caseSensitive, boolean wholeWord, int dirCell, boolean regExSearch) { Pattern pattern = null;//from ww w . ja v a 2 s . co m if (regExSearch) { pattern = Pattern.compile(findString); } ISTDataViewersField[] fields = getAllFields(); ViewerCell cell = row.getCell(index); do { String text = ""; ISTDataViewersField field = fields[cell.getColumnIndex()]; if (field.getSpecialDrawer(cell.getElement()) != null) { ISpecialDrawerListener hfield = (ISpecialDrawerListener) field; text = hfield.getValue(cell.getElement()).trim(); } else text = cell.getText().trim(); boolean ok = false; if (regExSearch) { Matcher matcher = pattern.matcher(text); ok = matcher.find(); } else { if (wholeWord) { if (caseSensitive) ok = text.equals(findString); else ok = text.equalsIgnoreCase(findString); } else { ok = text.contains(findString); if (ok && caseSensitive) { text.indexOf(findString); } } } if (ok) { _viewer.reveal(cell.getElement()); if (fSelections != null && fSelections.indexOf(row.getItem()) != -1) _viewer.getTree().deselectAll(); return cell; } cell = cell.getNeighbor(dirCell, true); } while (cell != null); return null; }
From source file:org.eclipse.linuxtools.internal.valgrind.cachegrind.CachegrindLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { ICachegrindElement element = ((ICachegrindElement) cell.getElement()); int index = cell.getColumnIndex(); if (index == 0) { if (element instanceof CachegrindFile) { // Try to use the CElementLabelProvider IAdaptable model = ((CachegrindFile) element).getModel(); if (model != null) { cell.setText(cLabelProvider.getText(model)); cell.setImage(cLabelProvider.getImage(model)); } else { // Fall back String name = ((CachegrindFile) element).getName(); cell.setText(name);//from w ww . j a va 2 s . c om cell.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE)); } } else if (element instanceof CachegrindFunction) { // Try to use the CElementLabelProvider IAdaptable model = ((CachegrindFunction) element).getModel(); if (model != null) { cell.setText(cLabelProvider.getText(model)); cell.setImage(cLabelProvider.getImage(model)); } else { // Fall back String name = ((CachegrindFunction) element).getName(); cell.setText(name); cell.setImage(FUNC_IMG); } } else if (element instanceof CachegrindLine) { cell.setText(NLS.bind(Messages.getString("CachegrindViewPart.line"), //$NON-NLS-1$ ((CachegrindLine) element).getLine())); cell.setImage(DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER_TOP)); } else if (element instanceof CachegrindOutput) { cell.setText(NLS.bind(Messages.getString("CachegrindViewPart.Total_PID"), //$NON-NLS-1$ ((CachegrindOutput) element).getPid())); cell.setImage(DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_REGISTER)); } } else if (element instanceof CachegrindFunction) { cell.setText(df.format(((CachegrindFunction) element).getTotals()[index - 1])); } else if (element instanceof CachegrindLine) { cell.setText(df.format(((CachegrindLine) element).getValues()[index - 1])); } else if (element instanceof CachegrindOutput) { cell.setText(df.format(((CachegrindOutput) element).getSummary()[index - 1])); } }
From source file:org.eclipse.lsp4e.ui.LoggingPreferencePage.java
License:Open Source License
private void addLoggingColumnsToViewer(TableViewer viewer) { int addedColumnIndex = viewer.getTable().getColumnCount(); TableViewerColumn logToFileColumn = new TableViewerColumn(viewer, SWT.NONE); logToFileColumn.getColumn().setText(Messages.PreferencesPage_logging_toFile_title); logToFileColumn.getColumn().setWidth(100); logToFileColumn.setLabelProvider(new ColumnLabelProvider() { @Override/*w w w .j a v a 2 s .c o m*/ public String getText(Object element) { return serverEnableLoggingToFile .getOrDefault(((ContentTypeToLanguageServerDefinition) element).getValue().id, false) ? Messages.PreferencePage_enablementCondition_true : Messages.PreferencePage_enablementCondition_false; } }); TableViewerColumn logToConsoleColumn = new TableViewerColumn(viewer, SWT.NONE); logToConsoleColumn.getColumn().setText(Messages.PreferencesPage_logging_toConsole_title); logToConsoleColumn.getColumn().setWidth(125); logToConsoleColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return serverEnableLoggingToConsole .getOrDefault(((ContentTypeToLanguageServerDefinition) element).getValue().id, false) ? Messages.PreferencePage_enablementCondition_true : Messages.PreferencePage_enablementCondition_false; } }); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { hasLoggingBeenChanged = true; Point relativeCursorLocation = Display.getCurrent().getFocusControl().toControl(new Point( MouseInfo.getPointerInfo().getLocation().x, MouseInfo.getPointerInfo().getLocation().y)); ViewerCell cell = ((TableViewer) event.getSource()).getCell(relativeCursorLocation); if (cell == null || cell.getColumnIndex() > addedColumnIndex + 1) return; String key = ((ContentTypeToLanguageServerDefinition) ((StructuredSelection) event.getSelection()) .getFirstElement()).getValue().id; if (cell.getColumnIndex() == addedColumnIndex) { boolean newLogging = !serverEnableLoggingToFile.getOrDefault(key, false); serverEnableLoggingToFile.put(key, newLogging); } else { boolean newLogging = !serverEnableLoggingToConsole.getOrDefault(key, false); serverEnableLoggingToConsole.put(key, newLogging); } viewer.refresh(); } }); }
From source file:org.eclipse.mylyn.internal.bugzilla.ui.editor.BugzillaSeeAlsoAttributeEditor.java
License:Open Source License
private void createSeeAlsoTable(FormToolkit toolkit, final Composite seeAlsoComposite) { seeAlsoTable = toolkit.createTable(seeAlsoComposite, SWT.MULTI | SWT.FULL_SELECTION); seeAlsoTable.setLinesVisible(true);/* w w w . j a v a 2s . co m*/ seeAlsoTable.setHeaderVisible(true); seeAlsoTable.setLayout(new GridLayout()); seeAlsoTable.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER); for (int i = 0; i < seeAlsoColumns.length; i++) { TableColumn column = new TableColumn(seeAlsoTable, SWT.LEFT, i); column.setText(seeAlsoColumns[i]); column.setWidth(seeAlsoColumnWidths[i]); column.setMoveable(true); } seeAlsoViewer = new TableViewer(seeAlsoTable); seeAlsoViewer.setUseHashlookup(true); seeAlsoViewer.setColumnProperties(seeAlsoColumns); ColumnViewerToolTipSupport.enableFor(seeAlsoViewer, ToolTip.NO_RECREATE); seeAlsoViewer.setContentProvider(new ArrayContentProvider()); seeAlsoViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { openseeAlso(event); } private void openseeAlso(OpenEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); for (String item : (List<String>) selection.toList()) { BrowserUtil.openUrl(item); } } }); seeAlsoViewer.setLabelProvider(new ColumnLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { String value = (String) element; if (columnIndex == 0) { if (value.contains("/r/#/c/") || value.contains("git.eclipse.org/r/")) { //$NON-NLS-1$ //$NON-NLS-2$ return CommonImages.getImage(BugzillaImages.GERRIT); } else if (value.contains("/commit/?id=")) { //$NON-NLS-1$ return CommonImages.getImage(BugzillaImages.GIT); } else { return CommonImages.getImage(BugzillaImages.BUG); } } return null; } public String getColumnText(Object element, int columnIndex) { String value = (String) element; switch (columnIndex) { case 0: return null; case 1: return attrRemoveSeeAlso.getValues().contains(value) ? Messages.BugzillaSeeAlsoAttributeEditor_Yes : Messages.BugzillaSeeAlsoAttributeEditor_No; default: return value; } } @Override public void update(ViewerCell cell) { Object element = cell.getElement(); cell.setText(getColumnText(element, cell.getColumnIndex())); Image image = getColumnImage(element, cell.getColumnIndex()); cell.setImage(image); cell.setBackground(getBackground(element)); cell.setForeground(getForeground(element)); cell.setFont(getFont(element)); } }); seeAlsoViewer.setInput(getTaskAttribute().getValues().toArray()); GC gc = new GC(seeAlsoComposite); int maxSize = 0; for (String string : getTaskAttribute().getValues()) { Point size = gc.textExtent(string); if (size.x > maxSize) { maxSize = size.x; } } if (maxSize == 0) { maxSize = 100; } seeAlsoTable.getColumn(2).setWidth(maxSize); MenuManager menuManager = new MenuManager(); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { manager.add(openAction); manager.add(copyURLToClipAction); manager.add(toggelRemoveStateAction); } }); Menu menu = menuManager.createContextMenu(seeAlsoTable); seeAlsoTable.setMenu(menu); }
From source file:org.eclipse.mylyn.internal.github.ui.gist.GistAttachmentTableLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); cell.setText(getColumnText(element, cell.getColumnIndex())); Image image = getColumnImage(element, cell.getColumnIndex()); cell.setImage(image);//from www . ja v a 2 s . c o m cell.setBackground(getBackground(element)); cell.setForeground(getForeground(element)); cell.setFont(getFont(element)); }
From source file:org.eclipse.mylyn.internal.jira.ui.editor.WorkLogTableLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { super.update(cell); cell.setText(getColumnText(cell.getElement(), cell.getColumnIndex())); }
From source file:org.eclipse.nebula.jface.gridviewer.GridColumnLabelProvider.java
License:Open Source License
/** * {@inheritDoc}/*from w ww . j a v a 2 s. c o m*/ */ public void update(ViewerCell cell) { super.update(cell); Object element = cell.getElement(); String rowText = getRowHeaderText(element); int colSpan = getColumnSpan(element); int rowSpan = getRowSpan(element); GridItem gridItem = (GridItem) cell.getViewerRow().getItem(); if (rowText != null) { gridItem.setHeaderText(rowText); } gridItem.setColumnSpan(cell.getColumnIndex(), colSpan); gridItem.setRowSpan(cell.getColumnIndex(), rowSpan); }