package org.itsnat.droid.impl.xmlinflater.layout.attr.widget;
import android.view.View;
import android.widget.TextView;
import org.itsnat.droid.impl.dom.DOMAttr;
import org.itsnat.droid.impl.xmlinflater.FieldContainer;
import org.itsnat.droid.impl.xmlinflater.layout.AttrLayoutContext;
import org.itsnat.droid.impl.xmlinflater.layout.LayoutValue;
import org.itsnat.droid.impl.xmlinflater.layout.LayoutValueCompiled;
import org.itsnat.droid.impl.xmlinflater.layout.LayoutValueDynamic;
import org.itsnat.droid.impl.xmlinflater.layout.classtree.ClassDescViewBased;
import org.itsnat.droid.impl.xmlinflater.shared.attr.AttrDesc;
/**
* Created by jmarranz on 30/04/14.
*/
public class AttrDescView_widget_AutoCompleteTextView_completionHintView extends AttrDesc<ClassDescViewBased,View,AttrLayoutContext>
{
protected FieldContainer<Integer> fieldHintResource;
protected FieldContainer<View> fieldHintView;
public AttrDescView_widget_AutoCompleteTextView_completionHintView(ClassDescViewBased parent)
{
super(parent,"completionHintView"); // Android tiene un recurso por defecto
this.fieldHintResource = new FieldContainer<Integer>(parent.getDeclaredClass(),"mHintResource");
this.fieldHintView = new FieldContainer<View>(parent.getDeclaredClass(),"mHintView");
}
@Override
public void setAttribute(final View view, final DOMAttr attr, final AttrLayoutContext attrCtx)
{
LayoutValue layoutValue = getLayoutValue(attr.getResourceDesc(),attrCtx.getXMLInflaterContext(), attrCtx.getXMLInflaterLayout(), null, -1, null);
if (layoutValue instanceof LayoutValueDynamic)
{
View hintView = ((LayoutValueDynamic) layoutValue).getView();
TextView textViewChildHint = (TextView)hintView.findViewById(android.R.id.text1);
fieldHintView.set(view,textViewChildHint);
}
else if (layoutValue instanceof LayoutValueCompiled)
{
int id = ((LayoutValueCompiled) layoutValue).getLayoutId();
fieldHintResource.set(view, id);
}
}
@Override
public void removeAttribute(View view, AttrLayoutContext attrCtx)
{
// No hacemos nada, Android tiene un layout por defecto
}
}