List of usage examples for org.eclipse.jface.viewers TableViewer getControl
@Override
public Control getControl()
From source file:org.eclipse.linuxtools.internal.valgrind.massif.birt.ChartSVG.java
License:Open Source License
public void callback(Object event, Object source, CallBackValue value) { // give Valgrind view focus showView();/* w w w .j a v a 2s.com*/ MouseEvent mEvent = (MouseEvent) event; DataPointHints point = ((DataPointHints) ((WrappedStructureSource) source).getSource()); // select the corresponding snapshot in the TableViewer TableViewer viewer = view.getTableViewer(); view.setTopControl(viewer.getControl()); MassifSnapshot snapshot = (MassifSnapshot) viewer.getElementAt(point.getIndex()); switch (mEvent.count) { case 1: // single click viewer.setSelection(new StructuredSelection(snapshot)); break; case 2: // double click // if (snapshot.isDetailed()) { // ChartLocationsDialog dialog = new ChartLocationsDialog(getShell()); // dialog.setInput(snapshot); // // if (dialog.open() == Window.OK) { // dialog.openEditorForResult(); // } // } } }
From source file:org.eclipse.linuxtools.internal.valgrind.massif.charting.ChartEditor.java
License:Open Source License
@Override public void createPartControl(Composite parent) { final ChartEditorInput input = (ChartEditorInput) getEditorInput(); final HeapChart heapChart = input.getChart(); control = new Chart(parent, SWT.FILL); heapChart.setChartControl(control);/*from w w w .ja v a 2 s.co m*/ final Color LIGHTYELLOW = new Color(Display.getDefault(), 255, 255, 225); final Color WHITE = Display.getDefault().getSystemColor(SWT.COLOR_WHITE); final Color BLACK = Display.getDefault().getSystemColor(SWT.COLOR_BLACK); final Color RED = Display.getDefault().getSystemColor(SWT.COLOR_RED); final Color ORANGE = new Color(Display.getDefault(), 255, 165, 0); final Color GREEN = Display.getDefault().getSystemColor(SWT.COLOR_GREEN); final Color DARK_BLUE = new Color(Display.getDefault(), 64, 128, 128); final int TICK_GAP = 40; control.setBackground(WHITE); control.setBackgroundInPlotArea(LIGHTYELLOW); FontData fd = JFaceResources.getDialogFont().getFontData()[0]; fd.setStyle(SWT.BOLD); Font font = new Font(Display.getDefault(), fd); fd.setHeight(fd.getHeight() + 2); Font titleFont = new Font(Display.getDefault(), fd); ITitle title = control.getTitle(); title.setFont(titleFont); title.setForeground(BLACK); title.setText(heapChart.title); IAxis xAxis = control.getAxisSet().getXAxis(0); xAxis.getGrid().setStyle(LineStyle.NONE); xAxis.getTick().setForeground(BLACK); ITitle xTitle = xAxis.getTitle(); xTitle.setFont(font); xTitle.setForeground(BLACK); xTitle.setText(heapChart.xUnits); IAxis yAxis = control.getAxisSet().getYAxis(0); yAxis.getGrid().setStyle(LineStyle.SOLID); yAxis.getTick().setForeground(BLACK); yAxis.getTick().setTickMarkStepHint(TICK_GAP); ITitle yTitle = yAxis.getTitle(); yTitle.setFont(font); yTitle.setText(heapChart.yUnits); yTitle.setForeground(BLACK); control.getLegend().setPosition(SWT.BOTTOM); // data final ILineSeries lsUseful = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Useful_Heap")); //$NON-NLS-1$; lsUseful.setXSeries(heapChart.time); lsUseful.setYSeries(heapChart.dataUseful); lsUseful.setSymbolType(PlotSymbolType.DIAMOND); lsUseful.setSymbolColor(RED); lsUseful.setLineColor(RED); final ILineSeries lsExtra = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Extra_Heap")); //$NON-NLS-1$; lsExtra.setXSeries(heapChart.time); lsExtra.setYSeries(heapChart.dataExtra); lsExtra.setSymbolType(PlotSymbolType.DIAMOND); lsExtra.setSymbolColor(ORANGE); lsExtra.setLineColor(ORANGE); if (heapChart.dataStacks != null) { final ILineSeries lsStack = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Stacks")); //$NON-NLS-1$; lsStack.setXSeries(heapChart.time); lsStack.setYSeries(heapChart.dataStacks); lsStack.setSymbolType(PlotSymbolType.DIAMOND); lsStack.setSymbolColor(DARK_BLUE); lsStack.setLineColor(DARK_BLUE); } final ILineSeries lsTotal = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Total_Heap")); //$NON-NLS-1$; lsTotal.setXSeries(heapChart.time); lsTotal.setYSeries(heapChart.dataTotal); lsTotal.setSymbolType(PlotSymbolType.DIAMOND); lsTotal.setSymbolColor(GREEN); lsTotal.setLineColor(GREEN); // adjust axes control.getAxisSet().adjustRange(); IAxisSet axisSet = control.getAxisSet(); Range xRange = axisSet.getXAxis(0).getRange(); Range yRange = axisSet.getYAxis(0).getRange(); double xExtra = 0.05 * (xRange.upper - xRange.lower); double yExtra = 0.05 * (yRange.upper - yRange.lower); axisSet.getXAxis(0).setRange(new Range(xRange.lower, xRange.upper + xExtra)); axisSet.getYAxis(0).setRange(new Range(yRange.lower, yRange.upper + yExtra)); // listeners control.getPlotArea().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { showView(); TableViewer viewer = input.getView().getTableViewer(); input.getView().setTopControl(viewer.getControl()); Point p = new Point(e.x, e.y); int closest = 0; double d1, d2, d3, currMin; double globalMin = Double.MAX_VALUE; for (int i = 0; i < heapChart.time.length; i++) { // get distance from click event to data points for the given index d1 = distance(lsUseful.getPixelCoordinates(i), p); d2 = distance(lsExtra.getPixelCoordinates(i), p); d3 = distance(lsTotal.getPixelCoordinates(i), p); // find the closest data point to the click event currMin = Math.min(Math.min(d1, d2), d3); if (currMin < globalMin) { closest = i; globalMin = currMin; } } MassifSnapshot snapshot = (MassifSnapshot) viewer.getElementAt(closest); viewer.setSelection(new StructuredSelection(snapshot), true); if (e.count == 2 && snapshot.isDetailed()) { ChartLocationsDialog dialog = new ChartLocationsDialog(Display.getCurrent().getActiveShell()); dialog.setInput(snapshot); if (dialog.open() == Window.OK) { dialog.openEditorForResult(); } } } }); }
From source file:org.eclipse.mylyn.internal.gerrit.ui.editor.PatchSetSection.java
License:Open Source License
void createSubSectionContents(final ChangeDetail changeDetail, final PatchSetDetail patchSetDetail, PatchSetPublishDetail publishDetail, Section subSection) { Composite composite = toolkit.createComposite(subSection); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite); subSection.setClient(composite);/* w ww . j av a 2 s.c o m*/ Label authorLabel = new Label(composite, SWT.NONE); authorLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); authorLabel.setText("Author"); Text authorText = new Text(composite, SWT.READ_ONLY); authorText.setText(GerritUtil.getUserLabel(patchSetDetail.getInfo().getAuthor())); Label committerLabel = new Label(composite, SWT.NONE); committerLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); committerLabel.setText("Committer"); Text committerText = new Text(composite, SWT.READ_ONLY); committerText.setText(GerritUtil.getUserLabel(patchSetDetail.getInfo().getCommitter())); Label commitLabel = new Label(composite, SWT.NONE); commitLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); commitLabel.setText("Commit"); Hyperlink commitLink = new Hyperlink(composite, SWT.READ_ONLY); commitLink.setText(patchSetDetail.getPatchSet().getRevision().get()); commitLink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent event) { GerritToGitMapping mapping = getRepository(changeDetail); if (mapping != null) { final FetchPatchSetJob job = new FetchPatchSetJob("Opening Commit Viewer", mapping.getRepository(), mapping.getRemote(), patchSetDetail.getPatchSet()); job.schedule(); job.addJobChangeListener(new JobChangeAdapter() { @Override public void done(IJobChangeEvent event) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { CommitEditor.openQuiet(job.getCommit()); } }); } }); } } }); Label refLabel = new Label(composite, SWT.NONE); refLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); refLabel.setText("Ref"); Text refText = new Text(composite, SWT.READ_ONLY); refText.setText(patchSetDetail.getPatchSet().getRefName()); final TableViewer viewer = new TableViewer(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL); GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(500, SWT.DEFAULT) .applyTo(viewer.getControl()); viewer.setContentProvider(new IStructuredContentProvider() { private EContentAdapter modelAdapter; public void dispose() { // ignore } public Object[] getElements(Object inputElement) { return getReviewItems(inputElement).toArray(); } private List<IReviewItem> getReviewItems(Object inputElement) { if (inputElement instanceof IReviewItemSet) { return ((IReviewItemSet) inputElement).getItems(); } return Collections.emptyList(); } public void inputChanged(final Viewer viewer, Object oldInput, Object newInput) { if (modelAdapter != null) { for (IReviewItem item : getReviewItems(oldInput)) { ((EObject) item).eAdapters().remove(modelAdapter); } addedDrafts = 0; } if (newInput instanceof IReviewItemSet) { // monitors any new topics that are added modelAdapter = new EContentAdapter() { @Override public void notifyChanged(Notification notification) { super.notifyChanged(notification); if (notification.getFeatureID(IReviewItem.class) == ReviewsPackage.REVIEW_ITEM__TOPICS && notification.getEventType() == Notification.ADD) { viewer.refresh(); addedDrafts++; } } }; for (Object item : getReviewItems(newInput)) { ((EObject) item).eAdapters().add(modelAdapter); } } } }); viewer.setLabelProvider(new DelegatingStyledCellLabelProvider(new ReviewItemLabelProvider())); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); IFileItem item = (IFileItem) selection.getFirstElement(); if (item != null) { doOpen((IReviewItemSet) viewer.getInput(), item); } } }); IReviewItemSet itemSet = GerritUtil.createInput(changeDetail, new GerritPatchSetContent(patchSetDetail), cache); viewer.setInput(itemSet); Composite actionComposite = createActions(changeDetail, patchSetDetail, publishDetail, composite); GridDataFactory.fillDefaults().span(2, 1).applyTo(actionComposite); subSectionExpanded(changeDetail, patchSetDetail, subSection, viewer); EditorUtil.addScrollListener(viewer.getTable()); getTaskEditorPage().reflow(); }
From source file:org.eclipse.mylyn.internal.github.ui.gist.GistConnectorSelectionDialog.java
License:Open Source License
protected Control createDialogArea(Composite parent) { Composite c = (Composite) super.createDialogArea(parent); createMessageArea(c);/*from w w w . j a va 2s .com*/ TableViewer viewer = new TableViewer(c, SWT.SINGLE | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL); GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl()); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); viewer.setSorter(new ViewerSorter()); viewer.setInput(repos); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement(); setResult(Collections.singletonList(selected)); okPressed(); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement(); setResult(Collections.singletonList(selected)); } }); return c; }
From source file:org.eclipse.mylyn.internal.github.ui.RepositorySearchWizardPage.java
License:Open Source License
/** * *///from w ww .j av a 2s .c o m public void createControl(Composite parent) { final Composite root = new Composite(parent, SWT.NONE); GridLayoutFactory.swtDefaults().numColumns(1).applyTo(root); Composite rowOne = new Composite(root, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(rowOne); Label searchForLabel = new Label(rowOne, SWT.NONE); searchForLabel.setText(Messages.RepositorySearchWizardPage_SearchForRepositories); final Combo languageCombo = new Combo(rowOne, SWT.READ_ONLY | SWT.DROP_DOWN); languageCombo.add(Messages.RepositorySearchWizardPage_AnyLanguage); for (Language language : Language.values()) languageCombo.add(language.getValue()); languageCombo.select(0); Composite rowTwo = new Composite(root, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(rowTwo); GridDataFactory.fillDefaults().grab(true, false).applyTo(rowTwo); searchText = new Text(rowTwo, SWT.SINGLE | SWT.BORDER); GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(searchText); final Button searchButton = new Button(rowTwo, SWT.NONE); searchButton.setText(Messages.RepositorySearchWizardPage_SearchButton); searchButton.setEnabled(false); final TableViewer repoListViewer = new TableViewer(root); GridDataFactory.fillDefaults().grab(true, true).applyTo(repoListViewer.getControl()); repoListViewer.setContentProvider(new ArrayContentProvider()); repoListViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(new IStyledLabelProvider() { private Image repoImage = UIIcons.REPOSITORY.createImage(); public void removeListener(ILabelProviderListener listener) { } public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { repoImage.dispose(); } public void addListener(ILabelProviderListener listener) { } public StyledString getStyledText(Object element) { StyledString styled = new StyledString(); SearchRepository repo = (SearchRepository) element; styled.append(repo.getOwner() + "/" + repo.getName()); //$NON-NLS-1$ String language = repo.getLanguage(); if (language != null && language.length() > 0) styled.append(" (" + language + ")", //$NON-NLS-1$ //$NON-NLS-2$ StyledString.QUALIFIER_STYLER); int forks = repo.getForks(); if (forks != 1) styled.append(MessageFormat.format(Messages.RepositorySearchWizardPage_Forks, forks), StyledString.COUNTER_STYLER); else styled.append(Messages.RepositorySearchWizardPage_Fork, StyledString.COUNTER_STYLER); int watchers = repo.getWatchers(); if (watchers != 1) styled.append(MessageFormat.format(Messages.RepositorySearchWizardPage_Watchers, watchers), StyledString.COUNTER_STYLER); else styled.append(Messages.RepositorySearchWizardPage_Watcher, StyledString.COUNTER_STYLER); return styled; } public Image getImage(Object element) { return repoImage; } })); repoListViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { validate(repoListViewer); } }); searchText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { searchButton.setEnabled(searchText.getText().trim().length() != 0); } }); searchButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent selectionEvent) { String language = null; if (languageCombo.getSelectionIndex() > 0) language = languageCombo.getText(); search(language, searchText.getText().trim(), repoListViewer); } }); setControl(root); }
From source file:org.eclipse.mylyn.internal.github.ui.RepositorySearchWizardPage.java
License:Open Source License
private void search(final String language, final String text, final TableViewer viewer) { viewer.setSelection(StructuredSelection.EMPTY); try {// w w w .java2s. c om getContainer().run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask(MessageFormat.format(Messages.RepositorySearchWizardPage_Searching, text), 10); try { final List<SearchRepository> repositories = repositoryService .searchRepositories(text.trim(), language); PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() { public void run() { if (viewer.getControl().isDisposed()) return; setMessage(MessageFormat.format(Messages.RepositorySearchWizardPage_Found, repositories.size()), INFORMATION); viewer.setInput(repositories); validate(viewer); } }); } catch (IOException e) { throw new InvocationTargetException(GitHubException.wrap(e)); } } }); setErrorMessage(null); } catch (InvocationTargetException e) { viewer.setInput(Collections.emptyList()); Throwable cause = e.getCause(); if (cause == null) cause = e; setErrorMessage( MessageFormat.format(Messages.RepositorySearchWizardPage_Error, cause.getLocalizedMessage())); } catch (InterruptedException e) { GitHubUi.logError(e); } }
From source file:org.eclipse.mylyn.internal.reviews.r4e.connector.ui.editor.ArtifactsSection.java
License:Open Source License
void createSubSectionContents(final R4EItem item, Section subSection) { Composite composite = toolkit.createComposite(subSection); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite); subSection.setClient(composite);// w ww. j a v a2 s. co m String addedBy = item.getAddedById(); if (addedBy != null) { Label authorLabel = new Label(composite, SWT.NONE); authorLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); authorLabel.setText("Added By"); Text authorText = new Text(composite, SWT.READ_ONLY); authorText.setText(addedBy); } String name = item.getAuthorRep(); if (name != null) { Label commitLabel = new Label(composite, SWT.NONE); commitLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); commitLabel.setText("Author"); Text commitText = new Text(composite, SWT.READ_ONLY); commitText.setText(name); } final TableViewer viewer = new TableViewer(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL); GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(500, SWT.DEFAULT) .applyTo(viewer.getControl()); viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { // ignore } public Object[] getElements(Object inputElement) { return item.getFileContextList().toArray(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // ignore } }); // Not currently supported // viewer.addOpenListener(new IOpenListener() { // public void open(OpenEvent event) { // EditorProxy.openSimpleEditor(R4EUIModelController.getNavigatorView().getSite().getPage(), // event.getSelection(), true); // } // }); viewer.setLabelProvider(new ReviewItemLabelProvider()); viewer.setInput(item); EditorUtil.addScrollListener(viewer.getTable()); getTaskEditorPage().reflow(); }
From source file:org.eclipse.mylyn.internal.versions.tasks.ui.ChangesetPart.java
License:Open Source License
private void registerContextMenu(TableViewer table) { MenuManager menuManager = new MenuManager(); menuManager.setRemoveAllWhenShown(true); getPage().getEditorSite().registerContextMenu("org.eclipse.mylyn.versions.changesets", menuManager, table, true);//w w w . j av a2 s . c o m Menu menu = menuManager.createContextMenu(table.getControl()); table.getTable().setMenu(menu); }
From source file:org.eclipse.mylyn.reviews.ui.editors.CreateReviewTaskEditorPart.java
License:Open Source License
/** * Create list of changesets and the button for the creation/reassignment of * reviews./*from w w w. j a v a 2 s . co m*/ */ public void createControl(Composite parent, FormToolkit toolkit) { try { Section section = createSection(parent, toolkit, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED); section.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); section.setLayout(new FillLayout()); Composite composite = toolkit.createComposite(section); composite.setLayout(new GridLayout(1, false)); TableViewer reviewItemTable = new TableViewer(composite, SWT.FULL_SELECTION | SWT.MULTI); reviewItemTable.getTable().setHeaderVisible(true); reviewItemTable.setContentProvider(new ArrayContentProvider()); reviewItemTable.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.getFirstElement() instanceof Changeset) { Object[] oSelectedChs = selection.toArray(); selectedChangesets = new ArrayList<IChangeset>(); for (int i = 0; i < oSelectedChs.length; i++) selectedChangesets.add((IChangeset) oSelectedChs[i]); } } }); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Revision, REVISION_WIDTH); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Description, DESCRIPTION_WIDTH); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Author, AUTOR_WIDTH); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Date, DATE_WIDTH); reviewItemTable.setLabelProvider(new TableLabelProvider() { final int COLUMN_REVISION = 0; final int COLUMN_DESCRIPTION = 1; final int COLUMN_AUTHOR = 2; final int COLUMN_DATE = 3; public String getColumnText(Object element, int columnIndex) { IChangeset changeset = (IChangeset) element; switch (columnIndex) { case COLUMN_REVISION: return changeset.getRevision(); case COLUMN_DESCRIPTION: return changeset.getMessage(); case COLUMN_AUTHOR: return changeset.getAutor(); case COLUMN_DATE: return changeset.getDate().toString(); default: return null; } } public Image getColumnImage(Object element, int columnIndex) { return null; } }); reviewItemTable.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Composite buttonComposite = toolkit.createComposite(composite); buttonComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, true)); buttonComposite.setLayout(new GridLayout(5, true)); Button submitButton = toolkit.createButton(buttonComposite, Messages.CreateReviewTaskEditorPart_Create_Review, SWT.PUSH); submitButton.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, true, 1, 1)); submitButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { createReview(); } public void widgetDefaultSelected(SelectionEvent e) { widgetDefaultSelected(e); } }); section.setClient(composite); reviewItemTable.setInput(getChangesets()); // create context menue for table Menu contextMenue = new Menu(reviewItemTable.getControl()); org.eclipse.swt.widgets.MenuItem menueItem = new org.eclipse.swt.widgets.MenuItem(contextMenue, SWT.PUSH); menueItem.setText("create review ..."); menueItem.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent arg0) { } public void widgetSelected(SelectionEvent arg0) { createReview(); } }); reviewItemTable.getTable().setMenu(contextMenue); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.eclipse.mylyn.reviews.ui.editors.EditorSupport.java
License:Open Source License
private void createChangesetSection(Composite body, FormToolkit toolkit) { // Review Section Section changesetSection = toolkit.createSection(body, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); changesetSection.setLayout(new GridLayout(1, true)); changesetSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); changesetSection.setText(Messages.ReviewEditor_Changesets); TableViewer reviewItemTable = new TableViewer(changesetSection, SWT.FULL_SELECTION | SWT.FILL_EVEN_ODD); reviewItemTable.getTable().setHeaderVisible(true); reviewItemTable.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { }//from w ww .j ava2 s . c o m public void dispose() { } public Object[] getElements(Object inputElement) { Review review = (Review) inputElement; List<Changeset> changesets = new ArrayList<Changeset>(); for (int i = 0; i < review.getScope().size(); i++) changesets.add((Changeset) review.getScope().get(i)); return changesets.toArray(new Changeset[1]); } }); reviewItemTable.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.getFirstElement() instanceof Changeset) { Object[] oSelectedChs = selection.toArray(); selectedChangeset = null; for (int i = 0; i < oSelectedChs.length; i++) selectedChangeset = (Changeset) oSelectedChs[i]; fileList.setInput(selectedChangeset); contentSection.setExpanded(false); contentSection.setExpanded(true); } } }); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Revision, REVISION_WIDTH); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Description, DESCRIPTION_WIDTH); UiUtil.createColumn(reviewItemTable, Messages.CreateReviewTaskEditorPart_Header_Author, AUTOR_WIDTH); reviewItemTable.setLabelProvider(new TableLabelProvider() { final int COLUMN_REVISION = 0; final int COLUMN_DESCRIPTION = 1; final int COLUMN_AUTHOR = 2; public String getColumnText(Object element, int columnIndex) { Changeset changeset = (Changeset) element; switch (columnIndex) { case COLUMN_REVISION: return changeset.getRevision(); case COLUMN_DESCRIPTION: return changeset.getComment(); case COLUMN_AUTHOR: return changeset.getAuthor(); default: return null; } } public Image getColumnImage(Object element, int columnIndex) { return null; } }); reviewItemTable.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); reviewItemTable.setInput(getEditorInput().getReview()); changesetSection.setClient(reviewItemTable.getControl()); }