コード例 #1
0
 public boolean performFinish() {
   try {
     String perspId = selection.getAttribute("perspectiveId"); // $NON-NLS-1$
     IWorkbenchPage page = PDEPlugin.getActivePage();
     if (perspId != null && switchPerspective) {
       PlatformUI.getWorkbench().showPerspective(perspId, page.getWorkbenchWindow());
     }
     SampleOperation op =
         new SampleOperation(selection, namesPage.getProjectNames(), new ImportOverwriteQuery());
     getContainer().run(true, true, op);
     IFile sampleManifest = op.getSampleManifest();
     if (selectRevealEnabled) {
       selectReveal(getShell());
     }
     if (activitiesEnabled) enableActivities();
     if (sampleEditorNeeded && sampleManifest != null) IDE.openEditor(page, sampleManifest, true);
   } catch (InvocationTargetException e) {
     PDEPlugin.logException(e);
     return false;
   } catch (InterruptedException e) {
     // PDEPlugin.logException(e);
     return false;
   } catch (CoreException e) {
     PDEPlugin.logException(e);
     return false;
   } catch (OperationCanceledException e) {
     return false;
   }
   return true;
 }
コード例 #2
0
  /* (non-Javadoc)
   * @see PerspectiveMenu#run(IPerspectiveDescriptor)
   */
  protected void run(IPerspectiveDescriptor desc) {
    //        IPreferenceStore store = PrefUtil.getInternalPreferenceStore();
    //        int mode = store.getInt(IPreferenceConstants.OPEN_PERSP_MODE);
    int mode = IPreferenceConstants.OPM_ACTIVE_PAGE;
    IWorkbenchPage page = getWindow().getActivePage();
    IPerspectiveDescriptor persp = null;
    if (page != null) {
      persp = page.getPerspective();
    }

    // Only open a new window if user preference is set and the window
    // has an active perspective.
    if (IPreferenceConstants.OPM_NEW_WINDOW == mode && persp != null) {
      try {
        IWorkbench workbench = getWindow().getWorkbench();
        IAdaptable input = ((Workbench) workbench).getDefaultPageInput();
        workbench.openWorkbenchWindow(desc.getId(), input);
      } catch (WorkbenchException e) {
        handleWorkbenchException(e);
      }
    } else {
      if (page != null) {
        page.setPerspective(desc);
      } else {
        try {
          IWorkbench workbench = getWindow().getWorkbench();
          IAdaptable input = ((Workbench) workbench).getDefaultPageInput();
          getWindow().openPage(desc.getId(), input);
        } catch (WorkbenchException e) {
          handleWorkbenchException(e);
        }
      }
    }
  }
コード例 #3
0
 /*
  * @see AbstractPartSelectionTracker#getSelection()
  */
 public ISelection getSelection() {
   IWorkbenchPage page = getWindow().getActivePage();
   if (page != null) {
     return page.getSelection(getPartId());
   }
   return null;
 }
コード例 #4
0
ファイル: LejosPlugin.java プロジェクト: jpbonn/lejos_rcx
  private IEditorInput getEditorInput() throws IOException {
    IWorkbench wb = PlatformUI.getWorkbench();
    IWorkbenchWindow[] wws = wb.getWorkbenchWindows();
    if (wws.length != 1) throw new IOException("Failed to find workbench window");
    IWorkbenchWindow ww = wws[0];

    IWorkbenchPage[] wps = ww.getPages();
    if (wws.length != 1) throw new IOException("Failed to find workbench page");
    IWorkbenchPage wp = wps[0];

    IEditorPart ep = wp.getActiveEditor();
    if (ep == null) throw new IOException("Failed to find active editor");
    return ep.getEditorInput();
  }
コード例 #5
0
ファイル: UIUtils.java プロジェクト: ralic/dbeaver
 public static void updateMainWindowTitle(IWorkbenchWindow window) {
   IProject activeProject = DBeaverCore.getInstance().getProjectRegistry().getActiveProject();
   IProduct product = Platform.getProduct();
   String title = product == null ? "Unknown" : product.getName(); // $NON-NLS-1$
   if (activeProject != null) {
     title += " - " + activeProject.getName(); // $NON-NLS-1$
   }
   IWorkbenchPage activePage = window.getActivePage();
   if (activePage != null) {
     IEditorPart activeEditor = activePage.getActiveEditor();
     if (activeEditor != null) {
       title += " - [ " + activeEditor.getTitle() + " ]";
     }
   }
   window.getShell().setText(title);
 }
コード例 #6
0
ファイル: UIUtils.java プロジェクト: ralic/dbeaver
 @Nullable
 public static IWorkbenchPartSite getWorkbenchPartSite(IServiceLocator serviceLocator) {
   IWorkbenchPartSite partSite = serviceLocator.getService(IWorkbenchPartSite.class);
   if (partSite == null) {
     IWorkbenchPart activePart = serviceLocator.getService(IWorkbenchPart.class);
     if (activePart == null) {
       IWorkbenchWindow workbenchWindow = DBeaverUI.getActiveWorkbenchWindow();
       if (workbenchWindow != null) {
         IWorkbenchPage activePage = workbenchWindow.getActivePage();
         if (activePage != null) {
           activePart = activePage.getActivePart();
         }
       }
     }
     if (activePart != null) {
       partSite = activePart.getSite();
     }
   }
   return partSite;
 }
コード例 #7
0
 protected void update() {
   IWorkbenchPage page = fSourcePage.getSite().getWorkbenchWindow().getActivePage();
   if (page != null) {
     IPerspectiveDescriptor perspective = page.getPerspective();
     if (perspective != null) {
       String perspectiveId = perspective.getId();
       if (fCurrentPerspective == null || fCurrentPerspective != perspectiveId) {
         fCurrentPerspective = perspectiveId;
         switch (fImpType) {
           case F_MANIFEST_IMP:
             fImplementation = new ManifestTextHover(fSourcePage);
             break;
           case F_XML_IMP:
             fImplementation = new PluginXMLTextHover(fSourcePage);
             break;
         }
       }
     }
   }
 }
コード例 #8
0
 private void openInCompare(ITypedElement ancestor, ITypedElement left, ITypedElement right) {
   IWorkbenchPage workBenchPage = getTargetPage();
   CompareEditorInput input =
       new SaveablesCompareEditorInput(ancestor, left, right, workBenchPage);
   IEditorPart editor =
       Utils.findReusableCompareEditor(
           input, workBenchPage, new Class[] {CompareFileRevisionEditorInput.class});
   if (editor != null) {
     IEditorInput otherInput = editor.getEditorInput();
     if (otherInput.equals(input)) {
       // simply provide focus to editor
       workBenchPage.activate(editor);
     } else {
       // if editor is currently not open on that input either re-use
       // existing
       CompareUI.reuseCompareEditor(input, (IReusableEditor) editor);
       workBenchPage.activate(editor);
     }
   } else {
     CompareUI.openCompareEditor(input);
   }
 }
コード例 #9
0
 /**
  * Log an event fired from the workbench page
  *
  * @param page
  * @param eventId
  */
 public static final void logPartListener2Event(
     IWorkbenchPage page, IWorkbenchPartReference part, String eventId) {
   if (isEnabled(PAGE_PARTLISTENER2_EVENTS)) {
     System.out.println(
         PAGE_PARTLISTENER2_EVENTS
             + " page " //$NON-NLS-1$
             + Util.safeString(page.getLabel())
             + ", "
             + eventId
             + "("
             + getPartId(part)
             + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   }
 }
コード例 #10
0
 /**
  * Log an event fired from the workbench page
  *
  * @param page
  * @param eventId
  */
 public static final void logPagePropertyChanged(
     IWorkbenchPage page, String changeId, Object oldValue, Object newValue) {
   if (isEnabled(PAGE_PROPERTY_EVENTS)) {
     System.out.println(
         PAGE_PROPERTY_EVENTS
             + " page " //$NON-NLS-1$
             + Util.safeString(page.getLabel())
             + ", "
             + changeId
             + " = "
             + Util.safeString(newValue.toString())
             + "( old value = "
             + newValue.toString()
             + " )"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
   }
 }
コード例 #11
0
 private static String getPageId(IWorkbenchPage page) {
   return "page " + Util.safeString(Integer.toString(page.hashCode() % 1000)); // $NON-NLS-1$
 }
コード例 #12
0
 /*
  * @see IPageListener#pageOpened(IWorkbenchPage)
  */
 public void pageOpened(IWorkbenchPage page) {
   page.addSelectionListener(getPartId(), selListener);
   page.addPostSelectionListener(getPartId(), postSelListener);
 }
コード例 #13
0
 /*
  * @see IPageListener#pageClosed(IWorkbenchPage)
  */
 public void pageClosed(IWorkbenchPage page) {
   page.removeSelectionListener(getPartId(), selListener);
   page.removePostSelectionListener(getPartId(), postSelListener);
 }