package gueei.binding.utility;
import gueei.binding.Binder;
import gueei.binding.viewAttributes.adapterView.listView.ItemViewEventMark;
import android.view.View;
import android.view.ViewGroup;
/**
* User: =ra=
* Date: Dec 12, 2011
* Time: 6:53:59 PM
*/
public class EventMarkerHelper {
public static void mark(View view, ItemViewEventMark mark) {
markView(view, mark);
if (view instanceof ViewGroup) {
markViewGroup((ViewGroup) view, mark);
}
}
public static void removeMark(View view) {
markView(view, null);
if (view instanceof ViewGroup) {
markViewGroup((ViewGroup) view, null);
}
}
public static ItemViewEventMark getMark(View view) {
ItemViewEventMark mark = Binder.getViewTag(view).get(ItemViewEventMark.class);
return mark;
}
private static void markView(View view, ItemViewEventMark mark) {
Binder.getViewTag(view).put(ItemViewEventMark.class, mark);
}
private static void markViewGroup(ViewGroup viewGroup, ItemViewEventMark mark) {
int childCount = viewGroup.getChildCount();
for (int i = 0; i < childCount; ++i) {
View view = viewGroup.getChildAt(i);
markView(view, mark);
if (view instanceof ViewGroup)
markViewGroup((ViewGroup) view, mark);
}
}
}