private void newTreeViewer()

in org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/views/ReverseDependencyExplorerView.java [147:197]


    private void newTreeViewer(Composite composite) {
        viewer = new TreeViewer(composite, SWT.FULL_SELECTION);
        IvyRevisionProvider ivyRevisionProvider = new IvyRevisionProvider();

        viewer.setContentProvider(ivyRevisionProvider);
        viewer.setLabelProvider(ivyRevisionProvider);
        viewer.setColumnProperties(PROPS);
        viewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
                Object element = selection.getFirstElement();
                if (element instanceof CPDependencyDescriptor) {
                    IvyClasspathContainer container = ((CPDependencyDescriptor) element).container;
                    OpenIvyFileHandler.open(container);
                }
            }
        });

        Tree tree = viewer.getTree();
        tree.setLayoutData(new GridData(GridData.FILL_BOTH));

        TableLayout layout = new TableLayout();
        layout.addColumnData(new ColumnWeightData(COLUMN_DEFAULT_WEIGHT, COLUMN_MIN_WITH, true));
        layout.addColumnData(new ColumnWeightData(COLUMN_DEFAULT_WEIGHT, COLUMN_MIN_WITH, true));
        layout.addColumnData(new ColumnWeightData(COLUMN_LIGHT_WEIGHT, COLUMN_MIN_WITH, true));
        layout.addColumnData(new ColumnWeightData(COLUMN_DEFAULT_WEIGHT, COLUMN_MIN_WITH, true));
        tree.setLayout(layout);

        new TreeColumn(tree, SWT.LEFT).setText("Organization");
        new TreeColumn(tree, SWT.LEFT).setText("Module");
        new TreeColumn(tree, SWT.LEFT).setText("Revision");
        new TreeColumn(tree, SWT.LEFT).setText("New Revision");

        for (int i = 0, n = tree.getColumnCount(); i < n; i++) {
            tree.getColumn(i).pack();
        }

        tree.setHeaderVisible(true);
        tree.setLinesVisible(false);

        CellEditor[] editors = new CellEditor[PROPS.length];
        editors[0] = new TextCellEditor(tree);
        editors[1] = new TextCellEditor(tree);
        editors[2] = new TextCellEditor(tree);
        // CheckStyle:MagicNumber| OFF
        editors[3] = new TextCellEditor(tree);
        // CheckStyle:MagicNumber| ON

        viewer.setCellModifier(new CellModifier());
        viewer.setCellEditors(editors);
    }