/** * Դ�������ƣ�RevisionHistoryOverviewPage.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.uft.ui * ����˵����$desc * ����ĵ��� * ���ߣ�sundl */ package com.hundsun.ares.studio.ui.editor.blocks; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.apache.poi.poifs.property.RootProperty; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.forms.widgets.FormToolkit; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.IARESModuleRoot; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.model.Constants; import com.hundsun.ares.studio.core.model.JRESResourceInfo; import com.hundsun.ares.studio.core.model.ModuleProperty; import com.hundsun.ares.studio.core.model.RevisionHistory; import com.hundsun.ares.studio.ui.page.ExtendPageWithMyDirtySystem; /** * �޸ļ�¼����ҳ�� * @author sundl * */ public class RevisionHistoryOverviewPageByRoot extends ExtendPageWithMyDirtySystem<RootProperty> { private RevisionHistoryOverviewBlock block; public RevisionHistoryOverviewPageByRoot(FormEditor editor, String id, String title) { super(editor, id, title); } @Override protected void createFormContent(IManagedForm managedForm) { Composite composite = managedForm.getForm().getBody(); FormToolkit toolkit = managedForm.getToolkit(); block = new RevisionHistoryOverviewBlock(getResource()){ protected org.eclipse.jface.viewers.IContentProvider getColumnViewerContentProvider() { return new IStructuredContentProvider() { @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public Object[] getElements(Object inputElement) { List<RevisionHistoryOverviewElement> result = new ArrayList<RevisionHistoryOverviewElement>(); IARESModuleRoot root = resource.getRoot();//ģ��� try { IARESResource[] resources = root.getResources(); for (IARESResource res : resources) { JRESResourceInfo info = res.getInfo(JRESResourceInfo.class); if (info == null) { ModuleProperty mp = res.getInfo(ModuleProperty.class); if (mp != null) { info = (JRESResourceInfo) mp.getMap().get(Constants.RevisionHistory.MODULE_REVISION_EXT_KEY); } } if (info != null) { List<RevisionHistory> histories = info.getHistories(); for (RevisionHistory his : histories) { result.add(new RevisionHistoryOverviewElement(res, his)); } } } } catch (ARESModelException e1) { e1.printStackTrace(); } Collections.sort(result); // ������ʾ Collections.reverse(result); return result.toArray(); } }; }; }; block.createControl(composite, toolkit); block.setInput(new Object()); GridLayoutFactory.swtDefaults().applyTo(composite); GridDataFactory.fillDefaults().grab(true, true).applyTo(block.getControl()); } @Override public boolean shouldLoad() { return true; } }