### Eclipse Workspace Patch 1.0 #P org.eclipse.swt.examples Index: src/org/eclipse/swt/examples/controlexample/Tab.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java,v retrieving revision 1.68 diff -u -r1.68 Tab.java --- src/org/eclipse/swt/examples/controlexample/Tab.java 31 May 2007 22:02:25 -0000 1.68 +++ src/org/eclipse/swt/examples/controlexample/Tab.java 21 Jun 2007 09:19:36 -0000 @@ -664,7 +664,7 @@ final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MODELESS); dialog.setLayout(new GridLayout(2, false)); dialog.setText(getTabText() + " " + ControlExample.getResourceString ("Set_Get")); - nameCombo = new Combo(dialog, SWT.READ_ONLY); + nameCombo = new Combo(dialog, SWT.NONE); nameCombo.setItems(methodNames); nameCombo.setText(methodNames[0]); nameCombo.setVisibleItemCount(methodNames.length); @@ -672,6 +672,12 @@ nameCombo.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { resetLabels(); + setText.setFocus(); + } + }); + nameCombo.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + resetLabels(); } }); returnTypeLabel = new Label(dialog, SWT.NONE); @@ -700,6 +706,7 @@ data.heightHint = 200; getText.setLayoutData(data); resetLabels(); + setText.setFocus(); dialog.setDefaultButton(setButton); dialog.pack(); dialog.setLocation(x, y); @@ -714,7 +721,6 @@ setText.setText(""); getText.setText(""); getValue(); - setText.setFocus(); } String setMethodName(String methodRoot) { @@ -724,6 +730,8 @@ String parameterInfo(String methodRoot) { String typeName = null; Class returnType = getReturnType(methodRoot); + if (returnType == null) + return ""; boolean isArray = returnType.isArray(); if (isArray) { typeName = returnType.getComponentType().getName(); @@ -820,6 +828,7 @@ parameter = parameterForType(typeName, value, widgets[i]); } method.invoke(widgets[i], parameter); + getValue(); } catch (Exception e) { getText.setText(e.toString()); }