public void paintNodeDetails(DBNNode node, Tree tree, GC gc, Event event) {
        Color conColor = null;
        Object element = event.item.getData();
        if (element instanceof DBNDatabaseNode) {
            DBPDataSourceContainer ds = ((DBNDatabaseNode) element).getDataSourceContainer();
            conColor = UIUtils.getConnectionColor(ds.getConnectionConfiguration());
        }

        if (conColor != null) {
            gc.setForeground(conColor);
            if (element instanceof DBNDataSource) {
                //int boxSize = event.height - 4;

                //gc.setLineWidth(2);
                //gc.setLineStyle(SWT.LINE_SOLID);

                //            gc.fillRectangle(0, event.y + 2, textSize.x, textSize.y);
                //            gc.drawRectangle(0, event.y + 2, textSize.x - 1, textSize.y - 1);
                //gc.drawRectangle(event.x - 2, event.y + 1, event.width + 3, event.height - 2/*, event.height / 2, event.height / 2*/);
                //gc.drawLine(event.x, event.y, event.x + event.width, event.y);
                //gc.drawLine(10, event.y + event.height - 1, event.x + event.width, event.y + event.height - 1);
                //gc.drawLine(event.x, event.y + event.height - 1, event.x + event.width, event.y + event.height - 1);
            } else {
                int oldLineWidth = gc.getLineWidth();

                gc.setForeground(conColor);
                gc.setLineWidth(3);
                if (((TreeItem)event.item).getItemCount() > 0) {
                    gc.drawLine(event.x - 20, event.y - 1, event.x - 20, event.y + event.height + 1);
                } else {
                    gc.drawLine(event.x - 4, event.y - 1, event.x - 4, event.y + event.height + 1);
                }
                gc.setLineWidth(oldLineWidth);
            }
        }
    }
Default node renderer.
Draws connection type marker next to the item name.
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/database/DefaultNavigatorNodeRenderer.java