List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:org.eclipse.papyrus.diagram.common.service.palette.StereotypePostAction.java
License:Open Source License
/** * Action done when the add button is pressed * //from w w w . j a va 2s.co m * @param tree * */ protected void performAddButtonPressed(TreeViewer tree) { TreeSelection selection = (TreeSelection) tree.getSelection(); Object selectedElement = selection.getFirstElement(); if (selection != null && selection.size() == 1 && !(selectedElement instanceof StereotypeRepresentation)) { if (selectedElement instanceof PropertyRepresentation) { //We want add a value to a multi-valued property or edit a value to a mono-valued property PropertyRepresentation prop = (PropertyRepresentation) selectedElement; if (prop.getUpperMultiplicity() != 1) { editMe(prop, null);//we add a value } else if (!prop.getValues().isEmpty()) { //mono-valued property and the valu exists editMe(prop, prop.getValues().get(0)); } else {//monovalued property, the value doesn't exist editMe(prop, null); } tree.refresh(selectedElement); } return; } // pops-up a dialog window where users can select the additionnal stereotypes to apply // it needs the metaclass information... // for this, entry Proxy should be a Palette entry proxy if (!(entryProxy instanceof IPaletteAspectToolEntryProxy)) { return; } PaletteEntry entry = ((IPaletteAspectToolEntryProxy) entryProxy).getEntry(); if (!(entry instanceof ToolEntry)) { return; } // this is a PaletteAspectToolEntryProxy // try to find the metaclass on which the element is working EClass metaClass = PaletteUtil.getToolMetaclass((ToolEntry) entry); if (metaClass == null) { Activator.log.error("Impossible to find metaclass", null); //$NON-NLS-1$ return; } // retrieve the original stereotype list from the qualified names List<Stereotype> stereotypeList = config.getUMLStereotypes();//retrieveStereotypesFromQualifiedNames(); // we have all applied profiles, the list of already applied stereotypes, the metaclass of the created element... // just have to open a selection dialog final CheckedTreeSelectionDialog selectionDialog = new CheckedTreeSelectionDialog( DisplayUtils.getDisplay().getActiveShell(), editorLabelProvider, new ProfileContentProvider(metaClass)); selectionDialog.setTitle(Messages.StereotypePostAction_StereotypeSelectionTitle); selectionDialog.setMessage(Messages.StereotypePostAction_StereotypeSelectionMessage); selectionDialog.setContainerMode(true); selectionDialog.setInitialElementSelections(stereotypeList); selectionDialog.setInput(config.getAppliedProfiles()); selectionDialog.setExpandedElements(config.getAppliedProfiles().toArray()); ViewerComparator comparator = new ViewerComparator(); selectionDialog.setComparator(comparator); if (CheckedTreeSelectionDialog.OK == selectionDialog.open()) { // update the list of stereotype to apply Object[] result = selectionDialog.getResult(); ArrayList<String> stereotypesToApply = new ArrayList<String>(); for (int i = 0; i < result.length; i++) { if (result[i] instanceof Stereotype) { stereotypesToApply.add(((Stereotype) result[i]).getQualifiedName()); } } config.setStereotypesRepresentations(stereotypesToApply); //it's not possible to use refresh or update here! updateStereotypeViewer(); } }
From source file:org.eclipse.papyrus.uml.diagram.common.service.palette.StereotypePostAction.java
License:Open Source License
/** * Action done when the add button is pressed * //from www. j a v a2s .c o m * @param tree * */ protected void performAddButtonPressed(TreeViewer tree) { TreeSelection selection = (TreeSelection) tree.getSelection(); Object selectedElement = selection.getFirstElement(); if (selection != null && selection.size() == 1 && !(selectedElement instanceof StereotypeRepresentation)) { if (selectedElement instanceof PropertyRepresentation) { // We want add a value to a multi-valued property or edit a // value to a mono-valued property PropertyRepresentation prop = (PropertyRepresentation) selectedElement; if (prop.getUpperMultiplicity() != 1) { editMe(prop, null);// we add a value } else if (!prop.getValues().isEmpty()) { // mono-valued // property and the // valu exists editMe(prop, prop.getValues().get(0)); } else {// monovalued property, the value doesn't exist editMe(prop, null); } tree.refresh(selectedElement); } return; } // pops-up a dialog window where users can select the additionnal // stereotypes to apply // it needs the metaclass information... // for this, entry Proxy should be a Palette entry proxy if (!(entryProxy instanceof IPaletteAspectToolEntryProxy)) { return; } PaletteEntry entry = ((IPaletteAspectToolEntryProxy) entryProxy).getEntry(); if (!(entry instanceof ToolEntry)) { return; } // this is a PaletteAspectToolEntryProxy // try to find the metaclass on which the element is working EClass metaClass = PaletteUtil.getToolMetaclass((ToolEntry) entry); if (metaClass == null) { Activator.log.error("Impossible to find metaclass", null); //$NON-NLS-1$ return; } // retrieve the original stereotype list from the qualified names List<Stereotype> stereotypeList = config.getUMLStereotypes();// retrieveStereotypesFromQualifiedNames(); // we have all applied profiles, the list of already applied // stereotypes, the metaclass of the created element... // just have to open a selection dialog final CheckedTreeSelectionDialog selectionDialog = new CheckedTreeSelectionDialog( DisplayUtils.getDisplay().getActiveShell(), editorLabelProvider, new ProfileContentProvider(metaClass)); selectionDialog.setTitle(Messages.StereotypePostAction_StereotypeSelectionTitle); selectionDialog.setMessage(Messages.StereotypePostAction_StereotypeSelectionMessage); selectionDialog.setContainerMode(true); selectionDialog.setInitialElementSelections(stereotypeList); selectionDialog.setInput(config.getAppliedProfiles()); selectionDialog.setExpandedElements(config.getAppliedProfiles().toArray()); ViewerComparator comparator = new ViewerComparator(); selectionDialog.setComparator(comparator); if (CheckedTreeSelectionDialog.OK == selectionDialog.open()) { // update the list of stereotype to apply Object[] result = selectionDialog.getResult(); ArrayList<String> stereotypesToApply = new ArrayList<String>(); for (int i = 0; i < result.length; i++) { if (result[i] instanceof Stereotype) { stereotypesToApply.add(((Stereotype) result[i]).getQualifiedName()); } } config.setStereotypesRepresentations(stereotypesToApply); // it's not possible to use refresh or update here! updateStereotypeViewer(); } }
From source file:org.eclipse.pde.api.tools.ui.internal.preferences.ApiBaselinePreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH, 0, 0); SWTFactory.createWrapLabel(comp, PreferenceMessages.ApiProfilesPreferencePage_0, 2, 200); SWTFactory.createVerticalSpacer(comp, 1); Composite lcomp = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_BOTH, 0, 0); SWTFactory.createWrapLabel(lcomp, PreferenceMessages.ApiProfilesPreferencePage_1, 2); Table table = new Table(lcomp, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER | SWT.CHECK); table.setLayoutData(new GridData(GridData.FILL_BOTH)); table.addKeyListener(new KeyAdapter() { @Override//from w w w . j a v a2 s .c o m public void keyReleased(KeyEvent e) { if (e.stateMask == SWT.NONE && e.keyCode == SWT.DEL) { doRemove(); } } }); tableviewer = new CheckboxTableViewer(table); tableviewer.setLabelProvider(new BaselineLabelProvider()); tableviewer.setContentProvider(new ArrayContentProvider()); tableviewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection ss = (IStructuredSelection) event.getSelection(); doEdit((IApiBaseline) ss.getFirstElement()); } }); tableviewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IApiBaseline[] state = getCurrentSelection(); removebutton.setEnabled(state.length > 0); editbutton.setEnabled(state.length == 1); } }); tableviewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { IApiBaseline baseline = (IApiBaseline) event.getElement(); boolean checked = event.getChecked(); if (checked) { tableviewer.setCheckedElements(new Object[] { baseline }); newdefault = baseline.getName(); defaultchanged = !newdefault.equals(origdefault); } else { tableviewer.setChecked(baseline, checked); newdefault = null; manager.setDefaultApiBaseline(null); defaultchanged = true; } rebuildcount = 0; tableviewer.refresh(true); dirty = true; } }); tableviewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { return ((IApiBaseline) e1).getName().compareTo(((IApiBaseline) e2).getName()); } }); BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { @Override public void run() { backingcollection.addAll(Arrays.asList(manager.getApiBaselines())); tableviewer.setInput(backingcollection); } }); Composite bcomp = SWTFactory.createComposite(lcomp, 1, 1, GridData.FILL_VERTICAL | GridData.VERTICAL_ALIGN_BEGINNING, 0, 0); newbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_2, null); newbutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ApiBaselineWizard wizard = new ApiBaselineWizard(null); WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard); if (dialog.open() == IDialogConstants.OK_ID) { IApiBaseline profile = wizard.getProfile(); if (profile != null) { backingcollection.add(profile); tableviewer.refresh(); tableviewer.setSelection(new StructuredSelection(profile), true); if (backingcollection.size() == 1) { newdefault = profile.getName(); tableviewer.setCheckedElements(new Object[] { profile }); tableviewer.refresh(profile); defaultchanged = true; rebuildcount = 0; } dirty = true; } } } }); editbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_4, null); editbutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doEdit(getCurrentSelection()[0]); } }); editbutton.setEnabled(false); removebutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_3, null); removebutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doRemove(); } }); removebutton.setEnabled(false); SWTFactory.createVerticalSpacer(bcomp, 1); IApiBaseline baseline = manager.getDefaultApiBaseline(); if (baseline != null) { tableviewer.setCheckedElements(new Object[] { baseline }); } origdefault = newdefault = (baseline == null ? null : baseline.getName()); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IApiToolsHelpContextIds.APIBASELINE_PREF_PAGE); block = new ApiBaselinesConfigurationBlock((IWorkbenchPreferenceContainer) getContainer()); block.createControl(comp, this); Dialog.applyDialogFont(comp); return comp; }
From source file:org.eclipse.pde.api.tools.ui.internal.use.ApiUsePatternTab.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH); SWTFactory.createWrapLabel(comp, Messages.ApiUsePatternTab_patterns, 2, 100); Composite tcomp = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_BOTH, 0, 0); GridData gd = (GridData) tcomp.getLayoutData(); gd.grabExcessHorizontalSpace = true; Table table = new Table(tcomp, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI); table.setHeaderVisible(true);/*from ww w . j av a 2s. co m*/ TableLayout layout = new TableLayout(); for (int i = 0; i < columndata.length; i++) { layout.addColumnData(columndata[i]); } table.setLayout(layout); gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.widthHint = 250; table.setLayoutData(gd); this.viewer = new TableViewer(table); this.viewer.setColumnProperties(columnnames); this.viewer.setComparator(new ViewerComparator() { @Override public int category(Object element) { return ((Pattern) element).kind; } }); this.viewer.setLabelProvider(new Labels()); this.viewer.setContentProvider(new ArrayContentProvider()); this.viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons((IStructuredSelection) event.getSelection()); } }); this.viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { doEdit(); } }); TableColumn column = null; for (int i = 0; i < columnnames.length; i++) { column = new TableColumn(table, SWT.NONE); column.setResizable(false); column.setMoveable(false); column.setText(columnnames[i]); } this.viewer.setInput(this.patterns); table.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { doRemove(); } } }); Composite bcomp = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_VERTICAL, 0, 0); this.addbutton = SWTFactory.createPushButton(bcomp, Messages.ApiUsePatternTab_add, null); this.addbutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { PatternWizard wizard = new PatternWizard(null, -1); WizardDialog dialog = new WizardDialog(getShell(), wizard); if (dialog.open() == IDialogConstants.OK_ID) { addPattern(wizard.getPattern(), wizard.getKind()); ApiUsePatternTab.this.viewer.refresh(true, true); updateLaunchConfigurationDialog(); } } }); this.editbutton = SWTFactory.createPushButton(bcomp, Messages.ApiUsePatternTab_edit, null); this.editbutton.setEnabled(false); this.editbutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doEdit(); } }); this.removebutton = SWTFactory.createPushButton(bcomp, Messages.ApiUsePatternTab_remove, null); this.removebutton.setEnabled(false); this.removebutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doRemove(); } }); PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.API_USE_PATTERN_TAB); setControl(comp); }
From source file:org.eclipse.pde.api.tools.ui.internal.use.PatternSelectionPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 1, 2, GridData.FILL_BOTH); SWTFactory.createWrapLabel(comp, Messages.PatternSelectionPage_pattern_types, 1); this.viewer = new TableViewer(new Table(comp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION)); this.viewer.setLabelProvider(new LP()); this.viewer.setContentProvider(new ArrayContentProvider()); this.viewer.setInput(fgelements); this.viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override//w w w. j ava 2 s . c o m public void selectionChanged(SelectionChangedEvent event) { String desc = getSelectedElement().desc; PatternSelectionPage.this.description .setText((desc == null ? Messages.PatternSelectionPage_no_desc : desc)); setPageComplete(isPageComplete()); } }); this.viewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { return ((PatternElement) e1).name.compareTo(((PatternElement) e2).name); } }); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = 100; this.viewer.getTable().setLayoutData(gd); SWTFactory.createHorizontalSpacer(comp, 1); SWTFactory.createWrapLabel(comp, Messages.PatternSelectionPage_description, 1); this.description = new Text(comp, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP); this.description.setEnabled(false); gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = 50; this.description.setLayoutData(gd); if (fgelements != null && fgelements.length > 0) { this.viewer.setSelection(new StructuredSelection(this.viewer.getElementAt(0)), true); } setControl(comp); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IApiToolsHelpContextIds.APITOOLS_PATTERN_SELECTION_WIZARD_PAGE); }
From source file:org.eclipse.pde.api.tools.ui.internal.views.APIToolingView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w w w. ja v a 2 s.com*/ */ @Override public void createPartControl(Composite parent) { ViewForm form = new ViewForm(parent, SWT.FLAT); PlatformUI.getWorkbench().getHelpSystem().setHelp(form, IApiToolsHelpContextIds.API_TOOLING_VIEW); this.sessionDescription = SWTFactory.createLabel(form, null, 1); form.setTopCenterSeparate(true); form.setTopCenter(this.sessionDescription); this.viewer = new TreeViewer(form, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); this.viewer.setContentProvider(new ViewContentProvider()); this.viewer.setComparator(new ViewerComparator() { @Override public int category(Object element) { ITreeNode node = (ITreeNode) element; switch (node.getId()) { case ITreeNode.PACKAGE: return 1; default: return 0; } } }); this.viewer.setLabelProvider(new ViewLabelProvider()); createActions(); updateActions(); configureToolbar(); hookDoubleClickAction(); form.setContent(this.viewer.getTree()); getSite().setSelectionProvider(this.viewer); final ISessionManager sessionManager = ApiPlugin.getDefault().getSessionManager(); ISession[] sessions = sessionManager.getSessions(); if (sessions.length > 0) { ISession activeSession = sessionManager.getActiveSession(); if (sessions[0] != activeSession) { sessionManager.activateSession(sessions[0]); } else { this.viewer.setInput(activeSession); updateActions(); } } }
From source file:org.eclipse.pde.api.tools.ui.internal.wizards.ApiBaselineWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 4, 1, GridData.FILL_HORIZONTAL); SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_5, 1); nametext = SWTFactory.createText(comp, SWT.BORDER | SWT.SINGLE, 3, GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING); nametext.addModifyListener(new ModifyListener() { @Override// w w w . j av a2 s. c om public void modifyText(ModifyEvent e) { setPageComplete(pageValid()); } }); IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments(); ArrayList<String> items = new ArrayList<String>(); for (int i = 0; i < envs.length; i++) { if (envs[i].getCompatibleVMs().length > 0) { items.add(envs[i].getId()); } } Collections.sort(items, new Comparator<Object>() { @Override public int compare(Object o1, Object o2) { return ((String) o1).compareTo((String) o2); } }); SWTFactory.createVerticalSpacer(comp, 1); SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_9, 1); locationcombo = SWTFactory.createCombo(comp, SWT.BORDER | SWT.SINGLE, 1, GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING, null); locationcombo.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { setPageComplete(pageValid()); updateButtons(); } }); browsebutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_10, null); browsebutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { DirectoryDialog dialog = new DirectoryDialog(getShell()); dialog.setMessage(WizardMessages.ApiProfileWizardPage_11); String loctext = locationcombo.getText().trim(); if (loctext.length() > 0) { dialog.setFilterPath(loctext); } String newPath = dialog.open(); if (newPath != null && (!new Path(loctext).equals(new Path(newPath)) || getCurrentComponents().length == 0)) { /* * If the path is identical, but there is no component * loaded, we still want to reload. This might be the case * if the combo is initialized by copy/paste with a path * that points to a plugin directory */ locationcombo.setText(newPath); setErrorMessage(null); doReload(); } } }); reloadbutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_12, null); reloadbutton.setEnabled(locationcombo.getText().trim().length() > 0); reloadbutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doReload(); } }); SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_13, 4); Tree tree = new Tree(comp, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 250; gd.horizontalSpan = 4; tree.setLayoutData(gd); treeviewer = new TreeViewer(tree); treeviewer.setLabelProvider(new ApiToolsLabelProvider()); treeviewer.setContentProvider(new ContentProvider()); treeviewer.setComparator(new ViewerComparator()); treeviewer.setInput(getCurrentComponents()); treeviewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); treeviewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IApiComponent) { IApiComponent component = (IApiComponent) element; try { if (component.isSourceComponent() || component.isSystemComponent()) { return false; } } catch (CoreException e) { ApiPlugin.log(e); } return true; } return !(element instanceof SystemLibraryApiComponent); } }); setControl(comp); setPageComplete(fProfile != null); initialize(); PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_WIZARD_PAGE); Dialog.applyDialogFont(comp); }
From source file:org.eclipse.pde.api.tools.ui.internal.wizards.ApiToolingSetupWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH); setControl(comp);/*from ww w .j a v a2s .com*/ PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.API_TOOLING_SETUP_WIZARD_PAGE); SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_6, 1, 100); SWTFactory.createVerticalSpacer(comp, 1); SWTFactory.createWrapLabel(comp, WizardMessages.ApiToolingSetupWizardPage_6, 1, 50); final Text text = SWTFactory.createText(comp, SWT.BORDER, 1); text.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { updatejob.setFilter(text.getText().trim()); updatejob.cancel(); updatejob.schedule(); } }); text.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { if (tableviewer != null) { tableviewer.getTable().setFocus(); } } } }); SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_8, 1, 50); Table table = new Table(comp, SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK | SWT.MULTI); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 150; table.setLayoutData(gd); tableviewer = new CheckboxTableViewer(table); tableviewer.setLabelProvider(new WorkbenchLabelProvider()); tableviewer.setContentProvider(new ArrayContentProvider()); tableviewer.setInput(getInputProjects()); tableviewer.setComparator(new ViewerComparator()); tableviewer.addFilter(filter); tableviewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { checkedset.add(event.getElement()); } else { checkedset.remove(event.getElement()); } setPageComplete(pageValid()); } }); Composite bcomp = SWTFactory.createComposite(comp, 3, 1, GridData.FILL_HORIZONTAL | GridData.END, 0, 0); Button button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_10, null); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { tableviewer.setAllChecked(true); checkedset.addAll(Arrays.asList(tableviewer.getCheckedElements())); setPageComplete(pageValid()); } }); button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_11, null); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { tableviewer.setAllChecked(false); TableItem[] items = tableviewer.getTable().getItems(); for (int i = 0; i < items.length; i++) { checkedset.remove(items[i].getData()); } setPageComplete(pageValid()); } }); checkcount = SWTFactory.createText(bcomp, SWT.FLAT | SWT.READ_ONLY, 1, GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL); checkcount.setBackground(bcomp.getBackground()); Object[] selected = getWorkbenchSelection(); if (selected.length > 0) { tableviewer.setCheckedElements(selected); checkedset.addAll(Arrays.asList(selected)); } setPageComplete(checkedset.size() > 0); SWTFactory.createVerticalSpacer(comp, 1); removecxml = SWTFactory.createCheckButton(comp, WizardMessages.ApiToolingSetupWizardPage_0, null, true, 1); IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().getSection(SETTINGS_SECTION); if (settings != null) { removecxml.setSelection(settings.getBoolean(SETTINGS_REMOVECXML)); } }
From source file:org.eclipse.pde.api.tools.ui.internal.wizards.DirectoryBasedApiBaselineWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 4, 1, GridData.FILL_HORIZONTAL); SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_5, 1); nametext = SWTFactory.createText(comp, SWT.BORDER | SWT.SINGLE, 3, GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING); nametext.addModifyListener(new ModifyListener() { @Override//from ww w .j a v a2 s. c o m public void modifyText(ModifyEvent e) { setPageComplete(pageValid()); } }); SWTFactory.createVerticalSpacer(comp, 1); SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_9, 1); locationcombo = SWTFactory.createCombo(comp, SWT.BORDER | SWT.SINGLE, 1, GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING, null); locationcombo.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { setPageComplete(pageValid()); updateButtons(); } }); browsebutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_10, null); browsebutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { DirectoryDialog dialog = new DirectoryDialog(getShell()); dialog.setMessage(WizardMessages.ApiProfileWizardPage_11); String loctext = locationcombo.getText().trim(); if (loctext.length() > 0) { dialog.setFilterPath(loctext); } String newPath = dialog.open(); if (newPath != null && (!new Path(loctext).equals(new Path(newPath)) || getCurrentComponents().length == 0)) { /* * If the path is identical, but there is no component * loaded, we still want to reload. This might be the case * if the combo is initialized by copy/paste with a path * that points to a plugin directory */ locationcombo.setText(newPath); setErrorMessage(null); doReload(); } } }); reloadbutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_12, null); reloadbutton.setEnabled(locationcombo.getText().trim().length() > 0); reloadbutton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doReload(); } }); SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_13, 4); Tree tree = new Tree(comp, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 250; gd.horizontalSpan = 4; tree.setLayoutData(gd); treeviewer = new TreeViewer(tree); treeviewer.setLabelProvider(new ApiToolsLabelProvider()); treeviewer.setContentProvider(new ContentProvider()); treeviewer.setComparator(new ViewerComparator()); treeviewer.setInput(getCurrentComponents()); treeviewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); treeviewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IApiComponent) { IApiComponent component = (IApiComponent) element; try { if (component.isSourceComponent() || component.isSystemComponent()) { return false; } } catch (CoreException e) { ApiPlugin.log(e); } return true; } return !(element instanceof SystemLibraryApiComponent); } }); setControl(comp); setPageComplete(fProfile != null); initialize(); PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_WIZARD_PAGE); Dialog.applyDialogFont(comp); }
From source file:org.eclipse.pde.api.tools.ui.internal.wizards.JavadocConversionPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH); setControl(comp);/* w w w. ja v a2s . c om*/ PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.JAVADOC_CONVERSION_WIZARD_PAGE); SWTFactory.createWrapLabel(comp, WizardMessages.JavadocConversionPage_select_pjs_to_convert, 1, 100); SWTFactory.createVerticalSpacer(comp, 1); SWTFactory.createWrapLabel(comp, WizardMessages.ApiToolingSetupWizardPage_6, 1, 50); final Text text = SWTFactory.createText(comp, SWT.BORDER, 1); text.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { updatejob.setFilter(text.getText().trim()); updatejob.cancel(); updatejob.schedule(); } }); text.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { if (tableviewer != null) { tableviewer.getTable().setFocus(); } } } }); SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_8, 1, 50); Table table = new Table(comp, SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK | SWT.MULTI); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 150; table.setLayoutData(gd); tableviewer = new CheckboxTableViewer(table); tableviewer.setLabelProvider(new WorkbenchLabelProvider()); tableviewer.setContentProvider(new ArrayContentProvider()); IProject[] input = Util.getApiProjectsMinSourceLevel(JavaCore.VERSION_1_5); if (input == null) { setMessage(WizardMessages.JavadocConversionPage_0, IMessageProvider.WARNING); } else { tableviewer.setInput(input); } tableviewer.setComparator(new ViewerComparator()); tableviewer.addFilter(filter); tableviewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { checkedset.add(event.getElement()); } else { checkedset.remove(event.getElement()); } setPageComplete(pageValid()); } }); Composite bcomp = SWTFactory.createComposite(comp, 3, 1, GridData.FILL_HORIZONTAL | GridData.END, 0, 0); Button button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_10, null); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { tableviewer.setAllChecked(true); checkedset.addAll(Arrays.asList(tableviewer.getCheckedElements())); setPageComplete(pageValid()); } }); button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_11, null); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { tableviewer.setAllChecked(false); TableItem[] items = tableviewer.getTable().getItems(); for (int i = 0; i < items.length; i++) { checkedset.remove(items[i].getData()); } setPageComplete(pageValid()); } }); checkcount = SWTFactory.createText(bcomp, SWT.FLAT | SWT.READ_ONLY, 1, GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL); checkcount.setBackground(bcomp.getBackground()); Object[] selected = getWorkbenchSelection(); if (selected.length > 0) { tableviewer.setCheckedElements(selected); checkedset.addAll(Arrays.asList(selected)); } setPageComplete(tableviewer.getCheckedElements().length > 0); SWTFactory.createVerticalSpacer(comp, 1); removetags = SWTFactory.createCheckButton(comp, WizardMessages.JavadocConversionPage_delete_tags_during_conversion, null, true, 1); IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().getSection(SETTINGS_SECTION); if (settings != null) { removetags.setSelection(settings.getBoolean(SETTINGS_REMOVE_TAGS)); } }