Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTod Creasey2003-07-04 16:52:40 +0000
committerTod Creasey2003-07-04 16:52:40 +0000
commit4f2d3c2567cabfd8582db1facb01282487f3451e (patch)
treea7fd1d10656bf0733421b288e22e18c35891e9d8
parentfc06e502214f6612456b61a204361cc36d1bffd5 (diff)
downloadeclipse.platform.ui-4f2d3c2567cabfd8582db1facb01282487f3451e.tar.gz
eclipse.platform.ui-4f2d3c2567cabfd8582db1facb01282487f3451e.tar.xz
eclipse.platform.ui-4f2d3c2567cabfd8582db1facb01282487f3451e.zip
Updated for new job namesRoot_ZTCDecoration
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java12
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties3
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationItem.java8
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java114
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobProgressManager.java2
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java43
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressContentProvider.java109
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressLabelProvider.java2
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java70
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/TaskInfo.java (renamed from bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfoWithProgress.java)29
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/messages.properties4
11 files changed, 268 insertions, 128 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java
index 56c8e69e229..f1f805782c9 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java
@@ -159,7 +159,7 @@ public class DecorationScheduler {
UIJob job = new UIJob(WorkbenchMessages.getString("DecorationScheduler.UpdateJobName")) { //$NON-NLS-1$
public IStatus runInUIThread(IProgressMonitor monitor) {
-
+
if (pendingUpdate.isEmpty())
return Status.OK_STATUS;
synchronized (resultLock) {
@@ -168,15 +168,19 @@ public class DecorationScheduler {
Object[] elements =
pendingUpdate.toArray(
new Object[pendingUpdate.size()]);
+ monitor.beginTask(WorkbenchMessages.getString("DecorationScheduler.UpdatingTask"),elements.length + 20); //$NON-NLS-1$
pendingUpdate.clear();
+ monitor.worked(20);
decoratorManager.fireListeners(
new LabelProviderChangedEvent(
decoratorManager,
elements));
+ monitor.worked(elements.length);
//Other decoration requests may have occured due to
//updates. Only clear the results if there are none pending.
if (awaitingDecoration.isEmpty())
resultCache.clear();
+ monitor.done();
}
return Status.OK_STATUS;
}
@@ -221,12 +225,15 @@ public class DecorationScheduler {
* @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
*/
public IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask(WorkbenchMessages.getString("DecorationScheduler.CalculatingTask"),100); //$NON-NLS-1$
//will block if there are no resources to be decorated
DecorationReference reference;
+ monitor.worked(20);
while ((reference = nextElement()) != null) {
DecorationBuilder cacheResult = new DecorationBuilder();
+ monitor.subTask(WorkbenchMessages.getString("DecorationScheduler.DecoratingSubtask") + reference.toString()); //$NON-NLS-1$
//Don't decorate if there is already a pending result
Object element = reference.getElement();
Object adapted = reference.getAdaptedElement();
@@ -309,7 +316,8 @@ public class DecorationScheduler {
scheduled = false;
decorated();
}
- }
+ }
+ monitor.worked(80);
return Status.OK_STATUS;
};
};
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
index f87c1862365..29457bbd9e0 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
@@ -1490,3 +1490,6 @@ DecorationScheduler.UpdateJobName=Update for Decoration Completion
DecorationScheduler.CalculationJobName=Decoration Calculation
DeferredTreeContentManager.FetchChildrenJob=Fetch Children
DeferredTreeContentManager.AddChildrenJob=Add Children
+DecorationScheduler.UpdatingTask=Updating
+DecorationScheduler.CalculatingTask=Calculating
+DecorationScheduler.DecoratingSubtask=Decorating
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationItem.java
index f10bdcf49f2..b9dacd56430 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationItem.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/AnimationItem.java
@@ -19,13 +19,13 @@ import org.eclipse.core.runtime.*;
import org.eclipse.core.runtime.jobs.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
-import org.eclipse.swt.accessibility.*;
import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlListener;
+import org.eclipse.swt.accessibility.AccessibleControlEvent;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.*;
+import org.eclipse.ui.internal.progress.ProgressMessages;
public class AnimationItem {
@@ -180,9 +180,9 @@ public class AnimationItem {
*/
public void getValue(AccessibleControlEvent arg0) {
if(animated)
- arg0.result = "In progress";
+ arg0.result = ProgressMessages.getString("AnimationItem.InProgressStatus"); //$NON-NLS-1$
else
- arg0.result = "Nothing running";
+ arg0.result = ProgressMessages.getString("AnimationItem.NotRunningStatus"); //$NON-NLS-1$
}
});
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java
index bc5270b5f80..04316a6ce22 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfo.java
@@ -12,106 +12,61 @@ package org.eclipse.ui.internal.progress;
import java.util.ArrayList;
+import org.eclipse.core.runtime.jobs.Job;
+
/**
* JobInfo is the class that keeps track of the tree structure
* for objects that display job status in a tree.
*/
-class JobInfo {
- String name;
+class JobInfo extends JobTreeElement{
ArrayList children = new ArrayList();
- JobInfo parent;
- JobInfo currentChild;
-
- /**
- * Create a new instance of the receiver with the supplied
- * task name as a child of parentObject,
- * @param taskName
- * @param parentObject
- */
- JobInfo(String taskName, JobInfo parentObject) {
- this(taskName);
- parent = parentObject;
- parent.addChild(this);
- }
+ Job job;
+ TaskInfo taskInfo;
/**
* Create a top level JobInfo.
* @param taskName
*/
- JobInfo(String taskName) {
- name = taskName;
- }
-
- /**
- * Return the name of the receiver.
- * @return String
- */
- String getName() {
- return name;
+ JobInfo(Job enclosingJob) {
+ this.job = enclosingJob;
}
- /**
- * Return the displayString for the receiver.
- * @return
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#getDisplayString()
*/
String getDisplayString() {
- return getName();
- }
-
- /**
- * Return whether or not there is a parent for the receiver.
- * @return boolean
- */
- boolean hasParent() {
- return parent != null;
+ return job.getName();
}
- /**
- * Return whether or not the receiver has children.
- * @return boolean
- */
- boolean hasChildren() {
- return children.size() > 0;
- }
-
- /**
- * Return the children of the receiver.
- * @return Object[]
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#getChildren()
*/
Object[] getChildren() {
return children.toArray();
}
-
- /**
- * Return the parent of the receiver.
- * @return JobInfo or <code>null</code>.
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#hasChildren()
*/
- JobInfo getParent() {
- return parent;
+ boolean hasChildren() {
+ return children.size() > 0;
}
/**
- * Add the supplied child to the receiver.
- * @param child
+ * Begin the task called taskName with the supplied work.
+ * @param taskName
+ * @param work
*/
- void addChild(JobInfo child) {
- children.add(child);
- currentChild = child;
+ void beginTask(String taskName, int work) {
+ taskInfo = new TaskInfo(job, taskName, work);
}
/**
- * Add the new job info to the lowest level child you
- * currently have. If there is a currentChild add it to them,
- * if not add it to the receiver.
- * @param JobInfo
- * @return JobInfo the job info this gets added to
+ * Add the subtask to the receiver.
+ * @param subTaskName
*/
- JobInfo addToLeafChild(JobInfo child) {
- if (currentChild == null) {
- addChild(child);
- return this;
- } else
- return currentChild.addToLeafChild(child);
+ void addSubTask(String subTaskName) {
+ children.add(subTaskName);
}
/**
@@ -119,15 +74,22 @@ class JobInfo {
* @param workIncrement
*/
void addWork(double workIncrement) {
- //No work on a simple label- pass it down
- if (currentChild != null)
- currentChild.addWork(workIncrement);
+ if (taskInfo != null)
+ taskInfo.addWork(workIncrement);
}
/**
- * Clear the collection of children.
+ * Clear the collection of subtasks an the task info.
*/
- void clearChildren(){
+ void clear() {
children.clear();
+ this.taskInfo = null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#getParent()
+ */
+ Object getParent() {
+ return null;
}
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobProgressManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobProgressManager.java
index a0d0c12827c..ebe03a5c408 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobProgressManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobProgressManager.java
@@ -105,7 +105,7 @@ public class JobProgressManager implements IProgressProvider {
* @see org.eclipse.core.runtime.IProgressMonitor#subTask(java.lang.String)
*/
public void subTask(String name) {
- Iterator iterator = providers.iterator();
+ Iterator iterator = providers.iterator();
while (iterator.hasNext()) {
ProgressContentProvider provider =
(ProgressContentProvider) iterator.next();
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java
new file mode 100644
index 00000000000..f83abadb25e
--- /dev/null
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobTreeElement.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ui.internal.progress;
+
+/**
+ * The JobTreeElement is the abstract superclass of items
+ * displayed in the tree.
+ */
+abstract class JobTreeElement {
+
+ /**
+ * Return the parent of this object.
+ * @return Object
+ */
+ abstract Object getParent();
+
+ /**
+ * Return whether or not the receiver has children.
+ * @return boolean
+ */
+ abstract boolean hasChildren();
+
+ /**
+ * Return the children of the receiver.
+ * @return Object[]
+ */
+ abstract Object[] getChildren();
+
+ /**
+ * Return the displayString for the receiver.
+ * @return
+ */
+ abstract String getDisplayString();
+
+}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressContentProvider.java
index a8f2ec575bb..4686933a4fc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressContentProvider.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressContentProvider.java
@@ -30,6 +30,16 @@ public class ProgressContentProvider implements ITreeContentProvider {
public ProgressContentProvider(TreeViewer mainViewer) {
listener = new JobChangeAdapter() {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.runtime.jobs.JobChangeAdapter#scheduled(org.eclipse.core.runtime.jobs.IJobChangeEvent)
+ */
+ public void scheduled(IJobChangeEvent event) {
+ jobs.put(event.getJob(),new JobInfo(event.getJob()));
+ refreshViewer(null);
+ }
+
+
/* (non-Javadoc)
* @see org.eclipse.core.runtime.jobs.JobChangeAdapter#done(org.eclipse.core.runtime.jobs.IJobChangeEvent)
*/
@@ -47,21 +57,21 @@ public class ProgressContentProvider implements ITreeContentProvider {
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
*/
public Object[] getChildren(Object parentElement) {
- return ((JobInfo) parentElement).getChildren();
+ return ((JobTreeElement) parentElement).getChildren();
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
*/
public Object getParent(Object element) {
- return ((JobInfo) element).getParent();
+ return ((JobTreeElement) element).getParent();
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
*/
public boolean hasChildren(Object element) {
- return ((JobInfo) element).hasChildren();
+ return ((JobTreeElement) element).hasChildren();
}
/* (non-Javadoc)
@@ -86,21 +96,68 @@ public class ProgressContentProvider implements ITreeContentProvider {
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.IProgressListener#beginTask(org.eclipse.core.runtime.jobs.Job, java.lang.String, int)
+ /**
+ * A task has begun on job so create a new JobInfo for it.
+ * @param job
+ * @param taskName
+ * @param totalWork
*/
- public void beginTask(Job job, String name, int totalWork) {
- if (job == null || job instanceof AnimateJob)
+ public void beginTask(Job job, String taskName, int totalWork) {
+ if (isNonDisplayableJob(job))
return;
- if (totalWork == IProgressMonitor.UNKNOWN)
- jobs.put(job, new JobInfo(name));
- else
- jobs.put(job, new JobInfoWithProgress(name, totalWork));
+ JobInfo info = getJobInfo(job);
+ info.beginTask(taskName, totalWork);
+
refreshViewer(null);
}
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.IProgressListener#subTask(org.eclipse.core.runtime.jobs.Job, java.lang.String)
+ /**
+ * Get the JobInfo for the job. If it does not exist
+ * create it.
+ * @param job
+ * @return
+ */
+ private JobInfo getJobInfo(Job job) {
+ JobInfo info = (JobInfo) jobs.get(job);
+ if (info == null) {
+ info = new JobInfo(job);
+ jobs.put(job, info);
+ }
+ return info;
+ }
+ /**
+ * Return whether or not this job is displayable.
+ * @param job
+ * @return
+ */
+ private boolean isNonDisplayableJob(Job job) {
+ return job == null || job instanceof AnimateJob;
+ }
+ /**
+ * Reset the name of the task to task name.
+ * @param job
+ * @param taskName
+ * @param totalWork
+ */
+ public void setTaskName(Job job, String taskName, int totalWork) {
+ if (isNonDisplayableJob(job))
+ return;
+
+ JobInfo info = getJobInfo(job);
+ if (info.taskInfo == null) {
+ beginTask(job, taskName, totalWork);
+ return;
+ } else
+ info.taskInfo.setTaskName(taskName);
+
+ info.clear();
+ refreshViewer(info);
+ }
+
+ /**
+ * Create a new subtask on jg
+ * @param job
+ * @param name
*/
public void subTask(Job job, String name) {
if (job == null)
@@ -110,26 +167,14 @@ public class ProgressContentProvider implements ITreeContentProvider {
return;
if (name.length() == 0)
return;
- JobInfo info = getInfo(job);
-
- if (info == null)
- return;
+ JobInfo info = getJobInfo(job);
- info.clearChildren();
- info.addChild(new JobInfo(name));
+ info.clear();
+ info.addSubTask(name);
refreshViewer(info);
}
- /**
- * Get the JobInfo currently being collected for job.
- * @param job
- * @return
- */
- private JobInfo getInfo(Job job) {
- return ((JobInfo) jobs.get(job));
- }
-
/* (non-Javadoc)
* @see org.eclipse.core.runtime.jobs.IProgressListener#worked(org.eclipse.core.runtime.jobs.Job, int)
*/
@@ -139,9 +184,11 @@ public class ProgressContentProvider implements ITreeContentProvider {
if (job instanceof AnimateJob)
return;
- JobInfo info = getInfo(job);
- info.addWork(work);
- refreshViewer(info);
+ JobInfo info = getJobInfo(job);
+ if (info.taskInfo != null) {
+ info.addWork(work);
+ refreshViewer(info);
+ }
}
/**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressLabelProvider.java
index d087e7db0eb..49cf2b46d49 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressLabelProvider.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressLabelProvider.java
@@ -32,7 +32,7 @@ public class ProgressLabelProvider extends LabelProvider {
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
*/
public String getText(Object element) {
- return ((JobInfo) element).getDisplayString();
+ return ((JobTreeElement) element).getDisplayString();
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java
new file mode 100644
index 00000000000..50722e0f747
--- /dev/null
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/SubTaskInfo.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ui.internal.progress;
+
+import org.eclipse.core.runtime.jobs.Job;
+
+/**
+ * SubTaskInfo is the class that displays a subtask in the
+ * tree.
+ */
+class SubTaskInfo extends JobTreeElement {
+
+ protected String taskName;
+ Job job;
+
+ /**
+ * Create a new instance of the receiver.
+ * @param parentJob
+ * @param name
+ */
+ SubTaskInfo(Job parentJob, String name) {
+ taskName = name;
+ job = parentJob;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#getChildren()
+ */
+ Object[] getChildren() {
+ return new Object[0];
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#getDisplayString()
+ */
+ String getDisplayString() {
+ return taskName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#hasChildren()
+ */
+ boolean hasChildren() {
+ return false;
+ }
+
+ /**
+ * Set the taskName of the receiver.
+ * @param taskName
+ */
+ void setTaskName(String name) {
+ this.taskName = name;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.internal.progress.JobTreeElement#getParent()
+ */
+ Object getParent() {
+ return job;
+ }
+
+}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfoWithProgress.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/TaskInfo.java
index 4f2fcd4c934..f928b04b138 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/JobInfoWithProgress.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/TaskInfo.java
@@ -10,24 +10,28 @@
*******************************************************************************/
package org.eclipse.ui.internal.progress;
-import org.eclipse.swt.widgets.ProgressBar;
+import org.eclipse.core.runtime.jobs.Job;
/**
- * The JobInfoWithProgress is a JobInfo that also keeps track of progress.
+ * The TaskInfo is the info on a task with a job. It is
+ * assumed that there is only one task running at a time -
+ * any previous tasks in a Job will be deleted.
*/
-public class JobInfoWithProgress extends JobInfo {
+public class TaskInfo extends SubTaskInfo{
double preWork = 0;
int totalWork = 0;
- ProgressBar indicator;
+
+
/**
* Create a new instance of the receiver with the supplied total
- * work.
+ * work and task name.
+ * @param parentJob
* @param taskName
* @param total
*/
- JobInfoWithProgress(String taskName, int total) {
- super(taskName);
+ TaskInfo(Job parentJob, String taskName, int total) {
+ super(parentJob,taskName);
totalWork = total;
}
@@ -40,14 +44,15 @@ public class JobInfoWithProgress extends JobInfo {
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.internal.progress.JobInfo#getDisplayString()
+ /**
+ * Get the display string for the task.
*/
String getDisplayString() {
int done = (int) (preWork * 100 / totalWork);
- String[] messageValues = new String[2];
- messageValues[0] = super.getDisplayString();
- messageValues[1] = String.valueOf(done);
+ String[] messageValues = new String[3];
+ messageValues[0] = job.getName();
+ messageValues[1] = taskName;
+ messageValues[2] = String.valueOf(done);
return ProgressMessages.format("JobInfo.DoneMessage",messageValues); //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/messages.properties
index 268f2ceaf4d..65e413e150b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/messages.properties
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/messages.properties
@@ -1,9 +1,11 @@
AnimatedCanvas.JobInvocationError=Error invoking job
PendingUpdateAdapter.PendingLabel=Pending...
-JobInfo.DoneMessage = {0}: {1}% done
+JobInfo.DoneMessage = {0}: {1}: {2}% done
Error = Error
UIJob.displayNotSet=Display must be set
DeferredTreeContentManager.NotDeferred=Not an IDeferredWorkbenchAdapter
DeferredTreeContentManager.AddingChildren=Adding children
DeferredTreeContentManager.RemovingProgress=Removing placeholder
AnimateJob.JobName=Animation
+AnimationItem.InProgressStatus=In progress
+AnimationItem.NotRunningStatus=Nothing running

Back to the top