![JAR search and dependency download from the Maven repository](/logo.png)
com.harium.etyl.ui.textfield.TextFieldView Maven / Gradle / Ivy
package com.harium.etyl.ui.textfield;
import com.harium.etyl.ui.View;
public abstract class TextFieldView extends View {
public static final int TEXT_BACKSPACE = 8;
public static final int TEXT_TAB = 9;
public static final int TEXT_ENTER = 10;
public static final int TEXT_ESC = 27;
public static final int TEXT_DELETE = 127;
protected String text = "";
protected int cursor = 0;
protected int fixMark = -1;
protected int minMark = 0;
protected int maxMark = 0;
protected int maxLength = 0;
protected boolean shift = false;
protected boolean control = false;
private OnTextChangedListener onTextChangeListener;
public TextFieldView(int x, int y, int w, int h) {
super(x,y,w,h);
clearField();
}
public void clearField() {
cursor = 0;
fixMark = -1;
minMark = 0;
maxMark = 0;
text = "";
notifyTextChanged();
}
//Text Methods
protected void leftNormal() {
if (cursor>0) {
cursor--;
}
}
protected void leftWithControl() {
cursor = findPreviousBreak(cursor);
}
private int findPreviousBreak(int cursor) {
int index = cursor;
if (index > 0) {
int i = cursor - 2;
for(; i > 0; i--) {
if (text.charAt(i)==' ') {
i++;
break;
}
}
index = i;
}
return index;
}
protected void rightWithControl() {
cursor = findNextBreak(cursor);
}
private int findNextBreak(int cursor) {
int index = cursor+1;
for(int i = index; i < text.length(); i++) {
if (text.charAt(i)==' ') {
index = i;
break;
}
}
return index;
}
protected void rightNormal() {
if (cursor0) {
if (!isSelected()) {
if (cursor > 0 && cursor < text.length()) {
String t1 = text.substring(0,cursor-1);
String t2 = text.substring(cursor,text.length());
text = t1+t2;
} else if (cursor > 0) {
text = text.substring(0,cursor-1);
}
leftNormal();
} else {
deleteMark();
}
notifyTextChanged();
}
protected void eraseAsDelete() {
if (fixMark==-1) {
if (cursor
© 2015 - 2025 Weber Informatics LLC | Privacy Policy