Radim Burget
Radim Burget

Reputation: 1516

Eclipse IDE - Perspective is cached and changes has no any effect

I have created new Eclipse IDE (plugin project, Eclipse Kepler, rel. 1) with default template of mail client.

After the first run of the app, the Perspective is stored and remembered (somewhere?) and any changes to Perspective.java has no any effect! Even if I delete the content of createInitialLayout(IPageLayout layout) from the Perspective.java, everything is restored again.

BTW: adding this code to ApplicationWorkbenchAdvisor.java didnt help:

@Override
public void initialize(IWorkbenchConfigurer configurer) {
    super.initialize(configurer);
    configurer.setSaveAndRestore(false);
}

How can I force the app to not to remmeber the layout?

Upvotes: 0

Views: 73

Answers (2)

Radim Burget
Radim Burget

Reputation: 1516

Thank you. I have added the following code to menu. Now I can reset perspective whenever I need.

public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

    private IWorkbenchAction resetPerspectiveAction;

    @Override
    protected void makeActions(IWorkbenchWindow window) { 
        // ...
        // create and register the actions
        resetPerspectiveAction = ActionFactory.RESET_PERSPECTIVE.create(window);
        register(resetPerspectiveAction);
        // ...
    }

    @Override
    protected void fillMenuBar(IMenuManager menuBar) {
        // ...
        // create and fill the window menu
        MenuManager windowMenu = new MenuManager("&Window", WorkbenchActionConstants.M_WINDOW);
        menuBar.add(windowMenu);
        windowMenu.add(resetPerspectiveAction);
        // ...
     }
}

Upvotes: 0

greg-449
greg-449

Reputation: 111142

You could call IWorkbenchPage.resetPerspective() to reinitialize the perspective, perhaps in the WorkbenchWindowAdvisor.postWindowRestore() method.

Upvotes: 1

Related Questions