1

I want to display a message before closing my view in an Eclipse plug-in. How to catch the closing event? Is it by using the addListenerObject(Object listener) method ?

  @Override
  public void createPartControl(Composite parent) { 

    //Catch view closing event
    this.addListenerObject(new //???

    });

  }
Logan Wlv
  • 3,274
  • 5
  • 32
  • 54

1 Answers1

1

addListenerObject is not relevant here.

You can override the dispose method of the view:

@Override
public void dispose()
{
  // TODO your code
  super.dispose();
}

You can also use an IPartListener to be told about the state changes of all parts:

getSite().getPage().addPartListener(new IPartListener()
  {
    @Override
    public void partOpened(final IWorkbenchPart part)
    {
    }


    @Override
    public void partDeactivated(final IWorkbenchPart part)
    {
    }


    @Override
    public void partClosed(final IWorkbenchPart part)
    {
      if (part == MyView.this) {
         // TODO Your code
      }
    }


    @Override
    public void partBroughtToTop(final IWorkbenchPart part)
    {
    }


    @Override
    public void partActivated(final IWorkbenchPart part)
    {
    }
  });
greg-449
  • 109,219
  • 232
  • 102
  • 145