java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.ui.part.WorkbenchPart
org.eclipse.ui.part.EditorPart
com._1c.g5.v8.dt.internal.platform.services.ui.AbstractAefBoundEditor<InfobaseReference>
com._1c.g5.v8.dt.internal.platform.services.ui.editors.infobase.InfobaseEditor
All Implemented Interfaces:
IInfobaseChangeListener, 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 InfobaseEditor extends AbstractAefBoundEditor<InfobaseReference> implements IInfobaseChangeListener
Infobase reference editor. Allows to edit existing infobases references.

Additionally, displays and allows editing preference to prompt user for a confirmation when an infobase update requires its restructure. Initial value of the preference is taken from IInfobasePreferencesManager. When the editor content is saved, the new value is propagated back to the preferences manager.

  • Field Details

  • Constructor Details

    • InfobaseEditor

      public InfobaseEditor()
  • Method Details

    • doSave

      public void doSave(InfobaseReference model, org.eclipse.core.runtime.IProgressMonitor monitor)
      Description copied from class: AbstractAefBoundEditor
      Saves the model content of this editor.

      Subclasses must override this method to implement the open-save-close lifecycle for an editor.

      Specified by:
      doSave in class AbstractAefBoundEditor<InfobaseReference>
      Parameters:
      model - the model instance to save, cannot be null
      monitor - the progress monitor to report progress to, cannot be null
    • isDirty

      public boolean isDirty()
      Specified by:
      isDirty in interface org.eclipse.ui.ISaveablePart
      Overrides:
      isDirty in class AbstractAefBoundEditor<InfobaseReference>
    • init

      public void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input) throws org.eclipse.ui.PartInitException
      Specified by:
      init in interface org.eclipse.ui.IEditorPart
      Overrides:
      init in class AbstractAefBoundEditor<InfobaseReference>
      Throws:
      org.eclipse.ui.PartInitException
    • dispose

      public void dispose()
      Specified by:
      dispose in interface org.eclipse.ui.IWorkbenchPart
      Overrides:
      dispose in class AbstractAefBoundEditor<InfobaseReference>
    • sectionAdded

      public void sectionAdded(Section section)
      Description copied from interface: IInfobaseChangeListener
      Notification that new section was added and persisted.
      Specified by:
      sectionAdded in interface IInfobaseChangeListener
      Parameters:
      section - the added section, cannot be null
    • infobasesReloaded

      public void infobasesReloaded(List<Section> newInput)
      Description copied from interface: IInfobaseChangeListener
      Called when list of registered infobases has been reloaded.

      This could happen not only when registered infobases list is explicitly reloaded by user or there are changes made outside of EDT (for example, using 1C Starter) but also when infobases are added or deleted by user using EDT or automatically by EDT itself. Moreover, the method could be called when there are no actual changes but infobases list has been reloaded (triggered manually by user or automatically).

      Specified by:
      infobasesReloaded in interface IInfobaseChangeListener
      Parameters:
      newInput - a new input (tree of sections), cannot be null
    • updateHeaderText

      protected void updateHeaderText(InfobaseReference model, String text)
      Description copied from class: AbstractAefBoundEditor
      Updates the editor header text.
      Overrides:
      updateHeaderText in class AbstractAefBoundEditor<InfobaseReference>
      Parameters:
      model - the current model value, cannot be null
      text - the new editor header title, cannot be null
    • createFormContent

      protected void createFormContent(DtGranularEditorPageBuilder<?> builder)
      Description copied from class: AbstractAefBoundEditor
      Subclasses should override this method to create content in the form hosted in this page.
      Specified by:
      createFormContent in class AbstractAefBoundEditor<InfobaseReference>
      Parameters:
      builder - the AEF UI builder to construct UI, cannot be null