From 064d2fd62a1bbca22720577ffe15bbf66eab332d Mon Sep 17 00:00:00 2001 From: David Dykstal Date: Tue, 24 Oct 2006 20:30:49 +0000 Subject: [PATCH] Bug 158300 - The inherit and history buttons have been modified to read the nearest containing group's text (if any) in addition to its own tooltip. It previously read just its tooltip. --- .../eclipse/rse/ui/widgets/InheritButton.java | 17 +++++++++++++++-- .../rse/ui/widgets/SystemHistoryCombo.java | 17 +++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/InheritButton.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/InheritButton.java index 2c7e6a183f8..7552aa64415 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/InheritButton.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/InheritButton.java @@ -31,6 +31,7 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Group; /** * An InheritButton is a specialized control that @@ -89,10 +90,22 @@ public class InheritButton extends Composite { createToggleImages(toggle.getBackground()); toggle.getAccessible().addAccessibleListener(new AccessibleAdapter() { public void getHelp(AccessibleEvent e) { // this is the one that should supply the text heard. - e.result = getToolTipText(); + e.result = ""; } public void getName(AccessibleEvent e) { // this is the one that apparently does supply the text heard. - e.result = getToolTipText(); + e.result = toggle.getToolTipText(); + String prefix = null; + Composite parent = toggle.getParent(); + while (parent != null && prefix == null) { + if (parent instanceof Group) { + Group group = (Group) parent; + prefix = group.getText(); + } + parent = parent.getParent(); + } + if (prefix != null) { + e.result = prefix + " " + e.result; + } } }); toggle.addDisposeListener(new DisposeListener() { diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemHistoryCombo.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemHistoryCombo.java index 87c6f0e7718..bcdaf5c1b51 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemHistoryCombo.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemHistoryCombo.java @@ -40,6 +40,7 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Group; /** @@ -409,7 +410,7 @@ public class SystemHistoryCombo extends Composite implements ISystemCombo, Trave { historyCombo.removeModifyListener(listener); } - + /** * Return the current history for the directory combo box */ @@ -635,10 +636,22 @@ public class SystemHistoryCombo extends Composite implements ISystemCombo, Trave historyButton.setToolTipText(SystemResources.RESID_WORKWITHHISTORY_BUTTON_TIP); historyButton.getAccessible().addAccessibleListener(new AccessibleAdapter() { public void getHelp(AccessibleEvent e) { // this is the one that should supply the text heard. - e.result = historyButton.getToolTipText(); + e.result = ""; } public void getName(AccessibleEvent e) { // this is the one that apparently does supply the text heard. e.result = historyButton.getToolTipText(); + String prefix = null; + Composite parent = historyButton.getParent(); + while (parent != null && prefix == null) { + if (parent instanceof Group) { + Group group = (Group) parent; + prefix = group.getText(); + } + parent = parent.getParent(); + } + if (prefix != null) { + e.result = prefix + " " + e.result; + } } });