Package com.onpositive.mapper.views

Source Code of com.onpositive.mapper.views.LayerView

package com.onpositive.mapper.views;


import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.operations.RedoActionHandler;
import org.eclipse.ui.operations.UndoActionHandler;
import org.eclipse.ui.part.*;
import org.eclipse.ui.*;
import org.eclipse.swt.SWT;

import com.onpositive.mapper.editors.MapEditor;


/**
* This sample class demonstrates how to plug-in a new
* workbench view. The view shows data obtained from the
* model. The sample creates a dummy model on the fly,
* but a real implementation would connect to the model
* available either in this or another plug-in (e.g. the workspace).
* The view is connected to the model using a content provider.
* <p>
* The view uses a label provider to define how model
* objects should be presented in the view. Each
* view can present the same model objects using
* different labels and icons, if needed. Alternatively,
* a single label provider can be shared between views
* in order to ensure that objects of the same type are
* presented in the same way everywhere.
* <p>
*/

public class LayerView extends PageBookView {

  /**
   * The ID of the view as specified by the extension.
   */
  public static final String ID = "com.onpositive.mapper.views.LayerView";
 


  /**
   * The constructor.
   */
  public LayerView() {
  }

  @Override
  protected IPage createDefaultPage(PageBook book) {
    Page page = new Page() {
     
      private Composite composite;

      @Override
      public void setFocus() {
        // TODO Auto-generated method stub
       
      }
     
      @Override
      public Control getControl() {
        return composite;
      }
     
      @Override
      public void createControl(Composite parent) {
        composite = new Composite(parent,SWT.NONE);       
      }
    };
    initPage(page);
    page.createControl(getPageBook());
    return page;
  }
 
  @Override
  protected boolean isImportant(IWorkbenchPart part) {
    if (part instanceof MapEditor)
      return true;
    return false;
  }

  protected IEditorPart getActiveEditor() {
    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    if (window == null)
      return null;
    IWorkbenchPage activePage = window.getActivePage();
    if (activePage == null)
      return null;
    IEditorPart activeEditor = activePage.getActiveEditor();
    return activeEditor;
  }

  @Override
  protected PageRec doCreatePage(IWorkbenchPart part) {
    if (!(part instanceof MapEditor))
      return null;
    LayerViewPage layerPage = new LayerViewPage(((MapEditor) part));
    initPage(layerPage);
    layerPage.createControl(getPageBook());
    return new PageRec(part,layerPage);
  }
 
  @Override
  protected void showPageRec(PageRec pageRec) {
    super.showPageRec(pageRec);
    if (pageRec.page instanceof LayerViewPage) {
      MapEditor mapEditor = ((LayerViewPage) pageRec.page).getMapEditor();
      UndoActionHandler undoAction = new UndoActionHandler(getSite(), mapEditor.getUndoContext());
      undoAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_UNDO);
      RedoActionHandler redoAction = new RedoActionHandler(getSite(), mapEditor.getUndoContext());
      redoAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_REDO);
      IActionBars actionBars = ((IViewSite) getSite()).getActionBars();
        actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), undoAction);
        actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), redoAction);
        // Update action bars.
        getViewSite().getActionBars().updateActionBars();
    }
  }

  @Override
  protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {
    // TODO Auto-generated method stub
   
  }

   /* (non-Javadoc)
     * Method declared on PageBookView.
     */
    protected IWorkbenchPart getBootstrapPart() {
        IWorkbenchPage page = getSite().getPage();
        if (page != null) {
      return page.getActiveEditor();
    }

        return null;
    }
 
  @Override
  public void partBroughtToTop(IWorkbenchPart part) {
    partActivated(part);
  }

}
TOP

Related Classes of com.onpositive.mapper.views.LayerView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.