- statusLineManager.setMessage(message);
- }
-
- });
-
- }
-
- /**
- * <p>
- * getMonitor
- * </p>
- *
- * @return a {@link org.eclipse.core.runtime.IProgressMonitor} object.
- */
- public static IProgressMonitor getMonitor() {
- statusLineManager.setCancelEnabled(false);
- return statusLineManager.getProgressMonitor();
- }
-
- /**
- * Starts either the given {@link IProgressMonitor} if it's not
- * <code>null</code> or a new {@link NullProgressMonitor}.
- *
- * @param progressMonitor
- * The {@link IProgressMonitor} or <code>null</code> if no
- * progress should be reported.
- * @param taskName
- * The name of the main task.
- * @param steps
- * The number of steps this task is subdivided into.
- * @return The {@link IProgressMonitor}.
- */
- public static IProgressMonitor startMainMonitor(
- IProgressMonitor progressMonitor, String taskName, int steps) {
- IProgressMonitor newMonitor = progressMonitor;
- if (newMonitor == null) {
- newMonitor = new NullProgressMonitor();
- }
- newMonitor.beginTask(taskName == null ? "" : taskName, steps);
- newMonitor.subTask(" ");
- return newMonitor;
- }
-
- /**
- * Creates a {@link SubProgressMonitor} if the given
- * {@link IProgressMonitor} is not <code>null</code> and not a
- * {@link NullProgressMonitor}.
- *
- * @param progressMonitor
- * The parent {@link IProgressMonitor} of the
- * {@link SubProgressMonitor} to be created.
- * @param ticks
- * The number of steps this subtask is subdivided into. Must be a
- * positive number and must not be
- * {@link IProgressMonitor#UNKNOWN}.
- * @return The {@link IProgressMonitor}.
- */
- public static IProgressMonitor getSubProgressMonitor(
- IProgressMonitor progressMonitor, int ticks) {
- if (progressMonitor == null) {
- return new NullProgressMonitor();
- }
- if (progressMonitor instanceof NullProgressMonitor) {
- return progressMonitor;
- }
-
- return new SubProgressMonitor(progressMonitor, ticks);
- }
-
- /**
- * Checks whether the user canceled this operation. If not canceled, the
- * given number of steps are declared as done.
- *
- * @param newMonitor
- * a {@link org.eclipse.core.runtime.IProgressMonitor} object.
- * @param steps
- * a int.
- */
- public static void workedChecked(IProgressMonitor newMonitor, int steps) {
- // In case the progress monitor was canceled throw an exception.
- if (newMonitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- // Otherwise declare this step as done.
- newMonitor.worked(steps);
- }
-
- /**
- * Present a progress dialog to the user. This dialog will block the UI
- *
- * @param runnable
- * an implementation of {@link IRunnableWithProgress}
- * @throws java.lang.InterruptedException
- * if any.
- * @throws java.lang.reflect.InvocationTargetException
- * if any.
- */
- public static void busyCursorWhile(IRunnableWithProgress runnable)
- throws InvocationTargetException, InterruptedException {
- getProgressService().busyCursorWhile(runnable);
- }
-
- /**
- * <p>
- * runInUI
- * </p>
- *
- * @see {@link IProgressService#runInUI(org.eclipse.jface.operation.IRunnableContext, IRunnableWithProgress, ISchedulingRule)}
- * @param runnable
- * a {@link org.eclipse.jface.operation.IRunnableWithProgress}
- * object.
- * @param rule
- * a {@link org.eclipse.core.runtime.jobs.ISchedulingRule}
- * object.
- * @throws java.lang.reflect.InvocationTargetException
- * if any.
- * @throws java.lang.InterruptedException
- * if any.
- */
- public static void runInUI(IRunnableWithProgress runnable,
- ISchedulingRule rule) throws InvocationTargetException,
- InterruptedException {
- getProgressService().runInUI(getWorkbenchWindow(), runnable, rule);
- }
-
- /**
- * <p>
- * run
- * </p>
- *
- * @param fork
- * a boolean.
- * @param cancelable
- * a boolean.
- * @param runnable
- * a {@link org.eclipse.jface.operation.IRunnableWithProgress}
- * object.
- * @throws java.lang.reflect.InvocationTargetException
- * if any.
- * @throws java.lang.InterruptedException
- * if any.
- */
- public static void run(boolean fork, boolean cancelable,
- IRunnableWithProgress runnable) throws InvocationTargetException,
- InterruptedException {
- getProgressService().run(fork, cancelable, runnable);
- }
-
- /**
- * <p>
- * getProgressService
- * </p>
- *
- * @return a {@link org.eclipse.ui.progress.IProgressService} object.
- */
- public static IProgressService getProgressService() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- return workbench.getProgressService();
- }
-
- /**
- * <p>
- * getProgressService2
- * </p>
- *
- * @return a {@link org.eclipse.ui.progress.IWorkbenchSiteProgressService}
- * object.
- */
- public static IWorkbenchSiteProgressService getProgressService2() {
- return (IWorkbenchSiteProgressService) getService(IWorkbenchSiteProgressService.class);
- }
-
- /**
- * <p>
- * getPluginId
- * </p>
- *
- * @return a {@link java.lang.String} object.
- */
- public static String getPluginId() {
- return "eu.taxeditor";
- }
-
- /**
- * <p>
- * getActiveEditor
- * </p>
- *
- * @return a {@link org.eclipse.ui.IEditorPart} object.
- */
- public static IEditorPart getActiveEditor() {
- return getActivePage() != null ? getActivePage().getActiveEditor()
- : null;
- }
-
- /**
- * <p>
- * getDetailsView
- * </p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.view.detail.DetailsViewPart}
- * object.
- */
- public static DetailsViewPart getDetailsView() {
- return (DetailsViewPart) getView(DetailsViewPart.ID, false);
- }
-
- /**
- * <p>
- * refreshDetailsViewer
- * </p>
- */
- public static void refreshDetailsViewer() {
- if (getDetailsView() != null) {
- ((AbstractCdmDataViewer) getDetailsView().getViewer()).refresh();
- }
- }
-
- /**
- * <p>
- * reflowDetailsViewer
- * </p>
- */
- public static void reflowDetailsViewer() {
- if (getDetailsView() != null) {
- ((AbstractCdmDataViewer) getDetailsView().getViewer()).reflow();
- }
- }
-
- public static SupplementalDataViewPart getSupplementalDataView() {
- return (SupplementalDataViewPart) getView(SupplementalDataViewPart.ID,
- false);
- }
-
- public static void reflowSupplementalViewer() {
- if (getSupplementalDataView() != null) {
- ((AbstractCdmDataViewer) getSupplementalDataView().getViewer())
- .reflow();
- }
- }
+ statusLineManager.setMessage(message);
+ }
+
+ });
+
+ }
+
+ public static IProgressMonitor getMonitor() {
+ statusLineManager.setCancelEnabled(false);
+ return statusLineManager.getProgressMonitor();
+ }
+
+ /**
+ * Starts either the given {@link IProgressMonitor} if it's not
+ * <code>null</code> or a new {@link NullProgressMonitor}.
+ *
+ * @param progressMonitor
+ * The {@link IProgressMonitor} or <code>null</code> if no
+ * progress should be reported.
+ * @param taskName
+ * The name of the main task.
+ * @param steps
+ * The number of steps this task is subdivided into.
+ * @return The {@link IProgressMonitor}.
+ */
+ public static IProgressMonitor startMainMonitor(
+ IProgressMonitor progressMonitor, String taskName, int steps) {
+ IProgressMonitor newMonitor = progressMonitor;
+ if (newMonitor == null) {
+ newMonitor = new NullProgressMonitor();
+ }
+ newMonitor.beginTask(taskName == null ? "" : taskName, steps);
+ newMonitor.subTask(" ");
+ return newMonitor;
+ }
+
+ /**
+ * Creates a {@link SubProgressMonitor} if the given
+ * {@link IProgressMonitor} is not <code>null</code> and not a
+ * {@link NullProgressMonitor}.
+ *
+ * @param progressMonitor
+ * The parent {@link IProgressMonitor} of the
+ * {@link SubProgressMonitor} to be created.
+ * @param ticks
+ * The number of steps this subtask is subdivided into. Must be a
+ * positive number and must not be
+ * {@link IProgressMonitor#UNKNOWN}.
+ * @return The {@link IProgressMonitor}.
+ */
+ public static IProgressMonitor getSubProgressMonitor(
+ IProgressMonitor progressMonitor, int ticks) {
+ if (progressMonitor == null) {
+ return new NullProgressMonitor();
+ }
+ if (progressMonitor instanceof NullProgressMonitor) {
+ return progressMonitor;
+ }
+
+ return new SubProgressMonitor(progressMonitor, ticks);
+ }
+
+ /**
+ * Checks whether the user canceled this operation. If not canceled, the
+ * given number of steps are declared as done.
+ *
+ * @param newMonitor
+ * a {@link org.eclipse.core.runtime.IProgressMonitor} object.
+ * @param steps
+ * a int.
+ */
+ public static void workedChecked(IProgressMonitor newMonitor, int steps) {
+ // In case the progress monitor was canceled throw an exception.
+ if (newMonitor.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+ // Otherwise declare this step as done.
+ newMonitor.worked(steps);
+ }
+
+ public static String getPluginId() {
+ return "eu.taxeditor";
+ }
+
+ public static Object getActiveEditor() {
+ MPart activePart = EventUtility.getActivePart();
+ if(activePart!=null && activePart.getObject()!=null
+ && activePart.getObject() instanceof IE4SavablePart){
+ return activePart.getObject();
+ }
+ return null;
+ }
+
+ public static DetailsPartE4 getDetailsView(EPartService partService) {
+ MPart part = partService.findPart("eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4");
+ if(part!=null){
+ return (DetailsPartE4) part.getObject();
+ }
+ return null;
+ }
+
+ public static void refreshDetailsViewer(EPartService partService) {
+ if (getDetailsView(partService) != null) {
+ ((AbstractCdmDataViewerE4) getDetailsView(partService).getViewer()).refresh();
+ }
+ }
+
+ public static void reflowDetailsViewer(EPartService partService) {
+ if (getDetailsView(partService) != null) {
+ ((AbstractCdmDataViewerE4) getDetailsView(partService).getViewer()).reflow();
+ }
+ }