//------------------------------------------------------------------------------ | |
// Copyright (c) 2005, 2006 IBM Corporation and others. | |
// All rights reserved. This program and the accompanying materials | |
// are made available under the terms of the Eclipse Public License v1.0 | |
// which accompanies this distribution, and is available at | |
// http://www.eclipse.org/legal/epl-v10.html | |
// | |
// Contributors: | |
// IBM Corporation - initial implementation | |
//------------------------------------------------------------------------------------- | |
package org.eclipse.epf.richtext.tests.editors; | |
/** | |
* A multi-page HTML editor built with a rich text control. | |
* | |
* @author Kelvin Low | |
* @since 1.0 | |
*/ | |
import org.eclipse.core.runtime.IProgressMonitor; | |
import org.eclipse.epf.richtext.IRichText; | |
import org.eclipse.epf.richtext.RichText; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.swt.widgets.Text; | |
import org.eclipse.ui.IEditorInput; | |
import org.eclipse.ui.IEditorSite; | |
import org.eclipse.ui.PartInitException; | |
import org.eclipse.ui.part.MultiPageEditorPart; | |
public class MultiPageHTMLEditor extends MultiPageEditorPart { | |
// The Rich Text editor. | |
private IRichText richTextEditor; | |
// The HTML source editor. | |
private Text htmlEditor; | |
/** | |
* Creates a new instance. | |
*/ | |
public MultiPageHTMLEditor() { | |
super(); | |
} | |
/** | |
* @see org.eclipse.ui.part.EditorPart#init(IEditorSite, IEditorInput) | |
*/ | |
public void init(IEditorSite site, IEditorInput input) throws PartInitException { | |
super.init(site, input); | |
setPartName(input.getName()); | |
} | |
/** | |
* @see org.eclipse.ui.part.MultiPageEditorPart#createPage() | |
*/ | |
protected void createPages() { | |
createRichTextPage(); | |
createSourcePage(); | |
} | |
/** | |
* Creates the Rich Text page. | |
*/ | |
protected void createRichTextPage() { | |
richTextEditor = new RichText(getContainer(), SWT.NONE); | |
int index = addPage(richTextEditor.getControl()); | |
setPageText(index, "Rich Text"); | |
} | |
/** | |
* Creates the HTML Source page. | |
*/ | |
protected void createSourcePage() { | |
htmlEditor = new Text(getContainer(), SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); | |
int index = addPage(htmlEditor); | |
setPageText(index, "HTML"); | |
} | |
/** | |
* @see org.eclipse.ui.part.MultiPageEditorPart#pageChange(int) | |
*/ | |
protected void pageChange(int newPageIndex) { | |
super.pageChange(newPageIndex); | |
switch (newPageIndex) { | |
case 0: | |
richTextEditor.setText(htmlEditor.getText()); | |
break; | |
case 1: | |
htmlEditor.setText(richTextEditor.getText()); | |
break; | |
} | |
} | |
/** | |
* @see org.eclipse.ui.part.EditorPart#disDirty() | |
*/ | |
public boolean isDirty() { | |
return false; | |
} | |
/** | |
* @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed() | |
*/ | |
public boolean isSaveAsAllowed() { | |
return false; | |
} | |
/** | |
* @see org.eclipse.ui.part.EditorPart#doSave(IProgressMonitor) | |
*/ | |
public void doSave(IProgressMonitor monitor) { | |
} | |
/** | |
* @see org.eclipse.ui.part.EditorPart#doSaveAs() | |
*/ | |
public void doSaveAs() { | |
} | |
} |