diff options
author | Steve Northover <steve> | 2005-11-21 23:23:02 +0000 |
---|---|---|
committer | Steve Northover <steve> | 2005-11-21 23:23:02 +0000 |
commit | a603af48c5de4d91670d3635c992ecb5d56880fd (patch) | |
tree | 21c863e3e23526def1ce7fd771c494ed03478674 | |
parent | bc506ed9296ea1a035049f70e6720bc3d31bf492 (diff) | |
download | eclipse.platform.swt-a603af48c5de4d91670d3635c992ecb5d56880fd.tar.gz eclipse.platform.swt-a603af48c5de4d91670d3635c992ecb5d56880fd.tar.xz eclipse.platform.swt-a603af48c5de4d91670d3635c992ecb5d56880fd.zip |
*** empty log message ***
-rw-r--r-- | bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java | 63 |
1 files changed, 34 insertions, 29 deletions
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java index b999caa78f..754138776c 100644 --- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java +++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java @@ -796,35 +796,40 @@ void createParametersPanel(Composite panel) { paramEditorLt.addListener(SWT.Traverse, paramListListener); paramsLt.addListener(SWT.MouseDown, new Listener() { - public void handleEvent(Event e) { - if (e.button != 1) return; - Point pt = new Point(e.x, e.y); - TableItem item = paramsLt.getItem(pt); - if (item == null) return; - int column = -1; - for (int i = 0; i < paramsLt.getColumnCount(); i++) { - if (item.getBounds(i).contains(pt)) { - column = i; - break; - } - } - if (column == -1) return; - ParameterData data = (ParameterData)item.getData(); - if (column == PARAM_CAST_COLUMN) { - paramTextEditor.setColumn(column); - paramTextEditor.setItem(item); - paramEditorTx.setText(data.getCast()); - paramEditorTx.selectAll(); - paramEditorTx.setVisible(true); - paramEditorTx.setFocus(); - } else if (column == PARAM_FLAGS_COLUMN) { - paramListEditor.setColumn(column); - paramListEditor.setItem(item); - paramEditorLt.setSelection(data.getFlags()); - floater.setLocation(paramsLt.toDisplay(e.x, e.y)); - floater.setVisible(true); - paramEditorLt.setFocus(); - } + public void handleEvent(final Event e) { + e.display.asyncExec (new Runnable () { + public void run () { + if (paramsLt.isDisposed ()) return; + if (e.button != 1) return; + Point pt = new Point(e.x, e.y); + TableItem item = paramsLt.getItem(pt); + if (item == null) return; + int column = -1; + for (int i = 0; i < paramsLt.getColumnCount(); i++) { + if (item.getBounds(i).contains(pt)) { + column = i; + break; + } + } + if (column == -1) return; + ParameterData data = (ParameterData)item.getData(); + if (column == PARAM_CAST_COLUMN) { + paramTextEditor.setColumn(column); + paramTextEditor.setItem(item); + paramEditorTx.setText(data.getCast()); + paramEditorTx.selectAll(); + paramEditorTx.setVisible(true); + paramEditorTx.setFocus(); + } else if (column == PARAM_FLAGS_COLUMN) { + paramListEditor.setColumn(column); + paramListEditor.setItem(item); + paramEditorLt.setSelection(data.getFlags()); + floater.setLocation(paramsLt.toDisplay(e.x, e.y)); + floater.setVisible(true); + paramEditorLt.setFocus(); + } + } + }); } }); } |