package gueei.binding.viewAttributes.imageView;
import gueei.binding.BindingType;
import gueei.binding.ViewAttribute;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.widget.ImageView;
/**
* Source for Image View
* You can supply
* - Resource Drawable (denoted by drawable/resource)
* - Integer Resource Id
* - Uri
* - Drawable
* - Bitmap
* to this, but it is "Set" only attribute meaning you cannot get any return from it
*
* @name source
* @widget ImageView
* @type Object
*
* @accepts Drawable
* @accepts Bitmap
* @accepts Uri
* @accepts Integer
*
* @category simple
* @related http://developer.android.com/reference/android/widget/ImageView.html
*
* @author andy
*/
public class SourceViewAttribute extends ViewAttribute<ImageView, Object> {
public SourceViewAttribute(ImageView view) {
super(Object.class, view, "source");
}
@Override
protected void doSetAttributeValue(Object newValue) {
if(getView()==null) return;
if (newValue==null){
getView().setImageDrawable(null);
return;
}
if (newValue instanceof Integer){
getView().setImageResource((Integer)newValue);
}
if (newValue instanceof Uri){
getView().setImageURI((Uri)newValue);
return;
}
if (newValue instanceof Drawable){
getView().setImageDrawable((Drawable)newValue);
return;
}
if (newValue instanceof Bitmap){
getView().setImageBitmap((Bitmap)newValue);
return;
}
}
@Override
protected BindingType AcceptThisTypeAs(Class<?> type) {
return BindingType.OneWay;
}
@Override
public Object get() {
return null;
}
}