List of usage examples for org.eclipse.jface.window ToolTip NO_RECREATE
int NO_RECREATE
To view the source code for org.eclipse.jface.window ToolTip NO_RECREATE.
Click Source Link
From source file:org.deidentifier.arx.gui.view.impl.wizard.ImportWizardPageCSV.java
License:Open Source License
/** * Reads in preview data//from w w w. ja v a 2s. com * * This goes through up to {@link ImportWizardModel#previewDataMaxLines} lines * within the appropriate file and reads them in. It uses * {@link ImportAdapter} in combination with * {@link ImportConfigurationCSV} to actually read in the data. */ private void readPreview() throws IOException { /* Reset preview data */ previewData.clear(); /* Parameters from the user interface */ final String location = comboLocation.getText(); final char separator = separators[selection]; final boolean containsHeader = btnContainsHeader.getSelection(); /* Variables needed for processing */ final CSVDataInput in = new CSVDataInput(location, separator); final Iterator<String[]> it = in.iterator(); final String[] firstLine; wizardColumns = new ArrayList<ImportWizardModelColumn>(); ImportConfigurationCSV config = new ImportConfigurationCSV(location, separator, containsHeader); /* Check whether there is at least one line in file and retrieve it */ if (it.hasNext()) { firstLine = it.next(); } else { throw new IOException("No data in file"); } /* Iterate over columns and add it to {@link #allColumns} */ for (int i = 0; i < firstLine.length; i++) { ImportColumn column = new ImportColumnCSV(i, DataType.STRING); ImportWizardModelColumn wizardColumn = new ImportWizardModelColumn(column); wizardColumns.add(wizardColumn); config.addColumn(column); } /* Create adapter to import data with given configuration */ ImportAdapter importAdapter = ImportAdapter.create(config); /* Get up to {ImportData#previewDataMaxLines} lines for previewing */ int count = 0; while (importAdapter.hasNext() && (count <= ImportWizardModel.previewDataMaxLines)) { previewData.add(importAdapter.next()); count++; } in.close(); /* Remove first entry as it always contains name of columns */ previewData.remove(0); /* Check whether there is actual any data */ if (previewData.size() == 0) { throw new IOException("No preview data in file"); } /* * Show preview in appropriate table */ /* Disable redrawing once redesign is finished */ tablePreview.setRedraw(false); /* Remove all of the old columns */ while (tablePreview.getColumnCount() > 0) { tablePreview.getColumns()[0].dispose(); } /* Add new columns */ for (ImportWizardModelColumn column : wizardColumns) { TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewerPreview, SWT.NONE); tableViewerColumn.setLabelProvider( new CSVColumnLabelProvider(((ImportColumnCSV) column.getColumn()).getIndex())); TableColumn tableColumn = tableViewerColumn.getColumn(); tableColumn.setWidth(100); if (btnContainsHeader.getSelection()) { tableColumn.setText(column.getColumn().getAliasName()); tableColumn.setToolTipText("Column #" + ((ImportColumnCSV) column.getColumn()).getIndex()); } ColumnViewerToolTipSupport.enableFor(tableViewerPreview, ToolTip.NO_RECREATE); } /* Setup preview table */ tableViewerPreview.setInput(previewData); tablePreview.setHeaderVisible(btnContainsHeader.getSelection()); tablePreview.setVisible(true); tablePreview.layout(); tablePreview.setRedraw(true); }
From source file:org.deidentifier.arx.gui.view.impl.wizard.ImportWizardPageExcel.java
License:Open Source License
/** * Reads in preview data/*from w ww. j av a2 s . c o m*/ * * This goes through up to {@link ImportWizardModel#previewDataMaxLines} lines * within the appropriate file and reads them in. It uses * {@link ImportAdapter} in combination with * {@link ImportConfigurationExcel} to actually read in the data. */ private void readPreview() throws IOException { /* Reset preview data */ previewData.clear(); /* Parameters from the user interface */ final String location = comboLocation.getText(); final int sheetIndex = comboSheet.getSelectionIndex(); final boolean containsHeader = btnContainsHeader.getSelection(); /* Variables needed for processing */ Sheet sheet = workbook.getSheetAt(sheetIndex); Iterator<Row> rowIterator = sheet.iterator(); ImportConfigurationExcel config = new ImportConfigurationExcel(location, sheetIndex, containsHeader); wizardColumns = new ArrayList<ImportWizardModelColumn>(); /* Check whether there is at least one row in sheet and retrieve it */ if (!rowIterator.hasNext()) { throw new IOException("Sheet contains no actual data"); } /* Get first row */ Row firstRow = rowIterator.next(); /* Check whether there is at least one column in row */ if (firstRow.getPhysicalNumberOfCells() < 1) { throw new IOException("First row contains no data"); } /* Iterate over columns and add them */ for (int i = 0; i < firstRow.getPhysicalNumberOfCells(); i++) { ImportColumn column = new ImportColumnExcel(i, DataType.STRING); ImportWizardModelColumn wizardColumn = new ImportWizardModelColumn(column); wizardColumns.add(wizardColumn); config.addColumn(column); } /* Create adapter to import data with given configuration */ ImportAdapter importAdapter = ImportAdapter.create(config); /* Get up to {ImportData#previewDataMaxLines} lines for previewing */ int count = 0; while (importAdapter.hasNext() && (count <= ImportWizardModel.previewDataMaxLines)) { previewData.add(importAdapter.next()); count++; } /* Remove first entry as it always contains name of columns */ previewData.remove(0); /* Check whether there is actual any data */ if (previewData.size() == 0) { throw new IOException("No actual data in file"); } /* Disable redrawing once redesign is finished */ tablePreview.setRedraw(false); /* Remove all of the old columns */ while (tablePreview.getColumnCount() > 0) { tablePreview.getColumns()[0].dispose(); } /* Add new columns */ for (ImportWizardModelColumn column : wizardColumns) { TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewerPreview, SWT.NONE); tableViewerColumn.setLabelProvider( new ExcelColumnLabelProvider(((ImportColumnExcel) column.getColumn()).getIndex())); TableColumn tableColumn = tableViewerColumn.getColumn(); tableColumn.setWidth(100); if (btnContainsHeader.getSelection()) { tableColumn.setText(column.getColumn().getAliasName()); tableColumn.setToolTipText("Column #" + ((ImportColumnExcel) column.getColumn()).getIndex()); } ColumnViewerToolTipSupport.enableFor(tableViewerPreview, ToolTip.NO_RECREATE); } /* Setup preview table */ tableViewerPreview.setInput(previewData); tablePreview.setHeaderVisible(btnContainsHeader.getSelection()); tablePreview.setVisible(true); tablePreview.layout(); tablePreview.setRedraw(true); }
From source file:org.deidentifier.arx.gui.view.impl.wizard.ImportWizardPagePreview.java
License:Open Source License
/** * Adds input to table once page gets visible to the user * //from w w w.j av a2s . com * This retrieves the preview data * {@link ImportWizardModel#getPreviewData()} and applies it to the given * {@link #tableViewer}. Only columns that have been enabled will be shown. * New names and reordering is also considered. */ @Override public void setVisible(boolean visible) { super.setVisible(visible); if (visible) { /* Disable rendering until everything is finished */ table.setRedraw(false); /* Remove old columns */ while (table.getColumnCount() > 0) { table.getColumns()[0].dispose(); } /* Add enabled columns with appropriate label providers */ for (ImportColumn column : wizardImport.getData().getEnabledColumns()) { TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); tableViewerColumn.setLabelProvider( new PreviewColumnLabelProvider(((IImportColumnIndexed) column).getIndex())); TableColumn tblclmnColumn = tableViewerColumn.getColumn(); tblclmnColumn.setToolTipText("Datatype: " + column.getDataType()); tblclmnColumn.setWidth(100); tblclmnColumn.setText(column.getAliasName()); ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE); } /* Apply input to tableViewer */ tableViewer.setInput(wizardImport.getData().getPreviewData()); /* Make table visible again */ table.layout(); table.setRedraw(true); setPageComplete(true); } else { setPageComplete(false); } }
From source file:org.deidentifier.arx.gui.view.impl.wizard.ImportWizardPageTable.java
License:Open Source License
/** * Creates the design of this page along with the appropriate listeners *//*from w w w. ja va 2s . c o m*/ public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); setControl(container); container.setLayout(new GridLayout(1, false)); /* TableViewer for the detected tables */ tableViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION); tableViewer.setContentProvider(new ArrayContentProvider()); ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { /** * Reads in the columns and preview data for selected table */ @Override public void selectionChanged(SelectionChangedEvent arg0) { /* Save selected table */ int index = table.getSelectionIndex(); String selectedTable = wizardImport.getData().getJdbcTables().get(index); wizardImport.getData().setSelectedJdbcTable(selectedTable); readColumns(); readPreview(); setPageComplete(true); } }); /* Table for {@link #tableViewer} */ table = tableViewer.getTable(); table.setHeaderVisible(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); /* Column for table names */ TableViewerColumn tableViewerColumnName = new TableViewerColumn(tableViewer, SWT.NONE); tableViewerColumnName.setLabelProvider(new ColumnLabelProvider() { /** Returns table name */ @Override public String getText(Object element) { return (String) element; } }); TableColumn tblclmnColumnName = tableViewerColumnName.getColumn(); tblclmnColumnName.setToolTipText("Name of the table"); tblclmnColumnName.setWidth(300); tblclmnColumnName.setText("Name"); TableViewerColumn tableViewerColumnColumns = new TableViewerColumn(tableViewer, SWT.NONE); tableViewerColumnColumns.setLabelProvider(new ColumnLabelProvider() { /** * Returns number of columns for table * * If the number of columns couldn't be determined, three question * marks are returned. */ @Override public String getText(Object element) { int columns = getNumberOfColumns((String) element); if (columns != -1) { return "" + columns; } else { return "???"; } } }); TableColumn tblclmnColumns = tableViewerColumnColumns.getColumn(); tblclmnColumns.setToolTipText("Number of columns for this table"); tblclmnColumns.setWidth(100); tblclmnColumns.setText("# columns"); TableViewerColumn tableViewerColumnRows = new TableViewerColumn(tableViewer, SWT.NONE); tableViewerColumnRows.setLabelProvider(new ColumnLabelProvider() { /** * Returns number of rows for table * * If the number of rows couldn't be determined, three question * marks are returned. */ @Override public String getText(Object element) { long rows = getNumberOfRows((String) element); if (rows != -1) { return " ~ " + humanReadableRowCount(rows); } else { return "???"; } } /** * Returns the exact number of rows as tooltip * * This will return the exact number of rows for tables with a * row count greater than thousand, as the column itself will * only show a human readable string. * * @see #getText(Object) * @see #getNumberOfRows(String) */ @Override public String getToolTipText(Object element) { long rows = getNumberOfRows((String) element); if (rows > 1000) { return "" + rows; } else { return null; } } }); TableColumn tblclmnRows = tableViewerColumnRows.getColumn(); tblclmnRows.setToolTipText("Number of rows contained in table"); tblclmnRows.setWidth(100); tblclmnRows.setText("# rows"); setPageComplete(false); }
From source file:org.eclipse.andmore.android.launch.ui.StartedInstancesDialog.java
License:Apache License
/** * @param parent//from w w w .j a va2 s .c o m */ private void createTableArea(Composite parent) { viewer = new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); viewer.getTable().setHeaderVisible(true); viewer.getTable().setLinesVisible(false); TableViewerColumn avds = new TableViewerColumn(viewer, SWT.NONE); avds.getColumn().setText(LaunchNLS.UI_StartedInstancesDialog_CompatibleAvdsColumnName); avds.getColumn().setResizable(true); avds.getColumn().setWidth(480); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { enableOkButton(); } }); avds.setLabelProvider(new ColumnLabelProvider() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang * .Object) */ @Override public String getText(Object element) { IAndroidEmulatorInstance instance = (IAndroidEmulatorInstance) element; return instance.getName() + " (" + instance.getTarget() + ", " + LaunchNLS.UI_StartedInstancesDialog_ApiLevel + " " + instance.getAPILevel() + ")"; } @Override public Image getImage(Object element) { Image img = null; IAndroidEmulatorInstance instance = (IAndroidEmulatorInstance) element; IStatus compatible = LaunchUtils.isCompatible(project, instance.getName()); // notify the warning state if (compatible.getSeverity() == IStatus.WARNING) { img = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK); } return img; } @Override public String getToolTipText(Object element) { String toolTip = null; IAndroidEmulatorInstance instance = (IAndroidEmulatorInstance) element; IStatus compatible = LaunchUtils.isCompatible(project, instance.getName()); if (compatible.getSeverity() == IStatus.WARNING) { toolTip = LaunchNLS.UI_StartedInstancesDialog_Tooltip; } return toolTip; } @Override public int getToolTipDisplayDelayTime(Object object) { return 500; } @Override public int getToolTipTimeDisplayed(Object object) { return 5000; } }); ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE); ArrayContentProvider provider = new ArrayContentProvider(); viewer.setContentProvider(provider); viewer.setInput(compatibleStartedInstances); Button checkBox = new Button(parent, SWT.CHECK); GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false); checkBox.setLayoutData(gridData); checkBox.setText(LaunchNLS.UI_StartedInstancesDialog_UpdateRunConfigurarion); checkBox.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (isUpdateConfigurationSelected) { isUpdateConfigurationSelected = false; } else { isUpdateConfigurationSelected = true; } } }); }
From source file:org.eclipse.e4.demo.e4photo.flickr.ui.Flickr.java
License:Open Source License
@Inject public Flickr(Composite comp) { this.comp = comp; comp.setLayout(new GridLayout(3, false)); final Image OK_IMG = new Image(comp.getDisplay(), getClass().getClassLoader().getResourceAsStream("icons/accept.png")); final Image NOK_IMG = new Image(comp.getDisplay(), getClass().getClassLoader().getResourceAsStream("icons/exclamation.png")); comp.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { OK_IMG.dispose();//from ww w. j a va 2 s . c o m NOK_IMG.dispose(); } }); comp.setBackgroundMode(SWT.INHERIT_DEFAULT); Label l = new Label(comp, SWT.NONE); l.setText("Flickr API-Key"); l.setLayoutData(new GridData(SWT.DEFAULT, GridData.CENTER, false, false)); final Text apiKey = new Text(comp, SWT.BORDER); apiKey.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); apiKey.setText("46d3d5269fe6513602b3f0f06d9e2b2e"); l = new Label(comp, SWT.NONE); l.setText("Search Tags"); l.setLayoutData(new GridData(SWT.DEFAULT, GridData.CENTER, false, false)); final Text tags = new Text(comp, SWT.BORDER); tags.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); tags.setText("eclipsecon"); Button button = new Button(comp, SWT.PUSH); button.setText("Search"); table = new PagedTable<FlickrPhoto>(comp, SWT.NONE); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { handleSearch(apiKey.getText(), tags.getText()); } }); table.addColumn("Id", new PagedTable.PageColumnLabelProvider<FlickrPhoto>() { @Override protected String doGetText(FlickrPhoto element) { return element.getId(); } }, new ColumnPixelData(120)); table.addColumn("Title", new PagedTable.PageColumnLabelProvider<FlickrPhoto>() { @Override protected String doGetText(FlickrPhoto element) { return element.getTitle(); } @Override protected String doGetToolTipText(FlickrPhoto element) { return element.getId() + " - " + element.getTitle(); } }, new ColumnWeightData(1)); table.addColumn("Public", new PagedTable.PageColumnLabelProvider<FlickrPhoto>() { @Override protected Image doGetImage(FlickrPhoto element) { if (element.isPublic()) { return OK_IMG; } else { return NOK_IMG; } } @Override protected String doGetText(FlickrPhoto element) { return ""; } }, new ColumnPixelData(50)); table.addColumn("Friend", new PagedTable.PageColumnLabelProvider<FlickrPhoto>() { @Override protected Image doGetImage(FlickrPhoto element) { if (element.isFriend()) { return OK_IMG; } else { return NOK_IMG; } } @Override protected String doGetText(FlickrPhoto element) { return ""; } }, new ColumnPixelData(50)); table.addColumn("Family", new PagedTable.PageColumnLabelProvider<FlickrPhoto>() { @Override protected Image doGetImage(FlickrPhoto element) { if (element.isFamily()) { return OK_IMG; } else { return NOK_IMG; } } @Override protected String doGetText(FlickrPhoto element) { return ""; } }, new ColumnPixelData(50)); table.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 3, 1)); new ToolTipSupport(table.getViewer(), ToolTip.NO_RECREATE, false); }
From source file:org.eclipse.ease.modules.unittest.ui.views.UnitTestView.java
License:Open Source License
private TreeViewer createTestArea(final Composite parent) { final Composite composite = new Composite(parent, SWT.NONE); final TreeColumnLayout layout = new TreeColumnLayout(); composite.setLayout(layout);//from w ww . j av a 2 s . com final TreeViewer viewer = new TreeViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (element instanceof Test) { List<IScriptDebugFrame> trace; final List<TestResult> messages = ((Test) element).getMessages(); if ((messages != null) && (!messages.isEmpty())) trace = messages.get(0).getStackTrace(); else trace = ((Test) element).getTestLocation(); if (trace != null) { // open trace location for (final IScriptDebugFrame traceElement : trace) { final Object file = traceElement.getScript().getFile(); if (file instanceof IFile) { if (((IFile) file).exists()) { try { final int line = Math.max(traceElement.getLineNumber(), 1); final ITextEditor textEditor = (ITextEditor) UIModule .showEditor((IFile) file); final IDocument document = textEditor.getDocumentProvider() .getDocument(textEditor.getEditorInput()); try { textEditor.selectAndReveal(document.getLineOffset(line - 1), document.getLineLength(line - 1)); } catch (final BadLocationException e) { // TODO implement throw new RuntimeException(e); } } catch (final Throwable e) { // TODO handle this exception (but for now, at least know it happened) throw new RuntimeException(e); } break; } } } } else { // we do not have a trace, open test set final Object input = viewer.getInput(); if (input instanceof TestFile) { try { final Object file = ((TestFile) input).getFile(); if (file instanceof IFile) UIModule.showEditor((IFile) ((TestFile) input).getFile()); } catch (final Throwable e) { // TODO handle this exception (but for now, at least know it happened) throw new RuntimeException(e); } } } } } }); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(true); viewer.setContentProvider(new TestFileContentProvider()); final TreeViewerColumn testColumn = new TreeViewerColumn(viewer, SWT.NONE); testColumn.getColumn().setWidth(100); testColumn.getColumn().setText("Test"); layout.setColumnData(testColumn.getColumn(), new ColumnWeightData(30, 50, true)); testColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { if (element instanceof Test) return ((Test) element).getTitle(); if (element instanceof Entry<?, ?>) // metadata return ((Entry<?, ?>) element).getKey().toString(); return ""; } @Override public Image getImage(final Object element) { if (element instanceof Entry<?, ?>) // metadata return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_METADATA)); TestStatus status = null; if (element instanceof Test) status = ((Test) element).getStatus(); else if (element instanceof TestResult) status = ((TestResult) element).getStatus(); if (status != null) { switch (status) { case PASS: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_PASS)); case ERROR: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_ERROR)); case FAILURE: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_FAILURE)); case RUNNING: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_RUNNING)); default: return super.getImage(element); } } return super.getImage(element); } @Override public String getToolTipText(final Object element) { if (element instanceof Test) { if ((((Test) element).getDescription() != null) && (!((Test) element).getDescription().isEmpty())) return ((Test) element).getDescription(); } return super.getToolTipText(element); } }); final TreeViewerColumn messageColumn = new TreeViewerColumn(viewer, SWT.NONE); messageColumn.getColumn().setWidth(100); messageColumn.getColumn().setText("Message"); layout.setColumnData(messageColumn.getColumn(), new ColumnWeightData(70, 50, true)); messageColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { if (element instanceof Test) { final TestResult message = ((Test) element).getSeverestMessage(); if (message != null) return message.getDescription(); return ((Test) element).getDescription(); } if (element instanceof Entry<?, ?>) // metadata return ((Entry<?, ?>) element).getValue().toString(); return super.getText(element); } }); ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE); return viewer; }
From source file:org.eclipse.eavp.viz.service.connections.preferences.TableComponentComposite.java
License:Open Source License
/** * Creates a new {@code TableViewer} to show a {@link TableComponent}. * //from ww w . j av a 2 s . c o m * @param parent * The containing {@code Composite}. * @return The created JFace {@code TableViewer}. */ private TableViewer createTableViewer(Composite parent) { // Create the TableViewer and the underlying Table Control. TableViewer viewer = new TableViewer(this, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); // Set some properties for the table. final Table table = viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); // Set up the content provider for the viewer. Now the viewer's input // can be set. viewer.setContentProvider(new TableComponentContentProvider()); // Enable tool tips for the Table's cells. ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE); // Add a selection listener to tell the TableComponent which rows are // selected. ISelectionChangedListener listener = new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { // To delete rows (later), the TableComponent expects indices. // Thus, we must keep track of selected indicies by updating the // class' list. // To select rows, the TableComponent expects an // ArrayList<Integer> containing the row IDs, not indices. Thus, // we must convert the int[] of indices into an // ArrayList<Integer> of IDs to select. int[] selected = table.getSelectionIndices(); List<Integer> rowIds = tableComponent.getRowIds(); ArrayList<Integer> rows = new ArrayList<Integer>(selected.length); selectedIndices.clear(); for (int i : selected) { selectedIndices.add(i); rows.add(rowIds.get(i)); } tableComponent.setSelectedRows(rows); // Enable/disable the remove action if the selection is // non/empty. removeRowAction.setEnabled(!event.getSelection().isEmpty()); return; } }; viewer.addSelectionChangedListener(listener); // Use a custom comparer to just check references rather than calling // equals(Object), which causes strange behavior when multiple rows have // the same values. viewer.setComparer(new IElementComparer() { @Override public boolean equals(Object a, Object b) { return a == b; } @Override public int hashCode(Object element) { return element.hashCode(); } }); return viewer; }
From source file:org.eclipse.egit.ui.internal.rebase.RebaseInteractiveView.java
License:Open Source License
private void createColumns(TreeColumnLayout layout) { String[] headings = { UIText.RebaseInteractiveView_HeadingStatus, UIText.RebaseInteractiveView_HeadingStep, UIText.RebaseInteractiveView_HeadingAction, UIText.RebaseInteractiveView_HeadingCommitId, UIText.RebaseInteractiveView_HeadingMessage, UIText.RebaseInteractiveView_HeadingAuthor, UIText.RebaseInteractiveView_HeadingAuthorDate, UIText.RebaseInteractiveView_HeadingCommitter, UIText.RebaseInteractiveView_HeadingCommitDate }; ColumnViewerToolTipSupport.enableFor(planTreeViewer, ToolTip.NO_RECREATE); TreeViewerColumn infoColumn = createColumn(headings[0]); layout.setColumnData(infoColumn.getColumn(), new ColumnPixelData(70)); infoColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override//from w ww . ja v a 2 s . c o m public Image getImage(Object element) { ElementType t = getType(element); if (t != null) { switch (t) { case DONE_CURRENT: return UIIcons.getImage(resources, UIIcons.CURRENT_STEP); case DONE: return UIIcons.getImage(resources, UIIcons.DONE_STEP); default: // fall through } } return null; } @Override public String getToolTipText(Object element) { ElementType t = getType(element); if (t != null) { switch (t) { case DONE: return UIText.RebaseInteractiveView_StatusDone; case DONE_CURRENT: return UIText.RebaseInteractiveView_StatusCurrent; case TODO: return UIText.RebaseInteractiveView_StatusTodo; default: // fall through } } return ""; //$NON-NLS-1$ } @Override public String getText(Object element) { return ""; //$NON-NLS-1$ } }); TreeViewerColumn stepColumn = createColumn(headings[1]); layout.setColumnData(stepColumn.getColumn(), new ColumnPixelData(55)); stepColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return (planIndexer.indexOf(planLine) + 1) + "."; //$NON-NLS-1$ } return super.getText(element); } }); stepColumn.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Tree tree = planTreeViewer.getTree(); boolean orderReversed = tree.getSortDirection() == SWT.DOWN; RebaseInteractivePreferences.setOrderReversed(!orderReversed); int newDirection = (orderReversed ? SWT.UP : SWT.DOWN); tree.setSortDirection(newDirection); TreeItem topmostVisibleItem = tree.getTopItem(); refreshUI(); if (topmostVisibleItem != null) tree.showItem(topmostVisibleItem); } }); int direction = (RebaseInteractivePreferences.isOrderReversed() ? SWT.DOWN : SWT.UP); Tree planTree = planTreeViewer.getTree(); planTree.setSortColumn(stepColumn.getColumn()); planTree.setSortDirection(direction); TreeViewerColumn actionColumn = createColumn(headings[2]); layout.setColumnData(actionColumn.getColumn(), new ColumnPixelData(90)); actionColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public Image getImage(Object element) { ElementAction a = getAction(element); if (a != null) { switch (a) { case EDIT: return UIIcons.getImage(resources, UIIcons.EDITCONFIG); case FIXUP: if (RebaseInteractivePreferences.isOrderReversed()) return UIIcons.getImage(resources, UIIcons.FIXUP_DOWN); else return UIIcons.getImage(resources, UIIcons.FIXUP_UP); case PICK: return UIIcons.getImage(resources, UIIcons.CHERRY_PICK); case REWORD: return UIIcons.getImage(resources, UIIcons.REWORD); case SKIP: return UIIcons.getImage(resources, UIIcons.REBASE_SKIP); case SQUASH: if (RebaseInteractivePreferences.isOrderReversed()) return UIIcons.getImage(resources, UIIcons.SQUASH_DOWN); else return UIIcons.getImage(resources, UIIcons.SQUASH_UP); default: // fall through } } return super.getImage(element); } @Override public String getText(Object element) { ElementAction a = getAction(element); return (a != null) ? a.name() : super.getText(element); } private ElementAction getAction(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getPlanElementAction(); } else return null; } }); TreeViewerColumn commitIDColumn = createColumn(headings[3]); int minWidth; GC gc = new GC(planTreeViewer.getControl().getDisplay()); try { gc.setFont(planTreeViewer.getControl().getFont()); minWidth = Math.max(gc.stringExtent("0000000").x, //$NON-NLS-1$ gc.stringExtent(headings[3]).x) + 10; } finally { gc.dispose(); } layout.setColumnData(commitIDColumn.getColumn(), new ColumnPixelData(minWidth)); commitIDColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getCommit().name(); } return super.getText(element); } }); TreeViewerColumn commitMessageColumn = createColumn(headings[4]); layout.setColumnData(commitMessageColumn.getColumn(), new ColumnWeightData(200, 200)); commitMessageColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getShortMessage(); } return super.getText(element); } }); TreeViewerColumn authorColumn = createColumn(headings[5]); layout.setColumnData(authorColumn.getColumn(), new ColumnWeightData(120, 120)); authorColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getAuthor(); } return super.getText(element); } }); TreeViewerColumn authoredDateColumn = createColumn(headings[6]); layout.setColumnData(authoredDateColumn.getColumn(), new ColumnWeightData(80, 80)); authoredDateColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getAuthoredDate(dateFormatter); } return super.getText(element); } }); TreeViewerColumn committerColumn = createColumn(headings[7]); layout.setColumnData(committerColumn.getColumn(), new ColumnWeightData(120, 120)); committerColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getCommitter(); } return super.getText(element); } }); TreeViewerColumn commitDateColumn = createColumn(headings[8]); layout.setColumnData(commitDateColumn.getColumn(), new ColumnWeightData(80, 80)); commitDateColumn.setLabelProvider(new HighlightingColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PlanElement) { PlanElement planLine = (PlanElement) element; return planLine.getCommittedDate(dateFormatter); } return super.getText(element); } }); dynamicColumns = new TreeViewerColumn[] { commitMessageColumn, authorColumn, authoredDateColumn, committerColumn, commitDateColumn }; }
From source file:org.eclipse.emf.ecp.common.util.ModelElementTooltip.java
License:Open Source License
/** * Default constructor./*from w ww .j av a2s . c o m*/ * * @param control the control that should receive the tooltip */ public ModelElementTooltip(Control control) { super(control, ToolTip.NO_RECREATE, false); labelProvider = ADAPTER_FACTORY_LABEL_PROVIDER; }