in org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/RepositorySelectionWizardPage.java [259:356]
public void createControl(Composite parent) {
Composite displayArea = new Composite(parent, SWT.NONE);
GridLayoutFactory.swtDefaults().numColumns(2).applyTo(displayArea);
Label repoLabel = new Label(displayArea, SWT.NONE);
repoLabel.setText(Messages.RepositorySelectionWizardPage_LabelRepos);
GridDataFactory.fillDefaults().grab(true, false).span(2, 1)
.applyTo(repoLabel);
tree = new FilteredCheckboxTree(displayArea, null, SWT.V_SCROLL
| SWT.H_SCROLL | SWT.BORDER, new PatternFilter());
CheckboxTreeViewer viewer = tree.getCheckboxTreeViewer();
viewer.setContentProvider(new WorkbenchContentProvider());
viewer.setLabelProvider(new RepositoryLabelProvider());
viewer.setComparator(new ViewerComparator() {
@Override
public int compare(Viewer v, Object e1, Object e2) {
if (e1 instanceof OrganizationAdapter)
if (e2 instanceof OrganizationAdapter)
return ((OrganizationAdapter) e1)
.getLabel(e1)
.compareToIgnoreCase(
((OrganizationAdapter) e2).getLabel(e2));
else if (e2 instanceof RepositoryAdapter)
return 1;
if (e1 instanceof RepositoryAdapter)
if (e2 instanceof RepositoryAdapter)
return ((RepositoryAdapter) e1).getLabel(e1)
.compareToIgnoreCase(
((RepositoryAdapter) e2).getLabel(e2));
else if (e2 instanceof OrganizationAdapter)
return -1;
return super.compare(v, e1, e2);
}
});
viewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
updateSelectionLabel();
}
});
GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);
ToolBar toolbar = new ToolBar(displayArea, SWT.FLAT | SWT.VERTICAL);
GridDataFactory.fillDefaults().grab(false, true).applyTo(toolbar);
ToolItem checkItem = new ToolItem(toolbar, SWT.PUSH);
checkItem.setImage(GitHubImages.get(GitHubImages.GITHUB_CHECKALL_OBJ));
checkItem
.setToolTipText(Messages.RepositorySelectionWizardPage_TooltipCheckAll);
checkItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
tree.getCheckboxTreeViewer().setAllChecked(true);
for (Object leaf : tree.getCheckboxTreeViewer()
.getCheckedLeafElements())
tree.getCheckboxTreeViewer().setChecked(leaf, true);
updateSelectionLabel();
}
});
ToolItem uncheckItem = new ToolItem(toolbar, SWT.PUSH);
uncheckItem.setImage(GitHubImages
.get(GitHubImages.GITHUB_UNCHECKALL_OBJ));
uncheckItem
.setToolTipText(Messages.RepositorySelectionWizardPage_TooltipUncheckAll);
uncheckItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
tree.getCheckboxTreeViewer().setCheckedElements(new Object[0]);
updateSelectionLabel();
}
});
selectedLabel = new Label(displayArea, SWT.NONE);
GridDataFactory.fillDefaults().grab(true, false).span(2, 1)
.applyTo(selectedLabel);
addGistRepoButton = new Button(displayArea, SWT.CHECK);
addGistRepoButton
.setText(Messages.RepositorySelectionWizardPage_LabelAddGist);
addGistRepoButton.setSelection(true);
GridDataFactory.swtDefaults().span(2, 1).applyTo(addGistRepoButton);
addGistRepoButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
validatePage();
}
});
setControl(displayArea);
setPageComplete(false);
}