/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.logic.ui.pages; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.eclipse.jface.dialogs.IPageChangedListener; import org.eclipse.jface.dialogs.PageChangedEvent; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.engin.logic.ResourceEngin; import com.hundsun.ares.studio.logic.compiler.constant.ILogicEngineContextConstant; import com.hundsun.ares.studio.ui.editor.text.TextEditorInput; /** * @author qinyuan * */ public class PreviewUpdater implements IPageChangedListener { private List<String> skeletonList = new ArrayList<String>(); private LogicGenCodeThread logicGenCodeThread = null; public PreviewUpdater(String skeleton){ skeletonList.add(skeleton); } public PreviewUpdater(String[] skeletons) { skeletonList.addAll(Arrays.asList(skeletons)); } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IPageChangedListener#pageChanged(org.eclipse.jface.dialogs.PageChangedEvent) */ @Override public void pageChanged(PageChangedEvent event) { if (event.getSelectedPage() instanceof LogicPreViewPage) { LogicPreViewPage page = (LogicPreViewPage) event.getSelectedPage(); ResourceEngin engin = new ResourceEngin(); Map<Object, Object> context = new HashMap<Object, Object>(); IARESResource resource = page.getEditor().getARESResource(); context.put(ILogicEngineContextConstant.ResourceModel, page.getEditor().getInfo()); // IARESProject project = resource.getARESProject(); // context.put(IEngineContextConstant.Aresproject, project); // IFunctionMacroTokenService funcService = DataServiceManager.getInstance().getService(project, IFunctionMacroTokenService.class); // context.put(IEngineContextConstant.Function_Macro_Service, funcService); // context.put(IEngineContextConstant.UserMacro_Service, DataServiceManager.getInstance().getService(project,IUserMacroTokenService.class)); String text = "�������ɴ���......"; page.setInput(new TextEditorInput(text)); if(logicGenCodeThread!=null){ logicGenCodeThread.genCode(true); } logicGenCodeThread = new LogicGenCodeThread(page,skeletonList,engin,resource,context); logicGenCodeThread.genCode(false); } } }