Example usage for org.eclipse.jface.window ToolTip NO_RECREATE

List of usage examples for org.eclipse.jface.window ToolTip NO_RECREATE

Introduction

In this page you can find the example usage for org.eclipse.jface.window ToolTip NO_RECREATE.

Prototype

int NO_RECREATE

To view the source code for org.eclipse.jface.window ToolTip NO_RECREATE.

Click Source Link

Document

Don't recreate the tooltip as long the mouse doesn't leave the area triggering the tooltip creation

Usage

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;
}