package gueei.binding.viewAttributes.textView;
import gueei.binding.BindingType;
import gueei.binding.ViewAttribute;
import android.widget.TextView;
public class TextLinesViewAttribute extends ViewAttribute<TextView, Integer> {
public static enum Mode{
MinLines, MaxLines
}
private Mode mode = Mode.MinLines;
public TextLinesViewAttribute(TextView view, Mode mode) {
super(Integer.class, view, getAttributeName(mode));
this.mode = mode;
}
private static String getAttributeName(Mode mode) {
if( mode == Mode.MinLines )
return "minLines";
else
return "maxLines";
}
@Override
protected void doSetAttributeValue(Object newValue) {
if(getView()==null) return;
if (newValue==null){
getView().setMaxLines(1);
return;
}
if (newValue instanceof Integer){
if( mode == Mode.MinLines )
getView().setMinLines((Integer)newValue);
else
getView().setMaxLines((Integer)newValue);
}
}
@Override
protected BindingType AcceptThisTypeAs(Class<?> type) {
return BindingType.OneWay;
}
@Override
public Integer get() {
return null;
}
}