Example #1
0
 @Nullable
 public static ISelectionProvider getSelectionProvider(IServiceLocator serviceLocator) {
   ISelectionProvider selectionProvider = serviceLocator.getService(ISelectionProvider.class);
   if (selectionProvider != null) {
     return selectionProvider;
   }
   IWorkbenchPartSite partSite = getWorkbenchPartSite(serviceLocator);
   if (partSite == null) {
     IWorkbenchPart activePart = serviceLocator.getService(IWorkbenchPart.class);
     if (activePart == null) {
       IWorkbenchWindow activeWindow = DBeaverUI.getActiveWorkbenchWindow();
       if (activeWindow != null) {
         activePart = activeWindow.getActivePage().getActivePart();
       }
     }
     if (activePart != null) {
       partSite = activePart.getSite();
     }
   }
   if (partSite != null) {
     return partSite.getSelectionProvider();
   } else {
     return null;
   }
 }
 /**
  * Constructs a new selection tracker for the given window and part id.
  *
  * @param window workbench window
  * @param partId part identifier
  */
 public WindowPartSelectionTracker(IWorkbenchWindow window, String partId) {
   super(partId);
   setWindow(window);
   window.addPageListener(this);
   IWorkbenchPage[] pages = window.getPages();
   for (int i = 0; i < pages.length; i++) {
     pageOpened(pages[i]);
   }
 }
Example #3
0
  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();
  }
Example #4
0
 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);
 }
  private void openSchemaFile(final IFile file) {
    final IWorkbenchWindow ww = PDEPlugin.getActiveWorkbenchWindow();

    Display d = ww.getShell().getDisplay();
    d.asyncExec(
        new Runnable() {
          @Override
          public void run() {
            try {
              String editorId = IPDEUIConstants.SCHEMA_EDITOR_ID;
              ww.getActivePage().openEditor(new FileEditorInput(file), editorId);
            } catch (PartInitException e) {
              PDEPlugin.logException(e);
            }
          }
        });
  }
Example #6
0
 @Nullable
 public static IViewPart findView(IWorkbenchWindow workbenchWindow, String viewId) {
   IViewReference[] references = workbenchWindow.getActivePage().getViewReferences();
   for (IViewReference ref : references) {
     if (ref.getId().equals(viewId)) {
       return ref.getView(false);
     }
   }
   return null;
 }
Example #7
0
 @Nullable
 public static <T> T findView(IWorkbenchWindow workbenchWindow, Class<T> viewClass) {
   IViewReference[] references = workbenchWindow.getActivePage().getViewReferences();
   for (IViewReference ref : references) {
     IViewPart view = ref.getView(false);
     if (view != null && viewClass.isAssignableFrom(view.getClass())) {
       return viewClass.cast(view);
     }
   }
   return null;
 }
Example #8
0
 @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;
 }
Example #9
0
  protected void runSootAsProcess(String cmd) {

    SootProcessRunner op;
    try {
      newProcessStarting();
      op = new SootProcessRunner(Display.getCurrent(), cmd, sootClasspath);

      if (window == null) {
        window = SootPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
      }
      new ProgressMonitorDialog(window.getShell()).run(true, true, op);

    } catch (InvocationTargetException e1) {
      // handle exception
    } catch (InterruptedException e2) {
      // handle cancelation
      System.out.println(e2.getMessage());
    }
  }
 private static String getWindowId(IWorkbenchWindow source) {
   return "window " + Util.safeString(Integer.toString(source.hashCode() % 1000)); // $NON-NLS-1$
 }