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:com.arm.cmsis.pack.ui.widgets.RteComponentSelectorWidget.java

License:Open Source License

@Override
public Composite createControl(Composite parent) {

    Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setHeaderVisible(true);/* w ww .j  av  a2 s .  c  om*/
    tree.setLinesVisible(true);
    viewer = new TreeViewer(tree);
    ColumnViewerToolTipSupport.enableFor(viewer);
    fColumnAdvisor = new RteComponentColumnAdvisor(viewer);

    // Tree item name
    TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT);
    column0.getColumn().setAlignment(SWT.LEFT);
    column0.getColumn().setText(CpStringsUI.RteComponentTreeWidget_SoftwareComponents);
    column0.getColumn().setWidth(180);
    column0.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 0));
    AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(fColumnAdvisor, 0);
    // workaround jface bug: first owner-draw column is not correctly painted when column is resized
    col0LabelProvider.setOwnerDrawEnabled(false);
    column0.setLabelProvider(col0LabelProvider);

    // Check box for selection
    TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.CENTER);
    column1.getColumn().setAlignment(SWT.CENTER);
    column1.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Sel);
    column1.getColumn().setWidth(35);
    column1.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 1));
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 1));

    // Variant
    TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column2.getColumn().setAlignment(SWT.LEFT);
    column2.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Variant);
    column2.getColumn().setWidth(110);
    column2.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 2));
    column2.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 2));

    // Vendor
    TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column3.getColumn().setAlignment(SWT.LEFT);
    column3.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Vendor);
    column3.getColumn().setWidth(110);
    column3.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 3));
    column3.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 3));

    // Version
    TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column4.getColumn().setAlignment(SWT.LEFT);
    column4.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Version);
    column4.getColumn().setWidth(70);
    column4.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 4));
    column4.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 4));

    // Description/URL
    TreeViewerColumn column5 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column5.getColumn().setAlignment(SWT.LEFT);
    column5.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Description);
    column5.getColumn().setWidth(400);
    column5.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 5));
    column5.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 5));

    RteComponentContentProvider rteContentProvider = new RteComponentContentProvider();
    viewer.setContentProvider(rteContentProvider);

    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalSpan = 2;
    tree.setLayoutData(gridData);

    if (getModelController() != null) {
        viewer.setInput(getModelController());
    }
    hookContextMenu();
    return tree;
}

From source file:com.arm.cmsis.pack.ui.widgets.RtePackSelectorWidget.java

License:Open Source License

@Override
public Composite createControl(Composite parent) {
    Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setHeaderVisible(true);//from w ww  .  j  av a  2  s. c  om
    viewer = new TreeViewer(tree);
    ColumnViewerToolTipSupport.enableFor(viewer);

    // Tree item name
    TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT);
    tree.setLinesVisible(true);
    column0.getColumn().setAlignment(SWT.LEFT);
    column0.getColumn().setText(CpStrings.Pack);
    column0.getColumn().setWidth(180);
    fColumnAdvisor = new RtePackSelectorColumnAdvisor(viewer);
    column0.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLPACK));
    AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(fColumnAdvisor, COLPACK);
    // workaround jface bug: first owner-draw column is not correctly painted when column is resized
    col0LabelProvider.setOwnerDrawEnabled(false);
    column0.setLabelProvider(col0LabelProvider);

    // Check/menu box for selection
    TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.LEFT);
    tree.setLinesVisible(true);
    column1.getColumn().setAlignment(SWT.LEFT);
    column1.getColumn().setText(CpStrings.Selection);
    column1.getColumn().setWidth(100);
    column1.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLSEL));
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLSEL));

    // Version
    TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column2.getColumn().setAlignment(SWT.LEFT);
    column2.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Version);
    column2.getColumn().setWidth(70);
    column2.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLVERSION));
    column2.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLVERSION));

    // Description/URL
    TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column3.getColumn().setAlignment(SWT.LEFT);
    column3.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Description);
    column3.getColumn().setWidth(400);
    column3.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLDESCR));
    column3.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLDESCR));

    viewer.setContentProvider(new RtePackProvider());

    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalSpan = 2;
    tree.setLayoutData(gridData);

    //      hookContextMenu();
    return tree;
}

From source file:com.arm.cmsis.pack.ui.widgets.RteValidateWidget.java

License:Open Source License

@Override
public Composite createControl(Composite parent) {

    Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setHeaderVisible(true);//w ww .  j  av  a 2  s . com
    fViewer = new TreeViewer(tree);
    ColumnViewerToolTipSupport.enableFor(fViewer);
    fColumnAdvisor = new RteValidateColumnAdvisor(fViewer);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    tree.setLinesVisible(true);
    column0.getColumn().setAlignment(SWT.LEFT);
    column0.getColumn().setText(CpStringsUI.RteValidateWidget_ValidationOutput);
    column0.getColumn().setWidth(400);
    column0.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, 0));

    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleTreeSelectionChanged(event);
        }
    });

    AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(fColumnAdvisor, 0);
    // workaround jface bug: first owner-draw column is not correctly painted when column is resized
    col0LabelProvider.setOwnerDrawEnabled(false);
    column0.setLabelProvider(col0LabelProvider);

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.RIGHT);
    column1.getColumn().setAlignment(SWT.LEFT);
    column1.getColumn().setText(CpStringsUI.RteValidateWidget_Description);
    column1.getColumn().setWidth(500);
    column1.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, 1));
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 1));

    RteValidateContentProvider validateProvider = new RteValidateContentProvider();
    fViewer.setContentProvider(validateProvider);

    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    tree.setLayoutData(gridData);

    if (getModelController() != null) {
        fViewer.setInput(getModelController());
    }
    return tree;
}

From source file:com.arm.cmsis.pack.widgets.RteComponentTreeWidget.java

License:Apache License

/**
 * Create a widget containing the RTE component
 * @param parent a parent composite containing this RTE component tree widget
 *///from   w ww . jav  a  2s .c om
public void createControl(Composite parent) {

    Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setHeaderVisible(true);
    viewer = new TreeViewer(tree);
    ColumnViewerToolTipSupport.enableFor(viewer);

    // Tree item name
    TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT);
    tree.setLinesVisible(true);
    column0.getColumn().setAlignment(SWT.LEFT);
    column0.getColumn().setText(SOFTWARECOMPONENT);
    column0.getColumn().setWidth(180);
    IColumnAdvisor columnAdvisor = new ColumnAdvisor();
    column0.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 0));
    AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(columnAdvisor, 0);
    // workaround jface bug: first owner-draw column is not correctly painted when column is resized
    col0LabelProvider.setOwnerDrawEnabled(false);
    column0.setLabelProvider(col0LabelProvider);

    // Check box for selection
    TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.CENTER);
    tree.setLinesVisible(true);
    column1.getColumn().setAlignment(SWT.CENTER);
    column1.getColumn().setText("Sel.");
    column1.getColumn().setWidth(35);
    column1.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 1));
    column1.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 1));

    // Variant
    TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column2.getColumn().setAlignment(SWT.LEFT);
    column2.getColumn().setText("Variant");
    column2.getColumn().setWidth(110);
    column2.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 2));
    column2.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 2));

    // Vendor
    TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column3.getColumn().setAlignment(SWT.LEFT);
    column3.getColumn().setText("Vendor");
    column3.getColumn().setWidth(110);
    column3.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 3));
    column3.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 3));

    // Version
    TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column4.getColumn().setAlignment(SWT.LEFT);
    column4.getColumn().setText("Version");
    column4.getColumn().setWidth(70);
    column4.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 4));
    column4.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 4));

    // Description/URL
    TreeViewerColumn column5 = new TreeViewerColumn(viewer, SWT.RIGHT);
    column5.getColumn().setAlignment(SWT.LEFT);
    column5.getColumn().setText("Description");
    column5.getColumn().setWidth(400);
    column5.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 5));
    column5.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 5));

    RteContentProvider rteContentProvider = new RteContentProvider();
    viewer.setContentProvider(rteContentProvider);

    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalSpan = 2;
    tree.setLayoutData(gridData);

    if (getConfiguration() != null) {
        viewer.setInput(getConfiguration().getComponents());
    }
}

From source file:com.arm.cmsis.pack.widgets.RteValidateWidget.java

License:Apache License

public void createControl(Composite parent) {

    Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.setHeaderVisible(true);//  ww  w . jav a 2  s . c o  m
    fViewer = new TreeViewer(tree);
    ColumnViewerToolTipSupport.enableFor(fViewer);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    tree.setLinesVisible(true);
    column0.getColumn().setAlignment(SWT.LEFT);
    column0.getColumn().setText("Validation Output");
    column0.getColumn().setWidth(500);
    IColumnAdvisor columnAdvisor = new ColumnAdvisor();
    column0.setEditingSupport(new AdvisedEditingSupport(fViewer, columnAdvisor, 0));

    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleTreeSelectionChanged(event);
        }
    });

    AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(columnAdvisor, 0);
    // workaround jface bug: first owner-draw column is not correctly painted when column is resized
    col0LabelProvider.setOwnerDrawEnabled(false);
    column0.setLabelProvider(col0LabelProvider);

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.RIGHT);
    column1.getColumn().setAlignment(SWT.LEFT);
    column1.getColumn().setText("Description");
    column1.getColumn().setWidth(500);
    column1.setEditingSupport(new AdvisedEditingSupport(fViewer, columnAdvisor, 1));
    column1.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 1));

    ValidateProvider validateProvider = new ValidateProvider();
    fViewer.setContentProvider(validateProvider);

    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    tree.setLayoutData(gridData);

    if (getConfiguration() != null) {
        fViewer.setInput(getConfiguration());
    }

}

From source file:com.bdaum.zoom.peer.internal.preferences.PeerPreferencePage.java

License:Open Source License

@SuppressWarnings("unused")
private Control createSharedGroup(CTabFolder parent) {
    Composite comp = new Composite(parent, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    comp.setLayout(new GridLayout());
    Composite innerComp = new Composite(comp, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = 0;//from  ww w  .j  av  a2s . c o m
    layout.marginHeight = 20;
    innerComp.setLayout(layout);
    innerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    Label label = new Label(innerComp, SWT.WRAP);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1));
    label.setText(Messages.PeerPreferencePage_shared_cats_msg);

    catViewer = new TreeViewer(innerComp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
    catViewer.getTree().setLinesVisible(true);
    catViewer.getTree().setHeaderVisible(true);
    catViewer.getTree().setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, true));
    TreeViewerColumn col1 = new TreeViewerColumn(catViewer, SWT.NONE);
    col1.getColumn().setWidth(400);
    col1.getColumn().setText(Messages.PeerPreferencePage_path);
    col1.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    TreeViewerColumn col2 = new TreeViewerColumn(catViewer, SWT.NONE);
    col2.getColumn().setWidth(200);
    col2.getColumn().setText(Messages.PeerPreferencePage_privacy);
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof SharedCatalog)
                return translatePrivacy(((SharedCatalog) element).getPrivacy());
            if (element instanceof PeerDefinition)
                return ((PeerDefinition) element).getRightsLabel();
            return ""; //$NON-NLS-1$
        }
    });
    col1.setEditingSupport(new EditingSupport(catViewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof PeerDefinition && value instanceof PeerDefinition) {
                ((PeerDefinition) element).setHost(((PeerDefinition) value).getHost());
                ((PeerDefinition) element).setPort(((PeerDefinition) value).getPort());
                catViewer.update(element, null);
                validate();
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof PeerDefinition)
                return element;
            return null;
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            if (element instanceof PeerDefinition) {
                return new DialogCellEditor(catViewer.getTree()) {
                    @Override
                    protected Object openDialogBox(Control cellEditorWindow) {
                        PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(),
                                (PeerDefinition) element, true, true, true);
                        if (dialog.open() == Window.OK)
                            return dialog.getResult();
                        return null;
                    }
                };
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            return (element instanceof PeerDefinition);
        }
    });
    col2.setEditingSupport(new EditingSupport(catViewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof SharedCatalog && value instanceof Integer) {
                ((SharedCatalog) element).setPrivacy((Integer) value);
                catViewer.update(element, null);
            } else if (element instanceof PeerDefinition && value instanceof PeerDefinition) {
                ((PeerDefinition) element).setRights(((PeerDefinition) value).getRights());
                catViewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof SharedCatalog)
                return ((SharedCatalog) element).getPrivacy();
            if (element instanceof PeerDefinition)
                return element;
            return null;
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            if (element instanceof SharedCatalog) {
                ComboBoxViewerCellEditor editor = new ComboBoxViewerCellEditor(catViewer.getTree());
                editor.setLabelProvider(new LabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return translatePrivacy(((Integer) element));
                    }
                });
                editor.setContentProvider(ArrayContentProvider.getInstance());
                editor.setInput(((SharedCatalog) element).getRestrictions().isEmpty()
                        ? new Integer[] { QueryField.SAFETY_RESTRICTED, QueryField.SAFETY_MODERATE,
                                QueryField.SAFETY_SAFE, QueryField.SAFETY_LOCAL }
                        : new Integer[] { QueryField.SAFETY_RESTRICTED, QueryField.SAFETY_MODERATE,
                                QueryField.SAFETY_SAFE });
                return editor;
            }
            if (element instanceof PeerDefinition) {
                return new DialogCellEditor(catViewer.getTree()) {
                    @Override
                    protected Object openDialogBox(Control cellEditorWindow) {
                        PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(),
                                (PeerDefinition) element, false, true, false);
                        if (dialog.open() == Window.OK)
                            return dialog.getResult();
                        return null;
                    }

                    @Override
                    protected void updateContents(Object value) {
                        if (value instanceof PeerDefinition)
                            super.updateContents(((PeerDefinition) value).getRightsLabel());
                    }
                };
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    catViewer.setContentProvider(new ITreeContentProvider() {

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // do nothing
        }

        public void dispose() {
            // do nothing
        }

        public boolean hasChildren(Object element) {
            if (element instanceof SharedCatalog)
                return !((SharedCatalog) element).getRestrictions().isEmpty();
            return false;
        }

        public Object getParent(Object element) {
            if (element instanceof PeerDefinition)
                return ((PeerDefinition) element).getParent();
            return null;
        }

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

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof SharedCatalog)
                return ((SharedCatalog) parentElement).getRestrictions().toArray();
            return EMPTY;
        }
    });
    new SortColumnManager(catViewer, new int[] { SWT.UP, SWT.NONE }, 0);
    catViewer.setComparator(ZViewerComparator.INSTANCE);
    UiUtilities.installDoubleClickExpansion(catViewer);
    Composite buttonGroup = new Composite(innerComp, SWT.NONE);
    buttonGroup.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, true));
    buttonGroup.setLayout(new GridLayout());
    addCurrentButton = new Button(buttonGroup, SWT.PUSH);
    addCurrentButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    addCurrentButton.setText(Messages.PeerPreferencePage_add_current);
    addCurrentButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            String catFile = Core.getCore().getDbManager().getFileName();
            SharedCatalog cat = new SharedCatalog(catFile, QueryField.SAFETY_RESTRICTED);
            @SuppressWarnings("unchecked")
            List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput();
            catalogs.add(cat);
            catViewer.setInput(catalogs);
            catViewer.setSelection(new StructuredSelection(cat));
            updateButtons();
        }
    });

    final Button addButton = new Button(buttonGroup, SWT.PUSH);
    addButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    addButton.setText(Messages.PeerPreferencePage_add);
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            FileDialog dialog = new FileDialog(getShell(), SWT.OPEN);
            dialog.setFileName(Core.getCore().getDbManager().getFileName());
            String filename = dialog.open();
            if (filename != null) {
                SharedCatalog cat = new SharedCatalog(filename, QueryField.SAFETY_RESTRICTED);
                @SuppressWarnings("unchecked")
                List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput();
                catalogs.add(cat);
                catViewer.setInput(catalogs);
                catViewer.setSelection(new StructuredSelection(cat));
            }
        }
    });
    addRestrictionButton = new Button(buttonGroup, SWT.PUSH);
    addRestrictionButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    addRestrictionButton.setText(Messages.PeerPreferencePage_add_restriction);
    addRestrictionButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) catViewer.getSelection();
            Object firstElement = selection.getFirstElement();
            if (firstElement instanceof SharedCatalog) {
                PeerDefinitionDialog dialog = new PeerDefinitionDialog(getControl().getShell(), null, true,
                        true, true);
                if (dialog.open() == PeerDefinitionDialog.OK) {
                    PeerDefinition result = dialog.getResult();
                    result.setParent((SharedCatalog) firstElement);
                    catViewer.setInput(catViewer.getInput());
                    catViewer.expandToLevel(firstElement, 1);
                    catViewer.setSelection(new StructuredSelection(result));
                    validate();
                }
            }
        }
    });
    removeCatButton = new Button(buttonGroup, SWT.PUSH);
    removeCatButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    removeCatButton.setText(Messages.PeerPreferencePage_remove);
    removeCatButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = (IStructuredSelection) catViewer.getSelection();
            Object firstElement = sel.getFirstElement();
            if (firstElement instanceof SharedCatalog) {
                @SuppressWarnings("unchecked")
                List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput();
                catalogs.remove(firstElement);
                catViewer.setInput(catalogs);
                validate();
                updateButtons();
            }
        }
    });
    catViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    return comp;
}

From source file:com.bdaum.zoom.ui.internal.dialogs.AlbumSelectionDialog.java

License:Open Source License

@SuppressWarnings("unused")
@Override//from   ww w  .ja v a  2  s .c o  m
protected Control createDialogArea(final Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(area, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout());
    composite.setLayout(new GridLayout(2, false));
    viewer = new CheckboxTreeViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION);
    TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE);
    col1.getColumn().setWidth(200);
    col1.getColumn().setText(Messages.AlbumSelectionDialog_name);
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof SmartCollectionImpl)
                return ((SmartCollectionImpl) element).getName();
            return element.toString();
        }
    });
    if (!small) {
        TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE);
        col2.getColumn().setWidth(250);
        col2.getColumn().setText(Messages.AlbumSelectionDialog_description);
        col2.setLabelProvider(new ZColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                if (element instanceof SmartCollectionImpl)
                    return ((SmartCollectionImpl) element).getDescription();
                return element.toString();
            }
        });
        viewer.getTree().setHeaderVisible(true);
    }
    viewer.setContentProvider(new ITreeContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // do nothing
        }

        public void dispose() {
            // do nothing
        }

        public boolean hasChildren(Object element) {
            if (element instanceof SmartCollection)
                return !((SmartCollection) element).getSubSelection().isEmpty();
            return false;
        }

        public Object getParent(Object element) {
            if (element instanceof SmartCollection)
                return ((SmartCollection) element).getSmartCollection_subSelection_parent();
            return null;
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List) {
                List<SmartCollection> rootalbums = new ArrayList<SmartCollection>();
                for (Object obj : (List<?>) inputElement)
                    if (obj instanceof SmartCollection) {
                        SmartCollection album = (SmartCollection) obj;
                        if (album.getSmartCollection_subSelection_parent() == null)
                            rootalbums.add(album);
                    }
                return rootalbums.toArray();
            }
            return null;
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof SmartCollection)
                return ((SmartCollection) parentElement).getSubSelection().toArray();
            return EMPTY;
        }
    });
    UiUtilities.installDoubleClickExpansion(viewer);
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            validate();
        }
    });
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.heightHint = small ? 150 : 400;
    viewer.getControl().setLayoutData(layoutData);
    viewer.setComparator(ZViewerComparator.INSTANCE);
    if (assignedAlbums != null && !assignedAlbums.isEmpty())
        viewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
            @Override
            public boolean select(Viewer v, Object parentElement, Object element) {
                return !assignedAlbums.contains(((SmartCollectionImpl) element).getName());
            }
        } });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (cntrlDwn) {
                SmartCollectionImpl sm = (SmartCollectionImpl) ((IStructuredSelection) viewer.getSelection())
                        .getFirstElement();
                if (sm != null) {
                    CollectionEditDialog dialog = new CollectionEditDialog(getShell(), sm,
                            Messages.AlbumSelectionDialog_edit_person,
                            Messages.AlbumSelectionDialog_person_album_msg, false, true, false, false);
                    if (dialog.open() == Window.OK) {
                        final SmartCollectionImpl album = dialog.getResult();
                        if (album != null) {
                            Set<Object> toBeDeleted = new HashSet<Object>();
                            List<Object> toBeStored = new ArrayList<Object>();
                            Utilities.updateCollection(dbManager, sm, album, toBeDeleted, toBeStored);
                            dbManager.safeTransaction(toBeDeleted, toBeStored);
                        }
                        viewer.update(sm, null);
                    }
                }
                cntrlDwn = false;
            }
            validate();
        }
    });
    viewer.getControl().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.CTRL)
                cntrlDwn = true;
        }

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.keyCode == SWT.CTRL)
                cntrlDwn = false;
        }
    });
    if (!small)
        new AllNoneGroup(composite, new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (e.widget.getData() == AllNoneGroup.ALL) {
                    viewer.expandAll();
                    viewer.setCheckedElements(albums.toArray());
                } else
                    viewer.setCheckedElements(EMPTY);
                validate();
            }
        });
    return area;
}

From source file:com.bdaum.zoom.ui.internal.dialogs.CodesDialog.java

License:Open Source License

private void createTreeColumn(TreeViewer treeViewer, int width, String text, int index) {
    TreeViewerColumn col = new TreeViewerColumn(treeViewer, SWT.NONE);
    col.getColumn().setWidth(width);/*from www  .j  a  va  2  s.  c om*/
    col.getColumn().setText(text);
    col.setLabelProvider(new TopicLabelProvider(index));
}

From source file:com.bdaum.zoom.ui.internal.dialogs.ExhibitionEditDialog.java

License:Open Source License

private void createColumn(TreeViewer aViewer, final int index, int width, String label, int align,
        final boolean frame) {
    TreeViewerColumn col = new TreeViewerColumn(aViewer, SWT.NONE);
    TreeColumn column = col.getColumn();
    column.setWidth(width);//  w  w  w .  j  a v a2s. com
    column.setText(label);
    column.setAlignment(align);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            int tara = 0;
            if (element instanceof Exhibit)
                tara = computeTara(frame, (Exhibit) element);
            switch (index) {
            case 0:
                if (element instanceof Wall)
                    return ((Wall) element).getLocation();
                if (element instanceof Exhibit)
                    return ((Exhibit) element).getTitle();
                break;
            case 1:
                if (element instanceof Exhibit)
                    return printDistance(((Exhibit) element).getX(), tara);
                break;
            case 2:
                if (element instanceof Exhibit)
                    return printDistance(((Exhibit) element).getY(), tara);
                break;
            case 3:
                if (element instanceof Exhibit)
                    return printDimension(((Exhibit) element).getWidth(), tara);
                break;
            case 4:
                if (element instanceof Exhibit)
                    return printDimension(((Exhibit) element).getHeight(), tara);
                break;
            case 5:
                if (element instanceof Exhibit) {
                    Exhibit exhibit = (Exhibit) element;
                    AssetImpl asset = dbManager.obtainAsset(exhibit.getAsset());
                    if (asset != null)
                        return String.valueOf((int) (asset.getWidth() * 25.4d / exhibit.getWidth()));
                }
                break;
            case 6:
                if (element instanceof Exhibit)
                    return ((Exhibit) element).getSold() ? Messages.ExhibitionEditDialog_sold : ""; //$NON-NLS-1$
                break;
            }
            return ""; //$NON-NLS-1$
        }

        protected String printDistance(int dist, int tara) {
            af.setMaximumFractionDigits(2);
            af.setMinimumFractionDigits(2);
            if (unit == 'i')
                return af.format((dist + 2 * tara) / 304.8d) + " ft"; //$NON-NLS-1$
            return af.format((dist + tara) / 1000d) + " m"; //$NON-NLS-1$
        }

        protected String printDimension(int dim, int tara) {
            af.setMaximumFractionDigits(1);
            af.setMinimumFractionDigits(1);
            if (unit == 'i')
                return af.format((dim + 2 * tara) / 25.4d) + " in"; //$NON-NLS-1$
            return af.format((dim + 2 * tara) / 10d) + " cm"; //$NON-NLS-1$
        }
    });
}

From source file:com.bdaum.zoom.ui.internal.preferences.HoverPreferencePage.java

License:Open Source License

@SuppressWarnings("unused")
private Composite createTemplatesPage(CTabFolder tabFolder) {
    Composite comp = new Composite(tabFolder, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    comp.setLayout(new GridLayout());
    new Label(comp, SWT.WRAP).setText(Messages.getString("HoverPreferencePage.define")); //$NON-NLS-1$
    new Label(comp, SWT.NONE);
    Composite composite = new Composite(comp, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout(2, false));
    viewer = new TreeViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.heightHint = 250;/*from   w  w w  .  j a  v a  2  s . c om*/
    viewer.getTree().setLayoutData(layoutData);
    viewer.setContentProvider(new ITreeContentProvider() {
        @Override
        public boolean hasChildren(Object element) {
            return element instanceof Category;
        }

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

        @Override
        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Object[])
                return (Object[]) inputElement;
            return null;
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof Category)
                return ((Category) parentElement).getChildren().toArray();
            return null;
        }
    });
    viewer.setComparator(new ViewerComparator());
    ZColumnViewerToolTipSupport.enableFor(viewer);
    TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE);
    col1.getColumn().setWidth(280);
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return element.toString();
        }

        @Override
        public String getToolTipText(Object element) {
            if (element instanceof HoverNode && UiActivator.getDefault().getShowHover())
                return ((HoverNode) element).getContribution().getDescription();
            return super.getToolTipText(element);
        }
    });
    viewer.addDoubleClickListener(this);
    viewer.addSelectionChangedListener(this);
    TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE);
    col2.getColumn().setWidth(80);
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof HoverNode)
                return testForUnModified((HoverNode) element)
                        ? Messages.getString("HoverPreferencePage.default") //$NON-NLS-1$
                        : Messages.getString("HoverPreferencePage.modified"); //$NON-NLS-1$
            return ""; //$NON-NLS-1$
        }
    });
    viewer.addDoubleClickListener(this);
    viewer.addSelectionChangedListener(this);
    Composite buttonArea = new Composite(composite, SWT.NONE);
    buttonArea.setLayoutData(new GridData(SWT.END, SWT.FILL, false, true));
    buttonArea.setLayout(new GridLayout());
    editButton = new Button(buttonArea, SWT.PUSH);
    editButton.setText(Messages.getString("HoverPreferencePage.edit")); //$NON-NLS-1$
    editButton.addListener(SWT.Selection, this);
    resetButton = new Button(buttonArea, SWT.PUSH);
    resetButton.setText(Messages.getString("HoverPreferencePage.reset")); //$NON-NLS-1$
    resetButton.addListener(SWT.Selection, this);
    return comp;
}