Example usage for org.eclipse.jface.viewers TreeViewerColumn TreeViewerColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn TreeViewerColumn

Introduction

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

Prototype

public TreeViewerColumn(TreeViewer viewer, TreeColumn column) 

Source Link

Document

Creates a new viewer column for the given TreeViewer on the given TreeColumn .

Usage

From source file:org.eclipse.viatra.query.tooling.ui.wizards.NewEiqGenmodelPage.java

License:Open Source License

/**
 * Create contents of the wizard.//ww  w.j  a v  a2 s . c o m
 * 
 * @param parent
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);

    setControl(container);
    container.setLayout(new GridLayout(1, false));

    if (displayCreateComposite) {
        Section sctnGenmodel = formToolkit.createSection(container, Section.EXPANDED | Section.TITLE_BAR);
        sctnGenmodel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
        formToolkit.paintBordersFor(sctnGenmodel);
        sctnGenmodel.setText("Genmodel");

        Composite composite = formToolkit.createComposite(sctnGenmodel, SWT.NONE);
        formToolkit.paintBordersFor(composite);
        sctnGenmodel.setClient(composite);
        composite.setLayout(new GridLayout(3, false));
        new Label(composite, SWT.NONE);
        new Label(composite, SWT.NONE);

        btnInitializeGeneratorModel = formToolkit.createButton(composite, "Initialize Generator Model",
                SWT.CHECK);
        new Label(composite, SWT.NONE);

        formToolkit.createLabel(composite, "Filename", SWT.NONE);

        formToolkit.createLabel(composite, "generator.eiqgen", SWT.NONE);
    }

    Section sctnReferencedEmfGenerator = formToolkit.createSection(container,
            Section.EXPANDED | Section.TITLE_BAR);
    sctnReferencedEmfGenerator.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    formToolkit.paintBordersFor(sctnReferencedEmfGenerator);
    sctnReferencedEmfGenerator.setText("Referenced EMF Generator models");

    referencedGenmodels = formToolkit.createTree(sctnReferencedEmfGenerator, SWT.NONE);
    referencedGenmodels.setEnabled(false);
    formToolkit.paintBordersFor(referencedGenmodels);
    sctnReferencedEmfGenerator.setClient(referencedGenmodels);
    referencedGenmodels.setHeaderVisible(true);
    referencedGenmodels.setLinesVisible(true);

    genModelViewer = new TreeViewer(referencedGenmodels);
    genModelViewer.setContentProvider(new ITreeContentProvider() {

        Collection<GenModel> genmodels;

        @SuppressWarnings("unchecked")
        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            if (newInput instanceof Collection<?>) {
                genmodels = (Collection<GenModel>) newInput;
            }
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean hasChildren(Object element) {
            return element instanceof GenModel && !((GenModel) element).getGenPackages().isEmpty();
        }

        @Override
        public Object getParent(Object element) {
            if (element instanceof GenPackage) {
                return ((GenPackage) element).getGenModel();
            }
            return null;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return genmodels.toArray(new GenModel[genmodels.size()]);
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof GenModel) {
                List<GenPackage> packages = ((GenModel) parentElement).getGenPackages();
                return packages.toArray(new GenPackage[packages.size()]);
            }
            return null;
        }
    });
    genModelViewer.setLabelProvider(new LabelProvider() {

    });
    TreeViewerColumn resourcePathColumn = new TreeViewerColumn(genModelViewer, SWT.LEFT);
    resourcePathColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof GenModel) {
                return ((GenModel) element).eResource().getURI().toPlatformString(true);
            } else if (element instanceof GenPackage) {
                return ((GenPackage) element).getNSURI();
            }
            return super.getText(element);
        }
    });
    TreeViewerColumn packageURIColumn = new TreeViewerColumn(genModelViewer, SWT.LEFT);
    packageURIColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof GenModel) {
                return String.format("Plug-in dependency: %s", ((GenModel) element).getModelPluginID());
            } else if (element instanceof GenPackage) {
                return "";
            }
            return super.getText(element);
        }

    });
    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, true));
    referencedGenmodels.setLayout(tableLayout);

    genModelViewer.setInput(selectedGenmodels);

    Composite composite_1 = formToolkit.createComposite(sctnReferencedEmfGenerator, SWT.NONE);
    formToolkit.paintBordersFor(composite_1);
    sctnReferencedEmfGenerator.setTextClient(composite_1);
    composite_1.setLayout(new RowLayout(SWT.HORIZONTAL));

    addGenmodel = formToolkit.createButton(composite_1, "Add", SWT.NONE);
    addGenmodel.setEnabled(false);
    addGenmodel.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            selectGenmodelFromWorkspace();
        }
    });
    if (displayCreateComposite) {
        /* m_bindingContext = */initDataBindings();
    }
}

From source file:org.eclipse.viatra.query.tooling.ui.wizards.NewVQGenmodelPage.java

License:Open Source License

/**
 * Create contents of the wizard./* w w  w . java  2s.  c  om*/
 * 
 * @param parent
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);

    setControl(container);
    container.setLayout(new GridLayout(1, false));

    if (displayCreateComposite) {
        Section sctnGenmodel = formToolkit.createSection(container, Section.EXPANDED | Section.TITLE_BAR);
        sctnGenmodel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
        formToolkit.paintBordersFor(sctnGenmodel);
        sctnGenmodel.setText("Genmodel");

        Composite composite = formToolkit.createComposite(sctnGenmodel, SWT.NONE);
        formToolkit.paintBordersFor(composite);
        sctnGenmodel.setClient(composite);
        composite.setLayout(new GridLayout(3, false));
        new Label(composite, SWT.NONE);
        new Label(composite, SWT.NONE);

        btnInitializeGeneratorModel = formToolkit.createButton(composite, "Initialize Generator Model",
                SWT.CHECK);
        new Label(composite, SWT.NONE);

        formToolkit.createLabel(composite, "Filename", SWT.NONE);

        formToolkit.createLabel(composite, "generator.vqgen", SWT.NONE);
    }

    Section sctnReferencedEmfGenerator = formToolkit.createSection(container,
            Section.EXPANDED | Section.TITLE_BAR);
    sctnReferencedEmfGenerator.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    formToolkit.paintBordersFor(sctnReferencedEmfGenerator);
    sctnReferencedEmfGenerator.setText("Referenced EMF Generator models");

    referencedGenmodels = formToolkit.createTree(sctnReferencedEmfGenerator, SWT.NONE);
    referencedGenmodels.setEnabled(false);
    formToolkit.paintBordersFor(referencedGenmodels);
    sctnReferencedEmfGenerator.setClient(referencedGenmodels);
    referencedGenmodels.setHeaderVisible(true);
    referencedGenmodels.setLinesVisible(true);

    genModelViewer = new TreeViewer(referencedGenmodels);
    genModelViewer.setContentProvider(new ITreeContentProvider() {

        Collection<GenModel> genmodels;

        @SuppressWarnings("unchecked")
        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            if (newInput instanceof Collection<?>) {
                genmodels = (Collection<GenModel>) newInput;
            }
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean hasChildren(Object element) {
            return element instanceof GenModel && !((GenModel) element).getGenPackages().isEmpty();
        }

        @Override
        public Object getParent(Object element) {
            if (element instanceof GenPackage) {
                return ((GenPackage) element).getGenModel();
            }
            return null;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return genmodels.toArray(new GenModel[genmodels.size()]);
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof GenModel) {
                List<GenPackage> packages = ((GenModel) parentElement).getGenPackages();
                return packages.toArray(new GenPackage[packages.size()]);
            }
            return null;
        }
    });
    genModelViewer.setLabelProvider(new LabelProvider() {

    });
    TreeViewerColumn resourcePathColumn = new TreeViewerColumn(genModelViewer, SWT.LEFT);
    resourcePathColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof GenModel) {
                return ((GenModel) element).eResource().getURI().toPlatformString(true);
            } else if (element instanceof GenPackage) {
                return ((GenPackage) element).getNSURI();
            }
            return super.getText(element);
        }
    });
    TreeViewerColumn packageURIColumn = new TreeViewerColumn(genModelViewer, SWT.LEFT);
    packageURIColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof GenModel) {
                return String.format("Plug-in dependency: %s", ((GenModel) element).getModelPluginID());
            } else if (element instanceof GenPackage) {
                return "";
            }
            return super.getText(element);
        }

    });
    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, true));
    referencedGenmodels.setLayout(tableLayout);

    genModelViewer.setInput(selectedGenmodels);

    Composite composite_1 = formToolkit.createComposite(sctnReferencedEmfGenerator, SWT.NONE);
    formToolkit.paintBordersFor(composite_1);
    sctnReferencedEmfGenerator.setTextClient(composite_1);
    composite_1.setLayout(new RowLayout(SWT.HORIZONTAL));

    addGenmodel = formToolkit.createButton(composite_1, "Add", SWT.NONE);
    addGenmodel.setEnabled(false);
    addGenmodel.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            selectGenmodelFromWorkspace();
        }
    });
    if (displayCreateComposite) {
        /* m_bindingContext = */initDataBindings();
    }
}

From source file:org.eclipse.vtp.desktop.projects.interactive.core.util.LanguageMappingScreen.java

License:Open Source License

private void createTree(Composite parent) {
    Tree tree = new Tree(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    tree.setHeaderVisible(true);/*w ww .ja  v  a2  s.c  om*/
    brandViewer = new TreeViewer(tree);

    TreeColumn brandColumn = new TreeColumn(tree, SWT.NONE);
    brandColumn.setWidth(100);
    brandColumn.setText("Brands");

    for (LanguageSupport language : support.getSupportedLanguages()) {
        TreeViewerColumn languageColumn = new TreeViewerColumn(brandViewer, SWT.NONE);
        languageColumn.getColumn().setText(language.getLanguage());
        languageColumn.getColumn().setWidth(100);
        ProjectEditingSupport pes = new ProjectEditingSupport(brandViewer, language);
        languageColumn.setEditingSupport(pes);
    }

    brandViewer.setContentProvider(new BrandContentProvider());
    brandViewer.setLabelProvider(new BrandLabelProvider());
    brandViewer.setInput(this);

}

From source file:org.eclipse.wazaabi.engine.swt.commons.views.collections.ColumnManager.java

License:Open Source License

protected void createViewerColumn(final org.eclipse.swt.widgets.Widget w,
        final AbstractColumnDescriptor columnDescriptor, final int columnIndex) {

    ViewerColumn viewerColumn = null;//from   ww w.  ja  v  a  2  s  . com
    if (w instanceof org.eclipse.swt.widgets.Tree) {
        viewerColumn = new TreeViewerColumn((TreeViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        final TreeColumn column = ((TreeViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    } else if (w instanceof org.eclipse.swt.widgets.Table) {
        viewerColumn = new TableViewerColumn((TableViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        ((TableViewerColumn) viewerColumn).getColumn()
                .setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        final TableColumn column = ((TableViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    }
    if (viewerColumn != null) {
        if (collectionView.getLabelProvider() instanceof PathSelectorLabelProvider) {
            final PathSelectorLabelProvider labelProvider = (PathSelectorLabelProvider) collectionView
                    .getLabelProvider();
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return labelProvider.getColumnText(element, columnIndex);
                }

                public Image getImage(Object element) {
                    return labelProvider.getColumnImage(element, columnIndex);
                }

            });
        } else if (collectionView.getLabelProvider() instanceof DynamicLabelProvider) {
            final DynamicLabelProvider labelProvider = (DynamicLabelProvider) collectionView.getLabelProvider();
            viewerColumn.setLabelProvider(new StyledCellLabelProvider() {

                @Override
                public void update(ViewerCell cell) {
                    final Object element = cell.getElement();
                    final int columnIndex = cell.getColumnIndex();
                    final Display display = cell.getControl().getDisplay();
                    cell.setText(labelProvider.getColumnText(element, columnIndex));
                    cell.setImage(labelProvider.getColumnImage(element, columnIndex));
                    final Color foreground = labelProvider.getForegroundColor(element, columnIndex, display);
                    if (foreground != null)
                        cell.setForeground(foreground);
                    final Color background = labelProvider.getBackgroundColor(element, columnIndex, display);
                    if (background != null)
                        cell.setBackground(background);
                    final Font font = labelProvider.getFont(element, columnIndex, display, cell.getFont());
                    if (font != null)
                        cell.setFont(font);
                    super.update(cell);
                }
            });
        } else
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return element != null ? element.toString() : ""; //$NON-NLS-1$
                }

            });
        if (columnDescriptor.getEditingSupport() != null) {
            DynamicEditingSupport dynamicEditingSupport = new DynamicEditingSupport(this, columnDescriptor);
            dynamicEditingSupports.put(columnDescriptor, dynamicEditingSupport);
            viewerColumn.setEditingSupport(dynamicEditingSupport);
        }
    }

}

From source file:org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionPanel.java

License:Open Source License

public FacetsSelectionPanel(final Composite parent, final IFacetedProjectWorkingCopy fpjwc) {
    super(parent, SWT.NONE);

    this.fpjwc = fpjwc;
    this.registeredWorkingCopyListeners = new ArrayList<IFacetedProjectListener>();
    this.selectedVersions = new HashMap<IProjectFacet, IProjectFacetVersion>();
    this.selection = null;
    this.selectionListeners = new ArrayList<ISelectionChangedListener>();
    this.showToolTips = false;

    // Initialize the image registry.

    this.imageRegistry = new ImageRegistry();
    final Bundle bundle = Platform.getBundle(FacetUiPlugin.PLUGIN_ID);

    URL url = bundle.getEntry("images/down-arrow.gif"); //$NON-NLS-1$
    this.imageRegistry.put(IMG_DOWN_ARROW, ImageDescriptor.createFromURL(url));

    // Layout the panel.

    setLayout(glmargins(gl(1), 0, 0));// ww w .  j  a  v  a  2 s  .  com

    this.topComposite = new Composite(this, SWT.NONE);
    this.topComposite.setLayout(glmargins(gl(4), 0, 0));

    this.presetsLabel = new Label(this.topComposite, SWT.NONE);
    this.presetsLabel.setText(Resources.presetsLabel);

    this.presetsCombo = new Combo(this.topComposite, SWT.READ_ONLY);
    this.presetsCombo.setLayoutData(gdhfill());

    this.savePresetButton = new Button(this.topComposite, SWT.PUSH);
    this.savePresetButton.setText(Resources.saveButtonLabel);
    GridDataFactory.defaultsFor(this.savePresetButton).applyTo(this.savePresetButton);

    this.savePresetButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(final SelectionEvent e) {
            handleSavePreset();
        }
    });

    this.deletePresetButton = new Button(this.topComposite, SWT.PUSH);
    this.deletePresetButton.setText(Resources.deleteButtonLabel);
    GridDataFactory.defaultsFor(this.deletePresetButton).applyTo(this.deletePresetButton);

    this.deletePresetButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(final SelectionEvent e) {
            handleDeletePreset();
        }
    });

    this.sform1 = new SashForm(this.topComposite, SWT.VERTICAL | SWT.SMOOTH);
    this.sform1.setLayoutData(gdhspan(gdfill(), 4));

    this.sform2 = new SashForm(this.sform1, SWT.HORIZONTAL | SWT.SMOOTH);
    this.sform2.setLayoutData(gdhspan(gdfill(), 4));

    this.treeViewer = new CheckboxTreeViewer(this.sform2, SWT.BORDER);
    this.tree = this.treeViewer.getTree();

    this.tree.setHeaderVisible(true);

    this.treeViewer.setContentProvider(new ContentProvider());
    this.treeViewer.setSorter(new Sorter());

    this.colFacet = new TreeViewerColumn(this.treeViewer, SWT.NONE);
    this.colFacet.getColumn().setText(Resources.facetColumnLabel);
    this.colFacet.getColumn().setResizable(true);
    this.colFacet.setLabelProvider(new FacetColumnLabelProvider());
    this.colFacet.getColumn().setWidth(computeDefaultFacetColumnWidth());

    this.colVersion = new TreeViewerColumn(this.treeViewer, SWT.NONE);
    this.colVersion.getColumn().setText(Resources.versionColumnLabel);
    this.colVersion.getColumn().setResizable(true);
    this.colVersion.setLabelProvider(new FacetVersionColumnLabelProvider());
    this.colVersion.setEditingSupport(new FacetVersionColumnEditingSupport(this.treeViewer));
    this.colVersion.getColumn().setWidth(computeDefaultVersionColumnWidth());

    this.popupMenu = new Menu(getShell(), SWT.POP_UP);

    this.popupMenuChangeVersion = new MenuItem(this.popupMenu, SWT.PUSH);
    this.popupMenuChangeVersion.setText(Resources.changeVersionMenuItem);

    this.popupMenuChangeVersion.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(final SelectionEvent e) {
            handleChangeVersionMenuSelected();
        }
    });

    this.popupMenuLockUnlock = new MenuItem(this.popupMenu, SWT.PUSH);

    this.popupMenuLockUnlock.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(final SelectionEvent e) {
            handleFacetLockUnlock();
        }
    });

    new FacetToolTip(this.tree);
    new CategoryToolTip(this.tree);
    this.fixedFacetToolTip = new FixedFacetToolTip(this.tree);

    this.treeViewer.setInput(new Object());

    this.treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent e) {
            FacetsSelectionPanel.this.handleSelectionChangedEvent();
        }
    });

    this.treeViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent e) {
            FacetsSelectionPanel.this.handleCheckStateChanged(e);
        }
    });

    this.tree.addListener(SWT.PaintItem, new Listener() {
        public void handleEvent(final Event event) {
            handlePaintItemEvent(event);
        }
    });

    this.tree.addListener(SWT.MouseDown, new Listener() {
        public void handleEvent(final Event event) {
            handleMouseDownEvent(event);
        }
    });

    this.tree.addMenuDetectListener(new MenuDetectListener() {

        public void menuDetected(MenuDetectEvent arg0) {
            updatePopupMenu();
        }
    });

    final TabFolder tabFolder = new TabFolder(this.sform2, SWT.NONE);
    tabFolder.setLayoutData(gdhhint(gdhfill(), 80));

    this.detailsPanel = new DetailsPanel(tabFolder, this);
    this.detailsTabItem = new TabItem(tabFolder, SWT.NULL);
    this.detailsTabItem.setControl(this.detailsPanel);
    this.detailsTabItem.setText(Resources.detailsTabLabel);

    this.runtimesPanel = new RuntimesPanel(tabFolder, this.fpjwc);
    this.runtimesTabItem = new TabItem(tabFolder, SWT.NULL);
    this.runtimesTabItem.setControl(this.runtimesPanel);
    this.runtimesTabItem.setText(Resources.runtimesTabLabel);

    this.problemsView = new TableViewer(this.sform1, SWT.BORDER);
    this.problemsView.setContentProvider(new ProblemsContentProvider());
    this.problemsView.setLabelProvider(new ProblemsLabelProvider());
    this.problemsView.setInput(new Object());

    addDisposeListener(new DisposeListener() {
        public void widgetDisposed(final DisposeEvent e) {
            handleDisposeEvent();
        }
    });

    Dialog.applyDialogFont(parent);

    // Setup runtime lifecycle listener.

    this.runtimeLifecycleListener = new IRuntimeLifecycleListener() {
        public void handleEvent(final IRuntimeLifecycleEvent event) {
            handleValidationProblemsChangedEvent();
        }
    };

    RuntimeManager.addListener(this.runtimeLifecycleListener,
            IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED);

    // Bind to the model.

    addWorkingCopyListener(new IFacetedProjectListener() {
        public void handleEvent(final IFacetedProjectEvent event) {
            handleProjectFacetsChangedEvent(event);
        }
    }, IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED);

    handleProjectFacetsChangedEvent(null);

    addWorkingCopyListener(new IFacetedProjectListener() {
        public void handleEvent(final IFacetedProjectEvent event) {
            handleValidationProblemsChangedEvent();
        }
    }, IFacetedProjectEvent.Type.VALIDATION_PROBLEMS_CHANGED, IFacetedProjectEvent.Type.PROJECT_MODIFIED);

    handleValidationProblemsChangedEvent();

    addWorkingCopyListener(new IFacetedProjectListener() {
        public void handleEvent(final IFacetedProjectEvent event) {
            handleSelectedPresetChangedEvent();
        }
    }, IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED);

    ModifyFacetedProjectWizard.syncWithPresetsModel(this.fpjwc, this.presetsCombo);

    addWorkingCopyListener(new IFacetedProjectListener() {
        public void handleEvent(final IFacetedProjectEvent event) {
            handleModelChangedEvent(event);
        }
    }, IFacetedProjectEvent.Type.FIXED_FACETS_CHANGED, IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED,
            IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED);

    // Set the preferred dimensions of the panel.

    final int prefWidthTree = getPreferredWidth(this.tree);
    int prefWidthRuntimesPanel = getPreferredWidth(this.runtimesPanel);
    prefWidthRuntimesPanel = max(prefWidthRuntimesPanel, 300);
    final int prefWidth = prefWidthTree + prefWidthRuntimesPanel + 80;

    this.topComposite.setLayoutData(gdwhint(gdhhint(gdfill(), 500), prefWidth));

    this.sform1.setWeights(new int[] { 70, 30 });
    this.sform2.setWeights(new int[] { prefWidthTree, prefWidthRuntimesPanel });

    // Select the first item in the table.

    if (this.tree.getItemCount() > 0) {
        final TreeItem firstItem = this.tree.getItem(0);
        this.treeViewer.setSelection(new StructuredSelection(firstItem.getData()));
    }

    handleSelectionChangedEvent();
}

From source file:org.eclipselabs.e4.tapiji.translator.ui.treeviewer.TreeViewerView.java

License:Open Source License

private void createColumn(final String languageCode, final int columnIndex,
        final TextCellEditor textCellEditor) {
    final Locale locale = LocaleUtils.getLocaleFromLanguageCode(languageCode);
    final TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE);
    column.getColumn().setWidth(200);/*from w w  w .  ja v a  2 s. c om*/
    column.getColumn().setMoveable(false);
    column.getColumn().setResizable(true);
    column.getColumn().setText(locale.getDisplayName());
    column.getColumn().addSelectionListener(createColumnSelectionListener(columnIndex));
    column.setEditingSupport(createEditingSupportFor(textCellEditor, columnIndex, languageCode));

}

From source file:org.eclipselabs.spray.runtime.xtext.ui.xtextindex.IEObjectDescriptionViewer.java

License:Open Source License

/**
 * Create contents of the view part.//from   w w w  . j  a v a 2 s .  com
 * 
 * @param parent
 */
public void createPartControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new FormLayout());

    Composite composite = new Composite(container, SWT.NONE);
    composite.setBounds(10, 21, 200, 64);
    FormData fd_composite = new FormData();
    fd_composite.left = new FormAttachment(0, 10);
    fd_composite.bottom = new FormAttachment(0, 458);
    fd_composite.top = new FormAttachment(0, 21);
    composite.setLayoutData(fd_composite);
    TreeColumnLayout tcl_composite = new TreeColumnLayout();
    composite.setLayout(tcl_composite);

    treeViewer = new TreeViewer(composite, SWT.BORDER);
    Tree tree = treeViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn trclmnName = treeViewerColumn.getColumn();
    tcl_composite.setColumnData(trclmnName, new ColumnPixelData(150, true, true));
    trclmnName.setText("Name");

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn trclmnType = treeViewerColumn_1.getColumn();
    tcl_composite.setColumnData(trclmnType, new ColumnPixelData(150, true, true));
    trclmnType.setText("Type");

    TreeViewerColumn treeViewerUserDataColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn trclmnUserData = treeViewerUserDataColumn.getColumn();
    tcl_composite.setColumnData(trclmnUserData, new ColumnPixelData(150, true, true));
    trclmnUserData.setText("User Data");

    Button btnRefresh = new Button(container, SWT.NONE);
    fd_composite.right = new FormAttachment(btnRefresh, -35);
    btnRefresh.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            initializeInput();
        }
    });
    FormData fd_btnRefresh = new FormData();
    fd_btnRefresh.top = new FormAttachment(composite, 0, SWT.TOP);
    fd_btnRefresh.right = new FormAttachment(100, -10);
    btnRefresh.setLayoutData(fd_btnRefresh);
    btnRefresh.setText("Refresh");
    treeViewer.setLabelProvider(new IEObjectDescriptionLabelProvider());
    treeViewer.setContentProvider(new IEObjectDescriptionContentProvider());
    treeViewerColumn.setLabelProvider(new EObjectDescriptionNameColumnLabelProvider());
    treeViewerColumn_1.setLabelProvider(new EObjectDescriptionTypeColumnLabelProvider());
    treeViewerUserDataColumn.setLabelProvider(new EObjectDescriptionUserDataColumnLabelProvider());

    createActions();
    initializeToolBar();
    initializeMenu();
    initializeInput();
}

From source file:org.eclipsetrader.ui.internal.ats.monitor.TradingSystemsViewPart.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI);
    viewer.getTree().setHeaderVisible(true);
    viewer.getTree().setLinesVisible(false);

    createContextMenu();/*from www .j  a v  a 2s  .c  o m*/

    model = new TradingSystemsViewModel(tradingSystemService);

    String[] columns = dialogSettings.getArray(COLUMNS);
    IDialogSettings namesSection = dialogSettings.getSection(COLUMN_NAMES);

    List<ViewColumn> list = new ArrayList<ViewColumn>();
    for (int i = 0; i < columns.length; i++) {
        String name = namesSection.get(columns[i]);
        list.add(new ViewColumn(name, activator.getDataProviderFactory(columns[i])));
    }
    model.setDataProviders(list);

    for (final TradingSystemItem item : model.getList()) {
        PropertyChangeSupport changeSupport = (PropertyChangeSupport) item.getTradingSystem()
                .getAdapter(PropertyChangeSupport.class);
        if (changeSupport != null) {
            changeSupport.addPropertyChangeListener(new PropertyChangeListener() {

                @Override
                public void propertyChange(PropertyChangeEvent evt) {
                    Display.getDefault().asyncExec(new Runnable() {

                        @Override
                        public void run() {
                            if (viewer.getControl().isDisposed()) {
                                return;
                            }
                            viewer.refresh(item);
                        }
                    });
                }
            });
        }
    }

    final ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(model,
            model);
    viewer.setContentProvider(contentProvider);

    IDialogSettings widthSettings = dialogSettings.getSection(COLUMN_WIDTHS);

    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);

    int width = 300;
    if (widthSettings.get(LABEL_COLUMN) != null) {
        width = widthSettings.getInt(LABEL_COLUMN);
    }
    viewerColumn.getColumn().setWidth(width);

    viewerColumn.getColumn().addControlListener(columnControlListener);

    final List<IObservableMap> properties = new ArrayList<IObservableMap>();
    properties.add(new ViewerObservableMap(contentProvider.getKnownElements(), LABEL_COLUMN));
    for (ViewColumn column : model.getDataProviders()) {
        viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
        viewerColumn.getColumn().setText(column.getName());

        width = 100;
        if (widthSettings.get(column.getDataProviderFactory().getId()) != null) {
            width = widthSettings.getInt(column.getDataProviderFactory().getId());
        }
        viewerColumn.getColumn().setWidth(width);

        viewerColumn.getColumn().addControlListener(columnControlListener);
        column.addPropertyChangeListener(ViewColumn.PROP_NAME, columnPropertiesChangeListener);
        properties.add(new ViewerObservableMap(contentProvider.getKnownElements(),
                column.getDataProviderFactory().getId()));
    }
    createLabelProvider(properties.toArray(new IObservableMap[properties.size()]));

    model.getObservableDataProviders().addListChangeListener(new IListChangeListener() {

        @Override
        public void handleListChange(ListChangeEvent event) {
            event.diff.accept(new ListDiffVisitor() {

                @Override
                public void handleRemove(int index, Object element) {
                    TreeColumn treeColumn = viewer.getTree().getColumn(index + 1);
                    treeColumn.dispose();

                    ViewColumn column = (ViewColumn) element;
                    column.removePropertyChangeListener(ViewColumn.PROP_NAME, columnPropertiesChangeListener);

                    IObservableMap observableMap = properties.remove(index + 1);
                    if (observableMap != null) {
                        observableMap.dispose();
                    }
                }

                @Override
                public void handleAdd(int index, Object element) {
                    ViewColumn column = (ViewColumn) element;
                    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT, index + 1);
                    viewerColumn.getColumn().setText(column.getName());

                    int width = 100;
                    IDialogSettings widthSettings = dialogSettings.getSection(COLUMN_WIDTHS);
                    if (widthSettings.get(column.getDataProviderFactory().getId()) != null) {
                        width = widthSettings.getInt(column.getDataProviderFactory().getId());
                    }
                    viewerColumn.getColumn().setWidth(width);

                    viewerColumn.getColumn().addControlListener(columnControlListener);
                    column.addPropertyChangeListener(ViewColumn.PROP_NAME, columnPropertiesChangeListener);
                    properties.add(index + 1, new ViewerObservableMap(contentProvider.getKnownElements(),
                            column.getDataProviderFactory().getId()));
                }
            });

            createLabelProvider(properties.toArray(new IObservableMap[properties.size()]));

            IDialogSettings namesSection = dialogSettings.getSection(COLUMN_NAMES);

            List<String> list = new ArrayList<String>();
            for (ViewColumn column : model.getDataProviders()) {
                list.add(column.getDataProviderFactory().getId());
                namesSection.put(column.getDataProviderFactory().getId(), column.getName());
            }
            dialogSettings.put(COLUMNS, list.toArray(new String[list.size()]));
        }
    });

    viewer.setComparator(new ViewerComparator());

    getSite().setSelectionProvider(viewer);

    viewer.setInput(model);
    viewer.expandAll();
}

From source file:org.eclipsetrader.ui.internal.charts.views.HistoryDataDetailEditor.java

License:Open Source License

void createViewer(Composite parent) {
    Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI);
    tree.setHeaderVisible(true);/* w  ww  . ja v a  2s  . c o m*/
    tree.setLinesVisible(true);

    viewer = new TreeViewer(tree);

    IObservableFactory observableFactory = new IObservableFactory() {

        @Override
        public IObservable createObservable(Object target) {
            if (target instanceof HistoryDataDetailEditorModel) {
                return Observables
                        .unmodifiableObservableList(((HistoryDataDetailEditorModel) target).getList());
            }
            if (target instanceof HistoryDataEditorModel) {
                return Observables.unmodifiableObservableList(((HistoryDataEditorModel) target).getList());
            }
            return null;
        }
    };

    TreeStructureAdvisor treeStructureAdvisor = new TreeStructureAdvisor() {

        @Override
        public Boolean hasChildren(Object element) {
            if (element instanceof HistoryDataEditorModel) {
                return true;
            }
            return false;
        }
    };

    ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(observableFactory,
            treeStructureAdvisor);
    viewer.setContentProvider(contentProvider);

    GC gc = new GC(parent);
    FontMetrics fontMetrics = gc.getFontMetrics();
    gc.dispose();

    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Time);
    viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70));
    viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree),
            CellEditorValueProperty.timeValue(), BeanProperties.value(HistoryDataElement.PROP_DATE)));

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Open);
    viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55));
    viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree),
            CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_OPEN)));

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_High);
    viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55));
    viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree),
            CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_HIGH)));

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Low);
    viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55));
    viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree),
            CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_LOW)));

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Close);
    viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55));
    viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree),
            CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_CLOSE)));

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Volume);
    viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70));
    viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree),
            CellEditorValueProperty.longValue(), BeanProperties.value(HistoryDataElement.PROP_VOLUME)));

    if (Platform.WS_GTK.equals(Platform.getWS())) {
        viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
        viewerColumn.getColumn().setWidth(1);
    }

    final String[] properties = new String[] { HistoryDataElement.PROP_DATE, HistoryDataElement.PROP_OPEN,
            HistoryDataElement.PROP_HIGH, HistoryDataElement.PROP_LOW, HistoryDataElement.PROP_CLOSE,
            HistoryDataElement.PROP_VOLUME, "" //$NON-NLS-1$
    };

    DataViewerLabelProvider labelProvider = new DataViewerLabelProvider(
            BeansObservables.observeMaps(contentProvider.getKnownElements(), properties));
    labelProvider.setDateFormat(Util.getTimeFormat());
    viewer.setLabelProvider(labelProvider);

    viewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object o1, Object o2) {
            if ((o1 instanceof HistoryDataEditorModel) && (o2 instanceof HistoryDataEditorModel)) {
                TimeSpan ts1 = ((HistoryDataEditorModel) o1).getBarSize();
                TimeSpan ts2 = ((HistoryDataEditorModel) o2).getBarSize();
                if (ts1.higherThan(ts2)) {
                    return 1;
                }
                if (ts2.higherThan(ts1)) {
                    return -1;
                }
                return 0;
            } else if ((o1 instanceof HistoryDataElement) && (o2 instanceof HistoryDataElement)) {
                HistoryDataElement e1 = (HistoryDataElement) o1;
                HistoryDataElement e2 = (HistoryDataElement) o2;
                if (e1.getDate() != null && e2.getDate() != null) {
                    return e1.getDate().compareTo(e2.getDate());
                }
                if (e1.getDate() != null && e2.getDate() == null) {
                    return -1;
                }
                if (e1.getDate() == null && e2.getDate() != null) {
                    return 1;
                }
            }
            return 0;
        }
    });

    CellNavigationStrategy naviStrat = new CellNavigationStrategy() {

        @Override
        public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) {
            ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event);
            if (cell != null) {
                if (cell.getColumnIndex() == properties.length - 1) {
                    return null;
                }
                Tree tree = ((TreeViewer) viewer).getTree();
                tree.showColumn(tree.getColumn(cell.getColumnIndex()));
            }
            return cell;
        }
    };

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer,
            new FocusCellOwnerDrawHighlighter(viewer), naviStrat);

    ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) {

        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;

        }
    };
    TreeViewerEditor.create(viewer, focusCellManager, activationStrategy,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    tree.addTraverseListener(new TraverseListener() {

        @Override
        public void keyTraversed(TraverseEvent e) {
            if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_ESCAPE) {
                e.doit = false;
            }
        }
    });
    tree.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent e) {
            if (viewer.isCellEditorActive()) {
                return;
            }
            if (e.keyCode == SWT.INSERT) {
                IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();

                HistoryDataEditorModel parent = null;

                int index = 0;
                if (!selection.isEmpty()) {
                    parent = model.getParent(selection.getFirstElement());
                    if (parent == null) {
                        return;
                    }
                    index = parent.getList().indexOf(selection.getFirstElement());
                    if (index == -1) {
                        index = parent.getList().size();
                    }
                }

                final HistoryDataElement element = new HistoryDataElement();
                parent.getList().add(index, element);

                e.doit = false;

                Display.getDefault().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        if (!viewer.getControl().isDisposed()) {
                            viewer.editElement(element, 0);
                        }
                    }
                });
            } else if (e.character == SWT.DEL) {
                IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
                for (Object element : selection.toList()) {
                    HistoryDataEditorModel parent = model.getParent(selection.getFirstElement());
                    if (parent != null) {
                        if (parent.getList().remove(element)) {
                            changeSupport.firePropertyChange(PROP_DIRTY, dirty, dirty = true);
                        }
                    }
                }
            }
        }
    });

    viewer.setInput(model);
}

From source file:org.eclipsetrader.ui.internal.trading.portfolio.PortfolioViewPart.java

License:Open Source License

protected void createViewer(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI);
    viewer.getTree().setHeaderVisible(true);
    viewer.getTree().setLinesVisible(false);
    viewer.setContentProvider(new PortfolioContentProvider());
    viewer.setSorter(new ViewerSorter());

    viewer.setInput(new PortfolioView());

    GC gc = new GC(parent);
    FontMetrics fontMetrics = gc.getFontMetrics();
    gc.dispose();/*from  w w w  .ja  v  a2  s  . com*/

    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 40));
    viewerColumn.setLabelProvider(new ElementLabelProvider());

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.PortfolioViewPart_Position);
    viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 15));
    viewerColumn.setLabelProvider(new PositionLabelProvider());

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.PortfolioViewPart_Price);
    viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 15));
    viewerColumn.setLabelProvider(new PriceLabelProvider());

    viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    viewerColumn.getColumn().setText(Messages.PortfolioViewPart_PL);
    viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 30));
    viewerColumn.setLabelProvider(new GainLabelProvider());
}