package gueei.binding.bindingProviders;
import gueei.binding.ViewAttribute;
import gueei.binding.viewAttributes.textView.CheckedClickableTextViewAttribute;
import gueei.binding.viewAttributes.textView.CheckedTextViewAttribute;
import gueei.binding.viewAttributes.textView.CompoundDrawableViewAttribute;
import gueei.binding.viewAttributes.textView.MaxLinesViewAttribute;
import gueei.binding.viewAttributes.textView.MinLinesViewAttribute;
import gueei.binding.viewAttributes.textView.OnTextChangedViewEvent;
import gueei.binding.viewAttributes.textView.TextColorViewAttribute;
import gueei.binding.viewAttributes.textView.TextViewAttribute;
import gueei.binding.viewAttributes.textView.TypefaceViewAttribute;
import android.view.View;
import android.widget.CheckedTextView;
import android.widget.EditText;
import android.widget.TextView;
public class TextViewProvider extends BindingProvider {
@SuppressWarnings("unchecked")
@Override
public <Tv extends View>ViewAttribute<Tv, ?> createAttributeForView(View view, String attributeId) {
if (view instanceof CheckedTextView) {
if (attributeId.equals("checked")){
CheckedTextViewAttribute attr = new CheckedTextViewAttribute((CheckedTextView)view);
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("checkedClickable")){
CheckedClickableTextViewAttribute attr = new CheckedClickableTextViewAttribute((CheckedTextView)view);
return (ViewAttribute<Tv, ?>) attr;
}
}
if (!(view instanceof TextView)) return null;
if (attributeId.equals("text")){
TextViewAttribute attr = new TextViewAttribute((TextView)view, "text");
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("minLines")){
return (ViewAttribute<Tv, ?>) new MinLinesViewAttribute((TextView)view);
}
if (attributeId.equals("maxLines")){
return (ViewAttribute<Tv, ?>) new MaxLinesViewAttribute((TextView)view);
}
if (attributeId.equals("textColor")){
TextColorViewAttribute attr = new TextColorViewAttribute((TextView)view);
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("onTextChanged")){
if (view instanceof EditText){
return (ViewAttribute<Tv, ?>) (new OnTextChangedViewEvent((EditText)view));
}
}
if (attributeId.equals("typeface")){
TypefaceViewAttribute attr = new TypefaceViewAttribute((TextView)view);
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("drawableLeft")){
CompoundDrawableViewAttribute attr = new CompoundDrawableViewAttribute((TextView)view, "drawableLeft");
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("drawableTop")){
CompoundDrawableViewAttribute attr = new CompoundDrawableViewAttribute((TextView)view, "drawableTop");
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("drawableRight")){
CompoundDrawableViewAttribute attr = new CompoundDrawableViewAttribute((TextView)view, "drawableRight");
return (ViewAttribute<Tv, ?>) attr;
}
if (attributeId.equals("drawableBottom")){
CompoundDrawableViewAttribute attr = new CompoundDrawableViewAttribute((TextView)view, "drawableBottom");
return (ViewAttribute<Tv, ?>) attr;
}
return null;
}
}