提交 965edfdd 编写于 作者: S serge-rider

String editor table - MacOS focus handling fix


Former-commit-id: 6a0ee014
上级 00f3f0f0
...@@ -20,10 +20,7 @@ import org.eclipse.jface.fieldassist.ContentProposalAdapter; ...@@ -20,10 +20,7 @@ import org.eclipse.jface.fieldassist.ContentProposalAdapter;
import org.eclipse.jface.fieldassist.IContentProposalProvider; import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.fieldassist.TextContentAdapter; import org.eclipse.jface.fieldassist.TextContentAdapter;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.*;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.*; import org.eclipse.swt.widgets.*;
import org.jkiss.code.NotNull; import org.jkiss.code.NotNull;
...@@ -80,6 +77,10 @@ public class StringEditorTable { ...@@ -80,6 +77,10 @@ public class StringEditorTable {
protected Control createEditor(Table table, int index, TableItem item) { protected Control createEditor(Table table, int index, TableItem item) {
Text editor = new Text(table, SWT.BORDER); Text editor = new Text(table, SWT.BORDER);
editor.setText(item.getText()); editor.setText(item.getText());
editor.addModifyListener(e -> {
// Save value immediately. This solves MacOS problems with focus events.
saveEditorValue(editor, index, item);
});
if (proposalProvider != null) { if (proposalProvider != null) {
setProposalAdapter(UIUtils.installContentProposal( setProposalAdapter(UIUtils.installContentProposal(
editor, editor,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册