/**
* Copyright (c) 2013-2016 Angelo ZERR.
* 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:
* Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation
*/
package tern.eclipse.swt;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.widgets.Text;
import tern.doc.AbstractJSDocument;
import tern.doc.JSDocumentHelper;
import tern.server.ITernServer;
public class JSDocumentText extends AbstractJSDocument {
private final Text text;
public JSDocumentText(String name, ITernServer server, final Text text) {
super(name, server, false);
this.text = text;
text.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
JSDocumentText.this.setChanged(true);
}
});
setChanged(false);
JSDocumentHelper.registerDoc(this, server);
}
@Override
public String getValue() {
return text.getText();
}
@Override
public int getCursor(String s) {
if ("end".equals(s)) {
return text.getCaretPosition();
}
return 0;
}
@Override
public boolean somethingSelected() {
return false;
}
}