| //------------------------------------------------------------------------------ |
| // 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() { |
| } |
| |
| } |