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

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

Introduction

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

Prototype

public ViewerComparator() 

Source Link

Document

Creates a new ViewerComparator , which uses the default comparator to sort strings.

Usage

From source file:eu.esdihumboldt.hale.ui.templates.webtemplates.WebTemplatesDialog.java

License:Open Source License

@Override
protected void setupViewer(final TreeViewer viewer, WebTemplate initialSelection) {
    // this label provider is used for filtering (I guess)
    viewer.setLabelProvider(new LabelProvider() {

        @Override/*  w w  w . j av  a2  s.c  o m*/
        public String getText(Object element) {
            if (element instanceof WebTemplate) {
                return ((WebTemplate) element).getName();
            }
            return super.getText(element);
        }

    });

    viewer.getTree().setHeaderVisible(true);
    //      viewer.getTree().setLinesVisible(true);

    // main column
    TreeViewerColumn mainColumn = new TreeViewerColumn(viewer, SWT.NONE);
    mainColumn.setLabelProvider(new StyledCellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();

            StyledString text = new StyledString();
            if (element instanceof WebTemplate) {
                WebTemplate template = (WebTemplate) element;

                text.append(template.getName());
            } else {
                text.append(element.toString());
            }

            cell.setText(text.getString());
            cell.setStyleRanges(text.getStyleRanges());

            super.update(cell);
        }
    });
    mainColumn.getColumn().setText("Template");
    layout.setColumnData(mainColumn.getColumn(), new ColumnWeightData(7));

    // link column
    if (Desktop.isDesktopSupported()) {
        TreeViewerColumn linkColumn = new TreeViewerColumn(viewer, SWT.CENTER);
        linkColumn.setLabelProvider(new LinkLabels());

        // listener that reacts on link cell clicks
        viewer.getTree().addMouseListener(new MouseAdapter() {

            @Override
            public void mouseDown(MouseEvent e) {
                if (e.button == 1) {
                    ViewerCell cell = viewer.getCell(new Point(e.x, e.y));
                    if (cell != null && cell.getColumnIndex() == 1 && cell.getTextBounds().contains(e.x, e.y)) {
                        Object element = cell.getElement();
                        if (element instanceof WebTemplate) {
                            try {
                                Desktop.getDesktop().browse(((WebTemplate) element).getSite());
                            } catch (IOException e1) {
                                log.error("Could not launch browser", e1);
                            }
                        }
                    }
                }
            }
        });

        layout.setColumnData(linkColumn.getColumn(), new ColumnWeightData(1));
    }

    viewer.setComparator(new ViewerComparator());

    viewer.setContentProvider(new WebTemplatesContentProvider());
    viewer.setInput(templates);
}

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

License:Open Source License

/**
 * Create contents of the view part.//w  ww.ja v  a 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.geclipse.ui.wizards.VoSelectionWizardPage.java

License:Open Source License

public void createControl(final Composite parent) {

    GridData gData;//w w w .j a  v  a  2  s  .com

    Composite mainComp = new Composite(parent, SWT.NONE);
    mainComp.setLayout(new GridLayout(1, false));
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    mainComp.setLayoutData(gData);

    Group voGroup = new Group(mainComp, SWT.NONE);
    voGroup.setLayout(new GridLayout(2, false));
    voGroup.setText("&Available VOs");
    gData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gData.heightHint = 120;
    voGroup.setLayoutData(gData);

    int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.CHECK;
    Table voTable = new Table(voGroup, style);
    gData = new GridData(SWT.FILL, SWT.FILL, true, true);
    voTable.setLayoutData(gData);
    voTable.setHeaderVisible(false);

    this.tableViewer = new CheckboxTableViewer(voTable);
    this.tableViewer.setContentProvider(new ArrayContentProvider());
    this.tableViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            return ((IVirtualOrganization) element).getName();
        }
    });

    this.tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object vo1, final Object vo2) {
            String name1 = ((IVirtualOrganization) vo1).getName();
            String name2 = ((IVirtualOrganization) vo2).getName();
            // Sort by VO name
            return name1.compareTo(name2);
        }
    });

    // Filter the VOs that can be used to create this type of auth-token
    this.tableViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
            boolean ret = false;

            Class<?> type = VoSelectionWizardPage.this.voType;
            if (element instanceof IVirtualOrganization) {
                IVirtualOrganization vo = (IVirtualOrganization) element;
                if ((type == null) || type.isAssignableFrom(vo.getClass())) {
                    ret = true;
                }
            }
            return ret;
        }
    });

    this.tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            showSelectedInfo();
        }
    });

    this.tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {

            // If allowMultiSelection is not set, then implement a radio-button behavior
            if (!VoSelectionWizardPage.this.allowMultiSelection) {
                Object element = event.getElement();
                if (element instanceof IVirtualOrganization) {
                    IVirtualOrganization vo = (IVirtualOrganization) element;
                    if (event.getChecked()) {
                        VoSelectionWizardPage.this.tableViewer.setCheckedElements(new Object[] { vo });
                        VoSelectionWizardPage.this.tableViewer.refresh();
                    }
                }
            }

            setPageComplete(getSelectedVos() != null);
        }
    });

    updateVoList();
    this.tableViewer.setInput(this.voList);

    // Listen on new VOs, this will update the tableViewer
    GridModel.getVoManager().addGridModelListener(this);

    Button editVOsButton = new Button(voGroup, SWT.PUSH);
    editVOsButton.setText("Edit &VOs...");
    gData = new GridData();
    gData.horizontalAlignment = GridData.BEGINNING;
    gData.verticalAlignment = GridData.BEGINNING;
    editVOsButton.setLayoutData(gData);
    editVOsButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
                    VoSelectionWizardPage.this.PREFERENCE_PAGE_ID, null, null);

            /*
             * Even if the user pressed 'Cancel' VOs might have been
             * added/deleted, so ignore the dialog's return value.
             */
            dialog.open();
        }
    });

    Group infoGroup = new Group(mainComp, SWT.NONE);
    infoGroup.setLayout(new GridLayout(1, false));
    infoGroup.setText("&VO Info");
    gData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gData.heightHint = 120;
    infoGroup.setLayoutData(gData);

    this.infoText = new Text(infoGroup, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    this.infoText.setEditable(false);
    gData = new GridData(GridData.FILL_BOTH);
    gData.grabExcessHorizontalSpace = true;
    gData.grabExcessVerticalSpace = true;
    this.infoText.setLayoutData(gData);

    setInitialSelection();
    showSelectedInfo();
    setPageComplete(getSelectedVos() != null);

    setControl(mainComp);

}

From source file:eu.numberfour.n4js.ui.export.AbstractExportToSingleFileWizardPage.java

License:Open Source License

/**
 * Creates the checkbox tree and list for selecting resources.
 *
 * @param parent//from  w w w  .  j  a va  2s. c  o m
 *            the parent control
 */
protected void createProjectList(Composite parent) {

    // create the input element, which has the root resource
    // as its only child
    List<IProject> input = new ArrayList<>();
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    for (int i = 0; i < projects.length; i++) {
        if (projects[i].isOpen()) {
            input.add(projects[i]);
        }
    }

    listViewer = CheckboxTableViewer.newCheckList(parent, SWT.TOP | SWT.BORDER);
    GridData data = new GridData(GridData.FILL_BOTH);
    listViewer.getTable().setLayoutData(data);

    listViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    listViewer.setContentProvider(getContentProvider());
    listViewer.setComparator(new ViewerComparator());

    // check for initial modification to avoid work if no changes are made
    listViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                for (Object currentlyChecked : listViewer.getCheckedElements()) {
                    if (currentlyChecked != event.getElement()) {
                        listViewer.setChecked(currentlyChecked, false);
                    }
                }
            }
            updateWidgetEnablements();
        }
    });
    listViewer.setInput(workspace);
}

From source file:eu.scasefp7.eclipse.servicecomposition.views.ServiceCompositionView.java

public void updateRightComposite(edu.uci.ics.jung.graph.Graph jungGraph) {

    final Display display = Display.getCurrent();
    final Graph graph = viewer.getGraphControl();
    if (sc != null) {
        sc.dispose();/*from w ww  .j  a  v  a2  s .co  m*/
    }
    // Create the ScrolledComposite to scroll horizontally and vertically
    sc = new ScrolledComposite(sashForm, SWT.H_SCROLL | SWT.V_SCROLL);

    sc.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    rightComposite.dispose();

    rightComposite = new Composite(sc, SWT.FILL);

    sc.setContent(rightComposite);
    sc.setExpandHorizontal(true);
    sc.setExpandVertical(true);
    sc.setMinSize(300, 600);

    // runWorkflowAction.setEnabled(false);

    Listener inputListener = new Listener() {

        @Override
        public void handleEvent(Event event) {
            TreeItem treeItem = (TreeItem) event.item;
            final TreeColumn[] treeColumns = treeItem.getParent().getColumns();
            // final Display display = Display.getCurrent();
            display.asyncExec(new Runnable() {

                @Override
                public void run() {
                    for (TreeColumn treeColumn : treeColumns) {
                        treeColumn.pack();
                    }
                }
            });

        }
    };
    // create inputs composite

    rightComposite.setLayout(new GridLayout());

    Composite inputsLabelComposite = new Composite(rightComposite, SWT.FILL);
    inputsLabelComposite.setLayout(new GridLayout(1, false));
    Label label1 = new Label(inputsLabelComposite, SWT.NONE);
    label1.setText("Workflow Inputs:");
    label1.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label1.setFont(JFaceResources.getFontRegistry().getBold(""));
    inputsComposite = new Tree(rightComposite, SWT.BORDER | SWT.FILL | SWT.MULTI);
    inputsComposite.setLayout(new GridLayout(2, false));
    inputsTreeViewer = new TreeViewer(inputsComposite);
    TreeViewerEditor.create(inputsTreeViewer, new ColumnViewerEditorActivationStrategy(inputsTreeViewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION;
        }
    }, ColumnViewerEditor.TABBING_HORIZONTAL);

    columna = new TreeViewerColumn(inputsTreeViewer, SWT.NONE);
    columna.getColumn().setWidth(200);
    columna.getColumn().setText("Columna");
    columna.getColumn().setResizable(true);

    columnb = new TreeViewerColumn(inputsTreeViewer, SWT.NONE);
    columnb.getColumn().setText("Columnb");
    columnb.getColumn().setWidth(300);
    columnb.getColumn().setResizable(true);

    Vector<Node> InputNodes = new Vector<Node>();

    // get matched io
    Object[] vertices1 = (Object[]) jungGraph.getVertices().toArray();
    ArrayList<OwlService> matchedNodes = new ArrayList<OwlService>();
    for (int i = 0; i < vertices1.length; i++) {
        final OwlService node = (OwlService) vertices1[i];

        if (node.getisMatchedIO()) {

            matchedNodes.add(node);
        }
    }

    // get all inputs

    Object[] vertices = (Object[]) jungGraph.getVertices().toArray();
    for (int i = 0; i < vertices.length; i++) {
        final OwlService node = (OwlService) vertices[i];
        if (node.getType().contains("Action")) {
            Node n = new Node(node.getName().toString(), null, node, null);
            Collection<OwlService> predecessors = (Collection<OwlService>) jungGraph.getPredecessors(node);
            for (OwlService predecessor : predecessors) {
                if (predecessor.getType().contains("Property")) {
                    showInputs(predecessor, n, InputNodes, jungGraph, matchedNodes);

                }
            }
            InputNodes.add(n);
        }
    }

    inputsComposite.setSize(300, 200);
    inputsTreeViewer.setContentProvider(new MyTreeContentProvider());

    columna.setLabelProvider(new MyLabelProvider());
    columnb.setLabelProvider(createColumnLabelProvider());

    final TextCellEditor cellEditor = new MyTextCellEditor(inputsTreeViewer.getTree());
    columnb.setEditingSupport(new EditingSupport(inputsTreeViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (((Node) element).getOwlService().getArgument() != null
                    && ((Node) element).getOwlService().getArgument().getSubtypes().isEmpty())
                ((Node) element).setValue(value.toString());

            getViewer().update(element, null);
        }

        @Override
        protected Object getValue(Object element) {
            return ((Node) element).getValue();
        }

        @Override
        protected TextCellEditor getCellEditor(Object element) {
            return cellEditor;
        }

        @Override
        protected boolean canEdit(Object element) {
            if (((Node) element).getOwlService().getArgument() != null
                    && ((Node) element).getOwlService().getArgument().getSubtypes().isEmpty()
                    && !((Node) element).getOwlService().getisMatchedIO())
                return true;
            else
                return false;
        }
    });

    inputsTreeViewer.setInput(InputNodes);
    inputsTreeViewer.expandToLevel(2);

    final Action a = new Action("Add new element") {
        public void run() {

            try {
                int length = ((Node) ((TreeSelection) inputSelection).getFirstElement()).getSubCategories()
                        .size();
                addTreeNode(((Node) ((TreeSelection) inputSelection).getFirstElement()).getOwlService(),
                        ((Node) ((TreeSelection) inputSelection).getFirstElement()), length);
                // Updating the display in the view
                // inputsTreeViewer.setInput(InputNodes);
                inputsTreeViewer.refresh();
            } catch (Exception e) {
                Activator.log("Error while running the workflow", e);
                e.printStackTrace();
            }

        }
    };

    final Action b = new Action("Remove element") {
        public void run() {

            try {
                Node n = ((Node) ((TreeSelection) inputSelection).getFirstElement()).getParent();
                n.getSubCategories().remove(((Node) ((TreeSelection) inputSelection).getFirstElement()));

                // Updating the display in the view
                // inputsTreeViewer.setInput(InputNodes);
                inputsTreeViewer.refresh();
            } catch (Exception e) {
                Activator.log("Error while running the workflow", e);
                e.printStackTrace();
            }

        }
    };
    final MenuManager mgr = new MenuManager();
    mgr.setRemoveAllWhenShown(true);

    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            inputSelection = inputsTreeViewer.getSelection();

            Node n = ((Node) ((TreeSelection) inputSelection).getFirstElement());
            if (!inputSelection.isEmpty()) {
                if (n.getOwlService().getArgument() != null && n.getOwlService().getArgument().isArray()
                        && n.getName().toString().replaceAll("[^\\d.]", "").isEmpty()) {
                    boolean notMatched = true;
                    // check if the array of primitive or array of objects
                    // is matched
                    if (n.getSubCategories().get(0).getValue().equals("matched")
                            || (!n.getOwlService().getArgument().getSubtypes().isEmpty()
                                    && (n.getOwlService().getArgument().getSubtypes().get(0)).getOwlService()
                                            .getisMatchedIO())) {
                        notMatched = false;
                    }
                    if (notMatched) {
                        a.setText("Add new element for "
                                + ((Node) ((TreeSelection) inputSelection).getFirstElement()).getName()
                                        .toString());
                        a.setToolTipText("Right click to add new element");
                        a.setEnabled(true);

                        mgr.add(a);
                    }

                }
                if (n.getOwlService().getArgument() != null && n.getOwlService().getArgument().isArray()
                        && !n.getName().toString().replaceAll("[^\\d.]", "").isEmpty()) {

                    int nodeNum = Integer.parseInt(n.getName().toString().replaceAll("[^\\d.]", ""));
                    Node parent = ((Node) ((TreeSelection) inputSelection).getFirstElement()).getParent();

                    if (nodeNum == parent.getSubCategories().size() - 1 && nodeNum != 0) {

                        b.setText(
                                "Remove element " + ((Node) ((TreeSelection) inputSelection).getFirstElement())
                                        .getName().toString());
                        b.setToolTipText("Right click to remove element");
                        b.setEnabled(true);

                        mgr.add(b);
                    }
                }
            }
        }

    });
    inputsTreeViewer.getControl().setMenu(mgr.createContextMenu(inputsTreeViewer.getControl()));

    inputsComposite.addListener(SWT.Collapse, inputListener);
    inputsComposite.addListener(SWT.Expand, inputListener);

    inputsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                if (selection.getFirstElement() != null) {
                    for (int i = 0; i < graph.getNodes().size(); i++) {
                        GraphNode graphNode = (GraphNode) graph.getNodes().get(i);
                        if (((OwlService) ((MyNode) graphNode.getData()).getObject())
                                .equals(((Node) selection.getFirstElement()).getOwlService())) {
                            graphNode.highlight();
                        } else
                            graphNode.unhighlight();

                    }
                }

            }
        }
    });

    // create authentication Params composite

    rightComposite.setLayout(new GridLayout());
    Composite authenticationLabelComposite = new Composite(rightComposite, SWT.FILL);

    authenticationLabelComposite.setLayout(new GridLayout());
    Label label4 = new Label(authenticationLabelComposite, SWT.FILL);
    label4.setText("Workflow Authentication Parameters:");
    label4.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label4.setFont(JFaceResources.getFontRegistry().getBold(""));
    authParamsComposite = new Composite(rightComposite, SWT.FILL);
    authParamsComposite.setLayout(new GridLayout(2, false));

    // get all authParams
    ArrayList<String> baseURIs = new ArrayList<String>();
    for (int i = 0; i < vertices.length; i++) {
        final OwlService node = (OwlService) vertices[i];

        if (node.getType().contains("Action") && node.getOperation().getDomain() != null) {
            if (node.getOperation().getDomain().getSecurityScheme() != null) {
                if (node.getOperation().getDomain().getSecurityScheme().equalsIgnoreCase("Basic Authentication")
                        && !baseURIs.contains(node.getOperation().getDomain().getURI())) {
                    showBasicAuthenticationParams();
                    baseURIs.add(node.getOperation().getDomain().getURI());
                }
            }
        }
    }

    // create authentication Params composite

    rightComposite.setLayout(new GridLayout());
    Composite requestHeaderLabelComposite = new Composite(rightComposite, SWT.FILL);

    requestHeaderLabelComposite.setLayout(new GridLayout());
    Label label5 = new Label(requestHeaderLabelComposite, SWT.FILL);
    label5.setText("Workflow Request Headers:");
    label5.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label5.setFont(JFaceResources.getFontRegistry().getBold(""));
    requestHeadersComposite = new Composite(rightComposite, SWT.FILL);
    requestHeadersComposite.setLayout(new GridLayout(2, false));

    // get all request headers

    for (int i = 0; i < vertices.length; i++) {
        final OwlService node = (OwlService) vertices[i];

        if (node.getType().contains("Action") && node.getOperation().getRequestHeaders() != null) {
            for (RequestHeader header : node.getOperation().getRequestHeaders()) {
                showRequestHeaders(node.getName().toString(), header.getName());
            }

        }
    }

    Listener outputListener = new Listener() {

        @Override
        public void handleEvent(Event event) {
            TreeItem treeItem = (TreeItem) event.item;
            final TreeColumn[] treeColumns = treeItem.getParent().getColumns();

            display.asyncExec(new Runnable() {

                @Override
                public void run() {
                    for (TreeColumn treeColumn : treeColumns)
                        treeColumn.pack();
                }
            });
        }
    };

    // create outputs composite

    Composite outputsLabelComposite = new Composite(rightComposite, SWT.FILL);
    outputsLabelComposite.setLayout(new GridLayout(1, false));
    Label label2 = new Label(outputsLabelComposite, SWT.NONE);
    label2.setText("Workflow Outputs:");
    label2.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label2.setFont(JFaceResources.getFontRegistry().getBold(""));
    outputsComposite = new Tree(rightComposite, SWT.BORDER | SWT.FILL | SWT.MULTI);
    outputsComposite.setLayout(new GridLayout(2, false));
    treeViewer = new TreeViewer(outputsComposite);
    column1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column1.getColumn().setWidth(300);
    column1.getColumn().setText("Column1");
    column1.getColumn().setResizable(true);
    // column1.getColumn().pack();
    column2 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column2.getColumn().setText("Column2");
    column2.getColumn().setWidth(300);
    column2.getColumn().setResizable(true);
    // column2.getColumn().pack();
    // get all outputs
    Vector<Node> nodes = new Vector<Node>();
    for (int i = 0; i < vertices.length; i++) {
        final OwlService node = (OwlService) vertices[i];

        if (node.getType().contains("Action")) {
            Collection<OwlService> successors = (Collection<OwlService>) jungGraph.getSuccessors(node);
            for (OwlService successor : successors) {
                if (successor.getType().contains("Property")) {
                    showOutputs(successor, null, nodes, jungGraph);

                }
            }
        }
    }

    treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    outputsComposite.setSize(300, 200);
    treeViewer.setContentProvider(new MyTreeContentProvider());

    // sort alphabetically based on operation name
    treeViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            Node t1 = (Node) e1;
            Node t2 = (Node) e2;
            int order = ((t1.getOwlService().getArgument().getBelongsToOperation().getName().toString())
                    .compareTo(t2.getOwlService().getArgument().getBelongsToOperation().getName().toString()));
            return order;
        };
    });

    column1.setLabelProvider(new MyLabelProvider());
    column2.setLabelProvider(createColumnLabelProvider());
    treeViewer.setInput(nodes);
    // // outputsComposite.setSize(300, nodes.size() * 10);
    // treeViewer.expandAll();
    //

    outputsComposite.addListener(SWT.Collapse, outputListener);
    outputsComposite.addListener(SWT.Expand, outputListener);

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                if (selection.getFirstElement() != null) {
                    for (int i = 0; i < graph.getNodes().size(); i++) {
                        GraphNode graphNode = (GraphNode) graph.getNodes().get(i);
                        if (((OwlService) ((MyNode) graphNode.getData()).getObject())
                                .equals(((Node) selection.getFirstElement()).getOwlService())) {
                            graphNode.highlight();
                        } else
                            graphNode.unhighlight();

                    }
                }

            }
        }
    });

    graph.update();
    graph.redraw();

    inputsLabelComposite.redraw();
    outputsLabelComposite.redraw();
    treeViewer.refresh();
    inputsTreeViewer.refresh();
    outputsComposite.redraw();
    inputsComposite.redraw();
    rightComposite.layout();
    rightComposite.update();
    rightComposite.redraw();
    sc.update();
    sc.redraw();

    sashForm.update();
    sashForm.redraw();
    sashForm.layout(true);
    this.showBusy(false);
}

From source file:ext.org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyViewPart.java

License:Open Source License

private void updateView() {
    if (fInputElements != null) {
        showPage(PAGE_VIEWER);/*w  w  w  . j  a  v  a2s. c o m*/

        int includeMask = getIncludeMask();
        CallHierarchy.getDefault().setSearchScope(getSearchScope(includeMask));

        // set input to null so that setComparator does not cause a refresh on the old contents:
        fCallHierarchyViewer.setInput(null);
        if (fCurrentCallMode == CALL_MODE_CALLERS) {
            // sort caller hierarchy alphabetically (bug 111423) and make RealCallers the last in 'Expand With Constructors' mode
            fCallHierarchyViewer.setComparator(new ViewerComparator() {
                @Override
                public int category(Object element) {
                    return element instanceof RealCallers ? 1 : 0;
                }
            });
            fCallHierarchyViewer.setMethodWrappers(getCallerRoots());
        } else {
            fCallHierarchyViewer.setComparator(null);
            fCallHierarchyViewer.setMethodWrappers(getCalleeRoots());
        }
        setContentDescription(includeMask);
    }
}

From source file:ext.org.eclipse.jdt.internal.ui.callhierarchy.ExpandWithConstructorsConfigurationBlock.java

License:Open Source License

/**
 * Create a list dialog field./*from  w w  w  .  j  ava 2s .c o m*/
 *
 * @param parent the composite
 */
private void createPreferenceList(Composite parent) {
    String[] buttonLabels = new String[] {
            CallHierarchyMessages.ExpandWithConstructorsConfigurationBlock_newType_button,
            CallHierarchyMessages.ExpandWithConstructorsConfigurationBlock_newMember_button,
            CallHierarchyMessages.ExpandWithConstructorsConfigurationBlock_edit_button,
            CallHierarchyMessages.ExpandWithConstructorsConfigurationBlock_remove_button,
            CallHierarchyMessages.ExpandWithConstructorsConfigurationBlock_restoreDefaults_button };

    ListAdapter adapter = new ListAdapter();

    fList = new ListDialogField<String>(adapter, buttonLabels, new ListLabelProvider());
    fList.setDialogFieldListener(adapter);
    fList.setLabelText(CallHierarchyMessages.ExpandWithConstructorsConfigurationBlock_description);
    fList.setRemoveButtonIndex(IDX_REMOVE);
    fList.enableButton(IDX_EDIT, false);
    fList.setViewerComparator(new ViewerComparator());

    PixelConverter pixelConverter = new PixelConverter(parent);

    fList.doFillIntoGrid(parent, 3);
    LayoutUtil.setHorizontalSpan(fList.getLabelControl(null), 2);
    LayoutUtil.setWidthHint(fList.getLabelControl(null), pixelConverter.convertWidthInCharsToPixels(60));
    LayoutUtil.setHorizontalGrabbing(fList.getListControl(null));

    Control listControl = fList.getListControl(null);
    GridData gd = (GridData) listControl.getLayoutData();
    gd.verticalAlignment = GridData.FILL;
    gd.grabExcessVerticalSpace = true;
    gd.heightHint = pixelConverter.convertHeightInCharsToPixels(10);
}

From source file:ext.org.eclipse.jdt.internal.ui.javadocexport.JavadocStandardWizardPage.java

License:Open Source License

private void createListDialogField(Composite composite) {
    Composite c = new Composite(composite, SWT.NONE);
    c.setFont(composite.getFont());/*from   www  .  j  a v a 2  s.c  o m*/
    c.setLayout(createGridLayout(3));
    c.setLayoutData(createGridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL, 4, 0));
    ((GridLayout) c.getLayout()).marginWidth = 0;

    String[] buttonlabels = new String[] {
            JavadocExportMessages.JavadocStandardWizardPage_selectallbutton_label,
            JavadocExportMessages.JavadocStandardWizardPage_clearallbutton_label,
            JavadocExportMessages.JavadocStandardWizardPage_configurebutton_label };

    JavadocLinkDialogLabelProvider labelProvider = new JavadocLinkDialogLabelProvider();

    ListAdapter adapter = new ListAdapter();

    fListDialogField = new CheckedListDialogField<JavadocLinkRef>(adapter, buttonlabels, labelProvider);
    fListDialogField.setDialogFieldListener(adapter);
    fListDialogField.setCheckAllButtonIndex(0);
    fListDialogField.setUncheckAllButtonIndex(1);
    fListDialogField.setViewerComparator(new ViewerComparator());

    createLabel(c, SWT.NONE, JavadocExportMessages.JavadocStandardWizardPage_referencedclasses_label,
            createGridData(GridData.HORIZONTAL_ALIGN_BEGINNING, 4, 0));
    fListDialogField.doFillIntoGrid(c, 3);

    LayoutUtil.setHorizontalGrabbing(fListDialogField.getListControl(null));

    fListDialogField.enableButton(2, false);
}

From source file:ext.org.eclipse.jdt.internal.ui.preferences.CodeAssistAdvancedConfigurationBlock.java

License:Open Source License

private void createDefaultViewer(Composite composite, int h_span) {
    fDefaultViewer = CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.BORDER);
    Table table = fDefaultViewer.getTable();
    table.setHeaderVisible(true);/*from   w  w w  .ja  va2  s .  c o m*/
    table.setLinesVisible(false);
    table.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, h_span, 1));

    TableColumn nameColumn = new TableColumn(table, SWT.NONE);
    nameColumn.setText(
            PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_category_column_title);
    nameColumn.setResizable(false);
    TableColumn keyColumn = new TableColumn(table, SWT.NONE);
    keyColumn.setText(
            PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_keybinding_column_title);
    keyColumn.setResizable(false);

    fDefaultViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            boolean checked = event.getChecked();
            ModelElement element = (ModelElement) event.getElement();
            element.setInDefaultCategory(checked);
        }
    });

    fDefaultViewer.setContentProvider(new ArrayContentProvider());

    DefaultTableLabelProvider labelProvider = new DefaultTableLabelProvider();
    fDefaultViewer.setLabelProvider(labelProvider);
    fDefaultViewer.setInput(fModel.elements);
    fDefaultViewer.setComparator(new ViewerComparator()); // sort alphabetically

    final int ICON_AND_CHECKBOX_WITH = 50;
    final int HEADER_MARGIN = 20;
    int minNameWidth = computeWidth(table, nameColumn.getText()) + HEADER_MARGIN;
    int minKeyWidth = computeWidth(table, keyColumn.getText()) + HEADER_MARGIN;
    for (int i = 0; i < fModel.elements.size(); i++) {
        minNameWidth = Math.max(minNameWidth,
                computeWidth(table, labelProvider.getColumnText(fModel.elements.get(i), 0))
                        + ICON_AND_CHECKBOX_WITH);
        minKeyWidth = Math.max(minKeyWidth,
                computeWidth(table, labelProvider.getColumnText(fModel.elements.get(i), 1)));
    }

    nameColumn.setWidth(minNameWidth);
    keyColumn.setWidth(minKeyWidth);
}

From source file:ext.org.eclipse.jdt.internal.ui.preferences.CodeAssistFavoritesConfigurationBlock.java

License:Open Source License

private void createFavoriteList(Composite parent) {
    String[] buttonLabels = new String[] {
            PreferencesMessages.CodeAssistStaticMembersConfigurationBlock_newType_button,
            PreferencesMessages.CodeAssistStaticMembersConfigurationBlock_newMember_button,
            PreferencesMessages.CodeAssistStaticMembersConfigurationBlock_edit_button,
            PreferencesMessages.CodeAssistStaticMembersConfigurationBlock_remove_button };

    ListAdapter adapter = new ListAdapter();

    fList = new ListDialogField<String>(adapter, buttonLabels, new ListLabelProvider());
    fList.setDialogFieldListener(adapter);
    fList.setLabelText(PreferencesMessages.CodeAssistStaticMembersConfigurationBlock_description);
    fList.setRemoveButtonIndex(IDX_REMOVE);
    fList.enableButton(IDX_EDIT, false);
    fList.setViewerComparator(new ViewerComparator());

    PixelConverter pixelConverter = new PixelConverter(parent);

    fList.doFillIntoGrid(parent, 3);//  ww  w  .jav a2 s. c  o m
    LayoutUtil.setHorizontalSpan(fList.getLabelControl(null), 2);
    LayoutUtil.setWidthHint(fList.getLabelControl(null), pixelConverter.convertWidthInCharsToPixels(60));
    LayoutUtil.setHorizontalGrabbing(fList.getListControl(null));
}