下面列出了怎么用org.eclipse.ui.forms.editor.IFormPage的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public int addPage(IFormPage page) throws PartInitException {
final int idx = super.addPage(page);
if (getContainer() instanceof CTabFolder) {
final CTabFolder cTabFolder = (CTabFolder) getContainer();
// If there is only the editor but no PDF shown next to it, the tab bar of the
// ctabfolder just wastes screen estate.
if (cTabFolder.getItemCount() <= 1) {
cTabFolder.setTabHeight(0);
} else {
cTabFolder.setTabHeight(-1);
}
}
return idx;
}
public Object execute(ExecutionEvent event) throws ExecutionException
{
IEditorPart activeEditor = UIHelper.getActiveEditor();
if (activeEditor != null)
{
if (activeEditor instanceof ModelEditor)
{
ModelEditor activeModelEditor = (ModelEditor) activeEditor;
IFormPage page = activeModelEditor.getActivePageInstance();
if (page instanceof BasicFormPage)
{
BasicFormPage activePage = (BasicFormPage) page;
activePage.doRun();
}
}
}
return null;
}
/**
* Saves input code to model
*/
private void saveModel( )
{
if ( isCodeModified( ) && editObject instanceof DesignElementHandle )
{
saveEditorContentsDE( (DesignElementHandle) editObject,
isSaveScript );
}
setIsModified( false );
( (IFormPage) getParentEditor( ) ).getEditor( )
.editorDirtyStateChanged( );
firePropertyChange( PROP_DIRTY );
SourceViewer viewer = getViewer( );
IUndoManager undoManager = viewer == null ? null
: viewer.getUndoManager( );
if ( undoManager != null )
{
undoManager.endCompoundChange( );
}
cleanPoint = getUndoLevel( );
}
protected void markDirty( )
{
if ( !isModified )
{
setIsModified( true );
( (IFormPage) getParentEditor( ) ).getEditor( )
.editorDirtyStateChanged( );
firePropertyChange( PROP_DIRTY );
}
if ( cleanPoint > getUndoLevel( ) && !undoing )
{
cleanPoint = -1;
}
}
/**
* Notifies action bar contributor about page change.
*
* @param pageIndex
* the index of the new page
*/
protected void updateActionBarContributor( int pageIndex )
{
super.updateActionBarContributor( pageIndex );
// Overwrite this method to implement multi-editor action bar
// contributor
IEditorActionBarContributor contributor = getEditorSite( ).getActionBarContributor( );
if ( contributor instanceof IMultiPageEditorActionBarContributor
&& pageIndex >= 0
&& pageIndex < pages.size( ) )
{
Object page = pages.get( pageIndex );
if ( page instanceof IFormPage )
{
( (IMultiPageEditorActionBarContributor) contributor ).setActivePage( (IFormPage) page );
}
}
}
private void updateOutLineView( IFormPage activePageInstance )
{
if ( outlinePage == null )
{
return;
}
if ( reloadOutlinePage( ) )
{
return;
}
Object designOutLinePage = activePageInstance.getAdapter( IContentOutlinePage.class );
if ( designOutLinePage instanceof DesignerOutlinePage )
{
( (DesignerOutlinePage) designOutLinePage ).setBackupState( outlineBackup );
}
outlinePage.setActivePage( (IPageBookViewPage) designOutLinePage );
}
private void refreshGraphicalEditor( )
{
for ( int i = 0; i < pages.size( ); i++ )
{
Object page = pages.get( i );
if ( page instanceof IFormPage )
{
if ( isGraphicalEditor( page ) )
{
if ( ( (GraphicalEditorWithFlyoutPalette) page ).getGraphicalViewer( ) != null )
{
EditPart root = ( (GraphicalEditorWithFlyoutPalette) page ).getGraphicalViewer( )
.getRootEditPart( );
refreshResourceEditPart( root );
}
}
}
}
}
@Override
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
// Get the GeometryComponent and create the GeometryPage.
if (!(components.isEmpty())) {
GeometryComponent geometryComponent = (GeometryComponent) (components
.get(0));
if (geometryComponent != null) {
// Make the GeometryPage
ICEGeometryPage geometryPage = new ICEGeometryPage(formEditor,
"GPid", geometryComponent.getName());
// Set the GeometryComponent
geometryPage.setGeometry(geometryComponent);
pages.add(geometryPage);
}
}
return pages;
}
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
MeshComponent meshComponent = new MeshComponent();
// Get the GeometryComponent and create the GeometryPage.
if (!(components.isEmpty())) {
meshComponent = (MeshComponent) (components.get(0));
if (meshComponent != null) {
ICEMeshPage meshPage;
// Make the MeshPage
meshPage = new ICEMeshPage(formEditor, "MeshPid",
meshComponent.getName());
// Set the MeshComponent
meshPage.setMeshComponent(meshComponent);
pages.add(meshPage);
}
}
return pages;
}
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
EMFComponent emfComponent = null;
EMFSectionPage emfPage = null;
if (components.size() > 0) {
for (Component comp : components) {
emfComponent = (EMFComponent) comp;
if (emfComponent != null) {
// Make the EMFSectionPage
emfPage = new EMFSectionPage(formEditor,
emfComponent.getName(), emfComponent.getName());
// Set the EMFComponent
emfPage.setEMFComponent(emfComponent);
pages.add(emfPage);
}
}
}
return pages;
}
@Override
public ArrayList<IFormPage> getGeometryComponentPages(FormEditor editor,
ArrayList<Component> components) {
// List for the pages
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
IPageProvider provider = null;
String compContext = components.get(0).getContext();
// Use the default provider if that is what is requested
if ("ice-default".equals(compContext)) {
provider = new DefaultGeometryPageProvider();
} else {
// Otherwise see if something registering the context has been
// provided in the e4 context.
provider = (IPageProvider) context.get(compContext);
}
// Grab the pages
pages = provider.getPages(editor, components);
return pages;
}
@Override
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
// Get the lists from the component map
ArrayList<IFormPage> pages = new ArrayList<IFormPage>(
components.size());
// If there are some lists, render sections for them
for (int i = 0; i < components.size(); i++) {
ListComponent<?> list = (ListComponent<?>) components.get(i);
// Make sure the list isn't null since that value can be put in
// a collection
if (list != null) {
// Create a new page for the list
ListComponentSectionPage page = new ListComponentSectionPage(
formEditor, list.getName(), list.getName());
page.setList(list);
// Add the page to the return list
pages.add(page);
}
}
return pages;
}
public void setFocus()
{
/*
* The following commented code was causing a warning that
* said "Prevented recursive attempt to activate part
* toolbox.tool.tlc.view.TLCErrorView while still in the
* middle of activating part
* org.lamport.tla.toolbox.tool.tlc.ui.editor.ModelEditor"
*
* The updating of the error view is now done by registering a
* part listener in the init method of the modeleditor. This
* part listener is an instance of ModelEditorPartListener()
* whose partVisible() method does the updating of the
* TLCErrorView.
*/
// final TLCModelLaunchDataProvider provider = (TLCModelLaunchDataProvider) ModelEditor.this
// .getAdapter(TLCModelLaunchDataProvider.class);
// if (!provider.getErrors().isEmpty())
// {
// TLCErrorView errorView = (TLCErrorView) UIHelper.findView(TLCErrorView.ID);
// if (errorView != null)
// {
// UIHelper.runUISync(new Runnable() {
//
// public void run()
// {
// TLCErrorView.updateErrorView(provider);
// }
// });
// }
// }
// // TLCUIActivator.getDefault().logDebug("Focusing " + getConfig().getName() +
// // " editor");
final IFormPage page = getActivePageInstance();
if (page != null) {
page.setFocus();
}
}
/**
* For some reason, the superclass comments out the setPageImage(...) code.
*
* {@inheritDoc}
*/
@Override
protected void configurePage(final int index, final IFormPage page)
throws PartInitException {
setPageImage(index, page.getTitleImage());
super.configurePage(index, page);
}
private void moveToTopOfDistributedOptionsStack(final String id, final boolean enableWorker,
final boolean enableMaxHeap) {
workerValueCanBeModified.set(enableWorker);
heapPercentageCanBeModified.set(enableMaxHeap);
final IFormPage iep = getEditor().findPage(AdvancedTLCOptionsPage.ID);
if (iep != null) {
((AdvancedTLCOptionsPage) iep).setWorkerAndMemoryEnable(enableWorker, enableMaxHeap);
}
moveCompositeWithIdToTopOfStack(id, distributedOptions);
distributedOptions.getParent().getParent().layout();
}
protected void preview( String format, boolean allowPage )
{
if ( !prePreview( ) )
{
return;
}
FormEditor editor = UIUtil.getActiveReportEditor( false );
ModuleHandle model = null;
if ( editor instanceof MultiPageReportEditor )
{
model = ( (MultiPageReportEditor) editor ).getModel( );
}
if ( !UIUtil.canPreviewWithErrors( model ) )
return;
if ( editor != null )
{
IFormPage activePageInstance=editor.getActivePageInstance();
if ( model.needsSave( ) ||(activePageInstance!=null && activePageInstance.isDirty()))//Do save when current active page is dirty.
{
editor.doSave( null );
}
}
Map<String, Object> options = new HashMap<String, Object>( );
options.put( WebViewer.FORMAT_KEY, format );
options.put( WebViewer.ALLOW_PAGE_KEY, Boolean.valueOf( allowPage ) );
options.put( WebViewer.RESOURCE_FOLDER_KEY, ReportPlugin.getDefault( )
.getResourceFolder( ) );
if (hasParameters(model)) {
options.put(WebViewer.SHOW_PARAMETER_PAGE_KEY, "true");
}
WebViewer.display( model.getFileName( ), options );
}
/**
* Remove report editor page.
*
* @param id
* the page id.
*/
public void removePage( String id )
{
IFormPage page = findPage( id );
if ( page != null )
{
removePage( page.getIndex( ) );
}
}
/**
* Remove all report editor page.
*/
public void removeAllPages( )
{
for ( int i = pages.toArray( ).length - 1; i >= 0; i-- )
{
if ( pages.get( i ) != null )
this.removePage( ( (IFormPage) pages.get( i ) ).getId( ) );
}
}
private void updateAttributeView( IFormPage activePageInstance )
{
if ( attributePage == null )
{
return;
}
Object adapter = activePageInstance.getAdapter( IAttributeViewPage.class );
attributePage.setActivePage( (IPageBookViewPage) adapter );
}
private void updateDateView( IFormPage activePageInstance )
{
if ( dataPage == null )
{
return;
}
Object adapter = activePageInstance.getAdapter( IDataViewPage.class );
if ( adapter instanceof DataViewTreeViewerPage )
{
( (DataViewTreeViewerPage) adapter ).setBackupState( dataBackup );
}
dataPage.setActivePage( (IPageBookViewPage) adapter );
}
private void updatePaletteView( IFormPage activePageInstance )
{
if ( fPalettePage == null )
{
return;
}
Object palette = activePageInstance.getAdapter( PalettePage.class );
fPalettePage.setActivePage( (IPageBookViewPage) palette );
}
public void pageChange( String id )
{
IFormPage page = findPage( id );
if ( page != null )
{
pageChange( page.getIndex( ) );
}
}
private void markPageStale( )
{
// int currentIndex = getCurrentPage( );
IFormPage currentPage = getActivePageInstance( );
if ( !( currentPage instanceof IReportEditorPage ) )
{
return;
}
// if ( currentIndex != -1 )
// {
// for ( int i = 0; i < pages.size( ); i++ )
// {
// if ( i == currentIndex )
// {
// continue;
// }
// Object page = pages.get( i );
// if ( page instanceof IReportEditorPage )
// {
// ( (IReportEditorPage) page ).markPageStale( ( (IReportEditorPage)
// currentPage ).getStaleType( ) );
// }
// }
// }
}
/**
* Returns current page instance if the currently selected page index is not
* -1, or <code>null</code> if it is.
*
* @return active page instance if selected, or <code>null</code> if no page
* is currently active.
*/
public IFormPage getCurrentPageInstance( )
{
int index = getCurrentPage( );
if ( index != -1 )
{
Object page = pages.get( index );
if ( page instanceof IFormPage )
return (IFormPage) page;
}
return null;
}
public void selectionChanged( SelectionChangedEvent event )
{
setSelection( event.getSelection( ) );
StructuredSelection selection = (StructuredSelection) event.getSelection( );
Object obj = selection.getFirstElement( );
if ( obj instanceof IFormPage )
{
Object palette = ( (IFormPage) obj ).getAdapter( PalettePage.class );
setActivePage( (IPageBookViewPage) palette );
}
}
protected boolean activatePage( String pageId )
{
if ( pageId.equals( editorPart.getActivePageInstance( ).getId( ) ) )
{
return true;
}
IFormPage formPage = editorPart.setActivePage( pageId );
if ( formPage != null )
{
return true;
}
return false;
}
@Override
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
// Get the GeometryComponent and create the GeometryPage.
if (!(components.isEmpty())) {
GeometryComponent geometryComponent = (GeometryComponent) (components
.get(0));
if (geometryComponent != null) {
// Make the GeometryPage
DemoGeometryPage geometryPage = new DemoGeometryPage(formEditor,
"GPid", geometryComponent.getName());
// No need to set the geometry component for the demo, but
// something like would be necessary in a real application.
// geometryPage.setGeometry(geometryComponent);
// Add the page
pages.add(geometryPage);
}
}
return pages;
}
@Override
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
ArrayList<ICEFormPage> masterDetailsPages = new ArrayList<ICEFormPage>();
MasterDetailsComponent masterDetailsComponent = null;
// Get the MasterDetailsComponent and create the MasterDetails page.
if (!components.isEmpty()) {
masterDetailsComponent = (MasterDetailsComponent) (components
.get(0));
if (masterDetailsComponent != null) {
// Get the name
String name = masterDetailsComponent.getName();
// Make the page
ICEMasterDetailsPage iCEMasterDetailsPage = new ICEMasterDetailsPage(
formEditor, "MDPid", name);
// Set the MasterDetailsComponent
iCEMasterDetailsPage
.setMasterDetailsComponent(masterDetailsComponent);
masterDetailsPages.add(iCEMasterDetailsPage);
}
}
pages.addAll(masterDetailsPages);
return pages;
}
@Override
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
// Local Declarations
ResourceComponent resourceComponent = null;
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
ICEResourcePage resourceComponentPage = null;
// Get the ResourceComponent and create the ICEOutput page. There
// should
// only be one output page.
if (!(components.isEmpty())) {
resourceComponent = (ResourceComponent) (components.get(0));
if (resourceComponent != null) {
// Make the page
resourceComponentPage = new ICEResourcePage(formEditor,
resourceComponent.getName(),
resourceComponent.getName());
// Set the ResourceComponent
resourceComponentPage.setResourceComponent(resourceComponent);
}
}
// Add and return the page
pages.add(resourceComponentPage);
return pages;
}
@Override
public ArrayList<IFormPage> getPages(FormEditor formEditor,
ArrayList<Component> components) {
ArrayList<IFormPage> pages = new ArrayList<IFormPage>();
pages.add(new ErrorMessageFormPage(formEditor, "Error Page",
"Error Page"));
return pages;
}