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:com.siteview.mde.internal.ui.wizards.imports.CVSBundleImportPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH);
    Composite group = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_HORIZONTAL);

    Button versions = SWTFactory.createRadioButton(group, MDEUIMessages.CVSBundleImportPage_3);
    useHead = SWTFactory.createRadioButton(group, MDEUIMessages.CVSBundleImportPage_2);
    SelectionListener listener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            bundlesViewer.refresh(true);
        }/*from w  w  w .ja  va 2 s.  co  m*/
    };
    versions.addSelectionListener(listener);
    useHead.addSelectionListener(listener);

    Table table = new Table(comp, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 200;
    gd.widthHint = 225;
    table.setLayoutData(gd);

    bundlesViewer = new TableViewer(table);
    bundlesViewer.setLabelProvider(new CvsLabelProvider());
    bundlesViewer.setContentProvider(new ArrayContentProvider());
    bundlesViewer.setComparator(new ViewerComparator());
    counterLabel = new Label(comp, SWT.NONE);
    counterLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    setControl(comp);
    setPageComplete(true);

    // initialize versions versus HEAD
    IDialogSettings settings = getWizard().getDialogSettings();
    boolean head = false;
    boolean found = false;
    if (settings != null) {
        String string = settings.get(CVS_PAGE_USE_HEAD);
        if (string != null) {
            found = true;
            head = settings.getBoolean(CVS_PAGE_USE_HEAD);
        }
    }

    if (!found) {
        for (int i = 0; i < descriptions.length; i++) {
            CvsBundleImportDescription description = (CvsBundleImportDescription) descriptions[i];
            if (description.getTag() != null) {
                head = false;
                break;
            }
        }
    }
    useHead.setSelection(head);
    versions.setSelection(!head);

    if (descriptions != null) {
        bundlesViewer.setInput(descriptions);
        updateCount();
    }

    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IHelpContextIds.PLUGIN_IMPORT_CVS_PAGE);
}

From source file:com.siteview.mde.internal.ui.wizards.RequiredPluginsContainerPage.java

License:Open Source License

/**
 * Insert the method's description here.
 * @see WizardPage#createControl/*from ww  w  .j av a 2s  .  c o  m*/
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout());
    Label label = new Label(container, SWT.NULL);
    label.setText(MDEUIMessages.RequiredPluginsContainerPage_label);
    viewer = new TableViewer(container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    viewer.setContentProvider(new EntryContentProvider());
    viewer.setLabelProvider(new EntryLabelProvider());
    viewer.setComparator(new ViewerComparator());

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 400;
    gd.heightHint = 300;
    viewer.getTable().setLayoutData(gd);

    PlatformUI.getWorkbench().getHelpSystem().setHelp(container, IHelpContextIds.PLUGINS_CONTAINER_PAGE);
    setControl(container);
    Dialog.applyDialogFont(container);
    if (realEntries != null)
        initializeView();

    PlatformUI.getWorkbench().getHelpSystem().setHelp(container, IHelpContextIds.REQUIRED_PLUINGS_CONTAINER);
}

From source file:com.siteview.mde.internal.ui.wizards.target.TargetDefinitionContentPage.java

License:Open Source License

private void createImpTable(Composite container) {
    fElementViewer = new TableViewer(container, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 250;//from  w ww .jav  a2  s.c  o  m
    fElementViewer.getControl().setLayoutData(gd);
    fElementViewer.getControl().setFont(container.getFont());
    fElementViewer.setContentProvider(new DefaultTableProvider() {
        public Object[] getElements(Object inputElement) {
            ITargetDefinition target = getTargetDefinition();
            if (target != null) {
                NameVersionDescriptor[] bundles = target.getImplicitDependencies();
                if (bundles != null) {
                    return bundles;
                }
            }
            return new NameVersionDescriptor[0];
        }
    });
    fElementViewer.setLabelProvider(new StyledBundleLabelProvider(false, false));
    fElementViewer.setInput(MDEPlugin.getDefault());
    fElementViewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            NameVersionDescriptor bundle1 = (NameVersionDescriptor) e1;
            NameVersionDescriptor bundle2 = (NameVersionDescriptor) e2;
            return super.compare(viewer, bundle1.getId(), bundle2.getId());
        }
    });
    fElementViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateImpButtons();
        }
    });
    fElementViewer.getTable().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.character == SWT.DEL && e.stateMask == 0) {
                handleRemove();
            }
        }
    });
}

From source file:com.sonatype.buildserver.eclipse.ui.view.JobView.java

License:Open Source License

private void createViewer(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

    tree = viewer.getTree();//from  ww w. ja va2 s .c  om

    tree.setHeaderVisible(true);

    columnSelectionListener = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeColumn oldSortColumn = tree.getSortColumn();
            TreeColumn sortColumn = (TreeColumn) e.widget;
            if (sortColumn == oldSortColumn) {
                int sortDirection = tree.getSortDirection();
                tree.setSortDirection(sortDirection == SWT.UP ? SWT.DOWN : SWT.UP);
            } else {
                tree.setSortColumn(sortColumn);
            }
            viewer.refresh();
        }
    };

    statusColumn = new TreeViewerColumn(viewer, SWT.CENTER);
    statusColumn.getColumn().setWidth(40);
    statusColumn.getColumn().setText(Messages.jobView_columns_status);
    statusColumn.getColumn().addSelectionListener(columnSelectionListener);
    statusColumn.setLabelProvider(new JobLabelProvider(JobLabelProvider.STATUS_COLUMN));

    weatherColumn = new TreeViewerColumn(viewer, SWT.CENTER);
    weatherColumn.getColumn().setWidth(30);
    weatherColumn.getColumn().setText(Messages.jobView_columns_weather);
    weatherColumn.getColumn().addSelectionListener(columnSelectionListener);
    weatherColumn.setLabelProvider(new JobLabelProvider(JobLabelProvider.WEATHER_COLUMN));

    nameColumn = new TreeViewerColumn(viewer, SWT.NONE);
    nameColumn.getColumn().setText(Messages.jobView_columns_name);
    nameColumn.getColumn().addSelectionListener(columnSelectionListener);
    nameColumn.setLabelProvider(new JobLabelProvider(JobLabelProvider.NAME_COLUMN));

    if (!HudsonUIActivator.getDefault().getPreferenceStore().getBoolean(HIDE_COLUMN_SERVER)) {
        serverColumn = createServerColumn();
    }

    if (!HudsonUIActivator.getDefault().getPreferenceStore().getBoolean(HIDE_COLUMN_LAST_BUILD)) {
        lastBuildColumn = createLastBuildColumn();
    }

    ColumnViewerToolTipSupport.enableFor(viewer, ColumnViewerToolTipSupport.RECREATE);

    tree.addControlListener(new ControlListener() {
        public void controlResized(ControlEvent e) {
            resizeColumns();
            viewer.getTree().removeControlListener(this);
        }

        public void controlMoved(ControlEvent e) {
        }
    });

    viewer.setContentProvider(new ITreeContentProvider() {
        public boolean hasChildren(Object element) {
            return false;
        }

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

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

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

        public void dispose() {
        }

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

    new org.eclipse.core.runtime.jobs.Job(Messages.background_loading_prefs) {
        protected IStatus run(IProgressMonitor monitor) {
            try {
                CompositeMonitor loadedMonitor = HudsonUtils.loadDefaultMonitor();
                assert loadedMonitor != null;
                setMonitor(loadedMonitor);
                return Status.OK_STATUS;
            } catch (Exception e) {
                setMonitor(new CompositeMonitor());
                log.error("Error loading default composite monitor", e);
                return new Status(IStatus.ERROR, HudsonUIActivator.PLUGIN_ID, e.getMessage(), e);
            }
        }
    }.schedule();

    tree.setSortColumn(nameColumn.getColumn());
    tree.setSortDirection(SWT.UP);
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            int direction = tree.getSortDirection();
            int directModifier = direction == SWT.UP ? 1 : -1;
            int column = tree.indexOf(tree.getSortColumn());
            switch (column) {
            case JobLabelProvider.STATUS_COLUMN:
                e1 = getBuildResult(e1);
                e2 = getBuildResult(e2);
                break;
            case JobLabelProvider.WEATHER_COLUMN:
                return directModifier * (getBuildHealth(e1) - getBuildHealth(e2));
            case JobLabelProvider.LAST_BUILD_COLUMN:
                return directModifier * (getBuildTime(e1) - getBuildTime(e2) < 0 ? -1 : 1);
            default:
                e1 = labelProvider.getColumnText(e1, column);
                e2 = labelProvider.getColumnText(e2, column);
                break;
            }
            int result = super.compare(viewer, e1, e2);
            return directModifier * result;
        }

        private String getBuildResult(Object o) {
            if (o instanceof HudsonJob) {
                ProjectDTO job = ((HudsonJob) o).getJobDetails();
                if (job != null) {
                    BuildDTO build = job.getLastBuild();
                    if (build != null) {
                        return String.valueOf(build.getResult());
                    }
                }
            }
            return null;
        }

        private int getBuildHealth(Object o) {
            if (o instanceof HudsonJob) {
                ProjectDTO job = ((HudsonJob) o).getJobDetails();
                if (job != null) {
                    HealthDTO health = job.getHealth();
                    if (health != null) {
                        return health.getScore();
                    }
                }
            }
            return -1;
        }

        private long getBuildTime(Object o) {
            if (o instanceof HudsonJob) {
                ProjectDTO job = ((HudsonJob) o).getJobDetails();
                if (job != null) {
                    BuildDTO build = job.getLastBuild();
                    if (build != null) {
                        return build.getTimeStamp();
                    }
                }
            }
            return -1;
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            boolean empty = viewer.getSelection().isEmpty();
            StructuredSelection ss = (StructuredSelection) viewer.getSelection();
            boolean hasOnlyDeclared = true;
            for (Object o : ss.toList()) {
                HudsonJob b = (HudsonJob) o;
                if (b.isMonitored()) {
                    hasOnlyDeclared = false;
                    break;
                }
            }
            buildNowAction.setEnabled(!empty);
            removeAction.setEnabled(!empty && !hasOnlyDeclared);
            showTestResultAction.setEnabled(!empty);
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            openAction.run();
        }
    });
}

From source file:com.symbian.tdep.templates.carbide.SetTestableItemsPage.java

License:Open Source License

/**
 * Implement method of IDialogPage to create UI of this wizard page
 *///  www .j  a v  a  2  s  .c om
public void createControl(Composite aComposite) {
    initializeDialogUnits(aComposite);

    IWizardPage lpage = this;
    while ((lpage = lpage.getPreviousPage()) != null) {
        if (lpage instanceof NewProjectPage) {
            iNewProjectPage = (NewProjectPage) lpage;
            break;
        }
    }

    final Composite lComposite = new Composite(aComposite, SWT.NONE);
    {
        lComposite.setLayout(new GridLayout(1, false));
        lComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

        setControl(lComposite);

        iTreeViewer = new TreeViewer(lComposite, SWT.BORDER);

        // Content Provider
        iTreeViewer.setContentProvider(new ClassMethodContentProvider());

        // Label Provider
        iTreeViewer.setLabelProvider(new ClassMethodLabelProvider());

        // Selection Changed listener
        iTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                checkButtonState();
            }
        });

        iTreeViewer.setComparator(new ViewerComparator());

        // Double Click Listener
        iTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                iSelectedItem = (ITestItem) selection.getFirstElement();
                if (iSelectedItem instanceof ClassItem) {
                    iBtnEditClass.notifyListeners(SWT.Selection, null);
                }
                if (iSelectedItem instanceof MethodItem) {
                    iBtnEditMethod.notifyListeners(SWT.Selection, null);
                }
            }
        });
        iTree = iTreeViewer.getTree();
        iTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    }

    final Composite lBtnComposite = new Composite(lComposite, SWT.NONE);
    {
        lBtnComposite.setLayout(new GridLayout(3, true));
        lBtnComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        // Add Class Button
        iBtnAddClass = new Button(lBtnComposite, SWT.PUSH);
        iBtnAddClass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnAddClass.setText(Messages.getString("ClassDialog.AddClass"));
        iBtnAddClass.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                try {
                    ClassEditDialog dialog = new ClassEditDialog(lBtnComposite.getShell(),
                            Messages.getString("ClassDialog.AddClassTitle"), iProject);

                    if (dialog.open()) {
                        iProject.addChild(dialog.getClassItem());
                        iTreeViewer.add(iProject, dialog.getClassItem());
                        iTreeViewer.expandToLevel(dialog.getClassItem(), 0);
                    }
                    setPageComplete(isPageComplete());
                } catch (Exception e) {
                    e.printStackTrace();
                    IStatus lStatus = new Status(IStatus.WARNING, SetTestableItemsPage.class.getName(),
                            "Exception was thrown while adding class.", e);
                    TefTemplatesCarbidePlugin.getDefault().getLog().log(lStatus);
                }
            }
        });

        // Edit Class Button
        iBtnEditClass = new Button(lBtnComposite, SWT.PUSH);
        iBtnEditClass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnEditClass.setText(Messages.getString("ClassDialog.EditClass"));
        iBtnEditClass.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                ClassItem item;
                if (iSelectedItem instanceof ClassItem) {
                    item = (ClassItem) iSelectedItem;
                } else {
                    item = (ClassItem) iSelectedItem.getParent();
                }
                ClassEditDialog dialog = new ClassEditDialog(lBtnComposite.getShell(),
                        Messages.getString("ClassDialog.EditClassTitle"), item);
                if (dialog.open()) {
                    iTreeViewer.update(item, null);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Delete Class Button
        iBtnDeleteClass = new Button(lBtnComposite, SWT.PUSH);
        iBtnDeleteClass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnDeleteClass.setText(Messages.getString("ClassDialog.DeleteClass"));
        iBtnDeleteClass.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                ClassItem item;
                if (iSelectedItem instanceof ClassItem) {
                    item = (ClassItem) iSelectedItem;
                } else {
                    item = (ClassItem) iSelectedItem.getParent();
                }
                boolean rlt = MessageDialog.openQuestion(lBtnComposite.getShell(),
                        Messages.getString("ClassDialog.ConfirmDelete"),
                        Messages.getString("ClassDialog.WhetherDeleteClass", item.getTestName()));
                if (rlt) {
                    ((ProjectItem) item.getParent()).removeChild(item);
                    iTreeViewer.remove(item);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Add Method Button
        iBtnAddMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnAddMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnAddMethod.setText(Messages.getString("MethodDialog.AddMethod"));
        iBtnAddMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                try {
                    ClassItem item;
                    if (iSelectedItem instanceof ClassItem) {
                        item = (ClassItem) iSelectedItem;
                    } else {
                        item = (ClassItem) iSelectedItem.getParent();
                    }
                    MethodEditDialog dialog = new MethodEditDialog(lBtnComposite.getShell(),
                            Messages.getString("MethodDialog.AddMethodTitle"), item);
                    if (dialog.open()) {
                        item.addChild(dialog.getMethodItem());
                        iTreeViewer.add(item, dialog.getMethodItem());
                        iTreeViewer.expandToLevel(dialog.getMethodItem(), 0);
                    }
                    setPageComplete(isPageComplete());
                } catch (Exception e) {
                    IStatus lStatus = new Status(IStatus.WARNING, SetTestableItemsPage.class.getName(),
                            "Exception was thrown while adding method.", e);
                    TefTemplatesCarbidePlugin.getDefault().getLog().log(lStatus);
                }
            }
        });

        // Edit Method Button
        iBtnEditMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnEditMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnEditMethod.setText(Messages.getString("MethodDialog.EditMethod"));
        iBtnEditMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                MethodItem item = (MethodItem) iSelectedItem;
                MethodEditDialog dialog = new MethodEditDialog(lBtnComposite.getShell(),
                        Messages.getString("MethodDialog.EditMethodTitle"), item);
                if (dialog.open()) {
                    iTreeViewer.update(item, null);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Delete Method Button
        iBtnDeleteMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnDeleteMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnDeleteMethod.setText(Messages.getString("MethodDialog.DeleteMethod"));
        iBtnDeleteMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                MethodItem item = (MethodItem) iSelectedItem;
                boolean rlt = MessageDialog.openQuestion(lBtnComposite.getShell(),
                        Messages.getString("MethodDialog.ConfirmDelete"),
                        Messages.getString("MethodDialog.WhetherDeleteMethod", item.getTestName()));
                if (rlt) {
                    ((ClassItem) item.getParent()).removeChild(item);
                    iTreeViewer.remove(item);
                }
                setPageComplete(isPageComplete());
            }
        });
    }

    ((WizardDialog) getContainer()).addPageChangingListener(new IPageChangingListener() {
        public void handlePageChanging(PageChangingEvent event) {
            IWizardPage lTarPage = (IWizardPage) event.getTargetPage();
            if (lTarPage instanceof SetTestableItemsPage) {
                iProject.setName(iNewProjectPage.getProjectName());
                iTreeViewer.refresh();
            }
        }
    });

    // Set Input
    Vector vector = new Vector();
    vector.add(iProject);
    iTreeViewer.setInput(vector);
    iTreeViewer.setSelection(new TreeSelection(new TreePath(new Object[] { iProject })));
}

From source file:com.vectrace.MercurialEclipse.search.MercurialTextSearchResultPage.java

License:Open Source License

@Override
protected void configureTreeViewer(TreeViewer viewer) {
    viewer.setUseHashlookup(true);/*w w w.j a v  a  2 s.  co m*/
    contentProvider = new MercurialTextSearchTreeContentProvider(this, viewer);
    viewer.setContentProvider(contentProvider);
    MercurialTextSearchTreeLabelProvider innerLabelProvider = new MercurialTextSearchTreeLabelProvider(this,
            MercurialTextSearchTreeLabelProvider.SHOW_LABEL);
    viewer.setLabelProvider(new DecoratingMercurialTextSearchLabelProvider(innerLabelProvider));
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer v, Object e1, Object e2) {
            if (e1 instanceof HgFile && e2 instanceof HgFile) {
                HgFile mrs1 = (HgFile) e1;
                HgFile mrs2 = (HgFile) e2;

                if (mrs1.getIPath().equals(mrs2.getIPath())) {
                    return mrs1.getChangeSet().compareTo(mrs2.getChangeSet());
                }
            } else if (e1 instanceof MercurialMatch && e2 instanceof MercurialMatch) {
                MercurialMatch m1 = (MercurialMatch) e1;
                MercurialMatch m2 = (MercurialMatch) e2;
                return m1.getLineNumber() - m2.getLineNumber();
            }
            return super.compare(v, e1, e2);
        }
    });
}

From source file:com.vectrace.MercurialEclipse.ui.CommitFilesChooser.java

License:Open Source License

public CommitFilesChooser(Composite container, boolean selectable, List<IResource> resources,
        boolean showUntracked, boolean showMissing, boolean showClean) {
    super(container, container.getStyle());
    this.selectable = selectable;
    this.showUntracked = showUntracked;
    this.missing = showMissing;
    this.showClean = showClean;
    this.untrackedFilesFilter = new UntrackedFilesFilter(missing);
    this.committableFilesFilter = new CommittableFilesFilter();

    GridLayout layout = new GridLayout();
    layout.verticalSpacing = 3;/*from   w  w  w. ja v  a2s . c o m*/
    layout.horizontalSpacing = 0;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    setLayout(layout);

    setLayoutData(SWTWidgetHelper.getFillGD(150));

    Table table = createTable();
    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(new ArrayContentProvider());
    CommitResourceLabelProvider labelProvider = new CommitResourceLabelProvider();
    labelProvider.addListener(new ILabelProviderListener() {
        public void labelProviderChanged(LabelProviderChangedEvent event) {
            int count = viewer.getTable().getItemCount();
            for (int i = 0; i < count; i++) {
                CommitResource commitResource = (CommitResource) viewer.getElementAt(i);
                viewer.update(commitResource, null);
            }
        }
    });
    viewer.setLabelProvider(labelProvider);
    viewer.setComparator(new ViewerComparator());
    viewer.addFilter(committableFilesFilter);
    if (!showUntracked) {
        viewer.addFilter(untrackedFilesFilter);
    }

    createOptionCheckbox();
    createShowDiffButton(container);
    createFileSelectionListener();

    makeActions();
    if (resources != null) {
        setResources(resources);
    }
}

From source file:com.vectrace.MercurialEclipse.wizards.ProjectsImportPage.java

License:Open Source License

/**
 * Create the checkbox list for the found projects.
 *//* w w  w .  j ava2 s .c o m*/
private void createProjectsList(Composite workArea) {

    Group listComposite = new Group(workArea, SWT.NONE);
    listComposite.setText("Projects");
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 0;
    layout.makeColumnsEqualWidth = false;
    listComposite.setLayout(layout);

    listComposite.setLayoutData(
            new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH));

    projectsList = new CheckboxTreeViewer(listComposite, SWT.BORDER);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = convertWidthInCharsToPixels(25);
    gridData.heightHint = convertHeightInCharsToPixels(10);
    projectsList.getControl().setLayoutData(gridData);
    projectsList.setContentProvider(new ITreeContentProvider() {
        public Object[] getChildren(Object parentElement) {
            if (hasChildren(parentElement)) {
                return getSubProjectRecords();
            }
            return null;
        }

        public Object[] getElements(Object inputElement) {
            if (selectedProjects.length == 0) {
                return new Object[0];
            }
            if (isMainProjectActive()) {
                Object[] root = new Object[1];
                root[0] = selectedProjects[0];
                return root;
            }
            return getSubProjectRecords();
        }

        public boolean hasChildren(Object element) {
            return isMainProjectActive() && (element == selectedProjects[0]) && (selectedProjects.length > 1);
        }

        public Object getParent(Object element) {
            return (isMainProjectActive() && (element != selectedProjects[0])) ? selectedProjects[0] : null;
        }

        public void dispose() {
        }

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

    final ProjectLabelProvider labelProvider = new ProjectLabelProvider();
    projectsList.setLabelProvider(labelProvider);

    projectsList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ProjectRecord element = (ProjectRecord) event.getElement();
            if (!element.hasConflicts && event.getChecked()) {
                enableProject(element);
            } else {
                disableProject(element);
            }
        }
    });

    projectsList.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object element = selection.getFirstElement();
            if (!(element instanceof ProjectRecord)) {
                return;
            }
            final ProjectRecord record = (ProjectRecord) element;
            IInputValidator validator = new IInputValidator() {
                public String isValid(String newText) {
                    ProjectRecord[] projects = selectedProjects;
                    for (ProjectRecord pr : projects) {
                        if (pr != record && pr.projectName.equals(newText)) {
                            return "A project with same name already exists";
                        }
                    }
                    if (isProjectInWorkspace(newText)) {
                        return "A project with same name already exists";
                    }
                    if (newText.length() == 0) {
                        return "Project name cannot be empty";
                    }
                    return null;
                }
            };
            InputDialog input = new InputDialog(getShell(), "Clone repository",
                    "Change project name for imported project", record.projectName, validator);
            int ok = input.open();
            if (ok == Window.OK) {
                record.projectName = input.getValue();
                record.hasConflicts = isProjectInWorkspace(record.projectName);
            }
            validateSelectedProjects();
            if (!record.hasConflicts) {
                enableProject(record);
            } else {
                disableProject(record);
            }
            fixFinishState();
            projectsList.refresh(true);
        }
    });

    projectsList.setInput(this);
    projectsList.setComparator(new ViewerComparator());
    createSelectionButtons(listComposite);
}

From source file:com.wdev91.eclipse.copyright.preferences.FormatsPanel.java

License:Open Source License

protected void createContent() {
    FontData[] fontData = this.getFont().getFontData();

    GridLayout layout = new GridLayout(4, false);
    layout.marginHeight = 5;/*from w  w  w  . j a v  a  2s  .c  o  m*/
    layout.marginWidth = 5;
    this.setLayout(layout);

    contentTypesViewer = new TreeViewer(this, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    contentTypesViewer.getControl().setFont(this.getFont());
    contentTypesViewer.setContentProvider(new ContentTypesContentProvider(true));
    contentTypesViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            IContentType contentType = (IContentType) element;
            return contentType.getName();
        }
    });
    contentTypesViewer.setComparator(new ViewerComparator());
    contentTypesViewer.setInput(Platform.getContentTypeManager());
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    data.heightHint = (fontData.length > 0 ? fontData[0].getHeight() : 10) * TREE_LINES_NUMBER;
    contentTypesViewer.getControl().setLayoutData(data);

    excludedButton = new Button(this, SWT.CHECK);
    excludedButton.setText(Messages.FormatsPanel_labelExcludeType);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    excludedButton.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.HeadersPreferencePage_labelFirstLine);
    firstLineText = new Text(this, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    firstLineText.setLayoutData(data);
    final Label length1 = new Label(this, SWT.NONE);
    length1.setText(LENGTH_LABEL_PREFIX);
    data = new GridData();
    data.widthHint = 30;
    length1.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.HeadersPreferencePage_labelLinePrefix);
    linePrefixText = new Text(this, SWT.BORDER);
    data = new GridData();
    data.horizontalSpan = 2;
    data.widthHint = 50;
    linePrefixText.setLayoutData(data);
    final Label length2 = new Label(this, SWT.NONE);
    length2.setText(LENGTH_LABEL_PREFIX);
    data = new GridData();
    data.widthHint = 30;
    length2.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.HeadersPreferencePage_labelLastLine);
    lastLineText = new Text(this, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    lastLineText.setLayoutData(data);
    final Label length3 = new Label(this, SWT.NONE);
    length3.setText(LENGTH_LABEL_PREFIX);
    data = new GridData();
    data.widthHint = 30;
    length3.setLayoutData(data);

    Label bll = new Label(this, SWT.NONE);
    bll.setText(Messages.HeadersPreferencePage_labelBlankLines);
    data = new GridData();
    data.horizontalSpan = 2;
    bll.setLayoutData(data);
    postBlankLinesText = new Text(this, SWT.BORDER);
    data = new GridData();
    data.horizontalSpan = 2;
    data.widthHint = 20;
    postBlankLinesText.setLayoutData(data);

    lineFormatButton = new Button(this, SWT.CHECK);
    lineFormatButton.setText(Messages.HeadersPreferencePage_checkLineFormat);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    lineFormatButton.setLayoutData(data);

    preserveFirstLineButton = new Button(this, SWT.CHECK);
    preserveFirstLineButton.setText(Messages.HeadersPreferencePage_checkPreserveFirstLine);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    preserveFirstLineButton.setLayoutData(data);

    new Label(this, SWT.NONE).setText(Messages.FormatsPanel_labelFirstLinePattern);
    firstLinePatternText = new Text(this, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    firstLinePatternText.setLayoutData(data);
    firstLinePatternText.setEnabled(false);

    clearButton = new Button(this, SWT.PUSH);
    clearButton.setText(Messages.HeadersPreferencePage_buttonClear);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 4;
    data.horizontalAlignment = GridData.END;
    data.widthHint = Math.max(convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH),
            clearButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
    clearButton.setLayoutData(data);

    contentTypesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            saveCurrentFormat();
            changeSelection();
        }
    });
    excludedButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setEnabled(true);
        }
    });
    preserveFirstLineButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            firstLinePatternText.setEnabled(preserveFirstLineButton.getSelection());
        }
    });
    clearButton.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            clearFields();
        }
    });
    ModifyListener listener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (e.widget == firstLineText) {
                length1.setText(LENGTH_LABEL_PREFIX + firstLineText.getText().length());
            } else if (e.widget == linePrefixText) {
                length2.setText(LENGTH_LABEL_PREFIX + linePrefixText.getText().length());
            } else if (e.widget == lastLineText) {
                length3.setText(LENGTH_LABEL_PREFIX + lastLineText.getText().length());
            }
        }
    };
    firstLineText.addModifyListener(listener);
    linePrefixText.addModifyListener(listener);
    lastLineText.addModifyListener(listener);
}

From source file:com.wuetherich.osgi.ds.annotations.internal.preferences.fwk.ProjectSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    // page group
    Composite composite = (Composite) super.createDialogArea(parent);

    Font font = parent.getFont();
    composite.setFont(font);/*from   w ww  .  j a v  a 2s. c om*/

    createMessageArea(composite);

    _tableViewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    _tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            doSelectionChanged(((IStructuredSelection) event.getSelection()).toArray());
        }
    });
    _tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
    data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
    _tableViewer.getTable().setLayoutData(data);

    _tableViewer.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public Image getImage(Object element) {
            return PlatformUI.getWorkbench().getSharedImages()
                    .getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT);
        }

        @Override
        public String getText(Object element) {
            return ((IProject) element).getName();
        }
    });
    _tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    _tableViewer.setComparator(new ViewerComparator());
    _tableViewer.getControl().setFont(font);

    _tableViewer.setInput(DsAnnotationsCore.getDsAnnotationAwareProjects());

    doSelectionChanged(new Object[0]);
    Dialog.applyDialogFont(composite);
    return composite;
}