ch.sahits.phpclassgenerator.editors
Class PhpClassGeneratorEditor

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.ui.part.WorkbenchPart
          extended by org.eclipse.ui.part.EditorPart
              extended by org.eclipse.ui.part.MultiPageEditorPart
                  extended by ch.sahits.phpclassgenerator.editors.PhpClassGeneratorEditor
All Implemented Interfaces:
java.util.EventListener, org.eclipse.core.resources.IResourceChangeListener, org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.IEditorPart, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.IWorkbenchPart3, org.eclipse.ui.part.IWorkbenchPartOrientation

public class PhpClassGeneratorEditor
extends org.eclipse.ui.part.MultiPageEditorPart
implements org.eclipse.core.resources.IResourceChangeListener

An example showing how to create a multi-page editor. This example has 3 pages:

$Revision: 1.2 $ changed by $Author: hotzst $ at $Date: 2007/08/18 16:39:05 $


Field Summary
private  org.eclipse.ui.editors.text.TextEditor editor
          The text editor used in page 0.
private  org.eclipse.swt.graphics.Font font
          The font chosen in page 1.
private  org.eclipse.swt.custom.StyledText text
          The text widget used in page 2.
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
PhpClassGeneratorEditor()
          Creates a multi-page editor example.
 
Method Summary
(package private)  void createPage0()
          Creates page 0 of the multi-page editor, which contains a text editor.
(package private)  void createPage1()
          Creates page 1 of the multi-page editor, which allows you to change the font used in page 2.
(package private)  void createPage2()
          Creates page 2 of the multi-page editor, which shows the sorted text.
protected  void createPages()
          Creates the pages of the multi-page editor.
 void dispose()
          The MultiPageEditorPart implementation of this IWorkbenchPart method disposes all nested editors.
 void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
          Saves the multi-page editor's document.
 void doSaveAs()
          Saves the multi-page editor's document as another file.
 void gotoMarker(org.eclipse.core.resources.IMarker marker)
          Method declared on IEditorPart
 void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput editorInput)
          The MultiPageEditorExample implementation of this method checks that the input is an instance of IFileEditorInput.
 boolean isSaveAsAllowed()
          Method declared on IEditorPart.
protected  void pageChange(int newPageIndex)
          Calculates the contents of page 2 when the it is activated.
 void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
          Closes all project files on project close.
(package private)  void setFont()
          Sets the font related data to be applied to the text in page 2.
(package private)  void sortWords()
          Sorts the words in page 0, and shows them in page 2.
 
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart
addPage, addPage, addPage, addPage, createPageContainer, createPartControl, createSite, findEditors, getActiveEditor, getActivePage, getAdapter, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageText, handlePropertyChange, isDirty, removePage, setActiveEditor, setActivePage, setControl, setFocus, setPageImage, setPageText
 
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setInput, setInputWithNotify, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, removePropertyListener
 

Field Detail

editor

private org.eclipse.ui.editors.text.TextEditor editor
The text editor used in page 0.


font

private org.eclipse.swt.graphics.Font font
The font chosen in page 1.


text

private org.eclipse.swt.custom.StyledText text
The text widget used in page 2.

Constructor Detail

PhpClassGeneratorEditor

public PhpClassGeneratorEditor()
Creates a multi-page editor example.

Method Detail

createPage0

void createPage0()
Creates page 0 of the multi-page editor, which contains a text editor.


createPage1

void createPage1()
Creates page 1 of the multi-page editor, which allows you to change the font used in page 2.


createPage2

void createPage2()
Creates page 2 of the multi-page editor, which shows the sorted text.


createPages

protected void createPages()
Creates the pages of the multi-page editor.

Specified by:
createPages in class org.eclipse.ui.part.MultiPageEditorPart

dispose

public void dispose()
The MultiPageEditorPart implementation of this IWorkbenchPart method disposes all nested editors. Subclasses may extend.

Specified by:
dispose in interface org.eclipse.ui.IWorkbenchPart
Overrides:
dispose in class org.eclipse.ui.part.MultiPageEditorPart

doSave

public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Saves the multi-page editor's document.

Specified by:
doSave in interface org.eclipse.ui.ISaveablePart
Specified by:
doSave in class org.eclipse.ui.part.EditorPart
Parameters:
monitor - The progress monitor

doSaveAs

public void doSaveAs()
Saves the multi-page editor's document as another file. Also updates the text for page 0's tab, and updates this multi-page editor's input to correspond to the nested editor's.

Specified by:
doSaveAs in interface org.eclipse.ui.ISaveablePart
Specified by:
doSaveAs in class org.eclipse.ui.part.EditorPart

gotoMarker

public void gotoMarker(org.eclipse.core.resources.IMarker marker)
Method declared on IEditorPart

Parameters:
marker - the marker

init

public void init(org.eclipse.ui.IEditorSite site,
                 org.eclipse.ui.IEditorInput editorInput)
          throws org.eclipse.ui.PartInitException
The MultiPageEditorExample implementation of this method checks that the input is an instance of IFileEditorInput.

Specified by:
init in interface org.eclipse.ui.IEditorPart
Overrides:
init in class org.eclipse.ui.part.MultiPageEditorPart
Parameters:
site - the editor site
editorInput - the editor input
Throws:
org.eclipse.ui.PartInitException

isSaveAsAllowed

public boolean isSaveAsAllowed()
Method declared on IEditorPart.

Specified by:
isSaveAsAllowed in interface org.eclipse.ui.ISaveablePart
Specified by:
isSaveAsAllowed in class org.eclipse.ui.part.EditorPart
Returns:
true

pageChange

protected void pageChange(int newPageIndex)
Calculates the contents of page 2 when the it is activated.

Overrides:
pageChange in class org.eclipse.ui.part.MultiPageEditorPart

resourceChanged

public void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
Closes all project files on project close.

Specified by:
resourceChanged in interface org.eclipse.core.resources.IResourceChangeListener
Parameters:
event - Change event

setFont

void setFont()
Sets the font related data to be applied to the text in page 2.


sortWords

void sortWords()
Sorts the words in page 0, and shows them in page 2.