/*
* Carrot2 project.
*
* Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński.
* All rights reserved.
*
* Refer to the full license file "carrot2.LICENSE"
* in the root folder of the repository checkout or at:
* http://www.carrot2.org/carrot2.LICENSE
*/
package org.carrot2.workbench.core.ui;
import org.eclipse.ui.*;
import org.eclipse.ui.part.*;
/**
* Base implementation of {@link PageBookView} for views which have different pages for
* every editor (similar to
* <code>org.eclipse.ui.views.contentoutline.ContentOutline</code>).
*/
public abstract class PageBookViewBase extends PageBookView
{
/**
* Default page is blank.
*/
@Override
protected IPage createDefaultPage(PageBook book)
{
MessagePage defaultPage = new MessagePage();
initPage(defaultPage);
defaultPage.createControl(book);
return defaultPage;
}
@Override
protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord)
{
((Page) pageRecord.page).dispose();
pageRecord.dispose();
}
@Override
protected IWorkbenchPart getBootstrapPart()
{
final IWorkbenchPage page = getSite().getPage();
if (page != null)
{
return page.getActiveEditor();
}
return null;
}
@Override
protected boolean isImportant(IWorkbenchPart part)
{
return (part instanceof IEditorPart);
}
}