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:org.csstudio.dal.ui.internal.connectionview.ConnectionStateView.java

License:Open Source License

/**
 * {@inheritDoc}//from   ww w .  j a  v  a  2 s . c o  m
 */
@Override
public void createPartControl(final Composite parent) {
    // layout
    parent.setLayout(new GridLayout());

    // create button panel
    final Composite buttons = new Composite(parent, SWT.NONE);
    buttons.setLayout(new FillLayout());
    buttons.setLayoutData(LayoutUtil.createGridDataForHorizontalFillingCell());

    final FilterButton buttonAll = new FilterButton(buttons, SWT.FLAT, "all", ConnectionState.values());
    final FilterButton buttonConnected = new FilterButton(buttons, SWT.FLAT, "connected",
            ConnectionState.CONNECTED);
    final FilterButton buttonNotConnected = new FilterButton(buttons, SWT.FLAT, "not connected",
            ConnectionState.CONNECTION_LOST, ConnectionState.INITIAL, ConnectionState.CONNECTION_FAILED,
            ConnectionState.DISCONNECTED, ConnectionState.UNKNOWN);

    // create the viewer and ...
    _viewer = createChannelTable(parent);

    // .. initialize layout
    _viewer.getControl().setLayoutData(LayoutUtil.createGridDataForFillingCell());

    // .. initialize content provider
    _viewer.setContentProvider(new IStructuredContentProvider() {
        /**
         * {@inheritDoc}
         */
        @Override
        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {

        }

        /**
         * {@inheritDoc}
         */
        @Override
        public Object[] getElements(final Object parent) {
            final List<IConnector> statistics = ((IProcessVariableConnectionService) parent).getConnectors();

            // refresh the filter button states
            buttonAll.refreshLabel(statistics);
            buttonConnected.refreshLabel(statistics);
            buttonNotConnected.refreshLabel(statistics);

            return statistics.toArray();
        }

        /**
         * {@inheritDoc}
         */
        @Override
        public void dispose() {

        }

    });

    // ... initialize label provider
    _viewer.setLabelProvider(new LabelProvider());
    _viewer.setInput(
            ProcessVariableConnectionServiceFactory.getDefault().getProcessVariableConnectionService());

    // ... initialize comparators (important for sorting)
    _viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object e1, final Object e2) {
            return _sortDirection.getComparator().compare((IConnector) e1, (IConnector) e2);
        }
    });

    // ... initialize tooltip support
    ColumnViewerToolTipSupport.enableFor(_viewer, ToolTip.NO_RECREATE);

    // ... initialize context menu
    final MenuManager menuManager = new MenuManager();
    // menuManager.addMenuListener(new IMenuListener() {
    //
    // public void menuAboutToShow(final IMenuManager manager) {
    // manager.add(new GroupMarker(
    // IWorkbenchActionConstants.MB_ADDITIONS));
    // }
    // });

    menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));

    _viewer.getControl().setMenu(menuManager.createContextMenu(_viewer.getControl()));

    getViewSite().registerContextMenu(menuManager, _viewer);
    getViewSite().setSelectionProvider(_viewer);

    // initialize the update job
    _updateJob = new UIJob("Update Connector State View") {
        @Override
        public IStatus runInUIThread(final IProgressMonitor monitor) {
            _viewer.refresh();
            if (!monitor.isCanceled()) {
                _updateJob.schedule(2000);
                return Status.OK_STATUS;
            } else {
                return Status.CANCEL_STATUS;
            }
        }
    };

    _updateJob.schedule(5000);

}

From source file:org.dawnsci.internal.intro.universal.CustomizationContentsArea.java

License:Open Source License

private void createPageContainer() {
    pageContainer = new Composite(tabFolder, SWT.NULL);
    GridLayout layout = new GridLayout();
    //layout.horizontalSpacing = 10;
    pageContainer.setLayout(layout);/*from   w  w w  . j a  v  a  2s.com*/
    layout.numColumns = 4;
    //layout.makeColumnsEqualWidth = true;
    Label label;
    label = new Label(pageContainer, SWT.WRAP);
    label.setText(Messages.WelcomeCustomizationPreferencePage_pageDesc);
    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gd.horizontalSpan = 4;
    label.setLayoutData(gd);
    label = new Label(pageContainer, SWT.SEPARATOR | SWT.HORIZONTAL);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gd.horizontalSpan = 4;
    label.setLayoutData(gd);
    label = new Label(pageContainer, SWT.NULL);
    label.setText(Messages.WelcomeCustomizationPreferencePage_available);
    gd = new GridData();
    label.setLayoutData(gd);
    label = new Label(pageContainer, SWT.SEPARATOR | SWT.VERTICAL);
    gd = new GridData(GridData.VERTICAL_ALIGN_FILL);
    gd.verticalSpan = 3;
    gd.widthHint = 10;
    label.setLayoutData(gd);

    label = new Label(pageContainer, SWT.NULL);
    label.setText(Messages.WelcomeCustomizationPreferencePage_left);
    label = new Label(pageContainer, SWT.NULL);
    label.setText(Messages.WelcomeCustomizationPreferencePage_right);
    available = createTableViewer(pageContainer, "hidden"); //$NON-NLS-1$
    available.setComparator(new ViewerComparator());
    gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
    gd.verticalSpan = 2;
    gd.widthHint = 100;
    //gd.horizontalSpan = 2;
    available.getControl().setLayoutData(gd);

    topLeft = createTableViewer(pageContainer, "top-left"); //$NON-NLS-1$
    gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 100;
    topLeft.getControl().setLayoutData(gd);

    topRight = createTableViewer(pageContainer, "top-right"); //$NON-NLS-1$
    gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 100;
    topRight.getControl().setLayoutData(gd);

    //label = new Label(pageContainer, SWT.NULL);
    //label.setText(Messages.WelcomeCustomizationPreferencePage_bottom);
    bottomLeft = createTableViewer(pageContainer, "bottom-left"); //$NON-NLS-1$
    gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 100;
    bottomLeft.getControl().setLayoutData(gd);

    bottomRight = createTableViewer(pageContainer, "bottom-right"); //$NON-NLS-1$
    gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 100;
    bottomRight.getControl().setLayoutData(gd);
}

From source file:org.destecs.ide.debug.launching.ui.aca.DseMainTab.java

License:Open Source License

void createInterperterGroupCheckGroup(Composite controlGroup) {
    Group group = new Group(controlGroup, SWT.NONE);
    group.setText("Base Configuration");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);

    group.setLayoutData(gd);// w w  w  .j a v a  2s . com

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 2;
    group.setLayout(layout);

    fBaseLaunchConfigNameText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    fBaseLaunchConfigNameText.setLayoutData(gd);
    fBaseLaunchConfigNameText.addModifyListener(fListener);

    Button selectProjectButton = createPushButton(group, "Browse...", null);

    selectProjectButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            class LaunchConfigContentProvider implements ITreeContentProvider {

                public void dispose() {

                }

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

                }

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

                public Object[] getChildren(Object parentElement) {
                    return null;
                }

                public Object getParent(Object element) {
                    return null;
                }

                public boolean hasChildren(Object element) {
                    return false;
                }
            }
            ;
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    DebugUITools.newDebugModelPresentation(), new LaunchConfigContentProvider());
            dialog.setTitle("Base Launch Configuration Selection");
            dialog.setMessage("Select a launch configuration:");
            dialog.setComparator(new ViewerComparator());

            try {
                // see class: LaunchConfigurationFilteredTree and LaunchConfigurationView for launchconfig display
                dialog.setInput(DebugPlugin.getDefault().getLaunchManager()
                        .getLaunchConfigurations(getConfigurationType()));
            } catch (CoreException e1) {
                DestecsDebugPlugin.log(e1);
            }

            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null && dialog.getFirstResult() instanceof ILaunchConfiguration

                ) {
                    fBaseLaunchConfigNameText
                            .setText(((ILaunchConfiguration) dialog.getFirstResult()).getName());
                }

            }
        }
    });

    checkBoxShowOctavePlot = new Button(group, SWT.CHECK);
    checkBoxShowOctavePlot.setText("Show plot automaticaly when the script runs");
    checkBoxShowOctavePlot.setSelection(false);
    checkBoxShowOctavePlot.addSelectionListener(fListener);

    new Label(group, SWT.CHECK);
    checkBoxDataIntensive = new Button(group, SWT.CHECK);
    checkBoxDataIntensive.setText("Data intensive");
    checkBoxDataIntensive.setSelection(false);
    checkBoxDataIntensive.addSelectionListener(fListener);
    checkBoxDataIntensive.setToolTipText(
            "Automatically hides generated output from the explorer. Automatically checked if more than 500 generated tests");

}

From source file:org.destecs.ide.debug.launching.ui.CoSimLaunchConfigurationTab.java

License:Open Source License

private void createSimConfig(Composite parent) {
    Group group = new Group(parent, parent.getStyle());
    group.setText("Simulation Configuration");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    group.setLayoutData(gd);//from  w w w. j  a  va2s. c o m

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 4;
    group.setLayout(layout);

    Label label = new Label(group, SWT.MIN);
    label.setText("Script:");
    gd = new GridData(GridData.BEGINNING);
    label.setLayoutData(gd);

    fScenarioText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    fScenarioText.setLayoutData(gd);
    fScenarioText.addModifyListener(fListener);

    selectScenarioButton = createPushButton(group, "Browse...", null);
    selectScenarioButton.setEnabled(false);
    selectScenarioButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider());
            dialog.setTitle("Scenario Selection");
            dialog.setMessage("Select a scenario:");
            dialog.setComparator(new ViewerComparator());
            dialog.addFilter(new FileExtensionFilter("script"));
            dialog.setInput(ResourcesPlugin.getWorkspace().getRoot().getProject(fProjectText.getText())
                    .getFolder("scenarios"));

            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null) {
                    fScenarioText
                            .setText(((IFile) dialog.getFirstResult()).getProjectRelativePath().toString());
                    removeScenarioButton.setEnabled(true);
                }

            }
        }
    });

    removeScenarioButton = createPushButton(group, "Remove", null);

    if (fScenarioText.getText().equals("")) {
        removeScenarioButton.setEnabled(false);
    } else {
        removeScenarioButton.setEnabled(true);

    }

    removeScenarioButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            fScenarioText.setText("");
        }
    });

}

From source file:org.destecs.ide.debug.launching.ui.CoSimLaunchConfigurationTab.java

License:Open Source License

private void createPathsSelection(Composite parent) {
    Group group = new Group(parent, parent.getStyle());
    group.setText("Simulation Model Paths");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);

    group.setLayoutData(gd);/*from  w  ww .  java 2 s.c  o m*/

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 3;
    group.setLayout(layout);

    // DE Line
    Label deLabel = new Label(group, SWT.NONE);
    deLabel.setText("DE Path:");
    dePath = new Text(group, SWT.BORDER | SWT.READ_ONLY);
    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    dePath.setLayoutData(gridData);
    dePath.setText("Insert DE model path here");
    createPushButton(group, "Browse...", null).setEnabled(false);

    // CT Line
    Label ctLabel = new Label(group, SWT.MIN);
    ctLabel.setText("CT Path:");
    gd = new GridData(GridData.BEGINNING);
    ctLabel.setLayoutData(gd);

    ctPath = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    ctPath.setLayoutData(gd);
    ctPath.addModifyListener(fListener);

    selectCtPathButton = createPushButton(group, "Browse...", null);
    selectCtPathButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider());
            dialog.setTitle("20-Sim Model Selection");
            dialog.setMessage("Select a 20-Sim Model:");
            dialog.setComparator(new ViewerComparator());
            dialog.addFilter(new FileExtensionFilter("emx"));
            dialog.setInput(ResourcesPlugin.getWorkspace().getRoot().getProject(fProjectText.getText())
                    .getFolder("model_ct"));

            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null) {
                    ctPath.setText(((IFile) dialog.getFirstResult()).getProjectRelativePath().toString());

                }
            }
        }
    });

}

From source file:org.destecs.ide.debug.launching.ui.CoSimLaunchConfigurationTab.java

License:Open Source License

private void createProjectSelection(Composite parent) {
    Group group = new Group(parent, parent.getStyle());
    group.setText("Project");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);

    group.setLayoutData(gd);/*  w w  w.java 2s . c  o m*/

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 3;
    group.setLayout(layout);

    Label label = new Label(group, SWT.MIN);
    label.setText("Project:");
    gd = new GridData(GridData.BEGINNING);
    label.setLayoutData(gd);

    fProjectText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    fProjectText.setLayoutData(gd);
    fProjectText.addModifyListener(fListener);

    Button selectProjectButton = createPushButton(group, "Browse...", null);

    selectProjectButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            class ProjectContentProvider extends BaseWorkbenchContentProvider {
                @Override
                public boolean hasChildren(Object element) {
                    if (element instanceof IProject) {
                        return false;
                    } else {
                        return super.hasChildren(element);
                    }
                }
            }
            ;
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new ProjectContentProvider());
            dialog.setTitle("Project Selection");
            dialog.setMessage("Select a project:");
            dialog.setComparator(new ViewerComparator());
            dialog.addFilter(new ViewerFilter() {
                @Override
                public boolean select(Viewer viewer, Object parentElement, Object element) {
                    try {
                        return element instanceof IProject
                                && ((IProject) element).hasNature(IDestecsCoreConstants.NATURE);
                    } catch (CoreException e) {
                        return false;
                    }
                }
            });

            dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());

            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null && dialog.getFirstResult() instanceof IProject

                ) {
                    IProject project = ((IProject) dialog.getFirstResult());
                    if (project == null) {
                        // Show error
                        return;
                    }

                    IDestecsProject dproject = (IDestecsProject) project.getAdapter(IDestecsProject.class);
                    dePath.setText(dproject.getVdmModelFolder().getProjectRelativePath().toString());
                    fProjectText.setText(project.getName());
                }

            }
        }
    });
}

From source file:org.destecs.ide.debug.launching.ui.VdmTab.java

License:Open Source License

private void createArchitectureGroup(Composite comp) {

    Group group = new Group(comp, comp.getStyle());
    group.setText("Controller Architecture");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    group.setLayoutData(gd);//from   w  ww .j a v a2  s  .c  om

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 2;
    group.setLayout(layout);

    createArchitectureFolderGroup(group);

    Label label = new Label(group, SWT.MIN);
    label.setText("Architecture:");
    gd = new GridData(GridData.BEGINNING);
    label.setLayoutData(gd);

    fArchitecturePathText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    fArchitecturePathText.setLayoutData(gd);
    fArchitecturePathText.addModifyListener(fListener);

    selectArchitecturePathButton = createPushButton(group, "Browse...", null);
    selectArchitecturePathButton.setEnabled(true);
    selectArchitecturePathButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider());
            dialog.setTitle("Architecture Selection");
            dialog.setMessage("Select an architecture:");
            dialog.setComparator(new ViewerComparator());
            dialog.addFilter(new FileExtensionFilter(true, "arch"));
            dialog.setValidator(new ISelectionStatusValidator() {

                public IStatus validate(Object[] selection) {
                    if (selection.length == 1 && selection[0] instanceof IFile) {
                        return Status.OK_STATUS;
                    } else
                        return new Status(IStatus.ERROR, DestecsDebugPlugin.PLUGIN_ID,
                                "Invalid selection. Selection must be a file.");

                }
            });

            for (ILaunchConfigurationTab tab : getLaunchConfigurationDialog().getTabs()) {
                if (tab instanceof CoSimLaunchConfigurationTab) {
                    CoSimLaunchConfigurationTab cosimLaunchTab = (CoSimLaunchConfigurationTab) tab;
                    IProject project = cosimLaunchTab.getProject();
                    if (project != null) {
                        dialog.setInput(project.getFolder("model_de/architectures"));
                    }
                }
            }
            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null) {
                    fArchitecturePathText
                            .setText(((IFile) dialog.getFirstResult()).getProjectRelativePath().toString());

                }

            }
        }
    });

    removeArchitectureButton = createPushButton(group, "Remove", null);

    removeArchitectureButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            fArchitecturePathText.setText("");
        }
    });

}

From source file:org.destecs.ide.ui.wizards.DestecsScenarioWizardPageCreation.java

License:Open Source License

private void createProjectSelection(Composite parent) {
    Group group = new Group(parent, parent.getStyle());
    group.setText("Project");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);

    group.setLayoutData(gd);//from ww w .j  a v a 2s . c  om

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 3;
    group.setLayout(layout);

    // editParent = group;

    Label label = new Label(group, SWT.MIN);
    label.setText("Project:");
    gd = new GridData(GridData.BEGINNING);
    label.setLayoutData(gd);

    fProjectText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

    if (this.fProjectName != null) {
        fProjectText.setText(this.fProjectName);
    }
    gd = new GridData(GridData.FILL_HORIZONTAL);
    fProjectText.setLayoutData(gd);
    //      fProjectText.addModifyListener(fListener);

    Button selectProjectButton = createPushButton(group, "Browse...", null);

    selectProjectButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            class ProjectContentProvider extends BaseWorkbenchContentProvider {
                @Override
                public boolean hasChildren(Object element) {
                    if (element instanceof IProject) {
                        return false;
                    } else {
                        return super.hasChildren(element);
                    }
                }

                @SuppressWarnings("unchecked")
                @Override
                public Object[] getElements(Object element) {
                    @SuppressWarnings("rawtypes")
                    List elements = new Vector();
                    Object[] arr = super.getElements(element);
                    if (arr != null) {
                        for (Object object : arr) {
                            try {
                                if (object instanceof IProject
                                        && ((IProject) object).hasNature(IDestecsCoreConstants.NATURE)) {
                                    elements.add(object);
                                }
                            } catch (CoreException e) {
                                //Ignore it
                            }
                        }
                        return elements.toArray();
                    }
                    return null;
                }

            }
            ;
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new ProjectContentProvider());
            dialog.setTitle("Project Selection");
            dialog.setMessage("Select a project:");
            dialog.setComparator(new ViewerComparator());

            dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());

            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null && dialog.getFirstResult() instanceof IProject

                ) {
                    IProject project = ((IProject) dialog.getFirstResult());
                    setProject(project);

                    //setProjectAndsearchModels(project);

                    // selectScenarioButton.setEnabled(true);

                }

            }
        }

    });
}

From source file:org.destecs.ide.ui.wizards.DestecsWizardPageCreation.java

License:Open Source License

private void createProjectSelection(Composite parent) {
    Group group = new Group(parent, parent.getStyle());
    group.setText("Project");
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);

    group.setLayoutData(gd);//from   w ww .j  ava2s. c o  m

    GridLayout layout = new GridLayout();
    layout.makeColumnsEqualWidth = false;
    layout.numColumns = 3;
    group.setLayout(layout);

    // editParent = group;

    Label label = new Label(group, SWT.MIN);
    label.setText("Project:");
    gd = new GridData(GridData.BEGINNING);
    label.setLayoutData(gd);

    fProjectText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

    if (this.fProjectName != null) {
        fProjectText.setText(this.fProjectName);
    }
    gd = new GridData(GridData.FILL_HORIZONTAL);
    fProjectText.setLayoutData(gd);
    fProjectText.addModifyListener(fListener);

    Button selectProjectButton = createPushButton(group, "Browse...", null);

    selectProjectButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            class ProjectContentProvider extends BaseWorkbenchContentProvider {
                @Override
                public boolean hasChildren(Object element) {
                    if (element instanceof IProject) {
                        return false;
                    } else {
                        return super.hasChildren(element);
                    }
                }

                @SuppressWarnings("unchecked")
                @Override
                public Object[] getElements(Object element) {
                    @SuppressWarnings("rawtypes")
                    List elements = new Vector();
                    Object[] arr = super.getElements(element);
                    if (arr != null) {
                        for (Object object : arr) {
                            try {
                                if (object instanceof IProject
                                        && ((IProject) object).hasNature(IDestecsCoreConstants.NATURE)) {
                                    elements.add(object);
                                }
                            } catch (CoreException e) {
                                // Ignore it
                            }
                        }
                        return elements.toArray();
                    }
                    return null;
                }

            }
            ;
            ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new ProjectContentProvider());
            dialog.setTitle("Project Selection");
            dialog.setMessage("Select a project:");
            dialog.setComparator(new ViewerComparator());

            dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());

            if (dialog.open() == Window.OK) {
                if (dialog.getFirstResult() != null && dialog.getFirstResult() instanceof IProject

                ) {
                    IProject project = ((IProject) dialog.getFirstResult());
                    setProject(project);

                    // setProjectAndsearchModels(project);

                    // selectScenarioButton.setEnabled(true);

                }

            }
        }

    });

    Group groupFile = new Group(parent, parent.getStyle());
    groupFile.setText(fName);
    GridData gdFile = new GridData(GridData.FILL_HORIZONTAL);

    groupFile.setLayoutData(gdFile);

    GridLayout layoutFile = new GridLayout();
    layoutFile.makeColumnsEqualWidth = false;
    layoutFile.numColumns = 2;
    groupFile.setLayout(layoutFile);

    // editParent = group;

    Label labelFile = new Label(groupFile, SWT.MIN);
    labelFile.setText("Name:");
    gdFile = new GridData(GridData.BEGINNING);
    labelFile.setLayoutData(gdFile);

    fFileText = new Text(groupFile, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
    fFileText.setEditable(fFileNameEditable);
    if (initialFileName != null) {
        fFileText.setText(initialFileName);
    }
    gdFile = new GridData(GridData.FILL_HORIZONTAL);
    fFileText.setLayoutData(gdFile);
    fFileText.addModifyListener(fListener);

    Object o = fStructuredSelection.getFirstElement();

    if (o != null && o instanceof IProject) {
        IProject p = (IProject) o;
        IDestecsProject dp = (IDestecsProject) p.getAdapter(IDestecsProject.class);

        if (dp != null) {
            // this.project = p;
            this.fProjectName = p.getName();
            // this.validSelection = true;
            updatePage();
        }
    }
}

From source file:org.dita_op.dost.launcher.internal.ui.launchConfiguration.DOSTArgumentsGroup.java

License:Open Source License

/**
 * Creates and returns a configured table viewer in the given parent
 *///from   w ww .  j ava  2 s  . c  o m
private TableViewer createTableViewer(Composite parent) {
    Table table = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);

    table.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableViewer tableViewer = new TableViewer(table);
    final EntryLabelProvider labelProvider = new EntryLabelProvider();
    tableViewer.setLabelProvider(labelProvider);
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.addSelectionChangedListener(tableListener);
    tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return labelProvider.getColumnText(e1, 0).compareToIgnoreCase(labelProvider.getColumnText(e2, 0));
        }
    });

    TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    for (int i = 0; i < tableColumnHeaders.length; i++) {
        tableLayout.addColumnData(tableColumnLayouts[i]);
        TableColumn column = new TableColumn(table, SWT.NONE, i);
        column.setResizable(tableColumnLayouts[i].resizable);
        column.setText(tableColumnHeaders[i]);
    }

    return tableViewer;
}