List of usage examples for org.eclipse.swt.widgets Label setText
public void setText(String text)
From source file:com.android.ddmuilib.HeapPanel.java
/** * Create our control(s).// w ww. ja va 2 s . c o m */ @Override protected Control createControl(Composite parent) { mDisplay = parent.getDisplay(); GridLayout gl; mTop = new Composite(parent, SWT.NONE); mTop.setLayout(new GridLayout(1, false)); mTop.setLayoutData(new GridData(GridData.FILL_BOTH)); mUpdateStatus = new Label(mTop, SWT.NONE); setUpdateStatus(NOT_SELECTED); Composite summarySection = new Composite(mTop, SWT.NONE); summarySection.setLayout(gl = new GridLayout(2, false)); gl.marginHeight = gl.marginWidth = 0; mHeapSummary = createSummaryTable(summarySection); mGcButton = new Button(summarySection, SWT.PUSH); mGcButton.setText("Cause GC"); mGcButton.setEnabled(false); mGcButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Client client = getCurrentClient(); if (client != null) { client.executeGarbageCollector(); } } }); Composite comboSection = new Composite(mTop, SWT.NONE); gl = new GridLayout(2, false); gl.marginHeight = gl.marginWidth = 0; comboSection.setLayout(gl); Label displayLabel = new Label(comboSection, SWT.NONE); displayLabel.setText("Display: "); mDisplayMode = new Combo(comboSection, SWT.READ_ONLY); mDisplayMode.setEnabled(false); mDisplayMode.add("Stats"); if (DISPLAY_HEAP_BITMAP) { mDisplayMode.add("Linear"); if (DISPLAY_HILBERT_BITMAP) { mDisplayMode.add("Hilbert"); } } // the base of the displays. mDisplayBase = new Composite(mTop, SWT.NONE); mDisplayBase.setLayoutData(new GridData(GridData.FILL_BOTH)); mDisplayStack = new StackLayout(); mDisplayBase.setLayout(mDisplayStack); // create the statistics display mStatisticsBase = new Composite(mDisplayBase, SWT.NONE); //mStatisticsBase.setLayoutData(new GridData(GridData.FILL_BOTH)); mStatisticsBase.setLayout(gl = new GridLayout(1, false)); gl.marginHeight = gl.marginWidth = 0; mDisplayStack.topControl = mStatisticsBase; mStatisticsTable = createDetailedTable(mStatisticsBase); mStatisticsTable.setLayoutData(new GridData(GridData.FILL_BOTH)); createChart(); //create the linear composite mLinearBase = new Composite(mDisplayBase, SWT.NONE); //mLinearBase.setLayoutData(new GridData()); gl = new GridLayout(1, false); gl.marginHeight = gl.marginWidth = 0; mLinearBase.setLayout(gl); { mLinearHeapImage = new Label(mLinearBase, SWT.NONE); mLinearHeapImage.setLayoutData(new GridData()); mLinearHeapImage.setImage(ImageLoader.createPlaceHolderArt(mDisplay, PLACEHOLDER_LINEAR_H_SIZE, PLACEHOLDER_LINEAR_V_SIZE, mDisplay.getSystemColor(SWT.COLOR_BLUE))); // create a composite to contain the bottom part (legend) Composite bottomSection = new Composite(mLinearBase, SWT.NONE); gl = new GridLayout(1, false); gl.marginHeight = gl.marginWidth = 0; bottomSection.setLayout(gl); createLegend(bottomSection); } /* mScrolledComposite = new ScrolledComposite(mTop, SWT.H_SCROLL | SWT.V_SCROLL); mScrolledComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); mScrolledComposite.setExpandHorizontal(true); mScrolledComposite.setExpandVertical(true); mScrolledComposite.setContent(mDisplayBase); */ // create the hilbert display. mHilbertBase = new Composite(mDisplayBase, SWT.NONE); //mHilbertBase.setLayoutData(new GridData()); gl = new GridLayout(2, false); gl.marginHeight = gl.marginWidth = 0; mHilbertBase.setLayout(gl); if (DISPLAY_HILBERT_BITMAP) { mHilbertHeapImage = new Label(mHilbertBase, SWT.NONE); mHilbertHeapImage.setLayoutData(new GridData()); mHilbertHeapImage.setImage(ImageLoader.createPlaceHolderArt(mDisplay, PLACEHOLDER_HILBERT_SIZE, PLACEHOLDER_HILBERT_SIZE, mDisplay.getSystemColor(SWT.COLOR_BLUE))); // create a composite to contain the right part (legend + zoom) Composite rightSection = new Composite(mHilbertBase, SWT.NONE); gl = new GridLayout(1, false); gl.marginHeight = gl.marginWidth = 0; rightSection.setLayout(gl); Composite zoomComposite = new Composite(rightSection, SWT.NONE); gl = new GridLayout(2, false); zoomComposite.setLayout(gl); Label l = new Label(zoomComposite, SWT.NONE); l.setText("Zoom:"); mZoom = new Combo(zoomComposite, SWT.READ_ONLY); for (int z : ZOOMS) { mZoom.add(String.format("%1$d%%", z)); //$NON-NLS-1$ } mZoom.select(0); mZoom.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { setLegendText(mZoom.getSelectionIndex()); Client client = getCurrentClient(); if (client != null) { renderHeapData(client.getClientData(), 1, true); mTop.pack(); } } }); createLegend(rightSection); } mHilbertBase.pack(); mLayout = new Composite[] { mStatisticsBase, mLinearBase, mHilbertBase }; mDisplayMode.select(0); mDisplayMode.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int index = mDisplayMode.getSelectionIndex(); Client client = getCurrentClient(); if (client != null) { if (index == 0) { fillDetailedTable(client, true /* forceRedraw */); } else { renderHeapData(client.getClientData(), index - 1, true /* forceRedraw */); } } mDisplayStack.topControl = mLayout[index]; //mScrolledComposite.setMinSize(mDisplayStack.topControl.computeSize(SWT.DEFAULT, // SWT.DEFAULT)); mDisplayBase.layout(); //mScrolledComposite.redraw(); } }); //mScrolledComposite.setMinSize(mDisplayStack.topControl.computeSize(SWT.DEFAULT, // SWT.DEFAULT)); mDisplayBase.layout(); //mScrolledComposite.redraw(); return mTop; }
From source file:DNDExample.java
private Control createWidget(int type, Composite parent, String prefix) { switch (type) { case BUTTON_CHECK: { Button button = new Button(parent, SWT.CHECK); button.setText(prefix + " Check box"); return button; }/*from ww w. j a v a 2 s . c om*/ case BUTTON_TOGGLE: { Button button = new Button(parent, SWT.TOGGLE); button.setText(prefix + " Toggle button"); return button; } case BUTTON_RADIO: { Button button = new Button(parent, SWT.RADIO); button.setText(prefix + " Radio button"); return button; } case TABLE: { Table table = new Table(parent, SWT.BORDER | SWT.MULTI); TableColumn column1 = new TableColumn(table, SWT.NONE); TableColumn column2 = new TableColumn(table, SWT.NONE); for (int i = 0; i < 10; i++) { TableItem item = new TableItem(table, SWT.NONE); item.setText(0, prefix + " name " + i); item.setText(1, prefix + " value " + i); } column1.pack(); column2.pack(); return table; } case TEXT: { Text text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); text.setText(prefix + " Text"); return text; } case TREE: { Tree tree = new Tree(parent, SWT.BORDER); for (int i = 0; i < 3; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText(prefix + " item " + i); for (int j = 0; j < 3; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText(prefix + " item " + j); for (int k = 0; k < 3; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText(prefix + " item " + k); } } } return tree; } case CANVAS: { Canvas canvas = new Canvas(parent, SWT.BORDER); canvas.setData("STRINGS", new String[] { prefix + " Canvas widget" }); canvas.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { Canvas c = (Canvas) e.widget; Image image = (Image) c.getData("IMAGE"); if (image != null) { e.gc.drawImage(image, 5, 5); } else { String[] strings = (String[]) c.getData("STRINGS"); if (strings != null) { FontMetrics metrics = e.gc.getFontMetrics(); int height = metrics.getHeight(); int y = 5; for (int i = 0; i < strings.length; i++) { e.gc.drawString(strings[i], 5, y); y += height + 5; } } } } }); return canvas; } case LABEL: { Label label = new Label(parent, SWT.BORDER); label.setText(prefix + " Label"); return label; } case LIST: { List list = new List(parent, SWT.BORDER); list.setItems(new String[] { prefix + " Item a", prefix + " Item b", prefix + " Item c", prefix + " Item d" }); return list; } default: throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED); } }
From source file:DNDExample.java
private void createDropTarget() { if (dropTarget != null) dropTarget.dispose();/* ww w . j a va 2 s . c om*/ dropTarget = new DropTarget(dropControl, dropOperation); dropTarget.setTransfer(dropTypes); dropTarget.addDropListener(new DropTargetListener() { public void dragEnter(DropTargetEvent event) { dropConsole.append(">>dragEnter\n"); printEvent(event); if (event.detail == DND.DROP_DEFAULT) { event.detail = dropDefaultOperation; } event.feedback = dropFeedback; } public void dragLeave(DropTargetEvent event) { dropConsole.append(">>dragLeave\n"); printEvent(event); } public void dragOperationChanged(DropTargetEvent event) { dropConsole.append(">>dragOperationChanged\n"); printEvent(event); if (event.detail == DND.DROP_DEFAULT) { event.detail = dropDefaultOperation; } event.feedback = dropFeedback; } public void dragOver(DropTargetEvent event) { dropConsole.append(">>dragOver\n"); printEvent(event); event.feedback = dropFeedback; } public void drop(DropTargetEvent event) { dropConsole.append(">>drop\n"); printEvent(event); String[] strings = null; if (TextTransfer.getInstance().isSupportedType(event.currentDataType) || RTFTransfer.getInstance().isSupportedType(event.currentDataType) || HTMLTransfer.getInstance().isSupportedType(event.currentDataType)) { strings = new String[] { (String) event.data }; } if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) { strings = (String[]) event.data; } if (strings == null || strings.length == 0) { dropConsole.append("!!Invalid data dropped"); return; } if (strings.length == 1 && (dropControlType == TABLE || dropControlType == TREE || dropControlType == LIST)) { // convert string separated by "\n" into an array of strings String string = strings[0]; int count = 0; int offset = string.indexOf("\n", 0); while (offset > 0) { count++; offset = string.indexOf("\n", offset + 1); } if (count > 0) { strings = new String[count + 1]; int start = 0; int end = string.indexOf("\n"); int index = 0; while (start < end) { strings[index++] = string.substring(start, end); start = end + 1; end = string.indexOf("\n", start); if (end == -1) end = string.length(); } } } switch (dropControlType) { case BUTTON_CHECK: case BUTTON_TOGGLE: case BUTTON_RADIO: { Button b = (Button) dropControl; b.setText(strings[0]); break; } case TABLE: { Table table = (Table) dropControl; Point p = event.display.map(null, table, event.x, event.y); TableItem dropItem = table.getItem(p); int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem); for (int i = 0; i < strings.length; i++) { TableItem item = new TableItem(table, SWT.NONE, index); item.setText(0, strings[i]); item.setText(1, "dropped item"); } TableColumn[] columns = table.getColumns(); for (int i = 0; i < columns.length; i++) { columns[i].pack(); } break; } case TEXT: { Text text = (Text) dropControl; for (int i = 0; i < strings.length; i++) { text.append(strings[i] + "\n"); } break; } case TREE: { Tree tree = (Tree) dropControl; Point p = event.display.map(null, tree, event.x, event.y); TreeItem parentItem = tree.getItem(p); for (int i = 0; i < strings.length; i++) { TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE) : new TreeItem(tree, SWT.NONE); item.setText(strings[i]); } break; } case CANVAS: { dropControl.setData("STRINGS", strings); dropControl.redraw(); break; } case LABEL: { Label label = (Label) dropControl; label.setText(strings[0]); break; } case LIST: { List list = (List) dropControl; for (int i = 0; i < strings.length; i++) { list.add(strings[i]); } break; } default: throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED); } } public void dropAccept(DropTargetEvent event) { dropConsole.append(">>dropAccept\n"); printEvent(event); } }); }
From source file:DNDExample.java
public void open(Display display) { Shell shell = new Shell(display); shell.setText("Drag and Drop Example"); shell.setLayout(new FillLayout()); ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL); Composite parent = new Composite(sc, SWT.NONE); sc.setContent(parent);//from w w w. ja va 2s.co m parent.setLayout(new FormLayout()); Label dragLabel = new Label(parent, SWT.LEFT); dragLabel.setText("Drag Source:"); Group dragWidgetGroup = new Group(parent, SWT.NONE); dragWidgetGroup.setText("Widget"); createDragWidget(dragWidgetGroup); Composite cLeft = new Composite(parent, SWT.NONE); cLeft.setLayout(new GridLayout(2, false)); Group dragOperationsGroup = new Group(cLeft, SWT.NONE); dragOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1)); dragOperationsGroup.setText("Allowed Operation(s):"); createDragOperations(dragOperationsGroup); Group dragTypesGroup = new Group(cLeft, SWT.NONE); dragTypesGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); dragTypesGroup.setText("Transfer Type(s):"); createDragTypes(dragTypesGroup); dragConsole = new Text(cLeft, SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); dragConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); Menu menu = new Menu(shell, SWT.POP_UP); MenuItem item = new MenuItem(menu, SWT.PUSH); item.setText("Clear"); item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { dragConsole.setText(""); } }); item = new MenuItem(menu, SWT.CHECK); item.setText("Show Event detail"); item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { MenuItem item = (MenuItem) e.widget; dragEventDetail = item.getSelection(); } }); dragConsole.setMenu(menu); Label dropLabel = new Label(parent, SWT.LEFT); dropLabel.setText("Drop Target:"); Group dropWidgetGroup = new Group(parent, SWT.NONE); dropWidgetGroup.setText("Widget"); createDropWidget(dropWidgetGroup); Composite cRight = new Composite(parent, SWT.NONE); cRight.setLayout(new GridLayout(2, false)); Group dropOperationsGroup = new Group(cRight, SWT.NONE); dropOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 2)); dropOperationsGroup.setText("Allowed Operation(s):"); createDropOperations(dropOperationsGroup); Group dropTypesGroup = new Group(cRight, SWT.NONE); dropTypesGroup.setText("Transfer Type(s):"); createDropTypes(dropTypesGroup); Group feedbackTypesGroup = new Group(cRight, SWT.NONE); feedbackTypesGroup.setText("Feedback Type(s):"); createFeedbackTypes(feedbackTypesGroup); dropConsole = new Text(cRight, SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); dropConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); menu = new Menu(shell, SWT.POP_UP); item = new MenuItem(menu, SWT.PUSH); item.setText("Clear"); item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { dropConsole.setText(""); } }); item = new MenuItem(menu, SWT.CHECK); item.setText("Show Event detail"); item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { MenuItem item = (MenuItem) e.widget; dropEventDetail = item.getSelection(); } }); dropConsole.setMenu(menu); int height = 200; FormData data = new FormData(); data.top = new FormAttachment(0, 10); data.left = new FormAttachment(0, 10); dragLabel.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dragLabel, 10); data.left = new FormAttachment(0, 10); data.right = new FormAttachment(50, -10); data.height = height; dragWidgetGroup.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dragWidgetGroup, 10); data.left = new FormAttachment(0, 10); data.right = new FormAttachment(50, -10); data.bottom = new FormAttachment(100, -10); cLeft.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(0, 10); data.left = new FormAttachment(cLeft, 10); dropLabel.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dropLabel, 10); data.left = new FormAttachment(cLeft, 10); data.right = new FormAttachment(100, -10); data.height = height; dropWidgetGroup.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dropWidgetGroup, 10); data.left = new FormAttachment(cLeft, 10); data.right = new FormAttachment(100, -10); data.bottom = new FormAttachment(100, -10); cRight.setLayoutData(data); sc.setMinSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sc.setExpandHorizontal(true); sc.setExpandVertical(true); Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT); Rectangle monitorArea = shell.getMonitor().getClientArea(); shell.setSize(Math.min(size.x, monitorArea.width - 20), Math.min(size.y, monitorArea.height - 20)); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
private Control createWidget(int type, Composite parent, String prefix) { switch (type) { case BUTTON_CHECK: { Button button = new Button(parent, SWT.CHECK); button.setText(prefix + " Check box"); return button; }//from w ww . j a v a 2 s. com case BUTTON_TOGGLE: { Button button = new Button(parent, SWT.TOGGLE); button.setText(prefix + " Toggle button"); return button; } case BUTTON_RADIO: { Button button = new Button(parent, SWT.RADIO); button.setText(prefix + " Radio button"); return button; } case STYLED_TEXT: { StyledText text = new StyledText(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); text.setText(prefix + " Styled Text"); return text; } case TABLE: { Table table = new Table(parent, SWT.BORDER | SWT.MULTI); table.setHeaderVisible(true); TableColumn column0 = new TableColumn(table, SWT.LEFT); column0.setText("Name"); TableColumn column1 = new TableColumn(table, SWT.RIGHT); column1.setText("Value"); TableColumn column2 = new TableColumn(table, SWT.CENTER); column2.setText("Description"); for (int i = 0; i < 10; i++) { TableItem item = new TableItem(table, SWT.NONE); item.setText(0, prefix + " name " + i); item.setText(1, prefix + " value " + i); item.setText(2, prefix + " description " + i); item.setImage(itemImage); } column0.pack(); column1.pack(); column2.pack(); return table; } case TEXT: { Text text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); text.setText(prefix + " Text"); return text; } case TREE: { Tree tree = new Tree(parent, SWT.BORDER | SWT.MULTI); tree.setHeaderVisible(true); TreeColumn column0 = new TreeColumn(tree, SWT.LEFT); column0.setText("Name"); TreeColumn column1 = new TreeColumn(tree, SWT.RIGHT); column1.setText("Value"); TreeColumn column2 = new TreeColumn(tree, SWT.CENTER); column2.setText("Description"); for (int i = 0; i < 3; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText(0, prefix + " name " + i); item.setText(1, prefix + " value " + i); item.setText(2, prefix + " description " + i); item.setImage(itemImage); for (int j = 0; j < 3; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText(0, prefix + " name " + i + " " + j); subItem.setText(1, prefix + " value " + i + " " + j); subItem.setText(2, prefix + " description " + i + " " + j); subItem.setImage(itemImage); for (int k = 0; k < 3; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText(0, prefix + " name " + i + " " + j + " " + k); subsubItem.setText(1, prefix + " value " + i + " " + j + " " + k); subsubItem.setText(2, prefix + " description " + i + " " + j + " " + k); subsubItem.setImage(itemImage); } } } column0.pack(); column1.pack(); column2.pack(); return tree; } case CANVAS: { Canvas canvas = new Canvas(parent, SWT.BORDER); canvas.setData("STRINGS", new String[] { prefix + " Canvas widget" }); canvas.addPaintListener(e -> { Canvas c = (Canvas) e.widget; Image image = (Image) c.getData("IMAGE"); if (image != null) { e.gc.drawImage(image, 5, 5); } else { String[] strings = (String[]) c.getData("STRINGS"); if (strings != null) { FontMetrics metrics = e.gc.getFontMetrics(); int height = metrics.getHeight(); int y = 5; for (String string : strings) { e.gc.drawString(string, 5, y); y += height + 5; } } } }); return canvas; } case LABEL: { Label label = new Label(parent, SWT.BORDER); label.setText(prefix + " Label"); return label; } case LIST: { List list = new List(parent, SWT.BORDER | SWT.MULTI); list.setItems(prefix + " Item a", prefix + " Item b", prefix + " Item c", prefix + " Item d"); return list; } case COMBO: { Combo combo = new Combo(parent, SWT.BORDER); combo.setItems("Item a", "Item b", "Item c", "Item d"); return combo; } default: throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED); } }
From source file:DNDExample.java
private void createDropOperations(Composite parent) { parent.setLayout(new RowLayout(SWT.VERTICAL)); final Button moveButton = new Button(parent, SWT.CHECK); moveButton.setText("DND.DROP_MOVE"); moveButton.setSelection(true);/*www. j a va 2 s .c om*/ dropOperation = DND.DROP_MOVE; moveButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropOperation |= DND.DROP_MOVE; } else { dropOperation = dropOperation & ~DND.DROP_MOVE; if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) { dropOperation |= DND.DROP_MOVE; moveButton.setSelection(true); } } if (dropEnabled) { createDropTarget(); } } }); final Button copyButton = new Button(parent, SWT.CHECK); copyButton.setText("DND.DROP_COPY"); copyButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropOperation |= DND.DROP_COPY; } else { dropOperation = dropOperation & ~DND.DROP_COPY; if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) { dropOperation = DND.DROP_COPY; copyButton.setSelection(true); } } if (dropEnabled) { createDropTarget(); } } }); final Button linkButton = new Button(parent, SWT.CHECK); linkButton.setText("DND.DROP_LINK"); linkButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropOperation |= DND.DROP_LINK; } else { dropOperation = dropOperation & ~DND.DROP_LINK; if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) { dropOperation = DND.DROP_LINK; linkButton.setSelection(true); } } if (dropEnabled) { createDropTarget(); } } }); Button b = new Button(parent, SWT.CHECK); b.setText("DND.DROP_DEFAULT"); defaultParent = new Composite(parent, SWT.NONE); b.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropOperation |= DND.DROP_DEFAULT; defaultParent.setVisible(true); } else { dropOperation = dropOperation & ~DND.DROP_DEFAULT; defaultParent.setVisible(false); } if (dropEnabled) { createDropTarget(); } } }); defaultParent.setVisible(false); GridLayout layout = new GridLayout(); layout.marginWidth = 20; defaultParent.setLayout(layout); Label label = new Label(defaultParent, SWT.NONE); label.setText("Value for default operation is:"); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_MOVE"); b.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropDefaultOperation = DND.DROP_MOVE; dropOperation |= DND.DROP_MOVE; moveButton.setSelection(true); if (dropEnabled) { createDropTarget(); } } } }); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_COPY"); b.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropDefaultOperation = DND.DROP_COPY; dropOperation |= DND.DROP_COPY; copyButton.setSelection(true); if (dropEnabled) { createDropTarget(); } } } }); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_LINK"); b.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropDefaultOperation = DND.DROP_LINK; dropOperation |= DND.DROP_LINK; linkButton.setSelection(true); if (dropEnabled) { createDropTarget(); } } } }); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_NONE"); b.setSelection(true); b.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button b = (Button) e.widget; if (b.getSelection()) { dropDefaultOperation = DND.DROP_NONE; dropOperation &= ~DND.DROP_DEFAULT; if (dropEnabled) { createDropTarget(); } } } }); }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
public void open(Display display) { Shell shell = new Shell(display); shell.setText("Drag and Drop Example"); shell.setLayout(new FillLayout()); itemImage = new Image(display, DNDExample.class.getResourceAsStream("openFolder.gif")); ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL); Composite parent = new Composite(sc, SWT.NONE); sc.setContent(parent);/*www . ja v a2s.c om*/ parent.setLayout(new FormLayout()); Label dragLabel = new Label(parent, SWT.LEFT); dragLabel.setText("Drag Source:"); Group dragWidgetGroup = new Group(parent, SWT.NONE); dragWidgetGroup.setText("Widget"); createDragWidget(dragWidgetGroup); Composite cLeft = new Composite(parent, SWT.NONE); cLeft.setLayout(new GridLayout(2, false)); Group dragOperationsGroup = new Group(cLeft, SWT.NONE); dragOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1)); dragOperationsGroup.setText("Allowed Operation(s):"); createDragOperations(dragOperationsGroup); Group dragTypesGroup = new Group(cLeft, SWT.NONE); dragTypesGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); dragTypesGroup.setText("Transfer Type(s):"); createDragTypes(dragTypesGroup); dragConsole = new Text(cLeft, SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); dragConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); Menu menu = new Menu(shell, SWT.POP_UP); MenuItem item = new MenuItem(menu, SWT.PUSH); item.setText("Clear"); item.addSelectionListener(widgetSelectedAdapter(e -> dragConsole.setText(""))); item = new MenuItem(menu, SWT.CHECK); item.setText("Show Event detail"); item.addSelectionListener(widgetSelectedAdapter(e -> { MenuItem eItem = (MenuItem) e.widget; dragEventDetail = eItem.getSelection(); })); dragConsole.setMenu(menu); Label dropLabel = new Label(parent, SWT.LEFT); dropLabel.setText("Drop Target:"); Group dropWidgetGroup = new Group(parent, SWT.NONE); dropWidgetGroup.setText("Widget"); createDropWidget(dropWidgetGroup); Composite cRight = new Composite(parent, SWT.NONE); cRight.setLayout(new GridLayout(2, false)); Group dropOperationsGroup = new Group(cRight, SWT.NONE); dropOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 2)); dropOperationsGroup.setText("Allowed Operation(s):"); createDropOperations(dropOperationsGroup); Group dropTypesGroup = new Group(cRight, SWT.NONE); dropTypesGroup.setText("Transfer Type(s):"); createDropTypes(dropTypesGroup); Group feedbackTypesGroup = new Group(cRight, SWT.NONE); feedbackTypesGroup.setText("Feedback Type(s):"); createFeedbackTypes(feedbackTypesGroup); dropConsole = new Text(cRight, SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); dropConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); menu = new Menu(shell, SWT.POP_UP); item = new MenuItem(menu, SWT.PUSH); item.setText("Clear"); item.addSelectionListener(widgetSelectedAdapter(e -> dropConsole.setText(""))); item = new MenuItem(menu, SWT.CHECK); item.setText("Show Event detail"); item.addSelectionListener(widgetSelectedAdapter(e -> { MenuItem eItem = (MenuItem) e.widget; dropEventDetail = eItem.getSelection(); })); dropConsole.setMenu(menu); if (dragEnabled) createDragSource(); if (dropEnabled) createDropTarget(); int height = 200; FormData data = new FormData(); data.top = new FormAttachment(0, 10); data.left = new FormAttachment(0, 10); dragLabel.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dragLabel, 10); data.left = new FormAttachment(0, 10); data.right = new FormAttachment(50, -10); data.height = height; dragWidgetGroup.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dragWidgetGroup, 10); data.left = new FormAttachment(0, 10); data.right = new FormAttachment(50, -10); data.bottom = new FormAttachment(100, -10); cLeft.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(0, 10); data.left = new FormAttachment(cLeft, 10); dropLabel.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dropLabel, 10); data.left = new FormAttachment(cLeft, 10); data.right = new FormAttachment(100, -10); data.height = height; dropWidgetGroup.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(dropWidgetGroup, 10); data.left = new FormAttachment(cLeft, 10); data.right = new FormAttachment(100, -10); data.bottom = new FormAttachment(100, -10); cRight.setLayoutData(data); sc.setMinSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sc.setExpandHorizontal(true); sc.setExpandVertical(true); Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT); Rectangle monitorArea = shell.getMonitor().getClientArea(); shell.setSize(Math.min(size.x, monitorArea.width - 20), Math.min(size.y, monitorArea.height - 20)); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } itemImage.dispose(); }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
private void createDropOperations(Composite parent) { parent.setLayout(new RowLayout(SWT.VERTICAL)); final Button moveButton = new Button(parent, SWT.CHECK); moveButton.setText("DND.DROP_MOVE"); moveButton.addSelectionListener(widgetSelectedAdapter(e -> { Button b = (Button) e.widget; if (b.getSelection()) { dropOperation |= DND.DROP_MOVE; } else {/*from w w w . j a v a 2 s . co m*/ dropOperation = dropOperation & ~DND.DROP_MOVE; if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) { dropOperation |= DND.DROP_MOVE; moveButton.setSelection(true); } } if (dropEnabled) { createDropTarget(); } })); final Button copyButton = new Button(parent, SWT.CHECK); copyButton.setText("DND.DROP_COPY"); copyButton.addSelectionListener(widgetSelectedAdapter(e -> { Button b = (Button) e.widget; if (b.getSelection()) { dropOperation |= DND.DROP_COPY; } else { dropOperation = dropOperation & ~DND.DROP_COPY; if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) { dropOperation = DND.DROP_COPY; copyButton.setSelection(true); } } if (dropEnabled) { createDropTarget(); } })); final Button linkButton = new Button(parent, SWT.CHECK); linkButton.setText("DND.DROP_LINK"); linkButton.addSelectionListener(widgetSelectedAdapter(e -> { Button eb = (Button) e.widget; if (eb.getSelection()) { dropOperation |= DND.DROP_LINK; } else { dropOperation = dropOperation & ~DND.DROP_LINK; if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) { dropOperation = DND.DROP_LINK; linkButton.setSelection(true); } } if (dropEnabled) { createDropTarget(); } })); Button b = new Button(parent, SWT.CHECK); b.setText("DND.DROP_DEFAULT"); defaultParent = new Composite(parent, SWT.NONE); b.addSelectionListener(widgetSelectedAdapter(e -> { Button eb = (Button) e.widget; if (eb.getSelection()) { dropOperation |= DND.DROP_DEFAULT; defaultParent.setVisible(true); } else { dropOperation = dropOperation & ~DND.DROP_DEFAULT; defaultParent.setVisible(false); } if (dropEnabled) { createDropTarget(); } })); defaultParent.setVisible(false); GridLayout layout = new GridLayout(); layout.marginWidth = 20; defaultParent.setLayout(layout); Label label = new Label(defaultParent, SWT.NONE); label.setText("Value for default operation is:"); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_MOVE"); b.addSelectionListener(widgetSelectedAdapter(e -> { Button eb = (Button) e.widget; if (eb.getSelection()) { dropDefaultOperation = DND.DROP_MOVE; dropOperation |= DND.DROP_MOVE; moveButton.setSelection(true); if (dropEnabled) { createDropTarget(); } } })); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_COPY"); b.addSelectionListener(widgetSelectedAdapter(e -> { Button eb = (Button) e.widget; if (eb.getSelection()) { dropDefaultOperation = DND.DROP_COPY; dropOperation |= DND.DROP_COPY; copyButton.setSelection(true); if (dropEnabled) { createDropTarget(); } } })); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_LINK"); b.addSelectionListener(widgetSelectedAdapter(e -> { Button eb = (Button) e.widget; if (eb.getSelection()) { dropDefaultOperation = DND.DROP_LINK; dropOperation |= DND.DROP_LINK; linkButton.setSelection(true); if (dropEnabled) { createDropTarget(); } } })); b = new Button(defaultParent, SWT.RADIO); b.setText("DND.DROP_NONE"); b.setSelection(true); b.addSelectionListener(widgetSelectedAdapter(e -> { Button eb = (Button) e.widget; if (eb.getSelection()) { dropDefaultOperation = DND.DROP_NONE; dropOperation &= ~DND.DROP_DEFAULT; if (dropEnabled) { createDropTarget(); } } })); // initialize state moveButton.setSelection(true); copyButton.setSelection(true); linkButton.setSelection(true); dropOperation = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK; }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
private void createDropTarget() { if (dropTarget != null) dropTarget.dispose();//from ww w . j ava2 s .c o m dropTarget = new DropTarget(dropControl, dropOperation); dropTarget.setTransfer(dropTypes); dropTarget.addDropListener(new DropTargetListener() { @Override public void dragEnter(DropTargetEvent event) { dropConsole.append(">>dragEnter\n"); printEvent(event); if (event.detail == DND.DROP_DEFAULT) { event.detail = dropDefaultOperation; } event.feedback = dropFeedback; } @Override public void dragLeave(DropTargetEvent event) { dropConsole.append(">>dragLeave\n"); printEvent(event); } @Override public void dragOperationChanged(DropTargetEvent event) { dropConsole.append(">>dragOperationChanged\n"); printEvent(event); if (event.detail == DND.DROP_DEFAULT) { event.detail = dropDefaultOperation; } event.feedback = dropFeedback; } @Override public void dragOver(DropTargetEvent event) { dropConsole.append(">>dragOver\n"); printEvent(event); event.feedback = dropFeedback; } @Override public void drop(DropTargetEvent event) { dropConsole.append(">>drop\n"); printEvent(event); String[] strings = null; if (TextTransfer.getInstance().isSupportedType(event.currentDataType) || RTFTransfer.getInstance().isSupportedType(event.currentDataType) || HTMLTransfer.getInstance().isSupportedType(event.currentDataType) || URLTransfer.getInstance().isSupportedType(event.currentDataType)) { strings = new String[] { (String) event.data }; } if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) { strings = (String[]) event.data; } if (strings == null || strings.length == 0) { dropConsole.append("!!Invalid data dropped"); return; } if (strings.length == 1 && (dropControlType == TABLE || dropControlType == TREE || dropControlType == LIST)) { // convert string separated by "\n" into an array of strings String string = strings[0]; int count = 0; int offset = string.indexOf("\n", 0); while (offset > 0) { count++; offset = string.indexOf("\n", offset + 1); } if (count > 0) { strings = new String[count + 1]; int start = 0; int end = string.indexOf("\n"); int index = 0; while (start < end) { strings[index++] = string.substring(start, end); start = end + 1; end = string.indexOf("\n", start); if (end == -1) end = string.length(); } } } switch (dropControlType) { case BUTTON_CHECK: case BUTTON_TOGGLE: case BUTTON_RADIO: { Button b = (Button) dropControl; b.setText(strings[0]); break; } case STYLED_TEXT: { StyledText text = (StyledText) dropControl; for (String string : strings) { text.insert(string); } break; } case TABLE: { Table table = (Table) dropControl; Point p = event.display.map(null, table, event.x, event.y); TableItem dropItem = table.getItem(p); int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem); for (String string : strings) { TableItem item = new TableItem(table, SWT.NONE, index); item.setText(0, string); item.setText(1, "dropped item"); } TableColumn[] columns = table.getColumns(); for (TableColumn column : columns) { column.pack(); } break; } case TEXT: { Text text = (Text) dropControl; for (String string : strings) { text.append(string + "\n"); } break; } case TREE: { Tree tree = (Tree) dropControl; Point p = event.display.map(null, tree, event.x, event.y); TreeItem parentItem = tree.getItem(p); for (String string : strings) { TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE) : new TreeItem(tree, SWT.NONE); item.setText(string); } break; } case CANVAS: { dropControl.setData("STRINGS", strings); dropControl.redraw(); break; } case LABEL: { Label label = (Label) dropControl; label.setText(strings[0]); break; } case LIST: { List list = (List) dropControl; for (String string : strings) { list.add(string); } break; } case COMBO: { Combo combo = (Combo) dropControl; combo.setText(strings[0]); break; } default: throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED); } } @Override public void dropAccept(DropTargetEvent event) { dropConsole.append(">>dropAccept\n"); printEvent(event); } }); }
From source file:DNDExample.java
private void createDragSource() { if (dragSource != null) dragSource.dispose();// www . j a v a2s.co 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; } } } }); }