1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00

patch from Tanya Wolff - Added an accessibleListener to the Build Behaviour properties page for a Make project. This listener is used by the input fields that don't have labels so that MS Inspect Objects or a Screen reader can get the Name object info.

This commit is contained in:
David Inglis 2004-06-24 16:23:51 +00:00
parent 95f7a24e4c
commit 00bbe82978
2 changed files with 29 additions and 3 deletions

View file

@ -48,7 +48,10 @@ SettingsBlock.makeWorkbench.autobuildMessage=See Workbench automatic build prefe
SettingsBlock.makeWorkbench.incremental=Build (Incremental Build)
SettingsBlock.makeWorkbench.full=Rebuild (Full Build)
SettingsBlock.makeWorkbench.clean=Clean
SettingsBlock.makeWorkbench.autoBuildTarget=Auto Build Target
SettingsBlock.makeWorkbench.incrementalBuildTarget=Incremental Build Target
SettingsBlock.makeWorkbench.fullBuildTarget=Full Build Target
SettingsBlock.makeWorkbench.cleanTarget=Clean Target
TargetBlock.target.group_label=Target
TargetBlock.target.label=Target Name:

View file

@ -25,6 +25,8 @@ import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.accessibility.AccessibleAdapter;
import org.eclipse.swt.accessibility.AccessibleEvent;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
@ -34,6 +36,7 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
@ -67,6 +70,11 @@ public class SettingsBlock extends AbstractCOptionPage {
private static final String MAKE_BUILD_DIR_LABEL = PREFIX + ".makeDir.label"; //$NON-NLS-1$
private static final String MAKE_BUILD_DIR_BROWSE = PREFIX + ".makeDir.browse"; //$NON-NLS-1$
private static final String MAKE_BUILD_AUTO_TARGET = PREFIX + ".makeWorkbench.autoBuildTarget"; //$NON-NLS-1$
private static final String MAKE_BUILD_INCREMENTAL_TARGET = PREFIX + ".makeWorkbench.incrementalBuildTarget"; //$NON-NLS-1$
private static final String MAKE_BUILD_FULL_TARGET = PREFIX + ".makeWorkbench.fullBuildTarget"; //$NON-NLS-1$
private static final String MAKE_BUILD_CLEAN_TARGET = PREFIX + ".makeWorkbench.cleanTarget"; //$NON-NLS-1$
Button stopOnErrorButton;
Button defButton;
@ -133,6 +141,7 @@ public class SettingsBlock extends AbstractCOptionPage {
((GridData) (label.getLayoutData())).horizontalAlignment = GridData.BEGINNING;
((GridData) (label.getLayoutData())).grabExcessHorizontalSpace = false;
buildCommand = ControlFactory.createTextField(group, SWT.SINGLE | SWT.BORDER);
((GridData) (buildCommand.getLayoutData())).horizontalAlignment = GridData.FILL;
((GridData) (buildCommand.getLayoutData())).grabExcessHorizontalSpace = true;
buildCommand.addListener(SWT.Modify, new Listener() {
@ -188,6 +197,7 @@ public class SettingsBlock extends AbstractCOptionPage {
targetAuto.setText(fBuildInfo.getAutoBuildTarget());
((GridData) (targetAuto.getLayoutData())).horizontalAlignment = GridData.FILL;
((GridData) (targetAuto.getLayoutData())).grabExcessHorizontalSpace = true;
addControlAccessibleListener(targetAuto, MakeUIPlugin.getResourceString(MAKE_BUILD_AUTO_TARGET));
String noteTitle= MakeUIPlugin.getResourceString("SettingsBlock.makeWorkbench.note"); //$NON-NLS-1$
String noteMessage= MakeUIPlugin.getResourceString("SettingsBlock.makeWorkbench.autobuildMessage"); //$NON-NLS-1$
Composite noteControl= createNoteComposite(JFaceResources.getDialogFont(), group, noteTitle, noteMessage);
@ -201,6 +211,7 @@ public class SettingsBlock extends AbstractCOptionPage {
targetIncr.setText(fBuildInfo.getIncrementalBuildTarget());
((GridData) (targetIncr.getLayoutData())).horizontalAlignment = GridData.FILL;
((GridData) (targetIncr.getLayoutData())).grabExcessHorizontalSpace = true;
addControlAccessibleListener(targetIncr, MakeUIPlugin.getResourceString(MAKE_BUILD_INCREMENTAL_TARGET));
fullButton = ControlFactory.createCheckBox(group, MakeUIPlugin.getResourceString(MAKE_WORKBENCH_BUILD_FULL));
fullButton.addSelectionListener(selectionAdapter);
fullButton.setSelection(fBuildInfo.isFullBuildEnabled());
@ -208,7 +219,7 @@ public class SettingsBlock extends AbstractCOptionPage {
targetFull.setText(fBuildInfo.getFullBuildTarget());
((GridData) (targetFull.getLayoutData())).horizontalAlignment = GridData.FILL;
((GridData) (targetFull.getLayoutData())).grabExcessHorizontalSpace = true;
addControlAccessibleListener(targetFull, MakeUIPlugin.getResourceString(MAKE_BUILD_FULL_TARGET));
cleanButton = ControlFactory.createCheckBox(group, MakeUIPlugin.getResourceString(MAKE_WORKBENCH_BUILD_CLEAN));
cleanButton.addSelectionListener(selectionAdapter);
cleanButton.setSelection(fBuildInfo.isCleanBuildEnabled());
@ -216,6 +227,7 @@ public class SettingsBlock extends AbstractCOptionPage {
targetClean.setText(fBuildInfo.getCleanBuildTarget());
((GridData) (targetClean.getLayoutData())).horizontalAlignment = GridData.FILL;
((GridData) (targetClean.getLayoutData())).grabExcessHorizontalSpace = true;
addControlAccessibleListener(targetClean, MakeUIPlugin.getResourceString(MAKE_BUILD_CLEAN_TARGET));
selectionAdapter.widgetSelected(null);
}
@ -262,7 +274,18 @@ public class SettingsBlock extends AbstractCOptionPage {
messageLabel.setFont(font);
return messageComposite;
}
public void addControlAccessibleListener(Control control, String controlName) {
control.getAccessible().addAccessibleListener(new ControlAccessibleListener(controlName));
}
private class ControlAccessibleListener extends AccessibleAdapter {
private String controlName;
ControlAccessibleListener(String name){
controlName = name;
}
public void getName(AccessibleEvent e) {
e.result = controlName;
}
}
protected void createBuilderWorkingDirControls(Composite parent) {
Group group = ControlFactory.createGroup(parent, MakeUIPlugin.getResourceString(MAKE_BUILD_DIR_GROUP), 1);
GridLayout layout = new GridLayout();