Class AbstractFormPage

  • All Implemented Interfaces:
    IIssueAcceptor, org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.forms.editor.IFormPage, 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
    Direct Known Subclasses:
    AbstractFormPage

    public abstract class AbstractFormPage
    extends org.eclipse.ui.forms.editor.FormPage
    implements IIssueAcceptor
    Abstract form page for multipage editor.

    This form listens selections from multipage editor's selection provider and executes selectAndReveal(IStructuredSelection) when selection changed

    Form page content is provided by createPageContent(Composite, IManagedForm), if there is critical errors in resource form page content replaced with content provided by createPageErrorContent(Composite, IManagedForm)

    When page was switched or underlying content was changed method doRefresh(boolean) is automatically triggered, after that #showIssues(List, IProgressMonitor) is executed. Clients can affect on triggering of doRefresh(boolean) method by overriding needsRefresh()

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected String errorTitle  
      protected boolean fullRefresh  
      protected org.eclipse.ui.forms.IMessageManager messageManager  
      protected String pageTitle  
      • 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 Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void accept​(List<org.eclipse.xtext.validation.Issue> issues)
      This method is called by CustomResourceValidator after getting validation issues.
      protected void beforeFullRefresh()
      Executes before performing full refresh
      protected void createFormContent​(org.eclipse.ui.forms.IManagedForm managedForm)
      Creates form parent composite.
      protected abstract void createPageContent​(org.eclipse.swt.widgets.Composite parent, org.eclipse.ui.forms.IManagedForm managedForm)
      Creates form content
      protected void createPageErrorContent​(org.eclipse.swt.widgets.Composite parent, org.eclipse.ui.forms.IManagedForm managedForm)
      Form content for the case of critical errors in the model.
      void dispose()  
      protected abstract void doAcceptIssues​(List<org.eclipse.xtext.validation.Issue> issues)
      This method is invoked after validation is completed.
      protected abstract void doRefresh​(boolean performFullRefresh)
      Refreshes form
      AbstractMultiPageEditor getEditor()  
      org.eclipse.handly.model.ISourceFile getSourceFile()
      Returns ISourceFile for model
      protected boolean needsRefresh()
      Returns true if the form should be refreshed.
      protected abstract void selectAndReveal​(org.eclipse.jface.viewers.IStructuredSelection selection)
      Executed when page gets selection change notification
      void setErrorTitle​(String errorTitle)
      Sets page title if there is critical errors in model.
      void setPageTitle​(String pageTitle)
      Sets page title.
      protected void showError()  
      • Methods inherited from class org.eclipse.ui.forms.editor.FormPage

        canLeaveThePage, createPartControl, doSave, doSaveAs, getId, getIndex, getManagedForm, getPartControl, getTitleImage, init, initialize, isActive, isDirty, isEditor, isSaveAsAllowed, selectReveal, setActive, setFocus, setIndex
      • 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, getAdapter, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, 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.core.runtime.IAdaptable

        getAdapter
      • Methods inherited from interface org.eclipse.ui.IEditorPart

        getEditorInput, getEditorSite
      • Methods inherited from interface org.eclipse.ui.ISaveablePart

        isSaveOnCloseNeeded
      • Methods inherited from interface org.eclipse.ui.IWorkbenchPart

        addPropertyListener, getSite, getTitle, getTitleToolTip, removePropertyListener
    • Field Detail

      • messageManager

        protected org.eclipse.ui.forms.IMessageManager messageManager
      • pageTitle

        protected String pageTitle
      • errorTitle

        protected String errorTitle
      • fullRefresh

        protected boolean fullRefresh
    • Constructor Detail

      • AbstractFormPage

        public AbstractFormPage​(AbstractMultiPageEditor editor,
                                String id,
                                String title)
        Constructor
        Parameters:
        editor - multipage editor (not null)
        id - form page id (not null)
        title - the page title (not null)
    • Method Detail

      • dispose

        public void dispose()
        Specified by:
        dispose in interface org.eclipse.ui.IWorkbenchPart
        Overrides:
        dispose in class org.eclipse.ui.forms.editor.FormPage
      • accept

        public void accept​(List<org.eclipse.xtext.validation.Issue> issues)
        Description copied from interface: IIssueAcceptor
        This method is called by CustomResourceValidator after getting validation issues.

        Note: This method is called by the platform; it is not intended to be called directly by clients.

        Specified by:
        accept in interface IIssueAcceptor
        Parameters:
        issues - - validation issues list, not null
      • getEditor

        public AbstractMultiPageEditor getEditor()
        Specified by:
        getEditor in interface org.eclipse.ui.forms.editor.IFormPage
        Overrides:
        getEditor in class org.eclipse.ui.forms.editor.FormPage
      • getSourceFile

        public org.eclipse.handly.model.ISourceFile getSourceFile()
        Returns ISourceFile for model
        Returns:
        root element handle (never null)
      • setPageTitle

        public void setPageTitle​(String pageTitle)
        Sets page title.
        Parameters:
        pageTitle - the page title (not null)
      • setErrorTitle

        public void setErrorTitle​(String errorTitle)
        Sets page title if there is critical errors in model.
        Parameters:
        errorTitle - the error page title (not null)
      • beforeFullRefresh

        protected void beforeFullRefresh()
        Executes before performing full refresh
      • createFormContent

        protected void createFormContent​(org.eclipse.ui.forms.IManagedForm managedForm)
        Creates form parent composite.

        This method is not intended to be overridden by clients.

        Overrides:
        createFormContent in class org.eclipse.ui.forms.editor.FormPage
      • createPageContent

        protected abstract void createPageContent​(org.eclipse.swt.widgets.Composite parent,
                                                  org.eclipse.ui.forms.IManagedForm managedForm)
        Creates form content
        Parameters:
        parent - parent composite (not null)
        managedForm - IManagedForm instance (not null)
      • createPageErrorContent

        protected void createPageErrorContent​(org.eclipse.swt.widgets.Composite parent,
                                              org.eclipse.ui.forms.IManagedForm managedForm)
        Form content for the case of critical errors in the model.
        Parameters:
        parent - parent composite (not null)
        managedForm - IManagedForm instance (not null)
      • doAcceptIssues

        protected abstract void doAcceptIssues​(List<org.eclipse.xtext.validation.Issue> issues)
        This method is invoked after validation is completed.
        Parameters:
        issues - validation issues, not null
      • doRefresh

        protected abstract void doRefresh​(boolean performFullRefresh)
        Refreshes form
        Parameters:
        performFullRefresh - indicates that form should be fully refreshed (for example for viewers should be set a new input)
      • needsRefresh

        protected boolean needsRefresh()
        Returns true if the form should be refreshed.

        By default this method returns true.

        Returns:
        true if form content should be refreshed, false otherwise
      • selectAndReveal

        protected abstract void selectAndReveal​(org.eclipse.jface.viewers.IStructuredSelection selection)
        Executed when page gets selection change notification
        Parameters:
        selection - new selection
      • showError

        protected void showError()