Example usage for org.eclipse.jface.viewers ViewerCell setImage

List of usage examples for org.eclipse.jface.viewers ViewerCell setImage

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerCell setImage.

Prototype

public void setImage(Image image) 

Source Link

Document

Set the Image for the cell.

Usage

From source file:org.eclipsetrader.ui.trading.OrdersLabelProviderWrapper.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    cell.setText(labelProvider.getText(element));
    cell.setImage(labelProvider.getImage(element));
    cell.setBackground(labelProvider.getBackground(element));

    Color color = labelProvider.getForeground(element);
    cell.setForeground(color != null ? color : getForeground(element));

    cell.setFont(labelProvider.getFont(element));
}

From source file:org.fhsolution.eclipse.plugins.csvedit.providers.CSVLabelProvider.java

License:Apache License

/**
 * @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell)
 *//*w  ww . j a  v a  2s  . c  o  m*/
@Override
public void update(ViewerCell cell) {
    CSVRow element = (CSVRow) cell.getElement();
    int index = cell.getColumnIndex();
    String columnText = getColumnText(element, index);
    cell.setText(columnText);
    cell.setImage(getColumnImage(element, index));
    if (searchText != null && searchText.length() > 0) {
        int intRangesCorrectSize[] = SearchResultStyle.getSearchTermOccurrences(searchText, columnText);
        List<StyleRange> styleRange = new ArrayList<StyleRange>();
        for (int i = 0; i < intRangesCorrectSize.length / 2; i++) {
            StyleRange myStyleRange = new StyleRange(0, 0, null, searchColor);
            myStyleRange.start = intRangesCorrectSize[i];
            myStyleRange.length = intRangesCorrectSize[++i];
            styleRange.add(myStyleRange);
        }
        cell.setStyleRanges(styleRange.toArray(new StyleRange[styleRange.size()]));
    } else {
        cell.setStyleRanges(null);
    }

    super.update(cell);
}

From source file:org.fusesource.ide.camel.editor.dialogs.provider.GlobalConfigElementsDialogLabelProvider.java

License:Open Source License

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

    if (element instanceof GlobalConfigCategoryItem) {
        GlobalConfigCategoryItem cat = (GlobalConfigCategoryItem) element;
        Image img = cat.getIcon();
        text.append(cat.getName());//from   w ww  . j a  va2 s.co m
        cell.setImage(img);
        cell.setText(text.toString());
        cell.setStyleRanges(text.getStyleRanges());
    } else if (element instanceof GlobalConfigElementItem) {
        GlobalConfigElementItem elem = (GlobalConfigElementItem) element;
        Image img = elem.getIcon();
        text.append(elem.getName());
        cell.setImage(img);
        cell.setText(text.toString());
        cell.setStyleRanges(text.getStyleRanges());
    } else {
        // unhandled
    }
    super.update(cell);
}

From source file:org.fusesource.ide.fabric8.ui.navigator.properties.ContainerStatusLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    ContainerViewBean bean = ContainerViewBean.toContainerViewBean(element);
    if (bean != null) {
        ContainerDTO container = bean.container();
        boolean managed = container.isManaged();
        String image = "yellow-dot.png";
        String status = bean.getStatus();

        FabricPlugin.getLogger()//w w w. j  a  v  a  2 s .  c om
                .debug("Container: " + container.getId() + " alive: " + container.isAlive() + " managed: "
                        + container.isManaged() + " pending: " + container.isProvisioningPending()
                        + " complete: " + container.isProvisioningComplete() + " status: "
                        + container.getProvisionStatus());

        if (!bean.isAlive()) {
            image = "gray-dot.png";
        }
        if (container.isProvisioningPending()) {
            //image = "pending.gif";
            image = "yellow-dot.png";
            managed = true;
        } else if (status != null) {
            String lowerStatus = status.toLowerCase();
            if (lowerStatus.startsWith("success") || lowerStatus.length() == 0) {
                if (bean.isAlive()) {
                    image = "green-dot.png";
                } else {
                    status = "stopped";
                }
                if (lowerStatus.length() == 0 && !managed) {
                    if (bean.isRoot()) {
                        status = "root";
                    }
                }
            } else if (lowerStatus.startsWith("error")) {
                image = "red-dot.png";
            }
        }
        if (status != null) {
            Styler style = null;
            StyledString styledString = new StyledString(status, style);

            /*
            String fileName = bean.getFileName();
            if (fileName != null) {
               styledString.append(fileName, StyledString.COUNTER_STYLER);
            }
             */
            cell.setText(styledString.toString());
            cell.setStyleRanges(styledString.getStyleRanges());
        }
        if (image != null) {
            cell.setImage(FabricPlugin.getDefault().getImage(image));
        }

    }
    super.update(cell);
}

From source file:org.fusesource.ide.jmx.fabric8.navigator.properties.ContainerStatusLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    ContainerViewBean bean = ContainerViewBean.toContainerViewBean(element);
    if (bean != null) {
        Container container = bean.container();
        boolean managed = container.isManaged();
        String image = "yellow-dot.png";
        String status = bean.getStatus();
        Fabric8JMXPlugin.getLogger()//from   w  w  w  . j  a  va2s  .c  om
                .debug("Container: " + container.getId() + " alive: " + container.isAlive() + " managed: "
                        + container.isManaged() + " pending: " + container.isProvisioningPending()
                        + " complete: " + container.isProvisioningComplete() + " status: "
                        + container.getProvisionStatus());
        if (!bean.isAlive()) {
            image = "gray-dot.png";
        }
        if (container.isProvisioningPending()) {
            // image = "pending.gif";
            image = "yellow-dot.png";
            managed = true;
        } else if (status != null) {
            String lowerStatus = status.toLowerCase();
            if (lowerStatus.startsWith("success") || lowerStatus.length() == 0) {
                if (bean.isAlive()) {
                    image = "green-dot.png";
                } else {
                    status = "stopped";
                }
                if (lowerStatus.length() == 0 && !managed) {
                    if (bean.isRoot()) {
                        status = "root";
                    }
                }
            } else if (lowerStatus.startsWith("error")) {
                image = "red-dot.png";
            }
        }
        if (status != null) {
            Styler style = null;
            StyledString styledString = new StyledString(status, style);
            /*
             * String fileName = bean.getFileName(); if (fileName != null) {
             * styledString.append(fileName, StyledString.COUNTER_STYLER); }
             */
            cell.setText(styledString.toString());
            cell.setStyleRanges(styledString.getStyleRanges());
        }
        if (image != null) {
            cell.setImage(Fabric8JMXPlugin.getDefault().getImage(image));
        }
    }
    super.update(cell);
}

From source file:org.fusesource.ide.jmx.karaf.navigator.osgi.BundleStatusLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    if (element instanceof IPropertySource) {
        IPropertySource bean = (IPropertySource) element;
        String status = null;//from   www .  jav a2  s . c  o m
        Object value = bean.getPropertyValue("State");
        if (value != null) {
            status = value.toString();
        }
        String image = null;
        if (status != null) {
            String lowerStatus = status.toLowerCase();
            if (lowerStatus.startsWith("a")) {
                image = "green-dot.png";
            } else if (lowerStatus.startsWith("inst")) {
                image = "gray-dot.png";
            } else if (lowerStatus.startsWith("res")) {
                image = "yellow-dot.png";
            } else {
                image = "red-dot.png";
            }
        }
        if (status != null) {
            Styler style = null;
            StyledString styledString = new StyledString(status, style);
            cell.setText(styledString.toString());
            cell.setStyleRanges(styledString.getStyleRanges());
        }
        if (image != null) {
            cell.setImage(KarafJMXPlugin.getDefault().getImage(image));
        }
    }
    super.update(cell);
}

From source file:org.goko.log.part.model.ProblemTreeLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    if (element == null) {
        super.update(cell);
        return;/*w  w w .  ja  va 2s  .c  o  m*/
    }
    JFaceResources.getColorRegistry().put(JFacePreferences.COUNTER_COLOR, HYPERLINK_COLOR);
    StyledString styledString = new StyledString();

    if (element instanceof LogLevelNode) {
        LogLevelNode logNode = (LogLevelNode) element;
        if (targetColumn == COLUMN_DESCRIPTION) {
            styledString.append(logNode.getLabel());
            styledString.append(" (" + CollectionUtils.size(logNode.getMessages()) + ")",
                    StyledString.COUNTER_STYLER);
            cell.setImage(getImage(element));

        }
    } else if (element instanceof ApplicativeLogEvent) {
        ApplicativeLogEvent event = (ApplicativeLogEvent) element;
        if (targetColumn == COLUMN_DESCRIPTION) {
            styledString.append(event.getMessage());
        } else if (targetColumn == COLUMN_SOURCE) {
            styledString.append(event.getSource());
        } else if (targetColumn == COLUMN_DATE) {
            DateFormat df = new SimpleDateFormat("HH:mm:ss");
            styledString.append(df.format(event.getDate()));
        }
    } else {
        styledString.append(String.valueOf(element));
    }

    cell.setText(styledString.getString());
    cell.setStyleRanges(styledString.getStyleRanges());

    super.update(cell);
}

From source file:org.jboss.tools.openshift.internal.ui.treeitem.ObservableTreeItemStyledCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    if (!(element instanceof ObservableTreeItem)) {
        return;/*from  w w w. j a  v a2 s  .c  o m*/
    }
    ObservableTreeItem item = (ObservableTreeItem) element;
    StyledString styledText = explorerLabelProvider.getStyledText(item.getModel());
    cell.setText(styledText.getString());
    cell.setStyleRanges(styledText.getStyleRanges());
    Image image = explorerLabelProvider.getImage(item.getModel());
    cell.setImage(image);
}

From source file:org.jkiss.dbeaver.ext.mockdata.MockDataWizardPageSettings.java

License:Apache License

public void createControl(Composite parent) {
    Composite composite = UIUtils.createPlaceholder(parent, 1);

    {/*from  ww  w.jav a  2s. co  m*/
        SelectionListener changeListener = new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                updateState();
            }
        };

        Composite entityPlaceholder = UIUtils.createPlaceholder(composite, 2);
        this.entityNameText = UIUtils.createLabelText(entityPlaceholder,
                MockDataMessages.tools_mockdata_wizard_page_settings_text_entity, "", SWT.NONE | SWT.READ_ONLY);
        GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
        gd.widthHint = 230;
        gd.verticalIndent = 5;
        gd.horizontalIndent = 9;
        entityPlaceholder.setLayoutData(gd);

        Group settingsGroup = UIUtils.createControlGroup(composite,
                MockDataMessages.tools_mockdata_wizard_page_settings_group_settings, 4,
                GridData.FILL_HORIZONTAL, 0);
        gd = new GridData(GridData.FILL_HORIZONTAL);
        gd.verticalIndent = 5;
        settingsGroup.setLayoutData(gd);

        this.removeOldDataCheck = UIUtils.createCheckbox(settingsGroup,
                MockDataMessages.tools_mockdata_wizard_page_settings_checkbox_remove_old_data, null,
                mockDataSettings.isRemoveOldData(), 4);
        removeOldDataCheck.addSelectionListener(changeListener);

        this.rowsText = UIUtils.createLabelText(settingsGroup,
                MockDataMessages.tools_mockdata_wizard_page_settings_combo_rows,
                String.valueOf(mockDataSettings.getRowsNumber()), SWT.BORDER, new GridData(110, SWT.DEFAULT));
        rowsText.addSelectionListener(changeListener);
        rowsText.addVerifyListener(UIUtils.getLongVerifyListener(rowsText));
        rowsText.addModifyListener(new ModifyListener() {
            @Override
            public void modifyText(ModifyEvent e) {
                updateState();
            }
        });
    }

    {
        Group generatorsGroup = UIUtils.createControlGroup(composite,
                MockDataMessages.tools_mockdata_wizard_page_settings_group_generators, 5, GridData.FILL_BOTH,
                0);
        GridData gd = new GridData(GridData.FILL_BOTH);
        gd.verticalIndent = 5;
        generatorsGroup.setLayoutData(gd);

        Composite placeholder = UIUtils.createPlaceholder(generatorsGroup, 1);
        gd = new GridData(GridData.FILL_VERTICAL);
        gd.widthHint = 250;
        placeholder.setLayoutData(gd);

        Button autoAssignButton = new Button(placeholder, SWT.PUSH);
        autoAssignButton.setText(MockDataMessages.tools_mockdata_wizard_page_settings_button_autoassign);
        autoAssignButton.setImage(DBeaverIcons.getImage(UIIcon.OBJ_REFRESH));
        autoAssignButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (UIUtils.confirmAction(getShell(), MockDataMessages.tools_mockdata_wizard_title,
                        MockDataMessages.tools_mockdata_wizard_page_settings_button_autoassign_confirm)) {
                    autoAssignGenerators();
                }
            }
        });
        gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
        //            gd.horizontalIndent = 5;
        autoAssignButton.setLayoutData(gd);

        generatorsTableViewer = new TableViewer(placeholder, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
        final Table table = generatorsTableViewer.getTable();

        gd = new GridData(GridData.FILL_BOTH);
        gd.verticalIndent = 5;
        table.setLayoutData(gd);
        table.setHeaderVisible(true);
        table.setLinesVisible(true);

        generatorsTableViewer.setContentProvider(new IStructuredContentProvider() {
            @Override
            public void dispose() {
            }

            @Override
            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            }

            @Override
            public Object[] getElements(Object inputElement) {
                if (inputElement instanceof Collection) {
                    return ((Collection<?>) inputElement).toArray();
                }
                return new Object[0];
            }
        });

        CellLabelProvider labelProvider = new CellLabelProvider() {
            @Override
            public void update(ViewerCell cell) {
                DBSAttributeBase attribute = (DBSAttributeBase) cell.getElement();
                AttributeGeneratorProperties attributeGeneratorProperties = mockDataSettings
                        .getAttributeGeneratorProperties(attribute);
                if (cell.getColumnIndex() == 0) {
                    cell.setImage(DBeaverIcons.getImage(DBValueFormatting.getTypeImage(attribute)));
                    cell.setText(attribute.getName());
                    try {
                        if (DBUtils.checkUnique(mockDataSettings.getMonitor(), mockDataSettings.getEntity(),
                                attribute) != null) {
                            cell.setFont(boldFont);
                        }
                    } catch (DBException e) {
                        log.error("Error checking the attribute '" + attribute.getName() + "' properties", e);
                    }
                    if (attributeGeneratorProperties != null && attributeGeneratorProperties.isEmpty()) {
                        cell.setForeground(table.getDisplay().getSystemColor(SWT.COLOR_RED));
                        noGeneratorInfoLabel.setVisible(true);
                    }
                } else {
                    if (attributeGeneratorProperties != null && !attributeGeneratorProperties.isEmpty()) {
                        String selectedGeneratorId = attributeGeneratorProperties.getSelectedGeneratorId();
                        String label = mockDataSettings.getGeneratorDescriptor(selectedGeneratorId).getLabel();
                        cell.setText(label.trim());
                    }
                }
            }
        };

        TableViewerColumn attributeColumn = new TableViewerColumn(generatorsTableViewer, SWT.LEFT);
        attributeColumn.setLabelProvider(labelProvider);
        attributeColumn.getColumn()
                .setText(MockDataMessages.tools_mockdata_wizard_page_settings_generatorselector_attribute);

        TableViewerColumn generatorColumn = new TableViewerColumn(generatorsTableViewer, SWT.LEFT);
        generatorColumn.setLabelProvider(labelProvider);
        TableColumn column = generatorColumn.getColumn();
        column.setText(MockDataMessages.tools_mockdata_wizard_page_settings_generatorselector_generator);

        generatorColumn.setEditingSupport(new EditingSupport(generatorsTableViewer) {
            @Override
            protected CellEditor getCellEditor(Object element) {
                DBSAttributeBase attribute = (DBSAttributeBase) element;

                AttributeGeneratorProperties attributeGenerators = mockDataSettings
                        .getAttributeGeneratorProperties(attribute);
                Set<String> generators = new LinkedHashSet<>();
                if (attributeGenerators.isEmpty()) {
                    noGeneratorInfoLabel.setVisible(true);
                    TextCellEditor textCellEditor = new TextCellEditor(generatorsTableViewer.getTable());
                    textCellEditor.getControl().setEnabled(false);
                    return textCellEditor;
                } else {
                    for (String generatorId : attributeGenerators.getGenerators()) {
                        generators.add(mockDataSettings.getGeneratorDescriptor(generatorId).getLabel());
                    }

                    CustomComboBoxCellEditor customComboBoxCellEditor = new CustomComboBoxCellEditor(
                            generatorsTableViewer, generatorsTableViewer.getTable(),
                            generators.toArray(new String[generators.size()]), SWT.BORDER | SWT.READ_ONLY);
                    return customComboBoxCellEditor;
                }
            }

            @Override
            protected boolean canEdit(Object element) {
                return true;
            } // disable the generator selection

            @Override
            protected Object getValue(Object element) {
                DBSAttributeBase attribute = (DBSAttributeBase) element;
                String selectedGenerator = mockDataSettings.getAttributeGeneratorProperties(attribute)
                        .getSelectedGeneratorId();
                if (selectedGenerator != null) {
                    return mockDataSettings.getGeneratorDescriptor(selectedGenerator).getLabel();
                } else {
                    return "";
                }
            }

            @Override
            protected void setValue(Object element, Object value) {
                DBSAttributeBase attribute = (DBSAttributeBase) element;
                selectGenerator(attribute, (String) value);
            }
        });

        table.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                saveGeneratorProperties();
                reloadProperties((DBSAttributeBase) e.item.getData(), null);
            }
        });

        // generator properties
        placeholder = UIUtils.createPlaceholder(generatorsGroup, 1);
        placeholder.setLayoutData(new GridData(GridData.FILL_BOTH));

        Composite labelCombo = UIUtils.createPlaceholder(placeholder, 5);
        gd = new GridData(GridData.FILL_HORIZONTAL);
        labelCombo.setLayoutData(gd);

        generatorCombo = new Combo(labelCombo, SWT.READ_ONLY | SWT.DROP_DOWN);
        gd = new GridData();
        gd.widthHint = 80;
        generatorCombo.setLayoutData(gd);
        generatorCombo.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                selectGenerator(selectedAttribute, generatorCombo.getText());
            }
        });

        Composite descriptionCombo = UIUtils.createPlaceholder(labelCombo, 2);
        gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
        descriptionCombo.setLayoutData(gd);

        generatorDescriptionLabel = new Label(descriptionCombo, SWT.NONE);
        generatorDescriptionLabel
                .setFont(JFaceResources.getFontRegistry().getItalic(JFaceResources.DEFAULT_FONT));
        generatorDescriptionLabel.setText("");
        gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
        gd.horizontalIndent = 5;
        generatorDescriptionLabel.setLayoutData(gd);

        generatorDescriptionLink = UIUtils.createLink(descriptionCombo, "", new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!CommonUtils.isEmpty(generatorLinkUrl)) {
                    IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
                    try {
                        support.getExternalBrowser().openURL(new URL(generatorLinkUrl));
                    } catch (Exception ex) {
                    }
                }
            }
        });
        gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
        gd.horizontalIndent = 5;
        generatorDescriptionLink.setLayoutData(gd);

        Button resetButton = new Button(labelCombo, SWT.PUSH);
        resetButton.setText(MockDataMessages.tools_mockdata_wizard_page_settings_button_reset);
        resetButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                for (Object key : propertySource.getProperties().keySet()) {
                    propertySource.resetPropertyValueToDefault(key);
                }
                propsEditor.loadProperties(propertySource);
                generatorsTableViewer.refresh(true, true);
            }
        });
        gd = new GridData();
        gd.horizontalIndent = 5;
        resetButton.setLayoutData(gd);

        propsEditor = new PropertyTreeViewer(placeholder, SWT.BORDER);
        gd = new GridData(GridData.FILL_BOTH);
        gd.verticalIndent = 5;
        propsEditor.getControl().setLayoutData(gd);

        noGeneratorInfoLabel = UIUtils.createInfoLabel(composite,
                MockDataMessages.tools_mockdata_wizard_page_settings_button_info_notfound);
        //noGeneratorInfoLabel.setForeground(generatorsTableViewer.getDisplay().getSystemColor(SWT.COLOR_RED));
        gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
        gd.horizontalSpan = 2;
        gd.verticalIndent = 5;
        noGeneratorInfoLabel.setLayoutData(gd);
        noGeneratorInfoLabel.setVisible(false);

        table.addControlListener(new ControlAdapter() {
            @Override
            public void controlResized(ControlEvent e) {
                UIUtils.packColumns(table);
                UIUtils.maxTableColumnsWidth(table);
                table.removeControlListener(this);
            }
        });
    }

    setControl(composite);

    boldFont = UIUtils.makeBoldFont(generatorsTableViewer.getControl().getFont());
}

From source file:org.jkiss.dbeaver.ext.oracle.views.OracleCompilerDialog.java

License:Open Source License

@Override
protected Composite createDialogArea(Composite parent) {
    GridData gd;/*  w ww . j a  v a 2 s  .co m*/
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(2, false));
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    {
        Composite unitsGroup = new Composite(composite, SWT.NONE);
        gd = new GridData(GridData.FILL_BOTH);
        gd.widthHint = 250;
        gd.heightHint = 200;
        gd.verticalIndent = 0;
        gd.horizontalIndent = 0;
        unitsGroup.setLayoutData(gd);
        unitsGroup.setLayout(new GridLayout(1, false));

        unitTable = new TableViewer(unitsGroup,
                SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);

        {
            final Table table = unitTable.getTable();
            table.setLayoutData(new GridData(GridData.FILL_BOTH));
            table.setLinesVisible(true);
            table.setHeaderVisible(true);
        }

        ViewerColumnController columnController = new ViewerColumnController("OracleCompilerDialog", unitTable);
        columnController.addColumn(OracleMessages.views_oracle_compiler_dialog_column_name, null, SWT.NONE,
                true, true, new CellLabelProvider() {
                    @Override
                    public void update(ViewerCell cell) {
                        DBSObject unit = (DBSObject) cell.getElement();
                        final DBNDatabaseNode node = DBeaverCore.getInstance().getNavigatorModel()
                                .getNodeByObject(unit);
                        if (node != null) {
                            cell.setText(node.getNodeName());
                            cell.setImage(DBeaverIcons.getImage(node.getNodeIconDefault()));
                        } else {
                            cell.setText(unit.toString());
                        }
                    }
                });
        columnController.addColumn(OracleMessages.views_oracle_compiler_dialog_column_type, null, SWT.NONE,
                true, true, new CellLabelProvider() {
                    @Override
                    public void update(ViewerCell cell) {
                        DBSObject unit = (DBSObject) cell.getElement();
                        final DBNDatabaseNode node = DBeaverCore.getInstance().getNavigatorModel()
                                .getNodeByObject(unit);
                        if (node != null) {
                            cell.setText(node.getNodeType());
                        } else {
                            cell.setText("???"); //$NON-NLS-1$
                        }
                    }
                });
        columnController.createColumns();
        unitTable.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                getButton(COMPILE_ID).setEnabled(!selection.isEmpty());

            }
        });
        unitTable.addDoubleClickListener(new IDoubleClickListener() {
            @Override
            public void doubleClick(DoubleClickEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                if (!selection.isEmpty()) {
                    OracleSourceObject unit = (OracleSourceObject) selection.getFirstElement();
                    NavigatorHandlerObjectOpen.openEntityEditor(unit);
                }
            }
        });
        unitTable.setContentProvider(new ListContentProvider());
        unitTable.setInput(compileUnits);
    }

    {
        Composite infoGroup = new Composite(composite, SWT.NONE);
        gd = new GridData(GridData.FILL_BOTH);
        gd.widthHint = 400;
        gd.heightHint = 200;
        gd.verticalIndent = 0;
        gd.horizontalIndent = 0;
        infoGroup.setLayoutData(gd);
        infoGroup.setLayout(new GridLayout(1, false));

        compileLog = new ObjectCompilerLogViewer(infoGroup, true);
    }

    return composite;
}