Class HtmlMultiPageEditor

  • All Implemented Interfaces:
    IDtHtmlEditorPart, org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.jface.dialogs.IPageChangeProvider, org.eclipse.ui.IEditorPart, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.IWorkbenchPart3, org.eclipse.ui.part.IShowInSource, org.eclipse.ui.part.IWorkbenchPartOrientation
    Direct Known Subclasses:
    MdHelpContentEditor

    public class HtmlMultiPageEditor
    extends org.eclipse.ui.part.MultiPageEditorPart
    implements org.eclipse.ui.part.IShowInSource, IDtHtmlEditorPart
    Html multipage editor
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected IHtmlWebServerManager serverManager  
      • Fields inherited from class org.eclipse.ui.part.MultiPageEditorPart

        PAGE_CONTAINER_SITE
      • Fields inherited from interface org.eclipse.ui.IEditorPart

        PROP_DIRTY, PROP_INPUT
      • Fields inherited from interface org.eclipse.ui.IWorkbenchPart

        PROP_TITLE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int addPage​(org.eclipse.swt.widgets.Control page, String pageTitle)
      Creates and adds a new page containing the given control to this multi-page editor.
      protected void createPages()  
      protected PreviewHtmlPage createPreviewHtmlPage​(org.eclipse.swt.widgets.Composite container)
      Construct preview page control
      protected IPreviewHtmlPageContentProvider createPreviewHtmlPageContentProvider​(String previewUrl)
      Construct preview page content provider
      protected org.eclipse.wst.sse.ui.StructuredTextEditor createStructuredTextEditor()
      Construct text editor
      protected WysiwygHtmlPage createWysiwygHtmlPage​(org.eclipse.swt.widgets.Composite container)
      Construct wysiwyg page control
      void dispose()  
      void doSave​(org.eclipse.core.runtime.IProgressMonitor monitor)  
      void doSaveAs()  
      protected org.eclipse.swt.widgets.Control getActivePageControl()
      Returns the active nested Control based editor if there is one.
      <T> T getAdapter​(Class<T> adapter)  
      protected org.eclipse.ui.IFileEditorInput getFileEditorInput()
      Get file based editor input for structured text editor
      protected PreviewHtmlPage getPreviewHtmlPage()
      Subclasses direct access to preview page of editor
      protected String getReadOnlyText()
      Get html text for showing in read only editor mode
      org.eclipse.ui.part.ShowInContext getShowInContext()  
      protected WysiwygHtmlPage getWysiwygHtmlPage()
      Subclasses direct access to wysiwyg page of editor
      protected void handlePropertyChange​(int propertyId)  
      void init​(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput editorInput)  
      protected boolean isReadOnly()
      The read mode in which the editor is opened.
      boolean isSaveAsAllowed()  
      protected void openPreviewPage()
      Method called before preview page opened
      protected void openWysiwygPage()
      Method called before wysiwyg page opened
      protected void pageChange​(int newPageIndex)  
      • Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart

        activateSite, addPage, addPage, addPage, addPage, addPageChangedListener, createContainer, createItem, createPageContainer, createPartControl, createSite, deactivateSite, findEditors, getActiveEditor, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageSite, getPageText, getSelectedPage, initializePageSwitching, isDirty, removePage, removePageChangedListener, 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 interface org.eclipse.ui.IWorkbenchPart

        addPropertyListener, getSite, getTitle, getTitleImage, removePropertyListener
    • Constructor Detail

      • HtmlMultiPageEditor

        public HtmlMultiPageEditor()
    • Method Detail

      • getAdapter

        public <T> T getAdapter​(Class<T> adapter)
        Specified by:
        getAdapter in interface org.eclipse.core.runtime.IAdaptable
        Overrides:
        getAdapter in class org.eclipse.ui.part.MultiPageEditorPart
      • init

        public void init​(org.eclipse.ui.IEditorSite site,
                         org.eclipse.ui.IEditorInput editorInput)
                  throws org.eclipse.ui.PartInitException
        Specified by:
        init in interface org.eclipse.ui.IEditorPart
        Overrides:
        init in class org.eclipse.ui.part.MultiPageEditorPart
        Throws:
        org.eclipse.ui.PartInitException
      • doSave

        public void doSave​(org.eclipse.core.runtime.IProgressMonitor monitor)
        Specified by:
        doSave in interface org.eclipse.ui.ISaveablePart
        Specified by:
        doSave in class org.eclipse.ui.part.EditorPart
      • doSaveAs

        public void doSaveAs()
        Specified by:
        doSaveAs in interface org.eclipse.ui.ISaveablePart
        Specified by:
        doSaveAs in class org.eclipse.ui.part.EditorPart
      • isSaveAsAllowed

        public boolean isSaveAsAllowed()
        Specified by:
        isSaveAsAllowed in interface org.eclipse.ui.ISaveablePart
        Specified by:
        isSaveAsAllowed in class org.eclipse.ui.part.EditorPart
      • getShowInContext

        public org.eclipse.ui.part.ShowInContext getShowInContext()
        Specified by:
        getShowInContext in interface org.eclipse.ui.part.IShowInSource
      • dispose

        public void dispose()
        Specified by:
        dispose in interface org.eclipse.ui.IWorkbenchPart
        Overrides:
        dispose in class org.eclipse.ui.part.MultiPageEditorPart
      • createPages

        protected void createPages()
        Specified by:
        createPages in class org.eclipse.ui.part.MultiPageEditorPart
      • addPage

        protected int addPage​(org.eclipse.swt.widgets.Control page,
                              String pageTitle)
        Creates and adds a new page containing the given control to this multi-page editor.
        Parameters:
        page - the page control, cannot null
        pageTitle - the text label for the page, cannot null
        Returns:
        the index of the new page
      • createStructuredTextEditor

        protected org.eclipse.wst.sse.ui.StructuredTextEditor createStructuredTextEditor()
                                                                                  throws org.eclipse.ui.PartInitException

        Construct text editor

        Subclasses may extend.

        Returns:
        instance of StructuredTextEditor
        Throws:
        org.eclipse.ui.PartInitException - if page cannot be initialized
      • createWysiwygHtmlPage

        protected WysiwygHtmlPage createWysiwygHtmlPage​(org.eclipse.swt.widgets.Composite container)
                                                 throws org.eclipse.ui.PartInitException

        Construct wysiwyg page control

        Subclasses may extend.

        Parameters:
        container - the composite control containing this multi-page editor pages, cannot be null
        Returns:
        instance of WysiwygHtmlPage, never null
        Throws:
        org.eclipse.ui.PartInitException - if page cannot be initialized
      • createPreviewHtmlPage

        protected PreviewHtmlPage createPreviewHtmlPage​(org.eclipse.swt.widgets.Composite container)
                                                 throws org.eclipse.ui.PartInitException

        Construct preview page control

        Subclasses may extend.

        Parameters:
        container - the composite control containing this multi-page editor pages, cannot be null
        Returns:
        instance of PreviewHtmlPage, never null
        Throws:
        org.eclipse.ui.PartInitException - if page cannot be initialized
      • createPreviewHtmlPageContentProvider

        protected IPreviewHtmlPageContentProvider createPreviewHtmlPageContentProvider​(String previewUrl)

        Construct preview page content provider

        Subclasses may override.

        Parameters:
        previewUrl - the default (home) preview url, can be null if has not
        Returns:
        inctance of content provider, cannot be null
      • getPreviewHtmlPage

        protected final PreviewHtmlPage getPreviewHtmlPage()

        Subclasses direct access to preview page of editor

        Returns:
        the preview page control, can be null if editor pages not created yeat
      • getWysiwygHtmlPage

        protected final WysiwygHtmlPage getWysiwygHtmlPage()

        Subclasses direct access to wysiwyg page of editor

        Returns:
        the wysiwyg page control, can be null if editor pages not created yeat
      • pageChange

        protected void pageChange​(int newPageIndex)
        Overrides:
        pageChange in class org.eclipse.ui.part.MultiPageEditorPart
      • handlePropertyChange

        protected void handlePropertyChange​(int propertyId)
        Overrides:
        handlePropertyChange in class org.eclipse.ui.part.MultiPageEditorPart
      • openPreviewPage

        protected void openPreviewPage()

        Method called before preview page opened

        Use this method for initialize preview browser home page

        Subclasses may extend.

      • openWysiwygPage

        protected void openWysiwygPage()

        Method called before wysiwyg page opened

        Use this method for initialize wysiwyg text and selection

        Subclasses may extend.

      • getFileEditorInput

        protected org.eclipse.ui.IFileEditorInput getFileEditorInput()
        Get file based editor input for structured text editor
        Returns:
        IFileEditorInput instance, never null
      • getActivePageControl

        protected final org.eclipse.swt.widgets.Control getActivePageControl()
        Returns the active nested Control based editor if there is one.
        Returns:
        the active nested Control based editor, or null if none
        See Also:
        to take active
      • isReadOnly

        protected boolean isReadOnly()
        The read mode in which the editor is opened.

        Subclasses can override this method to control editor read only mode

        Returns:
        true to open editor in read only mode, or false in otherwise
      • getReadOnlyText

        protected String getReadOnlyText()
                                  throws IOException
        Get html text for showing in read only editor mode
        Returns:
        html text string, never null
        Throws:
        IOException - if an I/O error occurs