/** * Դ�������ƣ�ExtensibleModelTreeContentProvider.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.ui * ����˵����$desc * ����ĵ��� * ���ߣ���Ҷ�� */ package com.hundsun.ares.studio.ui.editor.extend; import org.apache.commons.lang.ArrayUtils; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; /** * * input Ӧ����IARESResource * @author gongyf * */ public class ExtensibleModelTreeContentProvider implements ITreeContentProvider { /** * @param model * @param modelId */ public ExtensibleModelTreeContentProvider() { super(); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ @Override public void dispose() { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object) */ @Override public Object[] getElements(Object inputElement) { Assert.isTrue(inputElement instanceof ExtensibleModelEditingRoot); ExtensibleModelEditingRoot root = (ExtensibleModelEditingRoot) inputElement; return root.getCategories().toArray(); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof ExtensibleModelEditingCategory) { return ((ExtensibleModelEditingCategory) parentElement).getEntries().toArray(); } return ArrayUtils.EMPTY_OBJECT_ARRAY; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) */ @Override public Object getParent(Object element) { if (element instanceof ExtensibleModelEditingEntry) { return ((ExtensibleModelEditingEntry)element).getCategory(); } else if (element instanceof ExtensibleModelEditingCategory) { return ((ExtensibleModelEditingCategory) element).getRoot(); } return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) */ @Override public boolean hasChildren(Object element) { return element instanceof ExtensibleModelEditingCategory; } }