SwtConnect utilities moved to commons.livexp
This commit is contained in:
@@ -43,9 +43,9 @@ import org.eclipse.swt.widgets.Text;
|
|||||||
import org.eclipse.swt.widgets.TreeItem;
|
import org.eclipse.swt.widgets.TreeItem;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
import org.springframework.tooling.ls.eclipse.gotosymbol.GotoSymbolPlugin;
|
import org.springframework.tooling.ls.eclipse.gotosymbol.GotoSymbolPlugin;
|
||||||
import org.springframework.tooling.ls.eclipse.gotosymbol.util.SwtConnect;
|
|
||||||
import org.springsource.ide.eclipse.commons.livexp.core.UIValueListener;
|
import org.springsource.ide.eclipse.commons.livexp.core.UIValueListener;
|
||||||
import org.springsource.ide.eclipse.commons.livexp.ui.Disposable;
|
import org.springsource.ide.eclipse.commons.livexp.ui.Disposable;
|
||||||
|
import org.springsource.ide.eclipse.commons.livexp.ui.util.SwtConnect;
|
||||||
|
|
||||||
@SuppressWarnings("restriction")
|
@SuppressWarnings("restriction")
|
||||||
public class GotoSymbolDialog extends PopupDialog {
|
public class GotoSymbolDialog extends PopupDialog {
|
||||||
|
|||||||
@@ -1,67 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2017 Pivotal, Inc.
|
|
||||||
* All rights reserved. This program and the accompanying materials
|
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
* which accompanies this distribution, and is available at
|
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
*
|
|
||||||
* Contributors:
|
|
||||||
* Pivotal, Inc. - initial API and implementation
|
|
||||||
*******************************************************************************/
|
|
||||||
package org.springframework.tooling.ls.eclipse.gotosymbol.util;
|
|
||||||
|
|
||||||
import org.eclipse.swt.events.ModifyEvent;
|
|
||||||
import org.eclipse.swt.events.ModifyListener;
|
|
||||||
import org.eclipse.swt.widgets.Label;
|
|
||||||
import org.eclipse.swt.widgets.Text;
|
|
||||||
import org.springsource.ide.eclipse.commons.livexp.core.LiveExpression;
|
|
||||||
import org.springsource.ide.eclipse.commons.livexp.core.LiveVariable;
|
|
||||||
import org.springsource.ide.eclipse.commons.livexp.core.UIValueListener;
|
|
||||||
import org.springsource.ide.eclipse.commons.livexp.core.ValueListener;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static helper methods for attaching LiveExps to SWT widgets.
|
|
||||||
*/
|
|
||||||
public class SwtConnect {
|
|
||||||
|
|
||||||
public static void connect(Text widget, LiveVariable<String> model) {
|
|
||||||
ModifyListener widgetListener = (ModifyEvent e) -> {
|
|
||||||
model.setValue(widget.getText());
|
|
||||||
};
|
|
||||||
ValueListener<String> modelListener = new UIValueListener<String>() {
|
|
||||||
@Override
|
|
||||||
protected void uiGotValue(LiveExpression<String> exp, String value) {
|
|
||||||
String newText = model.getValue();
|
|
||||||
if (newText==null) {
|
|
||||||
newText = "";
|
|
||||||
}
|
|
||||||
String oldText = widget.getText();
|
|
||||||
if (!newText.equals(oldText)) {
|
|
||||||
widget.setText(newText);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
widget.addModifyListener(widgetListener);
|
|
||||||
model.addListener(modelListener);
|
|
||||||
widget.addDisposeListener(e -> {
|
|
||||||
model.removeListener(modelListener);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void connect(Label widget, LiveExpression<String> model) {
|
|
||||||
ValueListener<String> modelListener = new UIValueListener<String>() {
|
|
||||||
@Override
|
|
||||||
protected void uiGotValue(LiveExpression<String> exp, String value) {
|
|
||||||
String newText = model.getValue();
|
|
||||||
if (newText==null) {
|
|
||||||
newText = "";
|
|
||||||
}
|
|
||||||
widget.setText(newText);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
model.addListener(modelListener);
|
|
||||||
widget.addDisposeListener(xx -> model.removeListener(modelListener));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user