Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewSetContentSection.java')
-rw-r--r--org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewSetContentSection.java102
1 files changed, 28 insertions, 74 deletions
diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewSetContentSection.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewSetContentSection.java
index e76651409..fd2153755 100644
--- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewSetContentSection.java
+++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewSetContentSection.java
@@ -17,7 +17,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
-import java.util.Map.Entry;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -31,11 +30,8 @@ import org.eclipse.jface.viewers.OpenEvent;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.ToolTip;
-import org.eclipse.mylyn.commons.ui.CommonImages;
import org.eclipse.mylyn.commons.ui.compatibility.CommonColors;
-import org.eclipse.mylyn.commons.workbench.browser.BrowserUtil;
import org.eclipse.mylyn.commons.workbench.forms.ScalingHyperlink;
-import org.eclipse.mylyn.internal.reviews.ui.ReviewsImages;
import org.eclipse.mylyn.internal.reviews.ui.providers.ReviewsLabelProvider;
import org.eclipse.mylyn.internal.tasks.ui.editors.EditorUtil;
import org.eclipse.mylyn.reviews.core.model.ICommit;
@@ -45,12 +41,12 @@ import org.eclipse.mylyn.reviews.core.model.IReview;
import org.eclipse.mylyn.reviews.core.model.IReviewItemSet;
import org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfConsumer;
import org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfObserver;
-import org.eclipse.mylyn.reviews.internal.core.BuildResult.BuildStatus;
+import org.eclipse.mylyn.reviews.internal.core.TaskBuildStatusMapper;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
+import org.eclipse.mylyn.tasks.ui.editors.AbstractAttributeEditor;
+import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
@@ -106,9 +102,12 @@ public class ReviewSetContentSection {
private final RemoteEmfObserver<IRepository, IReview, String, Date> reviewObserver;
- public ReviewSetContentSection(ReviewSetSection parentSection, final IReviewItemSet set) {
+ private final AbstractTaskEditorPage page;
+
+ public ReviewSetContentSection(ReviewSetSection parentSection, final IReviewItemSet set, AbstractTaskEditorPage page) {
this.parentSection = parentSection;
this.set = set;
+ this.page = page;
int style = ExpandableComposite.TWISTIE | ExpandableComposite.CLIENT_INDENT
| ExpandableComposite.LEFT_TEXT_CLIENT_ALIGNMENT;
section = parentSection.getToolkit().createSection(parentSection.getComposite(), style);
@@ -117,15 +116,15 @@ public class ReviewSetContentSection {
section.setTitleBarForeground(parentSection.getToolkit().getColors().getColor(IFormColors.TITLE));
parentSection.addTextClient(parentSection.getToolkit(), section, "", false); //$NON-NLS-1$
- final RemoteEmfConsumer<IReviewItemSet, List<IFileItem>, String, ?, ?, Long> itemSetConsumer = getParentSection()
- .getReviewEditorPage()
+ final RemoteEmfConsumer<IReviewItemSet, List<IFileItem>, String, ?, ?, Long> itemSetConsumer = getParentSection().getReviewEditorPage()
.getFactoryProvider()
.getReviewItemSetContentFactory()
.getConsumerForLocalKey(set, set.getId());
itemListObserver.setConsumer(itemSetConsumer);
- final RemoteEmfConsumer<IRepository, IReview, String, ?, ?, Date> reviewConsumer = getParentSection()
- .getReviewEditorPage().getFactoryProvider().getReviewFactory().getConsumerForModel(
- set.getReview().getRepository(), set.getReview());
+ final RemoteEmfConsumer<IRepository, IReview, String, ?, ?, Date> reviewConsumer = getParentSection().getReviewEditorPage()
+ .getFactoryProvider()
+ .getReviewFactory()
+ .getConsumerForModel(set.getReview().getRepository(), set.getReview());
reviewObserver = new RemoteEmfObserver<IRepository, IReview, String, Date>() {
@Override
public void updated(boolean modified) {
@@ -173,8 +172,9 @@ public class ReviewSetContentSection {
message += " " + Messages.Reviews_RetrievingContents; //$NON-NLS-1$
}
} else {
- message = NLS.bind(Messages.Reviews_UpdateFailure_X,
- itemListObserver.getConsumer().getStatus().getMessage());
+ message = NLS.bind(Messages.Reviews_UpdateFailure_X, itemListObserver.getConsumer()
+ .getStatus()
+ .getMessage());
}
AbstractReviewSection.appendMessage(getSection(), message);
@@ -200,10 +200,17 @@ public class ReviewSetContentSection {
GridDataFactory.fillDefaults().span(4, 1).grab(true, true).applyTo(fullWidth);
GridLayoutFactory.fillDefaults().numColumns(2).applyTo(fullWidth);
- // We should only show the build labels in the case where there are any for this patch set
- if (getPatchSetBuildAttribute() != null) {
- createTitleLabel(fullWidth, colors, Messages.ReviewSet_BuildHeader, SWT.NONE);
- createBuildLabels(composite, colors);
+ TaskAttribute buildAttribute = parentSection.getTaskData().getRoot().getAttribute("PATCH_SET-" + set.getId()); //$NON-NLS-1$
+ if (buildAttribute != null) {
+ Composite buildComposite = parentSection.getToolkit().createComposite(composite);
+ GridLayoutFactory.fillDefaults().numColumns(2).applyTo(buildComposite);
+ GridDataFactory.fillDefaults().span(2, 1).applyTo(buildComposite);
+ AbstractAttributeEditor editor = parentSection.getTaskEditorPage()
+ .getAttributeEditorFactory()
+ .createEditor(TaskBuildStatusMapper.BUILD_RESULT_TYPE, buildAttribute);
+ editor.createLabelControl(buildComposite, parentSection.getToolkit());
+ editor.createControl(buildComposite, parentSection.getToolkit());
+ getTaskEditorPage().getAttributeEditorToolkit().adapt(editor);
}
tableContainer = new Composite(composite, SWT.NONE);
@@ -219,51 +226,8 @@ public class ReviewSetContentSection {
parentSection.getTaskEditorPage().reflow();
}
- private void createBuildLabels(Composite composite, FormColors colors) {
- TaskAttribute buildAttribute = getPatchSetBuildAttribute();
- if (buildAttribute == null) {
- return;
- }
-
- int numberOfBuilds = buildAttribute.getAttributes().size();
-
- for (Entry<String, TaskAttribute> buildEntry : buildAttribute.getAttributes().entrySet()) {
-
- TaskAttribute currentBuildAttribute = buildEntry.getValue();
-
- String statusValue = currentBuildAttribute.getAttribute("STATUS").getValue(); //$NON-NLS-1$
- final String urlValue = currentBuildAttribute.getAttribute("URL").getValue(); //$NON-NLS-1$
-
- if (statusValue == null | urlValue == null) {
- continue;
- }
-
- ScalingHyperlink buildLink = new ScalingHyperlink(composite, SWT.READ_ONLY);
- buildLink.setText(urlValue);
- buildLink.setForeground(CommonColors.HYPERLINK_WIDGET);
-
- buildLink.registerMouseTrackListener();
- buildLink.addHyperlinkListener(new HyperlinkAdapter() {
- @Override
- public void linkActivated(HyperlinkEvent event) {
- BrowserUtil.openUrl(urlValue);
- }
- });
-
- CLabel buildText = new CLabel(composite, SWT.RIGHT_TO_LEFT);
- buildText.setText(statusValue);
- buildText.setImage(this.getImageForBuildStatus(statusValue));
-
- }
-
- }
-
- private TaskAttribute getPatchSetBuildAttribute() {
- String patchSetId = this.set.getId();
- TaskAttribute buildAttribute = this.parentSection.getTaskData()
- .getRoot()
- .getAttribute("PATCH_SET-" + patchSetId); //$NON-NLS-1$
- return buildAttribute;
+ private AbstractTaskEditorPage getTaskEditorPage() {
+ return page;
}
private void createAuthorLabel(Composite composite, FormColors colors) {
@@ -437,16 +401,6 @@ public class ReviewSetContentSection {
}
}
- private Image getImageForBuildStatus(String status) {
- if (status.equals(BuildStatus.SUCCESS.toString())) {
- return CommonImages.getImage(ReviewsImages.APPROVED);
- } else if (status.equals(BuildStatus.STARTED.toString())) {
- return CommonImages.getImage(ReviewsImages.UNKNOWN);
- }
-
- return CommonImages.getImage(ReviewsImages.REJECTED);
- }
-
public void createButtons() {
if (!actionContainer.isDisposed()) {
for (Control oldActionControl : actionContainer.getChildren()) {

Back to the top