package net.sourceforge.pmd.eclipse.ui.views.dataflow;
import net.sourceforge.pmd.eclipse.ui.PMDUiConstants;
import net.sourceforge.pmd.eclipse.ui.model.FileRecord;
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
import net.sourceforge.pmd.eclipse.ui.views.AbstractResourceView;
import net.sourceforge.pmd.eclipse.ui.views.AbstractStructureInspectorPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.part.IPage;
/**
* A View that shows DataflowGraph and -Table as well as the Anomaly-List
*
* @author SebastianRaffel ( 26.05.2005 ), Sven Jacob ( 19.09.2006 )
*/
public class DataflowView extends AbstractResourceView {
protected String pageMessageId() { return StringKeys.VIEW_DATAFLOW_DEFAULT_TEXT; }
@Override
protected String mementoFileId() { return PMDUiConstants.MEMENTO_DATAFLOW_FILE; }
/* @see org.eclipse.ui.part.PageBookView#doCreatePage(org.eclipse.ui.IWorkbenchPart) */
@Override
protected PageRec doCreatePage(IWorkbenchPart part) {
FileRecord resourceRecord = getFileRecordFromWorkbenchPart(part);
if (resourceRecord != null) {
setupListener(resourceRecord);
// creates a new DataflowViewPage, when a Resource exists
DataflowViewPage page = new DataflowViewPage(part, resourceRecord);
initPage(page);
page.createControl(getPageBook());
return new PageRec(part, page);
}
return null;
}
protected AbstractStructureInspectorPage getCurrentViewPage() {
return getCurrentDataflowViewPage();
}
/**
* @return the currently displayed Page
*/
private DataflowViewPage getCurrentDataflowViewPage() {
IPage page = super.getCurrentPage();
if (!(page instanceof DataflowViewPage))
return null;
return (DataflowViewPage) page;
}
}