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

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

Introduction

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

Prototype

public TreeColumnViewerLabelProvider(IBaseLabelProvider labelProvider) 

Source Link

Document

Create a new instance of the receiver with the supplied labelProvider.

Usage

From source file:com.nokia.carbide.remoteconnections.view.ConnectionsView.java

License:Open Source License

public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL);

    TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    nameColumn.setLabelProvider(new TreeColumnViewerLabelProvider(new NameLabelProvider()));
    nameColumn.getColumn().setText(Messages.getString("ConnectionsView.NameColumnHeader")); //$NON-NLS-1$
    nameColumn.setEditingSupport(new NameEditingSupport(nameColumn.getViewer()));
    ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(
            nameColumn.getViewer()) {//from   w ww  .j a va 2  s  .  c o  m
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    TreeViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.DEFAULT);

    boldViewerFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);

    TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    typeColumn.setLabelProvider(new TypeLabelProvider());
    typeColumn.getColumn().setText(Messages.getString("ConnectionsView.TypeColumnHeader")); //$NON-NLS-1$

    TreeViewerColumn statusColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    statusColumn.setLabelProvider(new StatusLabelProvider());
    statusColumn.getColumn().setText(Messages.getString("ConnectionsView.StatusColumnHeader")); //$NON-NLS-1$

    TreeViewerColumn descriptionColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    descriptionColumn.setLabelProvider(new DescriptionLabelProvider(this, descriptionColumn));
    descriptionColumn.getColumn().setText(Messages.getString("ConnectionsView.DescriptionColumnHeader")); //$NON-NLS-1$

    viewer.setContentProvider(new TreeNodeContentProvider());
    viewer.setInput(loadConnections());
    viewer.expandAll();
    viewer.getTree().setHeaderVisible(true);
    viewer.getControl().setData(UID, "viewer"); //$NON-NLS-1$
    viewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return getNodeDisplayName(e1).compareToIgnoreCase(getNodeDisplayName(e2));
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            enableConnectionSelectedActions(false);
            enableServiceSelectedActions(false);
            ISelection selection = event.getSelection();
            if (!selection.isEmpty()) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                Object value = treeNode.getValue();
                if (value instanceof IConnection) {
                    enableConnectionSelectedActions(true);
                } else if (value instanceof IConnectedService) {
                    enableServiceSelectedActions(true);
                }
            }
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (!selection.isEmpty()) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                Object value = treeNode.getValue();
                if (value instanceof IConnection) {
                    SettingsWizard wizard = new SettingsWizard((IConnection) value);
                    wizard.open(getViewSite().getShell());
                } else if (value instanceof IConnectedService) {
                    if (RemoteConnectionsActivator.getDefault().getShouldTestServices()) {
                        IConnectedService connectedService = (IConnectedService) value;
                        connectedService.setEnabled(true);
                        connectedService.testStatus();
                        ((EnableConnectedServiceAction) getAction(ENABLE_SERVICE_ACTION)).updateLabel();
                    }
                }
            }
        }
    });

    packColumns();

    makeActions();
    hookContextMenu();
    contributeToActionBars();
    hookAccelerators();

    connectionStoreChangedListener = new IConnectionsManagerListener() {
        public void connectionStoreChanged() {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    viewer.setInput(loadConnections());
                    viewer.expandAll();
                    packColumns();
                    if (viewer.getSelection().isEmpty() && viewer.getTree().getItemCount() > 0) {
                        TreeItem item = viewer.getTree().getItem(0);
                        if (item != null) {
                            viewer.getTree().select(item);
                        }
                    }
                    viewer.setSelection(viewer.getSelection()); // force selection changed
                }
            });
        }

        public void displayChanged() {
            refreshViewer();
        }
    };
    Registry.instance().addConnectionStoreChangedListener(connectionStoreChangedListener);

    connectionListener = new IConnectionListener() {

        public void currentConnectionSet(IConnection connection) {
            refreshViewer();
        }

        public void connectionRemoved(IConnection connection) {
            // presumably the viewer itself handles this...
        }

        public void connectionAdded(IConnection connection) {
            // presumably the viewer itself handles this...
        }
    };
    Registry.instance().addConnectionListener(connectionListener);

    RemoteConnectionsActivator.setHelp(parent, ".connections_view"); //$NON-NLS-1$
}

From source file:eu.esdihumboldt.hale.ui.views.data.internal.compare.DefinitionInstanceTreeViewer.java

License:Open Source License

/**
 * @see InstanceViewer#setInput(TypeDefinition, Iterable)
 *//*from  www.  j a  v  a 2 s.com*/
@Override
public void setInput(TypeDefinition type, Iterable<Instance> instances) {
    // remove old columns
    TreeColumn[] columns = treeViewer.getTree().getColumns();
    if (columns != null) {
        for (TreeColumn column : columns) {
            column.dispose();
        }
        labelProviders.clear();
    }

    // create row defs for metadata
    //         if (features != null) {
    //            boolean displayLineage = false;
    //            int lineageLength = 0;
    //            int featuresSize = 0;
    //            for (Feature f : features) {
    //               featuresSize++;
    //               Lineage l = (Lineage) f.getUserData().get("METADATA_LINEAGE"); //$NON-NLS-1$
    //               if (l != null && l.getProcessSteps().size() > 0) {
    //                  displayLineage = true;
    //                  if (lineageLength < l.getProcessSteps().size()) {
    //                     lineageLength = l.getProcessSteps().size();
    //                  }
    //               }
    //            }
    //            
    //            if (displayLineage) {
    //               Object[][] processStepsText = new Object[lineageLength][featuresSize + 1];
    //               int featureIndex = 0;
    //               for (Feature f : features) {
    //                  Lineage l = (Lineage) f.getUserData().get("METADATA_LINEAGE"); //$NON-NLS-1$
    //                  if (l != null && l.getProcessSteps().size() > 0) {
    //                     int psIndex = 0;
    //                     for (ProcessStep ps : l.getProcessSteps()) {
    //                        processStepsText[psIndex][featureIndex + 1] = ps.getDescription().toString();
    //                        psIndex++;
    //                     }
    //                  }
    //                  featureIndex++;
    //               }
    //               
    //               DefaultTreeNode lineage = new DefaultTreeNode(Messages.DefinitionFeatureTreeViewer_5); //$NON-NLS-1$
    //               metadata.addChild(lineage);
    //               for (int i = 0; i < lineageLength; i++) {
    //                  processStepsText[i][0] = Messages.DefinitionFeatureTreeViewer_6 + (i + 1); //$NON-NLS-1$
    //                  DefaultTreeNode processStep = new DefaultTreeNode(processStepsText[i]);
    //                  lineage.addChild(processStep);
    //               }
    //            }
    // set input
    if (type != null) {
        // pass metadatas to the treeviewer, if instances contain metadatas
        Set<String> completeMetaNames = new HashSet<String>();
        for (Instance inst : instances) {
            for (String name : inst.getMetaDataNames()) {
                completeMetaNames.add(name);
            }
        }

        Pair<TypeDefinition, Set<String>> pair = new Pair<TypeDefinition, Set<String>>(type, completeMetaNames);

        treeViewer.setInput(pair);
    } else
        treeViewer.setInput(Collections.emptySet());

    Layout layout = treeViewer.getTree().getParent().getLayout();

    // add type column
    if (type != null) {
        TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.LEFT);
        column.getColumn().setText(type.getDisplayName());
        column.setLabelProvider(new TreeColumnViewerLabelProvider(new DefinitionMetaCompareLabelProvider()));
        if (layout instanceof TreeColumnLayout) {
            ((TreeColumnLayout) layout).setColumnData(column.getColumn(), new ColumnWeightData(1));
        }
    }

    // add columns for features
    int index = 1;
    if (instances != null) {
        //         // sort features
        //         List<Feature> sortedFeatures = new ArrayList<Feature>();
        //         for (Feature f : features) {
        //            sortedFeatures.add(f);
        //         }
        //         Collections.sort(sortedFeatures, new Comparator<Feature>() {
        //
        //            @Override
        //            public int compare(Feature o1, Feature o2) {
        //               FeatureId id1 = FeatureBuilder.getSourceID(o1);
        //               if (id1 == null) {
        //                  id1 = o1.getIdentifier();
        //               }
        //               
        //               FeatureId id2 = FeatureBuilder.getSourceID(o2);
        //               if (id2 == null) {
        //                  id2 = o2.getIdentifier();
        //               }
        //               
        //               return id1.getID().compareTo(id2.getID());
        //            }
        //            
        //         });
        List<Instance> insts = new ArrayList<Instance>();
        for (Instance instance : instances) { // sortedFeatures) {
            final TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.LEFT);
            //            FeatureId id = FeatureBuilder.getSourceID(feature);
            //            if (id == null) {
            //               id = feature.getIdentifier();
            //            }
            //            column.getColumn().setText(id.toString());
            column.getColumn().setText(String.valueOf(index)); // XXX
            // identifier?
            DefinitionInstanceLabelProvider labelProvider = new DefinitionInstanceLabelProvider(instance);
            labelProviders.put(index, labelProvider);
            column.setLabelProvider(labelProvider);
            if (layout instanceof TreeColumnLayout) {
                ((TreeColumnLayout) layout).setColumnData(column.getColumn(), new ColumnWeightData(1));
            }

            // add tool tip
            //            new ColumnBrowserTip(treeViewer, 400, 300, true, index, null);
            insts.add(instance);
            index++;
        }
        ((MetadataCompareActionProvider) maep).setInput(insts, labelProviders);
    }

    treeViewer.refresh();
    treeViewer.getTree().getParent().layout(true, true);

    selectionProvider.updateSelection(instances);

    // auto-expand attributes/metadata
    treeViewer.expandToLevel(2);
}

From source file:eu.esdihumboldt.hale.ui.views.data.internal.explore.InstanceExplorer.java

License:Open Source License

/**
 * @see InstanceViewer#createControls(Composite, SchemaSpaceID)
 *///from   w w w .j  a v  a 2 s. c  om
@Override
public void createControls(Composite parent, SchemaSpaceID schemaSpace) {
    main = new Composite(parent, SWT.NONE);
    main.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).create());

    // selector composite
    selectorComposite = new Composite(main, SWT.NONE);
    selectorComposite.setLayoutData(GridDataFactory.swtDefaults().create());
    selectorComposite.setLayout(GridLayoutFactory.fillDefaults().create());

    // viewer composite
    Composite viewerComposite = new Composite(main, SWT.NONE);
    viewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    TreeColumnLayout layout = new TreeColumnLayout();
    viewerComposite.setLayout(layout);
    viewer = new TreeViewer(viewerComposite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
    viewer.getTree().setLinesVisible(true);

    // set content provider
    viewer.setContentProvider(new InstanceContentProvider());
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    // TODO set label provider?

    // add definition columns
    TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.LEFT);
    column.getColumn().setText("Definition");
    column.setLabelProvider(new TreeColumnViewerLabelProvider(
            new PairLabelProvider(true, new DefinitionMetaLabelProvider(false, true))));
    layout.setColumnData(column.getColumn(), new ColumnWeightData(1));

    // add value column
    column = new TreeViewerColumn(viewer, SWT.LEFT);
    column.getColumn().setText("Value");
    final InstanceValueLabelProvider instanceLabelProvider = new InstanceValueLabelProvider();
    column.setLabelProvider(instanceLabelProvider);
    // new PairLabelProvider(false, new LabelProvider())));

    ColumnViewerToolTipSupport.enableFor(viewer);

    layout.setColumnData(column.getColumn(), new ColumnWeightData(1));

    MetadataActionProvider maep = new MetadataExploreActionProvider(viewer);
    maep.setup();

    // Add an editor for copying instance values
    editor = new TreeEditor(viewer.getTree());
    editor.horizontalAlignment = SWT.RIGHT;
    viewer.getTree().addMouseMoveListener(new MouseMoveListener() {

        @Override
        public void mouseMove(MouseEvent e) {
            final ViewerCell cell = viewer.getCell(new Point(e.x, e.y));

            // Selected cell changed?
            if (cell == null || editor.getItem() != cell.getItem()
                    || editor.getColumn() != cell.getColumnIndex()) {
                // Clean up any previous editor control
                Control oldEditor = editor.getEditor();
                if (oldEditor != null) {
                    oldEditor.dispose();
                    editor.setEditor(null, null, 0);
                }
            }

            // No valid selected cell
            if (cell == null || cell.getColumnIndex() == 0) {
                return;
            }

            // cell didn't change
            if ((editor.getItem() == cell.getItem() && editor.getColumn() == cell.getColumnIndex())) {
                return;
            }

            // determine instance value
            Object value = ((Pair<?, ?>) cell.getViewerRow().getTreePath().getLastSegment()).getSecond();
            if (value instanceof Instance) {
                value = ((Instance) value).getValue();
            }

            // copy button
            if (value != null) {
                final String textValue = value.toString();

                if (!textValue.isEmpty()) { // empty string invalid for
                    // clipboard
                    Button button = new Button(viewer.getTree(), SWT.PUSH | SWT.FLAT);
                    button.setImage(
                            PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY));
                    button.setToolTipText("Copy string value");
                    button.addSelectionListener(new SelectionAdapter() {

                        @Override
                        public void widgetSelected(SelectionEvent e) {
                            // copy content to clipboard
                            Clipboard clipBoard = new Clipboard(Display.getCurrent());
                            clipBoard.setContents(new Object[] { textValue },
                                    new Transfer[] { TextTransfer.getInstance() });
                            clipBoard.dispose();
                        }
                    });

                    // calculate editor size
                    Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
                    editor.minimumHeight = size.y;
                    editor.minimumWidth = size.x;

                    editor.setEditor(button, (TreeItem) cell.getItem(), cell.getColumnIndex());
                }
            }
        }
    });

    update();
}

From source file:eu.esdihumboldt.hale.ui.views.report.ReportList.java

License:Open Source License

/**
 * Create contents of the view part.//from  w w w.  j a va  2  s .c o  m
 * 
 * @param parent parent element
 */
@Override
public void createViewControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    TreeColumnLayout layout = new TreeColumnLayout();
    composite.setLayout(layout);
    {
        _treeViewer = new TreeViewer(composite, SWT.BORDER);
        final Tree tree = _treeViewer.getTree();
        tree.setHeaderVisible(false);
        tree.setLinesVisible(false);

        // create column for reports
        TreeViewerColumn col1 = new TreeViewerColumn(_treeViewer, SWT.NONE);

        // add the label provider
        col1.setLabelProvider(new TreeColumnViewerLabelProvider(new ReportListLabelProvider()));

        // and layout
        layout.setColumnData(col1.getColumn(), new ColumnWeightData(3));

        // create column for reports
        TreeViewerColumn col2 = new TreeViewerColumn(_treeViewer, SWT.NONE);

        // add the label provider
        col2.setLabelProvider(new TreeColumnViewerLabelProvider(new ReportListLabelDateProvider()));

        // create column for reports
        layout.setColumnData(col2.getColumn(), new ColumnWeightData(1));

        new ReportListMenu(getSite(), _treeViewer);
    }

    createActions();
    initializeToolBar();
    initializeMenu();

    // set label provider
    // _treeViewer.setLabelProvider(new ReportListLabelProvider());

    // set content provider
    _treeViewer.setContentProvider(new ReportListContentProvider());

    // disable this if it uses too much memory
    // but should maintain the list much faster
    _treeViewer.setUseHashlookup(true);

    // order the sessions from latest to oldest
    _treeViewer.setComparator(new ViewerComparator() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof ReportSession && e2 instanceof ReportSession) {
                long first = ((ReportSession) e1).getId();
                long second = ((ReportSession) e2).getId();
                if (first > second) {
                    return -1;
                } else if (first < second) {
                    return 1;
                } else {
                    return 0;
                }
            } else if (e1 instanceof Report<?> && e2 instanceof Report<?>) {
                Report<?> first = (Report<?>) e1;
                Report<?> second = (Report<?>) e2;
                if (first.getStartTime().getTime() > second.getStartTime().getTime()) {
                    return -1;
                } else if (first.getStartTime().getTime() < second.getStartTime().getTime()) {
                    return 1;
                } else {
                    return 0;
                }
            }

            return 0;
        }
    });

    // set selection provider
    getSite().setSelectionProvider(_treeViewer);

    _treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            OpenPropertiesHandler
                    .unpinAndOpenPropertiesView(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
        }
    });

    // load all added reports
    this.loadReports();
}

From source file:eu.esdihumboldt.hale.ui.views.tasks.TaskTreeView.java

License:Open Source License

/**
 * @see WorkbenchPart#createPartControl(Composite)
 *//* ww  w.  j av  a  2 s .  c o m*/
@Override
public void createPartControl(Composite parent) {
    Composite page = new Composite(parent, SWT.NONE);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    page.setLayoutData(data);

    // tree column layout
    TreeColumnLayout layout = new TreeColumnLayout();
    page.setLayout(layout);

    // tree viewer
    tree = new TreeViewer(page, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
    tree.setContentProvider(new CollectionTreeNodeContentProvider());
    tree.setUseHashlookup(true);

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

    tree.setComparator(new TaskTreeComparator());

    schemaService = (SchemaService) PlatformUI.getWorkbench().getService(SchemaService.class);
    taskService = (TaskService) PlatformUI.getWorkbench().getService(TaskService.class);

    // columns
    IColorProvider colorProvider = new TaskColorProvider(Display.getCurrent());

    // title/description
    TreeViewerColumn description = new TreeViewerColumn(tree, SWT.LEFT);
    description.getColumn().setText(Messages.TaskTreeView_TitleDescriptionText);
    description.getColumn().setToolTipText(Messages.TaskTreeView_description_tooltip);
    TreeColumnViewerLabelProvider descriptionLabelProvider = new TreeColumnViewerLabelProvider(
            new TaskDescriptionLabelProvider(0));
    descriptionLabelProvider.setProviders(colorProvider);
    description.setLabelProvider(descriptionLabelProvider);
    layout.setColumnData(description.getColumn(), new ColumnWeightData(4));

    // value
    TreeViewerColumn value = new TreeViewerColumn(tree, SWT.CENTER);
    value.getColumn().setText("!"); //$NON-NLS-1$
    value.getColumn().setToolTipText(Messages.TaskTreeView_value_tooltip);
    TreeColumnViewerLabelProvider valueLabelProvider = new TreeColumnViewerLabelProvider(
            new TaskValueLabelProvider(0));
    valueLabelProvider.setProviders(colorProvider);
    value.setLabelProvider(valueLabelProvider);
    layout.setColumnData(value.getColumn(), new ColumnWeightData(0, 20));

    // number of tasks
    TreeViewerColumn number = new TreeViewerColumn(tree, SWT.RIGHT);
    number.getColumn().setText("#"); //$NON-NLS-1$
    number.getColumn().setToolTipText(Messages.TaskTreeView_NumberText);
    TreeColumnViewerLabelProvider numberLabelProvider = new TreeColumnViewerLabelProvider(
            new TaskCountLabelProvider(0));
    numberLabelProvider.setProviders(colorProvider);
    number.setLabelProvider(numberLabelProvider);
    layout.setColumnData(number.getColumn(), new ColumnWeightData(0, 48));

    // user data: status
    TreeViewerColumn status = new TreeViewerColumn(tree, SWT.LEFT);
    status.getColumn().setText(Messages.TaskTreeView_StatusText);
    TreeColumnViewerLabelProvider statusLabelProvider = new TreeColumnViewerLabelProvider(
            new TaskStatusLabelProvider(0));
    statusLabelProvider.setProviders(colorProvider);
    status.setLabelProvider(statusLabelProvider);
    layout.setColumnData(status.getColumn(), new ColumnWeightData(1));
    status.setEditingSupport(new TaskStatusEditingSupport(tree, taskService));

    // user data: comment
    TreeViewerColumn comment = new TreeViewerColumn(tree, SWT.LEFT);
    comment.getColumn().setText(Messages.TaskTreeView_CommentText);
    TreeColumnViewerLabelProvider commentLabelProvider = new TreeColumnViewerLabelProvider(
            new TaskCommentLabelProvider(0));
    commentLabelProvider.setProviders(colorProvider);
    comment.setLabelProvider(commentLabelProvider);
    layout.setColumnData(comment.getColumn(), new ColumnWeightData(4));
    comment.setEditingSupport(new TaskCommentEditingSupport(tree, taskService));

    // listeners
    taskService.addListener(taskListener = new TaskServiceAdapter() {

        @Override
        public void tasksRemoved(final Iterable<Task> tasks) {
            if (Display.getCurrent() != null) {
                removeTasks(tasks);
            } else {
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.syncExec(new Runnable() {

                    @Override
                    public void run() {
                        removeTasks(tasks);
                    }

                });
            }
        }

        @Override
        public void tasksAdded(final Iterable<Task> tasks) {
            if (Display.getCurrent() != null) {
                addTasks(tasks);
            } else {
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.syncExec(new Runnable() {

                    @Override
                    public void run() {
                        addTasks(tasks);
                    }

                });
            }
        }

        @Override
        public void taskUserDataChanged(final ResolvedTask task) {
            if (Display.getCurrent() != null) {
                updateNode(task);
            } else {
                final Display display = PlatformUI.getWorkbench().getDisplay();
                display.syncExec(new Runnable() {

                    @Override
                    public void run() {
                        updateNode(task);
                    }

                });
            }
        }

    });

    createInput();

    configureActions();

    // interaction
    tree.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (!selection.isEmpty() && selection instanceof IStructuredSelection) {
                Object selected = ((IStructuredSelection) selection).getFirstElement();
                if (selected instanceof TreeNode) {
                    // determine value
                    Object tmp = ((TreeNode) selected).getValue();
                    Object value;
                    if (tmp.getClass().isArray()) {
                        value = ((Object[]) tmp)[0];
                    } else {
                        value = tmp;
                    }
                    if (value instanceof Task) {
                        // node is task node
                        Task task = (Task) value;
                        onDoubleClick(task.getMainContext().getIdentifier());
                    } else if (value instanceof SchemaElement) {
                        SchemaElement type = (SchemaElement) value;
                        onDoubleClick(type.getIdentifier());
                    }
                }
            }
        }
    });
}

From source file:gov.redhawk.ide.codegen.frontend.ui.FrontEndDeviceUIUtils.java

License:Open Source License

private void addColumns(TableViewer theTableViewer) {
    ColumnViewerToolTipSupport.enableFor(theTableViewer);

    final FrontEndPropLabelProvider lp = new FrontEndPropLabelProvider();

    TableViewerColumn nameIDColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    nameIDColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override//from   ww  w. j a v  a 2 s .co m
        public String getText(Object element) {
            return lp.getColumnText(element, 0);
        }
    });
    nameIDColumn.getColumn().setText("Name/ID");

    TableViewerColumn typeColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    typeColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 1);
        }
    });
    typeColumn.getColumn().setText("Type");

    TableViewerColumn required = new TableViewerColumn(theTableViewer, SWT.NONE);
    required.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 2);
        }
    });
    required.getColumn().setText("Required");

    TableViewerColumn descColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    descColumn.getColumn().setText("Description");
    descColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {

        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 3);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 50;
        }

        @Override
        public String getToolTipText(Object element) {
            return getText(element);
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        @Override
        public boolean useNativeToolTip(Object object) {
            return true;
        }
    });

    theTableViewer.setContentProvider(new ObservableSetContentProvider());
}

From source file:gov.redhawk.ide.codegen.ui.internal.GenerateFilesDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    final Composite container = (Composite) super.createDialogArea(parent);
    final GridLayout gridLayout = new GridLayout(2, false);
    container.setLayout(gridLayout);/*ww  w . j a v a2s .c o m*/

    boolean warning = false;
    for (FileStatus s : this.fileStatus) {
        if (!s.getDoItDefault() && s.getType() != FileStatus.Type.USER) {
            warning = true;
            break;
        }
    }
    if (warning) {
        final Image image = parent.getDisplay().getSystemImage(SWT.ICON_WARNING);
        final Label warningLabel = new Label(container, SWT.NONE);
        warningLabel.setImage(image);
        warningLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));

        final Label label = new Label(container, SWT.NONE);
        label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
        label.setText("Selected files will be generated and their current contents will be lost.\n"
                + "Unselected files have had their content modified since last generation.");
    } else {
        final Image image = parent.getDisplay().getSystemImage(SWT.ICON_INFORMATION);
        final Label warningLabel = new Label(container, SWT.NONE);
        warningLabel.setImage(image);
        warningLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));

        final Label label = new Label(container, SWT.NONE);
        label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
        label.setText("Select files to be generated:");
    }

    Composite treeContainer = new Composite(container, SWT.None);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
    data.widthHint = 600;
    treeContainer.setLayoutData(data);
    TreeColumnLayout layout = new TreeColumnLayout();
    treeContainer.setLayout(layout);
    this.treeViewer = new CheckboxTreeViewer(treeContainer,
            SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL);
    this.treeViewer.setContentProvider(new FileStatusContentProvider());
    this.treeViewer.getTree().setLinesVisible(true);
    this.treeViewer.getTree().setHeaderVisible(true);

    TreeViewerColumn column = new TreeViewerColumn(this.treeViewer, SWT.None);
    column.getColumn().setResizable(true);
    column.getColumn().setMoveable(false);
    column.getColumn().setText("File Name");
    column.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider()));
    layout.setColumnData(column.getColumn(), new ColumnWeightData(80, 80, true));

    column = new TreeViewerColumn(this.treeViewer, SWT.None);
    column.getColumn().setResizable(true);
    column.getColumn().setMoveable(false);
    column.getColumn().setText("Action");
    column.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((FileStatus) element).getDesiredAction().toString();
        }
    }));
    layout.setColumnData(column.getColumn(), new ColumnWeightData(10, 80, true));

    column = new TreeViewerColumn(this.treeViewer, SWT.None);
    column.getColumn().setResizable(true);
    column.getColumn().setMoveable(false);
    column.getColumn().setText("Type");
    column.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((FileStatus) element).getType().toString();
        }
    }));
    layout.setColumnData(column.getColumn(), new ColumnWeightData(10, 80, true));

    this.treeViewer.setCheckStateProvider(new ICheckStateProvider() {

        @Override
        public boolean isGrayed(Object element) {
            return false;
        }

        @Override
        public boolean isChecked(Object element) {
            if (element instanceof FileStatus) {
                return ((FileStatus) element).isDoIt();
            }
            return false;
        }
    });
    this.treeViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            FileStatus s = (FileStatus) event.getElement();
            if (checkFile(event.getChecked(), s)) {
                s.setDoIt(event.getChecked());
            }
            treeViewer.refresh();
        }
    });
    this.treeViewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (((FileStatus) element).getType() == FileStatus.Type.USER) {
                return showUserFiles;
            }
            return true;
        }
    });
    this.treeViewer.setComparator(new ViewerComparator());

    this.treeViewer.setInput(this.fileStatus);

    Composite panel = new Composite(container, SWT.NO_FOCUS);
    panel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 2, 1));
    panel.setLayout(new RowLayout());

    final Button restore = new Button(panel, SWT.PUSH);
    restore.setText("Defaults");
    restore.setToolTipText("Clicking this will restore the selection to the default set of files");
    restore.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event event) {
            selectDefaults();
        }
    });

    final Button selectAll = new Button(panel, SWT.PUSH);
    selectAll.setText("Select All");
    selectAll.setToolTipText("Clicking this will select all files");
    selectAll.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event event) {
            selectAllFiles();
        }
    });

    final Button clear = new Button(panel, SWT.PUSH);
    clear.setText("Clear");
    clear.setToolTipText("Clicking this will deselect all files");
    clear.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event event) {
            GenerateFilesDialog.this.clear();
        }
    });

    panel = new Composite(container, SWT.NO_FOCUS);
    panel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 2, 1));
    panel.setLayout(new GridLayout(1, false));
    Button showUserButton = new Button(panel, SWT.CHECK);
    showUserButton.setText("Show User Files");
    showUserButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            showUserFiles = !showUserFiles;
            treeViewer.refresh();
        }
    });
    final Button alwaysButton = new Button(panel, SWT.CHECK);
    alwaysButton.setText("Always Generate Default Files Without Asking");
    final IPreferenceStore store = RedhawkCodegenUiActivator.getDefault().getPreferenceStore();
    alwaysButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            alwaysButton.getSelection();
            store.setValue(CodegenPreferenceConstants.P_ALWAYS_GENERATE_DEFAULTS, alwaysButton.getSelection());
        }
    });
    alwaysButton.setSelection(store.getBoolean(CodegenPreferenceConstants.P_ALWAYS_GENERATE_DEFAULTS));

    return container;
}

From source file:gov.redhawk.ide.debug.ui.tabs.ImplementationTab.java

License:Open Source License

/**
 * {@inheritDoc}/*from   w  w  w .j a  v a2  s  .  c  om*/
 */
@Override
public void createControl(final Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    setControl(composite);
    composite.setFont(parent.getFont());
    composite.setLayout(new FillLayout());

    final TableLayout layout = new TableLayout();
    this.viewer = new TableViewer(composite, SWT.BORDER);
    this.viewer.getTable().setLayout(layout);
    this.viewer.getTable().setHeaderVisible(true);
    this.viewer.getTable().setLinesVisible(true);
    this.viewer.setContentProvider(new IStructuredContentProvider() {

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

        }

        @Override
        public void dispose() {

        }

        @Override
        public Object[] getElements(final Object inputElement) {
            if (inputElement instanceof SoftwareAssembly) {
                final SoftwareAssembly localSad = (SoftwareAssembly) inputElement;
                final List<SadComponentInstantiation> retVal = new ArrayList<SadComponentInstantiation>();
                for (final HostCollocation hc : localSad.getPartitioning().getHostCollocation()) {
                    for (final SadComponentPlacement cp : hc.getComponentPlacement()) {
                        retVal.addAll(cp.getComponentInstantiation());
                    }
                }
                for (final SadComponentPlacement cp : localSad.getPartitioning().getComponentPlacement()) {
                    retVal.addAll(cp.getComponentInstantiation());
                }
                return retVal.toArray();
            }
            return new Object[0];
        }
    });
    this.viewer.setInput(this.sad);

    final TableViewerColumn componentColumn = new TableViewerColumn(this.viewer, SWT.CENTER);
    componentColumn.getColumn().setText("Instantiation");
    componentColumn.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            return ci.getUsageName();
        }
    }));
    layout.addColumnData(new ColumnWeightData(20, 20, true)); //SUPPRESS CHECKSTYLE MagicNumber

    final TableViewerColumn implColumn = new TableViewerColumn(this.viewer, SWT.CENTER);
    implColumn.getColumn().setText("Implementation");
    implColumn.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            final String implId = ImplementationTab.this.implMap.get(ci.getId());
            final SoftPkg softPkg = ScaEcoreUtils.getFeature(ci, ImplementationTab.SPD_PATH);
            Implementation impl = null;
            if (implId != null) {
                return implId;
            } else if (softPkg != null && !softPkg.getImplementation().isEmpty()) {
                impl = softPkg.getImplementation().get(0);
            }
            if (impl == null) {
                return "";
            } else {
                return impl.getId();
            }
        }
    }));
    implColumn.setEditingSupport(new EditingSupport(this.viewer) {

        @Override
        protected void setValue(final Object element, final Object value) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            if (value == null) {
                ImplementationTab.this.implMap.remove(ci.getId());
            } else if (value instanceof String) {
                ImplementationTab.this.implMap.put(ci.getId(), value.toString());
            } else if (value instanceof Implementation) {
                ImplementationTab.this.implMap.put(ci.getId(), ((Implementation) value).getId());
            } else {
                ImplementationTab.this.implMap.remove(ci.getId());
            }
            ImplementationTab.this.viewer.refresh(element);
            updateLaunchConfigurationDialog();
        }

        @Override
        protected Object getValue(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            return getImplementation(ci);
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            final SoftPkg spd = ScaEcoreUtils.getFeature(ci, ImplementationTab.SPD_PATH);
            final ComboBoxViewerCellEditor editor = new ComboBoxViewerCellEditor(
                    ImplementationTab.this.viewer.getTable(), SWT.READ_ONLY);
            editor.setContentProvider(new ArrayContentProvider());
            editor.setLabelProvider(new AdapterFactoryLabelProvider(ImplementationTab.this.adapterFactory));
            if (spd != null) {
                editor.setInput(spd.getImplementation());
            }
            return editor;
        }

        @Override
        protected boolean canEdit(final Object element) {
            return true;
        }
    });
    layout.addColumnData(new ColumnWeightData(100, 20, true)); //SUPPRESS CHECKSTYLE MagicNumber

}

From source file:gov.redhawk.ui.views.domainbrowser.view.DomainBrowserView.java

License:Open Source License

private void createDomainViewer(final Composite parent) {
    final Composite treeComposite = new Composite(parent, SWT.NULL);
    final TreeColumnLayout treeLayout = new TreeColumnLayout();
    final Tree tree = new Tree(treeComposite, SWT.MULTI | SWT.BORDER);
    treeComposite.setLayout(treeLayout);
    treeComposite.setLayoutData(GridDataFactory.fillDefaults().span(3, 1).grab(true, true).create());// SUPPRESS CHECKSTYLE MagicNumber
    tree.setLinesVisible(true);/*  w  w w.  jav  a2s.com*/
    tree.setHeaderVisible(true);
    tree.setLayoutData(GridDataFactory.fillDefaults().span(1, 3).grab(true, true).create()); // SUPPRESS CHECKSTYLE MagicNumber

    final ScaPropertiesContentProvider contentProvider = new ScaPropertiesContentProvider(getAdapterFactory()) {
        @Override
        public Object[] getChildren(final Object object) {
            final Object result = DomainBrowserUtil.delayedContent(object, DomainBrowserView.this.domainTree);
            if (result != null) {
                return new Object[] { result };
            }

            return super.getChildren(object);
        }
    };

    this.domainTree = new TreeViewer(tree);
    this.domainTree.setContentProvider(contentProvider);
    this.domainTree.addFilter(new ViewerFilter() {

        @Override
        public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
            if (element instanceof ScaFileStore || element instanceof DomainManagerConfiguration
                    || element instanceof SoftwareAssembly || element instanceof DeviceConfiguration
                    || element instanceof DelegatingWrapperItemProvider) {
                return DomainBrowserView.this.showAdvancedProperties;
            }
            return true;
        }
    });

    final TreeColumnViewerLabelProvider lp = new TreeColumnViewerLabelProvider(
            new ScaModelAdapterFactoryLabelProvider(this.adapterFactory, this.domainTree) {
                @Override
                public String getColumnText(final Object object, final int columnIndex) {
                    switch (columnIndex) {
                    case 0:
                        return getText(object);
                    default:
                        return super.getColumnText(object, columnIndex);
                    }
                }

                @Override
                public Image getColumnImage(final Object object, final int columnIndex) {
                    switch (columnIndex) {
                    case 0:
                        return getImage(object);
                    default:
                        return super.getColumnImage(object, columnIndex);
                    }
                }
            });

    TreeColumn column = new TreeColumn(tree, SWT.NONE);
    column.setText("Object");
    treeLayout.setColumnData(column, new ColumnWeightData(2, 200, true));
    TreeViewerColumn viewerColumn = new TreeViewerColumn(this.domainTree, column);
    viewerColumn.setLabelProvider(lp);

    column = new TreeColumn(tree, SWT.NONE);
    column.setText("Value");
    treeLayout.setColumnData(column, new ColumnWeightData(3, true));
    viewerColumn = new TreeViewerColumn(this.domainTree, column);
    viewerColumn.setLabelProvider(lp);
    viewerColumn.setEditingSupport(new AbstractPropertyEditingSupport(this.domainTree, contentProvider) {

        @Override
        protected Object getPropertyID(final Object object) {
            if (object instanceof ScaSimpleProperty) {
                return ScaPackage.Literals.SCA_SIMPLE_PROPERTY__VALUE.getName();
            } else if (object instanceof ScaSimpleSequenceProperty) {
                return ScaPackage.Literals.SCA_SIMPLE_SEQUENCE_PROPERTY__VALUES.getName();
            } else if (object instanceof ScaStructProperty) {
                return ScaPackage.Literals.SCA_STRUCT_PROPERTY__SIMPLES.getName();
            } else if (object instanceof ScaStructSequenceProperty) {
                return ScaPackage.Literals.SCA_STRUCT_SEQUENCE_PROPERTY__STRUCTS.getName();
            }
            return null;
        }

    });

    this.domainTree.getTree().setEnabled(false);
    this.domainTree.setLabelProvider(lp);
    this.domainTree.setSorter(new ViewerSorter());

    getSite().setSelectionProvider(this.domainTree);
}

From source file:net.resheim.eclipse.timekeeper.ui.views.WorkWeekView.java

License:Open Source License

private void createTitleColumn() {
    TreeViewerColumn column = createTableViewerColumn("Activity", 400, 1);
    column.setLabelProvider(new TreeColumnViewerLabelProvider(new TaskLabelProvider()));
}