/** * Դ�������ƣ�DatabaseOpenResourcePage.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.ui * ����˵����$desc * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.ui.editor.blocks; import java.util.ArrayList; import java.util.List; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.forms.editor.FormPage; import org.eclipse.ui.forms.widgets.FormToolkit; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.IARESElement; import com.hundsun.ares.studio.core.IARESModule; import com.hundsun.ares.studio.core.IARESModuleRoot; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.model.CorePackage; /** * @author yanwj06282 * */ public class OpenResourcePage extends FormPage { private String[] stitles = new String[]{"�����","Ӣ����","������"}; private EStructuralFeature[] sfeatures = new EStructuralFeature[]{CorePackage.Literals.BASIC_RESOURCE_INFO__OBJECT_ID, CorePackage.Literals.BASIC_RESOURCE_INFO__NAME,CorePackage.Literals.BASIC_RESOURCE_INFO__CHINESE_NAME}; private OpenResourceBlock block; private IARESElement element; /** * @param editor * @param id * @param title */ public OpenResourcePage(FormEditor editor, IARESElement element ,String id, String title) { super(editor, id, title); this.element = element; } @Override protected void createFormContent(IManagedForm managedForm) { Composite body = managedForm.getForm().getBody(); FormToolkit toolkit = managedForm.getToolkit(); createComposite(body, toolkit); body.setLayout(new FillLayout()); } /** * @param body * @param toolkit */ private void createComposite(Composite body, FormToolkit toolkit) { block = new OpenResourceBlock(element ,stitles ,sfeatures); block.createControl(body, toolkit); IARESResource[] resources = null; List<OpenResourceInfo> databaseList = new ArrayList<OpenResourceInfo>(); try { if(element instanceof IARESModuleRoot) { resources = ((IARESModuleRoot) element).getResources(); }else if (element instanceof IARESModule) { resources = ((IARESModule) element).getARESResources(true); } for (IARESResource resource : resources) { EObject dbinfo = resource.getInfo(EObject.class); if (dbinfo != null) { OpenResourceInfo info = new OpenResourceInfo(resource, dbinfo); databaseList.add(info); } } } catch (ARESModelException e) { e.printStackTrace(); } block.setInput(databaseList); } }