List of usage examples for org.eclipse.swt.widgets Button getSelection
public boolean getSelection()
true
if the receiver is selected, and false otherwise. From source file:org.eclipse.swt.examples.texteditor.TextEditor.java
void createToolBar() { coolBar = new CoolBar(shell, SWT.FLAT); ToolBar styleToolBar = new ToolBar(coolBar, SWT.FLAT); boldControl = new ToolItem(styleToolBar, SWT.CHECK); boldControl.setImage(iBold);//from w w w. j a va 2s . c o m boldControl.setToolTipText(getResourceString("Bold")); //$NON-NLS-1$ boldControl.addSelectionListener(widgetSelectedAdapter(event -> setStyle(BOLD))); italicControl = new ToolItem(styleToolBar, SWT.CHECK); italicControl.setImage(iItalic); italicControl.setToolTipText(getResourceString("Italic")); //$NON-NLS-1$ italicControl.addSelectionListener(widgetSelectedAdapter(event -> setStyle(ITALIC))); final Menu underlineMenu = new Menu(shell, SWT.POP_UP); underlineSingleItem = new MenuItem(underlineMenu, SWT.RADIO); underlineSingleItem.setText(getResourceString("Single_menuitem")); //$NON-NLS-1$ underlineSingleItem.addSelectionListener(widgetSelectedAdapter(event -> { if (underlineSingleItem.getSelection()) { setStyle(UNDERLINE_SINGLE); } })); underlineSingleItem.setSelection(true); underlineDoubleItem = new MenuItem(underlineMenu, SWT.RADIO); underlineDoubleItem.setText(getResourceString("Double_menuitem")); //$NON-NLS-1$ underlineDoubleItem.addSelectionListener(widgetSelectedAdapter(event -> { if (underlineDoubleItem.getSelection()) { setStyle(UNDERLINE_DOUBLE); } })); underlineSquiggleItem = new MenuItem(underlineMenu, SWT.RADIO); underlineSquiggleItem.setText(getResourceString("Squiggle_menuitem")); //$NON-NLS-1$ underlineSquiggleItem.addSelectionListener(widgetSelectedAdapter(event -> { if (underlineSquiggleItem.getSelection()) { setStyle(UNDERLINE_SQUIGGLE); } })); underlineErrorItem = new MenuItem(underlineMenu, SWT.RADIO); underlineErrorItem.setText(getResourceString("Error_menuitem")); //$NON-NLS-1$ underlineErrorItem.addSelectionListener(widgetSelectedAdapter(event -> { if (underlineErrorItem.getSelection()) { setStyle(UNDERLINE_ERROR); } })); MenuItem underlineColorItem = new MenuItem(underlineMenu, SWT.PUSH); underlineColorItem.setText(getResourceString("Color_menuitem")); //$NON-NLS-1$ underlineColorItem.addSelectionListener(widgetSelectedAdapter(event -> { ColorDialog dialog = new ColorDialog(shell); RGB rgb = underlineColor != null ? underlineColor.getRGB() : null; dialog.setRGB(rgb); RGB newRgb = dialog.open(); if (newRgb != null) { if (!newRgb.equals(rgb)) { disposeResource(underlineColor); underlineColor = new Color(display, newRgb); } if (underlineSingleItem.getSelection()) setStyle(UNDERLINE_SINGLE); else if (underlineDoubleItem.getSelection()) setStyle(UNDERLINE_DOUBLE); else if (underlineErrorItem.getSelection()) setStyle(UNDERLINE_ERROR); else if (underlineSquiggleItem.getSelection()) setStyle(UNDERLINE_SQUIGGLE); } })); final ToolItem underlineControl = new ToolItem(styleToolBar, SWT.DROP_DOWN); underlineControl.setImage(iUnderline); underlineControl.setToolTipText(getResourceString("Underline")); //$NON-NLS-1$ underlineControl.addSelectionListener(widgetSelectedAdapter(event -> { if (event.detail == SWT.ARROW) { Rectangle rect = underlineControl.getBounds(); Point pt = new Point(rect.x, rect.y + rect.height); underlineMenu.setLocation(display.map(underlineControl.getParent(), null, pt)); underlineMenu.setVisible(true); } else { if (underlineSingleItem.getSelection()) setStyle(UNDERLINE_SINGLE); else if (underlineDoubleItem.getSelection()) setStyle(UNDERLINE_DOUBLE); else if (underlineErrorItem.getSelection()) setStyle(UNDERLINE_ERROR); else if (underlineSquiggleItem.getSelection()) setStyle(UNDERLINE_SQUIGGLE); } })); ToolItem strikeoutControl = new ToolItem(styleToolBar, SWT.DROP_DOWN); strikeoutControl.setImage(iStrikeout); strikeoutControl.setToolTipText(getResourceString("Strikeout")); //$NON-NLS-1$ strikeoutControl.addSelectionListener(widgetSelectedAdapter(event -> { if (event.detail == SWT.ARROW) { ColorDialog dialog = new ColorDialog(shell); RGB rgb = strikeoutColor != null ? strikeoutColor.getRGB() : null; dialog.setRGB(rgb); RGB newRgb = dialog.open(); if (newRgb == null) return; if (!newRgb.equals(rgb)) { disposeResource(strikeoutColor); strikeoutColor = new Color(display, newRgb); } } setStyle(STRIKEOUT); })); final Menu borderMenu = new Menu(shell, SWT.POP_UP); borderSolidItem = new MenuItem(borderMenu, SWT.RADIO); borderSolidItem.setText(getResourceString("Solid")); //$NON-NLS-1$ borderSolidItem.addSelectionListener(widgetSelectedAdapter(event -> { if (borderSolidItem.getSelection()) { setStyle(BORDER_SOLID); } })); borderSolidItem.setSelection(true); borderDashItem = new MenuItem(borderMenu, SWT.RADIO); borderDashItem.setText(getResourceString("Dash")); //$NON-NLS-1$ borderDashItem.addSelectionListener(widgetSelectedAdapter(event -> { if (borderDashItem.getSelection()) { setStyle(BORDER_DASH); } })); borderDotItem = new MenuItem(borderMenu, SWT.RADIO); borderDotItem.setText(getResourceString("Dot")); //$NON-NLS-1$ borderDotItem.addSelectionListener(widgetSelectedAdapter(event -> { if (borderDotItem.getSelection()) { setStyle(BORDER_DOT); } })); MenuItem borderColorItem = new MenuItem(borderMenu, SWT.PUSH); borderColorItem.setText(getResourceString("Color_menuitem")); //$NON-NLS-1$ borderColorItem.addSelectionListener(widgetSelectedAdapter(event -> { ColorDialog dialog = new ColorDialog(shell); RGB rgb = borderColor != null ? borderColor.getRGB() : null; dialog.setRGB(rgb); RGB newRgb = dialog.open(); if (newRgb != null) { if (!newRgb.equals(rgb)) { disposeResource(borderColor); borderColor = new Color(display, newRgb); } if (borderDashItem.getSelection()) setStyle(BORDER_DASH); else if (borderDotItem.getSelection()) setStyle(BORDER_DOT); else if (borderSolidItem.getSelection()) setStyle(BORDER_SOLID); } })); final ToolItem borderControl = new ToolItem(styleToolBar, SWT.DROP_DOWN); borderControl.setImage(iBorderStyle); borderControl.setToolTipText(getResourceString("Box")); //$NON-NLS-1$ borderControl.addSelectionListener(widgetSelectedAdapter(event -> { if (event.detail == SWT.ARROW) { Rectangle rect = borderControl.getBounds(); Point pt = new Point(rect.x, rect.y + rect.height); borderMenu.setLocation(display.map(borderControl.getParent(), null, pt)); borderMenu.setVisible(true); } else { if (borderDashItem.getSelection()) setStyle(BORDER_DASH); else if (borderDotItem.getSelection()) setStyle(BORDER_DOT); else if (borderSolidItem.getSelection()) setStyle(BORDER_SOLID); } })); ToolItem foregroundItem = new ToolItem(styleToolBar, SWT.DROP_DOWN); foregroundItem.setImage(iTextForeground); foregroundItem.setToolTipText(getResourceString("TextForeground")); //$NON-NLS-1$ foregroundItem.addSelectionListener(widgetSelectedAdapter(event -> { if (event.detail == SWT.ARROW || textForeground == null) { ColorDialog dialog = new ColorDialog(shell); RGB rgb = textForeground != null ? textForeground.getRGB() : null; dialog.setRGB(rgb); RGB newRgb = dialog.open(); if (newRgb == null) return; if (!newRgb.equals(rgb)) { disposeResource(textForeground); textForeground = new Color(display, newRgb); } } setStyle(FOREGROUND); })); ToolItem backgroundItem = new ToolItem(styleToolBar, SWT.DROP_DOWN); backgroundItem.setImage(iTextBackground); backgroundItem.setToolTipText(getResourceString("TextBackground")); //$NON-NLS-1$ backgroundItem.addSelectionListener(widgetSelectedAdapter(event -> { if (event.detail == SWT.ARROW || textBackground == null) { ColorDialog dialog = new ColorDialog(shell); RGB rgb = textBackground != null ? textBackground.getRGB() : null; dialog.setRGB(rgb); RGB newRgb = dialog.open(); if (newRgb == null) return; if (!newRgb.equals(rgb)) { disposeResource(textBackground); textBackground = new Color(display, newRgb); } } setStyle(BACKGROUND); })); ToolItem baselineUpItem = new ToolItem(styleToolBar, SWT.PUSH); baselineUpItem.setImage(iBaselineUp); String tooltip = "IncreaseFont"; //$NON-NLS-1$ if (USE_BASELINE) tooltip = "IncreaseBaseline"; //$NON-NLS-1$ baselineUpItem.setToolTipText(getResourceString(tooltip)); baselineUpItem.addSelectionListener(widgetSelectedAdapter(event -> { if (USE_BASELINE) { setStyle(BASELINE_UP); } else { adjustFontSize(1); } })); ToolItem baselineDownItem = new ToolItem(styleToolBar, SWT.PUSH); baselineDownItem.setImage(iBaselineDown); tooltip = "DecreaseFont"; //$NON-NLS-1$ if (USE_BASELINE) tooltip = "DecreaseBaseline"; //$NON-NLS-1$ baselineDownItem.setToolTipText(getResourceString(tooltip)); baselineDownItem.addSelectionListener(widgetSelectedAdapter(event -> { if (USE_BASELINE) { setStyle(BASELINE_DOWN); } else { adjustFontSize(-1); } })); ToolItem linkItem = new ToolItem(styleToolBar, SWT.PUSH); linkItem.setImage(iLink); linkItem.setToolTipText(getResourceString("Link")); //$NON-NLS-1$ linkItem.addSelectionListener(widgetSelectedAdapter(event -> setLink())); CoolItem coolItem = new CoolItem(coolBar, SWT.NONE); coolItem.setControl(styleToolBar); Composite composite = new Composite(coolBar, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginHeight = 1; composite.setLayout(layout); fontNameControl = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY); fontNameControl.setItems(getFontNames()); fontNameControl.setVisibleItemCount(12); fontSizeControl = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY); fontSizeControl.setItems(FONT_SIZES); fontSizeControl.setVisibleItemCount(8); SelectionListener adapter = widgetSelectedAdapter(event -> { String name = fontNameControl.getText(); int size = Integer.parseInt(fontSizeControl.getText()); disposeResource(textFont); textFont = new Font(display, name, size, SWT.NORMAL); setStyle(FONT); }); fontSizeControl.addSelectionListener(adapter); fontNameControl.addSelectionListener(adapter); coolItem = new CoolItem(coolBar, SWT.NONE); coolItem.setControl(composite); ToolBar alignmentToolBar = new ToolBar(coolBar, SWT.FLAT); blockSelectionItem = new ToolItem(alignmentToolBar, SWT.CHECK); blockSelectionItem.setImage(iBlockSelection); blockSelectionItem.setToolTipText(getResourceString("BlockSelection")); //$NON-NLS-1$ blockSelectionItem.addSelectionListener( widgetSelectedAdapter(event -> styledText.invokeAction(ST.TOGGLE_BLOCKSELECTION))); leftAlignmentItem = new ToolItem(alignmentToolBar, SWT.RADIO); leftAlignmentItem.setImage(iLeftAlignment); leftAlignmentItem.setToolTipText(getResourceString("AlignLeft")); //$NON-NLS-1$ leftAlignmentItem.setSelection(true); leftAlignmentItem.addSelectionListener(widgetSelectedAdapter(event -> { Point selection = styledText.getSelection(); int lineStart = styledText.getLineAtOffset(selection.x); int lineEnd = styledText.getLineAtOffset(selection.y); styledText.setLineAlignment(lineStart, lineEnd - lineStart + 1, SWT.LEFT); })); leftAlignmentItem.setEnabled(false); centerAlignmentItem = new ToolItem(alignmentToolBar, SWT.RADIO); centerAlignmentItem.setImage(iCenterAlignment); centerAlignmentItem.setToolTipText(getResourceString("Center_menuitem")); //$NON-NLS-1$ centerAlignmentItem.addSelectionListener(widgetSelectedAdapter(event -> { Point selection = styledText.getSelection(); int lineStart = styledText.getLineAtOffset(selection.x); int lineEnd = styledText.getLineAtOffset(selection.y); styledText.setLineAlignment(lineStart, lineEnd - lineStart + 1, SWT.CENTER); })); centerAlignmentItem.setEnabled(false); rightAlignmentItem = new ToolItem(alignmentToolBar, SWT.RADIO); rightAlignmentItem.setImage(iRightAlignment); rightAlignmentItem.setToolTipText(getResourceString("AlignRight")); //$NON-NLS-1$ rightAlignmentItem.addSelectionListener(widgetSelectedAdapter(event -> { Point selection = styledText.getSelection(); int lineStart = styledText.getLineAtOffset(selection.x); int lineEnd = styledText.getLineAtOffset(selection.y); styledText.setLineAlignment(lineStart, lineEnd - lineStart + 1, SWT.RIGHT); })); rightAlignmentItem.setEnabled(false); justifyAlignmentItem = new ToolItem(alignmentToolBar, SWT.CHECK); justifyAlignmentItem.setImage(iJustifyAlignment); justifyAlignmentItem.setToolTipText(getResourceString("Justify")); //$NON-NLS-1$ justifyAlignmentItem.addSelectionListener(widgetSelectedAdapter(event -> { Point selection = styledText.getSelection(); int lineStart = styledText.getLineAtOffset(selection.x); int lineEnd = styledText.getLineAtOffset(selection.y); styledText.setLineJustify(lineStart, lineEnd - lineStart + 1, justifyAlignmentItem.getSelection()); })); justifyAlignmentItem.setEnabled(false); ToolItem bulletListItem = new ToolItem(alignmentToolBar, SWT.PUSH); bulletListItem.setImage(iBulletList); bulletListItem.setToolTipText(getResourceString("BulletList")); //$NON-NLS-1$ bulletListItem.addSelectionListener(widgetSelectedAdapter(event -> setBullet(ST.BULLET_DOT))); ToolItem numberedListItem = new ToolItem(alignmentToolBar, SWT.PUSH); numberedListItem.setImage(iNumberedList); numberedListItem.setToolTipText(getResourceString("NumberedList")); //$NON-NLS-1$ numberedListItem .addSelectionListener(widgetSelectedAdapter(event -> setBullet(ST.BULLET_NUMBER | ST.BULLET_TEXT))); coolItem = new CoolItem(coolBar, SWT.NONE); coolItem.setControl(alignmentToolBar); composite = new Composite(coolBar, SWT.NONE); layout = new GridLayout(4, false); layout.marginHeight = 1; composite.setLayout(layout); Label label = new Label(composite, SWT.NONE); label.setText(getResourceString("Indent")); //$NON-NLS-1$ Spinner indent = new Spinner(composite, SWT.BORDER); indent.addSelectionListener(widgetSelectedAdapter(event -> { Spinner spinner = (Spinner) event.widget; styledText.setIndent(spinner.getSelection()); })); label = new Label(composite, SWT.NONE); label.setText(getResourceString("Spacing")); //$NON-NLS-1$ Spinner spacing = new Spinner(composite, SWT.BORDER); spacing.addSelectionListener(widgetSelectedAdapter(event -> { Spinner spinner = (Spinner) event.widget; styledText.setLineSpacing(spinner.getSelection()); })); coolItem = new CoolItem(coolBar, SWT.NONE); coolItem.setControl(composite); // Button to toggle Mouse Navigator in StyledText composite = new Composite(coolBar, SWT.NONE); composite.setLayout(new GridLayout(1, false)); Button mouseNavigator = new Button(composite, SWT.CHECK); mouseNavigator.setText(getResourceString("MouseNav")); mouseNavigator.addSelectionListener( widgetSelectedAdapter(event -> styledText.setMouseNavigatorEnabled(mouseNavigator.getSelection()))); coolItem = new CoolItem(coolBar, SWT.NONE); coolItem.setControl(composite); // Compute Size for various CoolItems CoolItem[] coolItems = coolBar.getItems(); for (CoolItem item : coolItems) { Control control = item.getControl(); Point size = control.computeSize(SWT.DEFAULT, SWT.DEFAULT); item.setMinimumSize(size); size = item.computeSize(size.x, size.y); item.setPreferredSize(size); item.setSize(size); } coolBar.addControlListener(ControlListener.controlResizedAdapter(event -> handleResize(event))); }
From source file:org.eclipse.swt.examples.imageanalyzer.ImageAnalyzer.java
int showBMPDialog() { final int[] bmpType = new int[1]; bmpType[0] = SWT.IMAGE_BMP;// w w w .j a v a 2 s . co m SelectionListener radioSelected = widgetSelectedAdapter(event -> { Button radio = (Button) event.widget; if (radio.getSelection()) bmpType[0] = ((Integer) radio.getData()).intValue(); }); // need to externalize strings final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM); dialog.setText(bundle.getString("Save_as_type")); dialog.setLayout(new GridLayout()); Label label = new Label(dialog, SWT.NONE); label.setText(bundle.getString("Save_as_type_label")); Button radio = new Button(dialog, SWT.RADIO); radio.setText(bundle.getString("Save_as_type_no_compress")); radio.setSelection(true); radio.setData(Integer.valueOf(SWT.IMAGE_BMP)); radio.addSelectionListener(radioSelected); radio = new Button(dialog, SWT.RADIO); radio.setText(bundle.getString("Save_as_type_rle_compress")); radio.setData(Integer.valueOf(SWT.IMAGE_BMP_RLE)); radio.addSelectionListener(radioSelected); radio = new Button(dialog, SWT.RADIO); radio.setText(bundle.getString("Save_as_type_os2")); radio.setData(Integer.valueOf(SWT.IMAGE_OS2_BMP)); radio.addSelectionListener(radioSelected); label = new Label(dialog, SWT.SEPARATOR | SWT.HORIZONTAL); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Button ok = new Button(dialog, SWT.PUSH); ok.setText(bundle.getString("OK")); GridData data = new GridData(); data.horizontalAlignment = SWT.CENTER; data.widthHint = 75; ok.setLayoutData(data); ok.addSelectionListener(widgetSelectedAdapter(e -> dialog.close())); dialog.pack(); dialog.open(); while (!dialog.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } return bmpType[0]; }
From source file:DNDExample.java
private void createDragSource() { if (dragSource != null) dragSource.dispose();//from ww w.j a v a 2 s .c o m dragSource = new DragSource(dragControl, dragOperation); dragSource.setTransfer(dragTypes); dragSource.addDragListener(new DragSourceListener() { public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragFinished\n"); printEvent(event); dragDataText = dragDataRTF = dragDataHTML = null; dragDataFiles = null; if (event.detail == DND.DROP_MOVE) { switch (dragControlType) { case BUTTON_CHECK: case BUTTON_TOGGLE: case BUTTON_RADIO: { Button b = (Button) dragControl; b.setText(""); break; } case TABLE: { Table table = (Table) dragControl; TableItem[] items = table.getSelection(); for (int i = 0; i < items.length; i++) { items[i].dispose(); } break; } case TEXT: { Text text = (Text) dragControl; text.clearSelection(); break; } case TREE: { Tree tree = (Tree) dragControl; TreeItem[] items = tree.getSelection(); for (int i = 0; i < items.length; i++) { items[i].dispose(); } break; } case CANVAS: { dragControl.setData("STRINGS", null); dragControl.redraw(); break; } case LABEL: { Label label = (Label) dragControl; label.setText(""); break; } case LIST: { List list = (List) dragControl; int[] indices = list.getSelectionIndices(); list.remove(indices); break; } } } } public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragSetData\n"); printEvent(event); if (TextTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataText; } if (RTFTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataRTF; } if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataHTML; } if (FileTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataFiles; } } public void dragStart(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragStart\n"); printEvent(event); dragDataFiles = fileList.getItems(); switch (dragControlType) { case BUTTON_CHECK: case BUTTON_TOGGLE: case BUTTON_RADIO: { Button b = (Button) dragControl; dragDataText = b.getSelection() ? "true" : "false"; break; } case TABLE: { Table table = (Table) dragControl; TableItem[] items = table.getSelection(); if (items.length == 0) { event.doit = false; } else { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < items.length; i++) { buffer.append(items[i].getText()); if (items.length > 1 && i < items.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case TEXT: { Text text = (Text) dragControl; String s = text.getSelectionText(); if (s.length() == 0) { event.doit = false; } else { dragDataText = s; } break; } case TREE: { Tree tree = (Tree) dragControl; TreeItem[] items = tree.getSelection(); if (items.length == 0) { event.doit = false; } else { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < items.length; i++) { buffer.append(items[i].getText()); if (items.length > 1 && i < items.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case CANVAS: { String[] strings = (String[]) dragControl.getData("STRINGS"); if (strings == null || strings.length == 0) { event.doit = false; } else { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < strings.length; i++) { buffer.append(strings[i]); if (strings.length > 1 && i < strings.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case LABEL: { Label label = (Label) dragControl; String string = label.getText(); if (string.length() == 0) { event.doit = false; } else { dragDataText = string; } break; } case LIST: { List list = (List) dragControl; String[] selection = list.getSelection(); if (selection.length == 0) { event.doit = false; } else { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < selection.length; i++) { buffer.append(selection[i]); if (selection.length > 1 && i < selection.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } default: throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED); } if (dragDataText != null) { dragDataRTF = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\cf1\\b " + dragDataText + "}"; dragDataHTML = "<b>" + dragDataText + "</b>"; } for (int i = 0; i < dragTypes.length; i++) { if (dragTypes[i] instanceof TextTransfer && dragDataText == null) { event.doit = false; } if (dragTypes[i] instanceof RTFTransfer && dragDataRTF == null) { event.doit = false; } if (dragTypes[i] instanceof HTMLTransfer && dragDataHTML == null) { event.doit = false; } if (dragTypes[i] instanceof FileTransfer && (dragDataFiles == null || dragDataFiles.length == 0)) { event.doit = false; } } } }); }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
private void createDragSource() { if (dragSource != null) dragSource.dispose();// w w w . j a v a 2 s .c o m dragSource = new DragSource(dragControl, dragOperation); dragSource.setTransfer(dragTypes); dragSource.addDragListener(new DragSourceListener() { @Override public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragFinished\n"); printEvent(event); dragDataText = dragDataRTF = dragDataHTML = dragDataURL = null; dragDataFiles = null; if (event.detail == DND.DROP_MOVE) { switch (dragControlType) { case BUTTON_CHECK: case BUTTON_TOGGLE: case BUTTON_RADIO: { Button b = (Button) dragControl; b.setText(""); break; } case STYLED_TEXT: { StyledText text = (StyledText) dragControl; text.insert(""); break; } case TABLE: { Table table = (Table) dragControl; TableItem[] items = table.getSelection(); for (TableItem item : items) { item.dispose(); } break; } case TEXT: { Text text = (Text) dragControl; text.insert(""); break; } case TREE: { Tree tree = (Tree) dragControl; TreeItem[] items = tree.getSelection(); for (TreeItem item : items) { item.dispose(); } break; } case CANVAS: { dragControl.setData("STRINGS", null); dragControl.redraw(); break; } case LABEL: { Label label = (Label) dragControl; label.setText(""); break; } case LIST: { List list = (List) dragControl; int[] indices = list.getSelectionIndices(); list.remove(indices); break; } case COMBO: { Combo combo = (Combo) dragControl; combo.setText(""); break; } } } } @Override public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragSetData\n"); printEvent(event); if (TextTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataText; } if (RTFTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataRTF; } if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataHTML; } if (URLTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataURL; } if (FileTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataFiles; } } @Override public void dragStart(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragStart\n"); printEvent(event); dragDataFiles = fileList.getItems(); switch (dragControlType) { case BUTTON_CHECK: case BUTTON_TOGGLE: case BUTTON_RADIO: { Button b = (Button) dragControl; dragDataText = b.getSelection() ? "true" : "false"; break; } case STYLED_TEXT: { StyledText text = (StyledText) dragControl; String s = text.getSelectionText(); if (s.length() == 0) { event.doit = false; } else { dragDataText = s; } break; } case TABLE: { Table table = (Table) dragControl; TableItem[] items = table.getSelection(); if (items.length == 0) { event.doit = false; } else { StringBuilder buffer = new StringBuilder(); for (int i = 0; i < items.length; i++) { buffer.append(items[i].getText()); if (items.length > 1 && i < items.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case TEXT: { Text text = (Text) dragControl; String s = text.getSelectionText(); if (s.length() == 0) { event.doit = false; } else { dragDataText = s; } break; } case TREE: { Tree tree = (Tree) dragControl; TreeItem[] items = tree.getSelection(); if (items.length == 0) { event.doit = false; } else { StringBuilder buffer = new StringBuilder(); for (int i = 0; i < items.length; i++) { buffer.append(items[i].getText()); if (items.length > 1 && i < items.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case CANVAS: { String[] strings = (String[]) dragControl.getData("STRINGS"); if (strings == null || strings.length == 0) { event.doit = false; } else { StringBuilder buffer = new StringBuilder(); for (int i = 0; i < strings.length; i++) { buffer.append(strings[i]); if (strings.length > 1 && i < strings.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case LABEL: { Label label = (Label) dragControl; String string = label.getText(); if (string.length() == 0) { event.doit = false; } else { dragDataText = string; } break; } case LIST: { List list = (List) dragControl; String[] selection = list.getSelection(); if (selection.length == 0) { event.doit = false; } else { StringBuilder buffer = new StringBuilder(); for (int i = 0; i < selection.length; i++) { buffer.append(selection[i]); if (selection.length > 1 && i < selection.length - 1) { buffer.append("\n"); } } dragDataText = buffer.toString(); } break; } case COMBO: { Combo combo = (Combo) dragControl; String string = combo.getText(); Point selection = combo.getSelection(); if (selection.x == selection.y) { event.doit = false; } else { dragDataText = string.substring(selection.x, selection.y); } break; } default: throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED); } if (dragDataText != null) { dragDataRTF = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\cf1\\b " + dragDataText + "}"; dragDataHTML = "<b>" + dragDataText + "</b>"; dragDataURL = "http://" + dragDataText.replace(' ', '.'); try { new URL(dragDataURL); } catch (MalformedURLException e) { dragDataURL = null; } } for (Transfer dragType : dragTypes) { if (dragType instanceof TextTransfer && dragDataText == null) { event.doit = false; } if (dragType instanceof RTFTransfer && dragDataRTF == null) { event.doit = false; } if (dragType instanceof HTMLTransfer && dragDataHTML == null) { event.doit = false; } if (dragType instanceof URLTransfer && dragDataURL == null) { event.doit = false; } if (dragType instanceof FileTransfer && (dragDataFiles == null || dragDataFiles.length == 0)) { event.doit = false; } } } }); }
From source file:CustomControlExample.java
/** * Handle a decoration button selection event. * /*from w ww .j a va 2 s . co m*/ * @param event * org.eclipse.swt.events.SelectionEvent */ public void decorationButtonSelected(SelectionEvent event) { /* * Make sure if the modal style is SWT.APPLICATION_MODAL or * SWT.SYSTEM_MODAL the style SWT.CLOSE is also selected. This is to * make sure the user can close the shell. */ Button widget = (Button) event.widget; if (widget == applicationModalButton || widget == systemModalButton) { if (widget.getSelection()) { closeButton.setSelection(true); noTrimButton.setSelection(false); } return; } if (widget == closeButton) { if (applicationModalButton.getSelection() || systemModalButton.getSelection()) { closeButton.setSelection(true); } } /* * Make sure if the No Trim button is selected then all other decoration * buttons are deselected. */ if (widget.getSelection() && widget != noTrimButton) { noTrimButton.setSelection(false); return; } if (widget.getSelection() && widget == noTrimButton) { if (applicationModalButton.getSelection() || systemModalButton.getSelection()) { noTrimButton.setSelection(false); return; } closeButton.setSelection(false); titleButton.setSelection(false); minButton.setSelection(false); maxButton.setSelection(false); borderButton.setSelection(false); resizeButton.setSelection(false); return; } }
From source file:CustomControlExample.java
/** * Creates the "Listeners" group. The "Listeners" group goes below the * "Example" and "Control" groups./* w w w.j a va 2s . com*/ */ void createListenersGroup() { listenersGroup = new Group(tabFolderPage, SWT.NONE); listenersGroup.setLayout(new GridLayout(3, false)); listenersGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 2, 1)); listenersGroup.setText(ControlExample.getResourceString("Listeners")); /* * Create the button to access the 'Listeners' dialog. */ Button listenersButton = new Button(listenersGroup, SWT.PUSH); listenersButton.setText(ControlExample.getResourceString("Select_Listeners")); listenersButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { createListenerSelectionDialog(); recreateExampleWidgets(); } }); /* * Create the checkbox to add/remove listeners to/from the example * widgets. */ final Button listenCheckbox = new Button(listenersGroup, SWT.CHECK); listenCheckbox.setText(ControlExample.getResourceString("Listen")); listenCheckbox.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { logging = listenCheckbox.getSelection(); recreateExampleWidgets(); } }); /* * Create the button to clear the text. */ Button clearButton = new Button(listenersGroup, SWT.PUSH); clearButton.setText(ControlExample.getResourceString("Clear")); clearButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); clearButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { eventConsole.setText(""); } }); /* Initialize the eventsFilter to log all events. */ int customEventCount = getCustomEventNames().length; eventsFilter = new boolean[EVENT_NAMES.length + customEventCount]; for (int i = 0; i < EVENT_NAMES.length + customEventCount; i++) { eventsFilter[i] = true; } /* Create the event console Text. */ eventConsole = new Text(listenersGroup, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); GridData data = new GridData(GridData.FILL_BOTH); data.horizontalSpan = 3; data.heightHint = 80; eventConsole.setLayoutData(data); createEventConsolePopup(); eventConsole.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if ((e.keyCode == 'A' || e.keyCode == 'a') && (e.stateMask & SWT.MOD1) != 0) { eventConsole.selectAll(); e.doit = false; } } }); }
From source file:CustomControlExample.java
/** * Handle the Create button selection event. * /* w ww . j av a 2 s . co m*/ * @param event * org.eclipse.swt.events.SelectionEvent */ public void createButtonSelected(SelectionEvent event) { /* * Remember the example shells so they can be disposed by the user. */ if (shellCount >= shells.length) { Shell[] newShells = new Shell[shells.length + 4]; System.arraycopy(shells, 0, newShells, 0, shells.length); shells = newShells; } /* Compute the shell style */ int style = SWT.NONE; if (noTrimButton.getSelection()) style |= SWT.NO_TRIM; if (closeButton.getSelection()) style |= SWT.CLOSE; if (titleButton.getSelection()) style |= SWT.TITLE; if (minButton.getSelection()) style |= SWT.MIN; if (maxButton.getSelection()) style |= SWT.MAX; if (borderButton.getSelection()) style |= SWT.BORDER; if (resizeButton.getSelection()) style |= SWT.RESIZE; if (onTopButton.getSelection()) style |= SWT.ON_TOP; if (toolButton.getSelection()) style |= SWT.TOOL; if (modelessButton.getSelection()) style |= SWT.MODELESS; if (primaryModalButton.getSelection()) style |= SWT.PRIMARY_MODAL; if (applicationModalButton.getSelection()) style |= SWT.APPLICATION_MODAL; if (systemModalButton.getSelection()) style |= SWT.SYSTEM_MODAL; /* Create the shell with or without a parent */ if (noParentButton.getSelection()) { shells[shellCount] = new Shell(style); } else { Shell shell = tabFolderPage.getShell(); shells[shellCount] = new Shell(shell, style); } final Shell currentShell = shells[shellCount]; Button button = new Button(currentShell, SWT.PUSH); button.setBounds(20, 20, 120, 30); Button closeButton = new Button(currentShell, SWT.PUSH); closeButton.setBounds(160, 20, 120, 30); closeButton.setText(ControlExample.getResourceString("Close")); closeButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { currentShell.dispose(); } }); /* Set the size, title, and image, and open the shell */ currentShell.setSize(300, 100); currentShell.setText(ControlExample.getResourceString("Title") + shellCount); if (imageButton.getSelection()) currentShell.setImage(instance.images[ControlExample.ciTarget]); hookListeners(currentShell); currentShell.open(); shellCount++; }