com.ibm.lab.soln.interopedit.editors
Class ActiveXHTMLEditor
java.lang.Object
|
+--org.eclipse.ui.part.WorkbenchPart
|
+--org.eclipse.ui.part.EditorPart
|
+--org.eclipse.ui.part.MultiPageEditorPart
|
+--com.ibm.lab.soln.interopedit.editors.ActiveXHTMLEditor
- All Implemented Interfaces:
- org.eclipse.core.runtime.IAdaptable, org.eclipse.ui.IEditorPart, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.IWorkbenchPart
- public class ActiveXHTMLEditor
- extends org.eclipse.ui.part.MultiPageEditorPart
In this exercise we take some existing function and incoporate it
into an Eclipse-aware plug-in building on the Eclipse platform frameworks.
Using the Microsoft Web Browser control, we integrate that Web Browser
editing capeability into an Eclipse multi-page editor using editor input
from Eclipse resources and connecting custom actions to the workbench toolbar
and menus. The user does not use the browser in a way to navigate to a
specific document, rather the navigation occurs inside Eclipse when
the user opens an *.htm file in their workspace. When the user saves the
document, all changes to the *htm file are saved in the workspace. There is
no need to refresh the workspace manually.
Fields inherited from interface org.eclipse.ui.IEditorPart |
PROP_DIRTY, PROP_INPUT |
Fields inherited from interface org.eclipse.ui.IWorkbenchPart |
PROP_TITLE |
Method Summary |
protected void |
createPages()
This is the method which create a text editor page and a page
that hosts the IE ActiveX control. |
void |
doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
This method gets the text editor page and saves the contents. |
void |
doSaveAs()
This implements a save as on the text editor input |
ActiveXWebBrowser |
getBrowser()
A getter method to the editor page hosting the ActiveX (browser)
control. |
void |
gotoMarker(org.eclipse.core.resources.IMarker marker)
|
void |
init(org.eclipse.ui.IEditorSite site,
org.eclipse.ui.IEditorInput input)
The ActiveXHTMLEditor implementation of this method
checks that the input is an instance of IFileEditorInput . |
boolean |
isDirty()
|
boolean |
isSaveAsAllowed()
|
protected void |
pageChange(int newPageIndex)
This method syncronizes the contents of the text editor input and the
the contents of the IE ActiveX control. |
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart |
addPage, addPage, createPartControl, createSite, dispose, getActiveEditor, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageText, handlePropertyChange, removePage, setActivePage, setControl, setFocus, setPageImage, setPageText |
Methods inherited from class org.eclipse.ui.part.EditorPart |
getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setInput |
Methods inherited from class org.eclipse.ui.part.WorkbenchPart |
addPropertyListener, firePropertyChange, getAdapter, getConfigurationElement, getDefaultImage, getSite, getTitle, getTitleImage, removePropertyListener, setInitializationData, setSite, setTitle, setTitleImage, setTitleToolTip |
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 |
Methods inherited from interface org.eclipse.core.runtime.IAdaptable |
getAdapter |
EDITOR_LABEL
public static final java.lang.String EDITOR_LABEL
ActiveXHTMLEditor
public ActiveXHTMLEditor()
- Constructor for ActiveXHTMLEditor.
createPages
protected void createPages()
- This is the method which create a text editor page and a page
that hosts the IE ActiveX control.
- Overrides:
createPages
in class org.eclipse.ui.part.MultiPageEditorPart
- See Also:
MultiPageEditorPart.createPages()
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
- This method gets the text editor page and saves the contents.
- Overrides:
doSave
in class org.eclipse.ui.part.EditorPart
- See Also:
IEditorPart.doSave(IProgressMonitor)
doSaveAs
public void doSaveAs()
- This implements a save as on the text editor input
- Overrides:
doSaveAs
in class org.eclipse.ui.part.EditorPart
- See Also:
IEditorPart.doSaveAs()
getBrowser
public ActiveXWebBrowser getBrowser()
- A getter method to the editor page hosting the ActiveX (browser)
control.
gotoMarker
public void gotoMarker(org.eclipse.core.resources.IMarker marker)
- Overrides:
gotoMarker
in class org.eclipse.ui.part.EditorPart
- See Also:
IEditorPart.gotoMarker(IMarker)
init
public void init(org.eclipse.ui.IEditorSite site,
org.eclipse.ui.IEditorInput input)
throws org.eclipse.ui.PartInitException
- The
ActiveXHTMLEditor
implementation of this method
checks that the input is an instance of IFileEditorInput
.
- Overrides:
init
in class org.eclipse.ui.part.MultiPageEditorPart
- See Also:
IEditorPart.init(IEditorSite, IEditorInput)
isDirty
public boolean isDirty()
- Overrides:
isDirty
in class org.eclipse.ui.part.MultiPageEditorPart
isSaveAsAllowed
public boolean isSaveAsAllowed()
- Overrides:
isSaveAsAllowed
in class org.eclipse.ui.part.EditorPart
- See Also:
IEditorPart.isSaveAsAllowed()
pageChange
protected void pageChange(int newPageIndex)
- This method syncronizes the contents of the text editor input and the
the contents of the IE ActiveX control.
- Overrides:
pageChange
in class org.eclipse.ui.part.MultiPageEditorPart
- See Also:
MultiPageEditorPart.pageChange(int)