use of org.eclipse.swt.accessibility.AccessibleEvent in project eclipse.platform.swt by eclipse.
the class ControlsWithAccessibleNamesExample method main.
public static void main(String[] args) {
display = new Display();
shell = new Shell(display);
shell.setLayout(new GridLayout(4, true));
shell.setText("Override Accessibility Test");
largeImage = new Image(display, ControlsWithAccessibleNamesExample.class.getResourceAsStream("run_wiz.gif"));
smallImage = new Image(display, ControlsWithAccessibleNamesExample.class.getResourceAsStream("run.gif"));
ImageData source = smallImage.getImageData();
ImageData mask = source.getTransparencyMask();
transparentImage = new Image(display, source, mask);
new Label(shell, SWT.NONE).setText("Use Platform Name");
new Label(shell, SWT.NONE).setText("Override Platform Name");
new Label(shell, SWT.NONE).setText("Use Platform Name");
new Label(shell, SWT.NONE).setText("Override Platform Name");
AccessibleAdapter overrideAccessibleAdapter = new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
Control control = ((Accessible) e.getSource()).getControl();
if (e.childID == ACC.CHILDID_SELF) {
e.result = "Overriding Platform Name For " + control.getData("name") + " (was " + e.result + ")";
} else {
e.result = "Overriding Platform Name For " + control.getData("child") + ": " + e.childID + " (was " + e.result + ")";
}
}
@Override
public void getHelp(AccessibleEvent e) {
Control control = ((Accessible) e.getSource()).getControl();
if (e.childID == ACC.CHILDID_SELF) {
e.result = "Overriding Platform Help For " + control.getData("name") + " (was " + e.result + ")";
} else {
e.result = "Overriding Platform Help For " + control.getData("child") + ": " + e.childID + " (was " + e.result + ")";
}
}
};
// Shell shell;
shell.setData("name", "Shell");
shell.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Label label, overrideLabel;
label = new Label(shell, SWT.BORDER);
label.setText("Label");
label.setToolTipText("Label ToolTip");
overrideLabel = new Label(shell, SWT.BORDER);
overrideLabel.setText("Label");
overrideLabel.setToolTipText("Label ToolTip");
overrideLabel.setData("name", "Label");
overrideLabel.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Label imageLabel, overrideImageLabel;
imageLabel = new Label(shell, SWT.BORDER);
imageLabel.setImage(largeImage);
imageLabel.setToolTipText("Image Label ToolTip");
overrideImageLabel = new Label(shell, SWT.BORDER);
overrideImageLabel.setImage(largeImage);
overrideImageLabel.setToolTipText("Image Label ToolTip");
overrideImageLabel.setData("name", "Image Label");
overrideImageLabel.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Button button, overrideButton;
button = new Button(shell, SWT.PUSH);
button.setText("Button");
button.setToolTipText("Button ToolTip");
overrideButton = new Button(shell, SWT.PUSH);
overrideButton.setText("Button");
overrideButton.setToolTipText("Button ToolTip");
overrideButton.setData("name", "Button");
overrideButton.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Button imageButton, overrideImageButton;
imageButton = new Button(shell, SWT.PUSH);
imageButton.setImage(smallImage);
imageButton.setToolTipText("Image Button ToolTip");
overrideImageButton = new Button(shell, SWT.PUSH);
overrideImageButton.setImage(smallImage);
overrideImageButton.setToolTipText("Image Button ToolTip");
overrideImageButton.setData("name", "Image Button");
overrideImageButton.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Combo combo, overrideCombo;
combo = new Combo(shell, SWT.BORDER);
for (int i = 0; i < 5; i++) {
combo.add("item" + i);
}
combo.setText("Combo");
combo.setToolTipText("Combo ToolTip");
overrideCombo = new Combo(shell, SWT.BORDER);
for (int i = 0; i < 5; i++) {
overrideCombo.add("item" + i);
}
overrideCombo.setText("Combo");
overrideCombo.setToolTipText("Combo ToolTip");
overrideCombo.setData("name", "Combo");
overrideCombo.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Spinner spinner, overrideSpinner;
spinner = new Spinner(shell, SWT.BORDER);
spinner.setSelection(5);
spinner.setToolTipText("Spinner ToolTip");
overrideSpinner = new Spinner(shell, SWT.BORDER);
overrideSpinner.setSelection(5);
overrideSpinner.setToolTipText("Spinner ToolTip");
overrideSpinner.setData("name", "Spinner");
overrideSpinner.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Text text, overrideText;
text = new Text(shell, SWT.SINGLE | SWT.BORDER);
text.setText("Contents of single-line Text");
overrideText = new Text(shell, SWT.SINGLE | SWT.BORDER);
overrideText.setText("Contents of single-line Text");
overrideText.setData("name", "Text");
overrideText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Text multiLineText, overrideMultiLineText;
multiLineText = new Text(shell, SWT.MULTI | SWT.BORDER);
multiLineText.setText("Contents of multi-line Text\nLine 2\nLine 3\nLine 4");
overrideMultiLineText = new Text(shell, SWT.MULTI | SWT.BORDER);
overrideMultiLineText.setText("Contents of multi-line Text\nLine 2\nLine 3\nLine 4");
overrideMultiLineText.setData("name", "MultiLineText");
overrideMultiLineText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// List list, overrideList;
list = new List(shell, SWT.SINGLE | SWT.BORDER);
list.setItems("Item0", "Item1", "Item2");
overrideList = new List(shell, SWT.SINGLE | SWT.BORDER);
overrideList.setItems("Item0", "Item1", "Item2");
overrideList.setData("name", "List");
overrideList.setData("child", "List Item");
overrideList.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Table table, overrideTable;
table = new Table(shell, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
table.setHeaderVisible(true);
table.setLinesVisible(true);
for (int col = 0; col < 3; col++) {
TableColumn column = new TableColumn(table, SWT.NONE);
column.setText("Col " + col);
column.pack();
}
for (int row = 0; row < 3; row++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(new String[] { "C0R" + row, "C1R" + row, "C2R" + row });
}
overrideTable = new Table(shell, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
overrideTable.setHeaderVisible(true);
overrideTable.setLinesVisible(true);
for (int col = 0; col < 3; col++) {
TableColumn column = new TableColumn(overrideTable, SWT.NONE);
column.setText("Col " + col);
column.pack();
}
for (int row = 0; row < 3; row++) {
TableItem item = new TableItem(overrideTable, SWT.NONE);
item.setText(new String[] { "C0R" + row, "C1R" + row, "C2R" + row });
}
overrideTable.setData("name", "Table");
overrideTable.setData("child", "Table Item");
overrideTable.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Tree tree, overrideTree;
tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
for (int i = 0; i < 3; i++) {
TreeItem item = new TreeItem(tree, SWT.NONE);
item.setText("Item" + i);
for (int j = 0; j < 4; j++) {
new TreeItem(item, SWT.NONE).setText("Item" + i + j);
}
}
overrideTree = new Tree(shell, SWT.BORDER | SWT.MULTI);
for (int i = 0; i < 3; i++) {
TreeItem item = new TreeItem(overrideTree, SWT.NONE);
item.setText("Item" + i);
for (int j = 0; j < 4; j++) {
new TreeItem(item, SWT.NONE).setText("Item" + i + j);
}
}
overrideTree.setData("name", "Tree");
overrideTree.setData("child", "Tree Item");
overrideTree.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Tree treeTable, overrideTreeTable;
treeTable = new Tree(shell, SWT.BORDER | SWT.MULTI);
treeTable.setHeaderVisible(true);
treeTable.setLinesVisible(true);
for (int col = 0; col < 3; col++) {
TreeColumn column = new TreeColumn(treeTable, SWT.NONE);
column.setText("Col " + col);
column.pack();
}
for (int i = 0; i < 3; i++) {
TreeItem item = new TreeItem(treeTable, SWT.NONE);
item.setText(new String[] { "I" + i + "C0", "I" + i + "C1", "I" + i + "C2" });
for (int j = 0; j < 4; j++) {
new TreeItem(item, SWT.NONE).setText(new String[] { "I" + i + j + "C0", "I" + i + j + "C1", "I" + i + j + "C2" });
}
}
overrideTreeTable = new Tree(shell, SWT.BORDER | SWT.MULTI);
overrideTreeTable.setHeaderVisible(true);
overrideTreeTable.setLinesVisible(true);
for (int col = 0; col < 3; col++) {
TreeColumn column = new TreeColumn(overrideTreeTable, SWT.NONE);
column.setText("Col " + col);
column.pack();
}
for (int i = 0; i < 3; i++) {
TreeItem item = new TreeItem(overrideTreeTable, SWT.NONE);
item.setText(new String[] { "I" + i + "C0", "I" + i + "C1", "I" + i + "C2" });
for (int j = 0; j < 4; j++) {
new TreeItem(item, SWT.NONE).setText(new String[] { "I" + i + j + "C0", "I" + i + j + "C1", "I" + i + j + "C2" });
}
}
overrideTreeTable.setData("name", "Tree Table");
overrideTreeTable.setData("child", "Tree Table Item");
overrideTreeTable.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// ToolBar toolBar, overrideToolBar;
toolBar = new ToolBar(shell, SWT.FLAT);
for (int i = 0; i < 3; i++) {
ToolItem item = new ToolItem(toolBar, SWT.PUSH);
item.setText("Item" + i);
item.setToolTipText("ToolItem ToolTip" + i);
}
overrideToolBar = new ToolBar(shell, SWT.FLAT);
for (int i = 0; i < 3; i++) {
ToolItem item = new ToolItem(overrideToolBar, SWT.PUSH);
item.setText("Item" + i);
item.setToolTipText("ToolItem ToolTip" + i);
}
overrideToolBar.setData("name", "ToolBar");
overrideToolBar.setData("child", "ToolBar Item");
overrideToolBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// ToolBar imageToolBar, overrideImageToolBar;
imageToolBar = new ToolBar(shell, SWT.FLAT);
for (int i = 0; i < 3; i++) {
ToolItem item = new ToolItem(imageToolBar, SWT.PUSH);
item.setImage(transparentImage);
item.setToolTipText("Image ToolItem ToolTip" + i);
}
overrideImageToolBar = new ToolBar(shell, SWT.FLAT);
for (int i = 0; i < 3; i++) {
ToolItem item = new ToolItem(overrideImageToolBar, SWT.PUSH);
item.setImage(transparentImage);
item.setToolTipText("Image ToolItem ToolTip" + i);
}
overrideImageToolBar.setData("name", "Image ToolBar");
overrideImageToolBar.setData("child", "Image ToolBar Item");
overrideImageToolBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// CoolBar coolBar, overrideCoolBar;
coolBar = new CoolBar(shell, SWT.FLAT);
for (int i = 0; i < 2; i++) {
CoolItem coolItem = new CoolItem(coolBar, SWT.PUSH);
ToolBar coolItemToolBar = new ToolBar(coolBar, SWT.FLAT);
int toolItemWidth = 0;
for (int j = 0; j < 2; j++) {
ToolItem item = new ToolItem(coolItemToolBar, SWT.PUSH);
item.setText("I" + i + j);
item.setToolTipText("ToolItem ToolTip" + i + j);
if (item.getWidth() > toolItemWidth)
toolItemWidth = item.getWidth();
}
coolItem.setControl(coolItemToolBar);
Point size = coolItemToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Point coolSize = coolItem.computeSize(size.x, size.y);
coolItem.setMinimumSize(toolItemWidth, coolSize.y);
coolItem.setPreferredSize(coolSize);
coolItem.setSize(coolSize);
}
overrideCoolBar = new CoolBar(shell, SWT.FLAT);
for (int i = 0; i < 2; i++) {
CoolItem coolItem = new CoolItem(overrideCoolBar, SWT.PUSH);
ToolBar coolItemToolBar = new ToolBar(overrideCoolBar, SWT.FLAT);
int toolItemWidth = 0;
for (int j = 0; j < 2; j++) {
ToolItem item = new ToolItem(coolItemToolBar, SWT.PUSH);
item.setText("I" + i + j);
item.setToolTipText("ToolItem ToolTip" + i + j);
if (item.getWidth() > toolItemWidth)
toolItemWidth = item.getWidth();
}
coolItem.setControl(coolItemToolBar);
Point size = coolItemToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Point coolSize = coolItem.computeSize(size.x, size.y);
coolItem.setMinimumSize(toolItemWidth, coolSize.y);
coolItem.setPreferredSize(coolSize);
coolItem.setSize(coolSize);
}
overrideCoolBar.setData("name", "CoolBar");
overrideCoolBar.setData("child", "CoolBar Item");
overrideCoolBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Canvas canvas, overrideCanvas;
canvas = new Canvas(shell, SWT.BORDER);
canvas.addPaintListener(e -> e.gc.drawString("Canvas", 15, 25));
/* Set a caret into the canvas so that it will take focus. */
Caret caret = new Caret(canvas, SWT.NONE);
caret.setBounds(15, 25, 2, 20);
canvas.setCaret(caret);
/* Hook key listener so canvas will take focus during traversal in. */
canvas.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
e.doit = true;
}
@Override
public void keyReleased(KeyEvent e) {
e.doit = true;
}
});
/* Hook traverse listener to make canvas give up focus during traversal out. */
canvas.addTraverseListener(e -> e.doit = true);
overrideCanvas = new Canvas(shell, SWT.BORDER);
overrideCanvas.addPaintListener(e -> e.gc.drawString("Canvas", 15, 25));
/* Set a caret into the canvas so that it will take focus. */
caret = new Caret(overrideCanvas, SWT.NONE);
caret.setBounds(15, 25, 2, 20);
overrideCanvas.setCaret(caret);
/* Hook key listener so canvas will take focus during traversal in. */
overrideCanvas.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
e.doit = true;
}
@Override
public void keyReleased(KeyEvent e) {
e.doit = true;
}
});
/* Hook traverse listener to make canvas give up focus during traversal out. */
overrideCanvas.addTraverseListener(e -> e.doit = true);
overrideCanvas.setData("name", "Canvas");
overrideCanvas.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Composite composite, overrideComposite;
composite = new Composite(shell, SWT.BORDER);
composite.setLayout(new GridLayout());
new Button(composite, SWT.RADIO).setText("Child 1");
new Button(composite, SWT.RADIO).setText("Child 2");
overrideComposite = new Composite(shell, SWT.BORDER);
overrideComposite.setLayout(new GridLayout());
new Button(overrideComposite, SWT.RADIO).setText("Child 1");
new Button(overrideComposite, SWT.RADIO).setText("Child 2");
overrideComposite.setData("name", "Composite");
overrideComposite.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Group group, overrideGroup;
group = new Group(shell, SWT.NONE);
group.setText("Group");
group.setLayout(new FillLayout());
new Text(group, SWT.SINGLE).setText("Text in Group");
overrideGroup = new Group(shell, SWT.NONE);
overrideGroup.setText("Group");
overrideGroup.setLayout(new FillLayout());
new Text(overrideGroup, SWT.SINGLE).setText("Text in Group");
overrideGroup.setData("name", "Group");
overrideGroup.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// TabFolder tabFolder, overrideTabFolder;
tabFolder = new TabFolder(shell, SWT.NONE);
for (int i = 0; i < 3; i++) {
TabItem item = new TabItem(tabFolder, SWT.NONE);
item.setText("TabItem &" + i);
item.setToolTipText("TabItem ToolTip" + i);
Text itemText = new Text(tabFolder, SWT.MULTI | SWT.BORDER);
itemText.setText("\nText for TabItem " + i + "\n\n");
item.setControl(itemText);
}
overrideTabFolder = new TabFolder(shell, SWT.NONE);
for (int i = 0; i < 3; i++) {
TabItem item = new TabItem(overrideTabFolder, SWT.NONE);
item.setText("TabItem &" + i);
item.setToolTipText("TabItem ToolTip" + i);
Text itemText = new Text(overrideTabFolder, SWT.MULTI | SWT.BORDER);
itemText.setText("\nText for TabItem " + i + "\n\n");
item.setControl(itemText);
}
overrideTabFolder.setData("name", "TabFolder");
overrideTabFolder.setData("child", "TabItem");
overrideTabFolder.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// CLabel cLabel, overrideCLabel;
cLabel = new CLabel(shell, SWT.BORDER);
cLabel.setText("CLabel");
cLabel.setToolTipText("CLabel ToolTip");
cLabel.setLayoutData(new GridData(100, SWT.DEFAULT));
overrideCLabel = new CLabel(shell, SWT.BORDER);
overrideCLabel.setText("CLabel");
overrideCLabel.setToolTipText("CLabel ToolTip");
overrideCLabel.setLayoutData(new GridData(100, SWT.DEFAULT));
overrideCLabel.setData("name", "CLabel");
overrideCLabel.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// CCombo cCombo, overrideCCombo;
cCombo = new CCombo(shell, SWT.BORDER);
for (int i = 0; i < 5; i++) {
cCombo.add("item" + i);
}
cCombo.setText("CCombo");
cCombo.setToolTipText("CCombo ToolTip");
// Note: This doesn't work well because CCombo has Control children
overrideCCombo = new CCombo(shell, SWT.BORDER);
for (int i = 0; i < 5; i++) {
overrideCCombo.add("item" + i);
}
overrideCCombo.setText("CCombo");
overrideCCombo.setToolTipText("CCombo ToolTip");
overrideCCombo.setData("name", "CCombo");
overrideCCombo.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// CTabFolder cTabFolder, overrideCTabFolder;
cTabFolder = new CTabFolder(shell, SWT.NONE);
for (int i = 0; i < 3; i++) {
CTabItem item = new CTabItem(cTabFolder, SWT.NONE);
item.setText("CTabItem &" + i);
item.setToolTipText("TabItem ToolTip" + i);
Text itemText = new Text(cTabFolder, SWT.MULTI | SWT.BORDER);
itemText.setText("\nText for CTabItem " + i + "\n\n");
item.setControl(itemText);
}
cTabFolder.setSelection(cTabFolder.getItem(0));
overrideCTabFolder = new CTabFolder(shell, SWT.NONE);
for (int i = 0; i < 3; i++) {
CTabItem item = new CTabItem(overrideCTabFolder, SWT.NONE);
item.setText("CTabItem &" + i);
item.setToolTipText("TabItem ToolTip" + i);
Text itemText = new Text(overrideCTabFolder, SWT.MULTI | SWT.BORDER);
itemText.setText("\nText for CTabItem " + i + "\n\n");
item.setControl(itemText);
}
overrideCTabFolder.setSelection(overrideCTabFolder.getItem(0));
overrideCTabFolder.setData("name", "CTabFolder");
overrideCTabFolder.setData("child", "CTabItem");
overrideCTabFolder.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// StyledText styledText, overrideStyledText;
styledText = new StyledText(shell, SWT.SINGLE | SWT.BORDER);
styledText.setText("Contents of single-line StyledText");
overrideStyledText = new StyledText(shell, SWT.SINGLE | SWT.BORDER);
overrideStyledText.setText("Contents of single-line StyledText");
overrideStyledText.setData("name", "StyledText");
overrideStyledText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// StyledText multiLineStyledText, overrideMultiLineStyledText;
multiLineStyledText = new StyledText(shell, SWT.MULTI | SWT.BORDER);
multiLineStyledText.setText("Contents of multi-line StyledText\nLine 2\nLine 3\nLine 4");
overrideMultiLineStyledText = new StyledText(shell, SWT.MULTI | SWT.BORDER);
overrideMultiLineStyledText.setText("Contents of multi-line StyledText\nLine 2\nLine 3\nLine 4");
overrideMultiLineStyledText.setData("name", "MultiLineStyledText");
overrideMultiLineStyledText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Scale scale, overrideScale;
scale = new Scale(shell, SWT.NONE);
scale.setToolTipText("Scale ToolTip");
overrideScale = new Scale(shell, SWT.NONE);
overrideScale.setToolTipText("Scale ToolTip");
overrideScale.setData("name", "Scale");
overrideScale.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Slider slider, overrideSlider;
slider = new Slider(shell, SWT.NONE);
slider.setToolTipText("Slider ToolTip");
overrideSlider = new Slider(shell, SWT.NONE);
overrideSlider.setToolTipText("Slider ToolTip");
overrideSlider.setData("name", "Slider");
overrideSlider.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// ProgressBar progressBar, overrideProgressBar;
if (!SWT.getPlatform().equals("cocoa")) {
progressBar = new ProgressBar(shell, SWT.NONE);
progressBar.setSelection(50);
progressBar.setToolTipText("ProgressBar ToolTip");
overrideProgressBar = new ProgressBar(shell, SWT.NONE);
overrideProgressBar.setSelection(50);
overrideProgressBar.setToolTipText("ProgressBar ToolTip");
overrideProgressBar.setData("name", "ProgressBar");
overrideProgressBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
}
// Sash sash, overrideSash;
sash = new Sash(shell, SWT.BORDER);
sash.setToolTipText("Sash ToolTip");
overrideSash = new Sash(shell, SWT.BORDER);
overrideSash.setToolTipText("Sash ToolTip");
overrideSash.setData("name", "Sash");
overrideSash.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
// Link link, overrideLink;
link = new Link(shell, SWT.NONE);
link.setText("<a>This is a link</a>");
link.setToolTipText("Link ToolTip");
overrideLink = new Link(shell, SWT.NONE);
overrideLink.setText("<a>This is a link</a>");
overrideLink.setToolTipText("Link ToolTip");
overrideLink.setData("name", "Link");
overrideLink.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
largeImage.dispose();
smallImage.dispose();
transparentImage.dispose();
display.dispose();
}
use of org.eclipse.swt.accessibility.AccessibleEvent in project eclipse.platform.swt by eclipse.
the class AccessibleActionExample method main.
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
shell.setText("Accessible Action Example");
Button button = new Button(shell, SWT.PUSH);
button.setText("Button");
final Canvas customButton = new Canvas(shell, SWT.NONE) {
@Override
public Point computeSize(int wHint, int hHint, boolean changed) {
GC gc = new GC(this);
Point point = gc.stringExtent(buttonText);
gc.dispose();
point.x += MARGIN;
point.y += MARGIN;
return point;
}
};
customButton.addPaintListener(e -> {
Rectangle clientArea = customButton.getClientArea();
Point stringExtent = e.gc.stringExtent(buttonText);
int x = clientArea.x + (clientArea.width - stringExtent.x) / 2;
int y = clientArea.y + (clientArea.height - stringExtent.y) / 2;
e.gc.drawString(buttonText, x, y);
});
customButton.addMouseListener(MouseListener.mouseDownAdapter(e -> {
int actionIndex = (e.button == 1) ? 0 : 1;
customButtonAction(actionIndex);
}));
customButton.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int modifierKeys = e.stateMask & SWT.MODIFIER_MASK;
if (modifierKeys == SWT.CTRL || modifierKeys == 0) {
if (e.character == '1')
customButtonAction(0);
else if (e.character == '2')
customButtonAction(1);
}
}
});
Accessible accessible = customButton.getAccessible();
accessible.addAccessibleListener(new AccessibleAdapter() {
@Override
public void getName(AccessibleEvent e) {
e.result = buttonText;
}
@Override
public void getKeyboardShortcut(AccessibleEvent e) {
// default action is 'action 1'
e.result = "CTRL+1";
}
});
accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
@Override
public void getRole(AccessibleControlEvent e) {
e.detail = ACC.ROLE_PUSHBUTTON;
}
});
accessible.addAccessibleActionListener(new AccessibleActionAdapter() {
@Override
public void getActionCount(AccessibleActionEvent e) {
e.count = 2;
}
@Override
public void getName(AccessibleActionEvent e) {
if (0 <= e.index && e.index <= 1) {
if (e.localized) {
e.result = AccessibleActionExample.getResourceString("action" + e.index);
} else {
// $NON-NLS-1$
e.result = "Action" + e.index;
}
}
}
@Override
public void getDescription(AccessibleActionEvent e) {
if (0 <= e.index && e.index <= 1) {
e.result = AccessibleActionExample.getResourceString("action" + e.index + "description");
}
}
@Override
public void doAction(AccessibleActionEvent e) {
if (0 <= e.index && e.index <= 1) {
customButtonAction(e.index);
e.result = ACC.OK;
}
}
@Override
public void getKeyBinding(AccessibleActionEvent e) {
switch(e.index) {
case 0:
e.result = "1;CTRL+1";
break;
case 1:
e.result = "2;CTRL+2";
break;
default:
e.result = null;
}
}
});
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
use of org.eclipse.swt.accessibility.AccessibleEvent in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_accessibility_AccessibleEvent method test_ConstructorLjava_lang_Object.
@Test
public void test_ConstructorLjava_lang_Object() {
// The source object should be a widget's accessible.
AccessibleEvent event = new AccessibleEvent(shell.getAccessible());
assertNotNull(event);
// Test with some other object also.
event = new AccessibleEvent(Integer.valueOf(5));
assertNotNull(event);
}
use of org.eclipse.swt.accessibility.AccessibleEvent in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_accessibility_AccessibleEvent method test_toString.
@Test
public void test_toString() {
AccessibleEvent event = new AccessibleEvent(shell.getAccessible());
assertNotNull(event.toString());
assertTrue(event.toString().length() > 0);
}
use of org.eclipse.swt.accessibility.AccessibleEvent in project webtools.sourceediting by eclipse.
the class XMLSyntaxColoringPage method createContents.
protected Control createContents(final Composite parent) {
initializeDialogUnits(parent);
fDefaultForeground = parent.getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
fDefaultBackground = parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
Composite pageComponent = createComposite(parent, 2);
PlatformUI.getWorkbench().getHelpSystem().setHelp(pageComponent, IHelpContextIds.XML_PREFWEBX_STYLES_HELPID);
Link link = new Link(pageComponent, SWT.WRAP);
link.setText(SSEUIMessages.SyntaxColoring_Link);
link.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
PreferencesUtil.createPreferenceDialogOn(parent.getShell(), e.text, null, null);
}
});
GridData linkData = new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1);
// only expand further if anyone else requires it
linkData.widthHint = 150;
link.setLayoutData(linkData);
new Label(pageComponent, SWT.NONE).setLayoutData(new GridData());
new Label(pageComponent, SWT.NONE).setLayoutData(new GridData());
SashForm editor = new SashForm(pageComponent, SWT.VERTICAL);
GridData gridData2 = new GridData(SWT.FILL, SWT.FILL, true, true);
gridData2.horizontalSpan = 2;
editor.setLayoutData(gridData2);
SashForm top = new SashForm(editor, SWT.HORIZONTAL);
Composite styleEditor = createComposite(top, 1);
((GridLayout) styleEditor.getLayout()).marginRight = 5;
((GridLayout) styleEditor.getLayout()).marginLeft = 0;
createLabel(styleEditor, XMLUIMessages.SyntaxColoringPage_0);
fStylesViewer = createStylesViewer(styleEditor);
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
gridData.horizontalIndent = 0;
Iterator iterator = fStyleToDescriptionMap.values().iterator();
while (iterator.hasNext()) {
gridData.widthHint = Math.max(gridData.widthHint, convertWidthInCharsToPixels(iterator.next().toString().length()));
}
gridData.heightHint = convertHeightInCharsToPixels(5);
fStylesViewer.getControl().setLayoutData(gridData);
Composite editingComposite = createComposite(top, 1);
((GridLayout) styleEditor.getLayout()).marginLeft = 5;
// $NON-NLS-1$
createLabel(editingComposite, "");
Button enabler = createCheckbox(editingComposite, XMLUIMessages.SyntaxColoringPage_2);
enabler.setEnabled(false);
enabler.setSelection(true);
Composite editControls = createComposite(editingComposite, 2);
((GridLayout) editControls.getLayout()).marginLeft = 20;
fForegroundLabel = createLabel(editControls, SSEUIMessages.Foreground_UI_);
((GridData) fForegroundLabel.getLayoutData()).verticalAlignment = SWT.CENTER;
fForegroundLabel.setEnabled(false);
fForegroundColorEditor = new ColorSelector(editControls);
Button fForegroundColor = fForegroundColorEditor.getButton();
GridData gd = new GridData(SWT.BEGINNING, SWT.FILL, false, false);
fForegroundColor.setLayoutData(gd);
fForegroundColorEditor.setEnabled(false);
fForegroundColorEditor.getButton().getAccessible().addAccessibleListener(new AccessibleAdapter() {
public void getName(final AccessibleEvent e) {
e.result = SSEUIMessages.Foreground_Color_Selector_Button;
}
});
fBackgroundLabel = createLabel(editControls, SSEUIMessages.Background_UI_);
((GridData) fBackgroundLabel.getLayoutData()).verticalAlignment = SWT.CENTER;
fBackgroundLabel.setEnabled(false);
fBackgroundColorEditor = new ColorSelector(editControls);
Button fBackgroundColor = fBackgroundColorEditor.getButton();
gd = new GridData(SWT.BEGINNING, SWT.FILL, false, false);
fBackgroundColor.setLayoutData(gd);
fBackgroundColorEditor.setEnabled(false);
fBackgroundColorEditor.getButton().getAccessible().addAccessibleListener(new AccessibleAdapter() {
public void getName(final AccessibleEvent e) {
e.result = SSEUIMessages.Background_Color_Selector_Button;
}
});
fBold = createCheckbox(editControls, XMLUIMessages.SyntaxColoringPage_3);
fBold.setEnabled(false);
((GridData) fBold.getLayoutData()).horizontalSpan = 2;
fItalic = createCheckbox(editControls, XMLUIMessages.SyntaxColoringPage_4);
fItalic.setEnabled(false);
((GridData) fItalic.getLayoutData()).horizontalSpan = 2;
fStrike = createCheckbox(editControls, XMLUIMessages.SyntaxColoringPage_5);
fStrike.setEnabled(false);
((GridData) fStrike.getLayoutData()).horizontalSpan = 2;
fUnderline = createCheckbox(editControls, XMLUIMessages.SyntaxColoringPage_6);
fUnderline.setEnabled(false);
((GridData) fUnderline.getLayoutData()).horizontalSpan = 2;
fClearStyle = new Button(editingComposite, SWT.PUSH);
// $NON-NLS-1$ = "Restore Default"
fClearStyle.setText(SSEUIMessages.Restore_Default_UI_);
fClearStyle.setLayoutData(new GridData(SWT.BEGINNING));
((GridData) fClearStyle.getLayoutData()).horizontalIndent = 20;
fClearStyle.setEnabled(false);
Composite sampleArea = createComposite(editor, 1);
((GridLayout) sampleArea.getLayout()).marginLeft = 5;
((GridLayout) sampleArea.getLayout()).marginTop = 5;
// $NON-NLS-1$ = "&Sample text:"
createLabel(sampleArea, SSEUIMessages.Sample_text__UI_);
fPreviewViewer = new SourceViewer(sampleArea, null, SWT.BORDER | SWT.LEFT_TO_RIGHT | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY);
fText = fPreviewViewer.getTextWidget();
GridData gridData3 = new GridData(SWT.FILL, SWT.FILL, true, true);
gridData3.widthHint = convertWidthInCharsToPixels(20);
gridData3.heightHint = convertHeightInCharsToPixels(5);
gridData3.horizontalSpan = 2;
fText.setLayoutData(gridData3);
fText.setEditable(false);
// $NON-NLS-1$
fText.setFont(JFaceResources.getFont("org.eclipse.wst.sse.ui.textfont"));
fText.addKeyListener(getTextKeyListener());
fText.addSelectionListener(getTextSelectionListener());
fText.addMouseListener(getTextMouseListener());
fText.addTraverseListener(getTraverseListener());
setAccessible(fText, SSEUIMessages.Sample_text__UI_);
fDocument = StructuredModelManager.getModelManager().createStructuredDocumentFor(ContentTypeIdForXML.ContentTypeID_XML);
fDocument.set(getExampleText());
initializeSourcePreviewColors(fPreviewViewer);
fPreviewViewer.setDocument(fDocument);
top.setWeights(new int[] { 1, 1 });
editor.setWeights(new int[] { 1, 1 });
PlatformUI.getWorkbench().getHelpSystem().setHelp(pageComponent, IHelpContextIds.XML_PREFWEBX_STYLES_HELPID);
fStylesViewer.setInput(getStylePreferenceKeys());
applyStyles();
fStylesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
if (!event.getSelection().isEmpty()) {
Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
String namedStyle = o.toString();
activate(namedStyle);
if (namedStyle == null)
return;
}
}
});
fForegroundColorEditor.addListener(new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
if (event.getProperty().equals(ColorSelector.PROP_COLORCHANGE)) {
Object o = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement();
String namedStyle = o.toString();
String prefString = getOverlayStore().getString(namedStyle);
String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
if (stylePrefs != null) {
String oldValue = stylePrefs[0];
// open color dialog to get new color
String newValue = ColorHelper.toRGBString(fForegroundColorEditor.getColorValue());
if (!newValue.equals(oldValue)) {
stylePrefs[0] = newValue;
String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
getOverlayStore().setValue(namedStyle, newPrefString);
applyStyles();
fText.redraw();
}
}
}
}
});
fBackgroundColorEditor.addListener(new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
if (event.getProperty().equals(ColorSelector.PROP_COLORCHANGE)) {
Object o = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement();
String namedStyle = o.toString();
String prefString = getOverlayStore().getString(namedStyle);
String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
if (stylePrefs != null) {
String oldValue = stylePrefs[1];
// open color dialog to get new color
String newValue = ColorHelper.toRGBString(fBackgroundColorEditor.getColorValue());
if (!newValue.equals(oldValue)) {
stylePrefs[1] = newValue;
String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
getOverlayStore().setValue(namedStyle, newPrefString);
applyStyles();
fText.redraw();
activate(namedStyle);
}
}
}
}
});
fBold.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
// get current (newly old) style
Object o = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement();
String namedStyle = o.toString();
String prefString = getOverlayStore().getString(namedStyle);
String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
if (stylePrefs != null) {
String oldValue = stylePrefs[2];
String newValue = String.valueOf(fBold.getSelection());
if (!newValue.equals(oldValue)) {
stylePrefs[2] = newValue;
String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
getOverlayStore().setValue(namedStyle, newPrefString);
applyStyles();
fText.redraw();
}
}
}
});
fItalic.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
// get current (newly old) style
Object o = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement();
String namedStyle = o.toString();
String prefString = getOverlayStore().getString(namedStyle);
String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
if (stylePrefs != null) {
String oldValue = stylePrefs[3];
String newValue = String.valueOf(fItalic.getSelection());
if (!newValue.equals(oldValue)) {
stylePrefs[3] = newValue;
String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
getOverlayStore().setValue(namedStyle, newPrefString);
applyStyles();
fText.redraw();
}
}
}
});
fStrike.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
// get current (newly old) style
Object o = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement();
String namedStyle = o.toString();
String prefString = getOverlayStore().getString(namedStyle);
String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
if (stylePrefs != null) {
String oldValue = stylePrefs[4];
String newValue = String.valueOf(fStrike.getSelection());
if (!newValue.equals(oldValue)) {
stylePrefs[4] = newValue;
String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
getOverlayStore().setValue(namedStyle, newPrefString);
applyStyles();
fText.redraw();
}
}
}
});
fUnderline.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
// get current (newly old) style
Object o = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement();
String namedStyle = o.toString();
String prefString = getOverlayStore().getString(namedStyle);
String[] stylePrefs = ColorHelper.unpackStylePreferences(prefString);
if (stylePrefs != null) {
String oldValue = stylePrefs[5];
String newValue = String.valueOf(fUnderline.getSelection());
if (!newValue.equals(oldValue)) {
stylePrefs[5] = newValue;
String newPrefString = ColorHelper.packStylePreferences(stylePrefs);
getOverlayStore().setValue(namedStyle, newPrefString);
applyStyles();
fText.redraw();
}
}
}
});
fClearStyle.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (fStylesViewer.getSelection().isEmpty())
return;
String namedStyle = ((IStructuredSelection) fStylesViewer.getSelection()).getFirstElement().toString();
getOverlayStore().setToDefault(namedStyle);
applyStyles();
fText.redraw();
activate(namedStyle);
}
});
return pageComponent;
}
Aggregations