Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2009-07-24 04:18:35 +0000
committermkersten2009-07-24 04:18:35 +0000
commite3283b1abefaaa5e538eeb806d6101d63a18d291 (patch)
treea49b6c9604bf9afdfcfc3d5bd3ad42dcd446e885
parent831ab384adb2918b58509bf75a7ca53fd23e70b9 (diff)
downloadorg.eclipse.mylyn.tasks-e3283b1abefaaa5e538eeb806d6101d63a18d291.tar.gz
org.eclipse.mylyn.tasks-e3283b1abefaaa5e538eeb806d6101d63a18d291.tar.xz
org.eclipse.mylyn.tasks-e3283b1abefaaa5e538eeb806d6101d63a18d291.zip
NEW - bug 284155: support overlay of product and component on attributes section header
https://bugs.eclipse.org/bugs/show_bug.cgi?id=284155
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java15
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java39
2 files changed, 53 insertions, 1 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java
index 5188c7b15..656c09088 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java
@@ -163,6 +163,21 @@ public class TaskEditorAttributePart extends AbstractTaskEditorPart {
setSection(toolkit, section);
}
+ @Override
+ protected String getInfoOverlayText() {
+ TaskAttribute product = getModel().getTaskData().getRoot().getMappedAttribute(TaskAttribute.PRODUCT);
+ TaskAttribute component = getModel().getTaskData().getRoot().getMappedAttribute(TaskAttribute.COMPONENT);
+ if (product != null && component != null) {
+ return product.getValue() + " / " + component.getValue(); //$NON-NLS-1$
+ } else if (product != null) {
+ return product.getValue();
+ } else if (component != null) {
+ return component.getValue();
+ } else {
+ return null;
+ }
+ }
+
/**
* Integrator requested the ability to control whether the attributes section is expanded on creation.
*/
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java
index eedb78d14..7b4269558 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPart.java
@@ -23,7 +23,11 @@ import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.forms.AbstractFormPart;
+import org.eclipse.ui.forms.IFormColors;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -138,10 +142,12 @@ public abstract class AbstractTaskEditorPart extends AbstractFormPart {
Composite toolbarComposite = toolkit.createComposite(section);
toolbarComposite.setBackground(null);
RowLayout rowLayout = new RowLayout();
- rowLayout.marginTop = 0;
+ rowLayout.marginTop = 2;
rowLayout.marginBottom = 0;
toolbarComposite.setLayout(rowLayout);
+ createInfoOverlay(toolbarComposite, section, toolkit);
+
toolBarManager.createControl(toolbarComposite);
section.clientVerticalSpacing = 0;
section.descriptionVerticalSpacing = 0;
@@ -151,6 +157,37 @@ public abstract class AbstractTaskEditorPart extends AbstractFormPart {
setControl(section);
}
+ /**
+ * Clients can implement to provide attribute overlay text
+ *
+ * @param section
+ */
+ private void createInfoOverlay(Composite composite, Section section, FormToolkit toolkit) {
+ String text = getInfoOverlayText();
+ if (text == null) {
+ return;
+ }
+
+ final Label label = toolkit.createLabel(composite, text);
+ label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+ label.setBackground(null);
+ label.setVisible(!section.isExpanded());
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ label.setVisible(!e.getState());
+ }
+ });
+ }
+
+ /**
+ * Clients can override to show summary information for the part.
+ */
+ protected String getInfoOverlayText() {
+ return null;
+ }
+
protected boolean setSelection(ISelection selection) {
return false;
}

Back to the top