Class CommonSourceNotFoundEditor

All Implemented Interfaces:
IAdaptable, IExecutableExtension, IEditorPart, IReusableEditor, ISaveablePart, IWorkbenchPart, IWorkbenchPart2, IWorkbenchPart3, IWorkbenchPartOrientation

public class CommonSourceNotFoundEditor extends EditorPart implements IReusableEditor
Default editor displayed when source is not found. Displays a button to modify the source lookup path.

This editor's id is IDebugUIConstants.ID_COMMON_SOURCE_NOT_FOUND_EDITOR (value org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor).

This class may be instantiated and subclassed.

Since:
3.2
See Also:
  • Constructor Details

    • CommonSourceNotFoundEditor

      public CommonSourceNotFoundEditor()
  • Method Details

    • doSave

      public void doSave(IProgressMonitor monitor)
      Description copied from interface: ISaveablePart
      Saves the contents of this part.

      If the save is successful, the part should fire a property changed event reflecting the new dirty state (PROP_DIRTY property).

      If the save is cancelled through user action, or for any other reason, the part should invoke setCancelled on the IProgressMonitor to inform the caller.

      This method is long-running; progress and cancellation are provided by the given progress monitor.

      Specified by:
      doSave in interface ISaveablePart
      Specified by:
      doSave in class EditorPart
      Parameters:
      monitor - the progress monitor
    • doSaveAs

      public void doSaveAs()
      Description copied from interface: ISaveablePart
      Saves the contents of this part to another object.

      Implementors are expected to open a "Save As" dialog where the user will be able to select a new name for the contents. After the selection is made, the contents should be saved to that new name. During this operation a IProgressMonitor should be used to indicate progress.

      If the save is successful, the part fires a property changed event reflecting the new dirty state (PROP_DIRTY property).

      Specified by:
      doSaveAs in interface ISaveablePart
      Specified by:
      doSaveAs in class EditorPart
    • init

      public void init(IEditorSite site, IEditorInput input) throws PartInitException
      Description copied from interface: IEditorPart
      Initializes this editor with the given editor site and input.

      This method is automatically called shortly after the part is instantiated. It marks the start of the part's lifecycle. The IWorkbenchPart.dispose method will be called automically at the end of the lifecycle. Clients must not call this method.

      Implementors of this method must examine the editor input object type to determine if it is understood. If not, the implementor must throw a PartInitException

      Specified by:
      init in interface IEditorPart
      Specified by:
      init in class EditorPart
      Parameters:
      site - the editor site
      input - the editor input
      Throws:
      PartInitException - if this editor was not initialized successfully
    • isDirty

      public boolean isDirty()
      Description copied from interface: ISaveablePart
      Returns whether the contents of this part have changed since the last save operation. If this value changes the part must fire a property listener event with PROP_DIRTY.

      Note: this method is called often on a part open or part activation switch, for example by actions to determine their enabled status.

      Specified by:
      isDirty in interface ISaveablePart
      Specified by:
      isDirty in class EditorPart
      Returns:
      true if the contents have been modified and need saving, and false if they have not changed since the last save
    • isSaveAsAllowed

      public boolean isSaveAsAllowed()
      Description copied from interface: ISaveablePart
      Returns whether the "Save As" operation is supported by this part.
      Specified by:
      isSaveAsAllowed in interface ISaveablePart
      Specified by:
      isSaveAsAllowed in class EditorPart
      Returns:
      true if "Save As" is supported, and false if not supported
    • createPartControl

      public void createPartControl(Composite parent)
      Description copied from interface: IWorkbenchPart
      Creates the SWT controls for this workbench part.

      Clients should not call this method (the workbench calls this method when it needs to, which may be never).

      For implementors this is a multi-step process:

      1. Create one or more controls within the parent.
      2. Set the parent layout as needed.
      3. Register any global actions with the site's IActionBars.
      4. Register any context menus with the site.
      5. Register a selection provider with the site, to make it available to the workbench's ISelectionService (optional).
      Specified by:
      createPartControl in interface IWorkbenchPart
      Specified by:
      createPartControl in class WorkbenchPart
      Parameters:
      parent - the parent control
    • createButtons

      protected void createButtons(Composite parent)
      Create buttons to be displayed in this editor
      Parameters:
      parent - composite to create the buttons in.
    • editSourceLookupPath

      protected void editSourceLookupPath()
      Edits the source lookup path associated with the active debug context. After the path is edited, source lookup is performed again and this editor is closed.
    • setFocus

      public void setFocus()
      Description copied from interface: IWorkbenchPart
      Asks this part to take focus within the workbench. Parts must assign focus to one of the controls contained in the part's parent composite.

      Clients should not call this method (the workbench calls this method at appropriate times). To have the workbench activate a part, use IWorkbenchPage.activate(IWorkbenchPart) instead.

      Specified by:
      setFocus in interface IWorkbenchPart
      Specified by:
      setFocus in class WorkbenchPart
    • setInput

      public void setInput(IEditorInput input)
      Description copied from class: EditorPart
      Sets the input to this editor. This method simply updates the internal member variable.

      Unlike most of the other set methods on this class, this method does not fire a property change. Clients that call this method from a subclass must ensure that they fire an IWorkbenchPartConstants.PROP_INPUT property change after calling this method but before leaving whatever public method they are in. Clients that expose this method as public API must fire the property change within their implementation of setInput.

      Note that firing a property change may cause listeners to immediately reach back and call methods on this editor. Care should be taken not to fire the property change until the editor has fully updated its internal state to reflect the new input.

      Specified by:
      setInput in interface IReusableEditor
      Overrides:
      setInput in class EditorPart
      Parameters:
      input - the editor input
      See Also:
    • getText

      protected String getText()
      Return the text to be displayed in this editor. The text is reset each time the editor input is set.
      Returns:
      the text to be displayed in this editor
    • closeEditor

      protected void closeEditor()
      Closes this editor.
    • dispose

      public void dispose()
      Description copied from class: WorkbenchPart
      The WorkbenchPart implementation of this IWorkbenchPart method disposes the title image loaded by setInitializationData. Subclasses may extend.
      Specified by:
      dispose in interface IWorkbenchPart
      Overrides:
      dispose in class WorkbenchPart
    • getArtifact

      protected Object getArtifact()
      Returns the artifact this editor was opened for (i.e. the artifact that source was not found for), or null
      Returns:
      artifact with associated source or null
    • initialize

      protected void initialize()
      Initialize this editor. Called after init(IEditorSite, IEditorInput). By default, a launch listener is added to close this editor when the associated launch terminates. Subclasses may override.