package standaloneTests; //import junit.tests.ShellTest; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.List; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; public class LTEST_312568_TreeDoubleClick { static Display display = new Display(); static Shell shell = new Shell(display); public static void main (String [] args) { //shell.setText (ShellTest.getGtkVersion ()); shell.setLayout (new GridLayout ()); //System.out.println ("Shell GdkWindow: " + ShellTest.getGdkWindowInHex (shell)); Composite composite = new Composite (shell, SWT.None); composite.setLayout (new RowLayout (SWT.HORIZONTAL)); final Tree tree = new Tree (composite, SWT.BORDER | SWT.MULTI); for (int i=0; i<12; i++) { TreeItem treeItem = new TreeItem (tree, SWT.NONE); treeItem.setText ("Item " + i); } final Table table = new Table (composite, SWT.BORDER | SWT.MULTI); for (int i=0; i<12; i++) { TableItem tableItem = new TableItem (table, SWT.NONE); tableItem.setText ("Item " + i); } final List list = new List (composite, SWT.BORDER | SWT.MULTI); for (int i=0; i<12; i++) { list.add ("hello"); } Label label = new Label (composite, SWT.NONE); //label.setLayoutData (new GridData (SWT.BEGINNING, SWT.CENTER, false, false)); label.setText ("Double click on Tree/Table/List. Focus should be on styled text."); final StyledText styledText = new StyledText (shell, SWT.V_SCROLL | SWT.H_SCROLL); styledText.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true)); styledText.setText ("hello world."); styledText.setSize (800, 500); SelectionListener refocusUponSelectionListener = new SelectionListener() { @Override public void widgetSelected (SelectionEvent e) { } @Override public void widgetDefaultSelected (SelectionEvent e) { styledText.setFocus (); System.out.println ("Tree default selection. " + e.time); } }; tree.addSelectionListener (refocusUponSelectionListener); table.addSelectionListener (refocusUponSelectionListener); list.addSelectionListener (refocusUponSelectionListener); tree.addMouseListener (new MouseListener() { @Override public void mouseUp (MouseEvent e) { } @Override public void mouseDown (MouseEvent e) { System.out.println ("mouse down"); } @Override public void mouseDoubleClick (MouseEvent e) { System.out.println ("Mouse double"); } }); Button button = new Button (shell, SWT.PUSH); button.setText ("Clear"); button.addMouseListener (new MouseListener() { @Override public void mouseUp (MouseEvent e) { } @Override public void mouseDown (MouseEvent e) { System.out.println ("-------------------------------"); } @Override public void mouseDoubleClick (MouseEvent e) { System.out.println ("meh."); } }); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } }