@Override public boolean isDirty() { if (sourcePage.isDirty()) { return true; } return super.isDirty(); }
/* (non-Javadoc) * @see org.eclipse.ui.forms.editor.FormEditor#addPages() */ @Override protected void addPages() { interfacePage = new LogicFunctionInterfacePage(null, this, "interface", "½Ó¿Ú"); try { // addPage(new LogicFunctionBaseInfoPage(this, "baseinfo", "»ù±¾ÐÅÏ¢")); addPage(interfacePage); // addPage(new LogicServiceIntenalVarPage(this, "internalvar", "ÄÚ²¿±äÁ¿")); // α´úÂëÒ³Ãæ final LogicFunction func = (LogicFunction) getInfo(); sourcePage = new LogicTextEditor(getARESResource()); TextBasedEditorInput input = new TextBasedEditorInput( new ITextBased() { @Override public void setText(String text) { Command command = SetCommand.create( getEditingDomain(), func, AtomPackage.Literals.ATOM_FUNCTION__PSEUDO_CODE, text); getEditingDomain().getCommandStack().execute(command); } @Override public String getText() { return func.getPseudoCode(); } }, getARESResource()); index = addPage(sourcePage, input); sourcePage.setEditor(this); setPageText(index, "ʵÏÖ-α´úÂë"); // Ô¤ÀÀÒ³Ãæ addPage(preViewPage = new LogicPreViewPage(this, "preview", "Ô¤ÀÀ"), new TextEditorInput()); addPage(new RevisionHistoryListPage(this, "revisionHistory", "ÐÞ¶©ÐÅÏ¢")); addPageChangedListener( new PreviewUpdater(ILogicSkeletonFactoryConstant.SKELETONTYPE_LOGIC_FUNCTION)); } catch (PartInitException e) { e.printStackTrace(); } }
@Override protected void handleBeforeSave() { sourcePage.doSave(new NullProgressMonitor()); setPartName(getEditorTitle()); }