From 3b85ac0dd964d5663cd011aba7e19b918f91d9ef Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Tue, 23 Nov 2010 19:14:44 +0100 Subject: [PATCH] Show progress on general task depending on type of progress selected on configuration menu * Added listbox with list of progress types; now it should refresh the progress of each task whenever a new type of progress is selected FEA: ItEr64OTS04ReporteAvancesCadeaCritica --- .../main/java/org/zkoss/ganttz/Planner.java | 4 + .../java/org/zkoss/ganttz/TaskComponent.java | 15 ++- .../main/java/org/zkoss/ganttz/TaskList.java | 7 ++ .../data/DefaultFundamentalProperties.java | 10 ++ .../data/ITaskFundamentalProperties.java | 4 + .../main/java/org/zkoss/ganttz/data/Task.java | 8 ++ .../web/ganttz/zul/plannerLayout.zul | 8 +- .../common/entities/ProgressType.java | 9 ++ .../planner/entities/TaskElement.java | 8 ++ .../business/planner/entities/TaskGroup.java | 38 ++++++++ .../web/planner/TaskElementAdapter.java | 96 ++++++++++++------- .../company/CompanyPlanningController.java | 56 ++++++++++- .../planner/company/CompanyPlanningModel.java | 7 ++ .../company/ICompanyPlanningModel.java | 4 + .../web/planner/order/OrderPlanningModel.java | 16 +++- 15 files changed, 251 insertions(+), 39 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java index 67b07df33..0c8f56662 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -708,4 +708,8 @@ public class Planner extends HtmlMacroComponent { return context.getCriticalPath(); } + public void updateCompletion(String progressType) { + getTaskList().updateCompletion(progressType); + } + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java index 52ff5487a..64f83013e 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/TaskComponent.java @@ -36,8 +36,8 @@ import org.zkoss.ganttz.adapters.IDisabilityConfiguration; import org.zkoss.ganttz.data.GanttDate; import org.zkoss.ganttz.data.Milestone; import org.zkoss.ganttz.data.Task; -import org.zkoss.ganttz.data.TaskContainer; import org.zkoss.ganttz.data.Task.IReloadResourcesTextRequested; +import org.zkoss.ganttz.data.TaskContainer; import org.zkoss.ganttz.data.constraint.Constraint; import org.zkoss.ganttz.data.constraint.Constraint.IConstraintViolationListener; import org.zkoss.lang.Objects; @@ -500,6 +500,15 @@ public class TaskComponent extends Div implements AfterCompose { widthAdvancePercentage)); } + public void updateCompletion(String progressType) { + int startPixels = this.task.getBeginDate().toPixels(getMapper()); + + String widthAdvancePercentage = pixelsFromStartUntil(startPixels, + this.task.getAdvanceEndDate(progressType)) + "px"; + response(null, new AuInvoke(this, "resizeCompletion2Advance", + widthAdvancePercentage)); + } + private int pixelsFromStartUntil(int startPixels, GanttDate until) { int endPixels = until.toPixels(getMapper()); assert endPixels >= startPixels; @@ -510,6 +519,10 @@ public class TaskComponent extends Div implements AfterCompose { smartUpdate("taskTooltipText", task.updateTooltipText()); } + public void updateTooltipText(String progressType) { + smartUpdate("taskTooltipText", task.updateTooltipText(progressType)); + } + private DependencyList getDependencyList() { return getGanntPanel().getDependencyList(); } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java b/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java index 3a4195788..8d012baa0 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java @@ -93,6 +93,13 @@ public class TaskList extends XulElement implements AfterCompose { this.predicate = predicate; } + public void updateCompletion(String progressType) { + for (TaskComponent task: getTaskComponents()) { + task.updateCompletion(progressType); + task.updateTooltipText(progressType); + } + } + public List getAllTasks() { return new ArrayList(currentTotalTasks); } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java index 5660fb763..46d1e438a 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/DefaultFundamentalProperties.java @@ -246,4 +246,14 @@ public class DefaultFundamentalProperties implements ITaskFundamentalProperties return Collections.emptyList(); } + @Override + public GanttDate getAdvanceEndDate(String progressType) { + return null; + } + + @Override + public String updateTooltipText(String progressType) { + return ""; + } + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java index 8711b52d7..6dcbee4ec 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/ITaskFundamentalProperties.java @@ -98,4 +98,8 @@ public interface ITaskFundamentalProperties { public List> getCurrentLengthConstraint(); + public GanttDate getAdvanceEndDate(String progressType); + + String updateTooltipText(String progressType); + } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java index 8b1e537b2..c2f436715 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java @@ -289,6 +289,10 @@ public abstract class Task implements ITaskFundamentalProperties { return fundamentalProperties.getAdvanceEndDate(); } + public GanttDate getAdvanceEndDate(String progressType) { + return fundamentalProperties.getAdvanceEndDate(progressType); + } + public String getTooltipText() { return fundamentalProperties.getTooltipText(); } @@ -297,6 +301,10 @@ public abstract class Task implements ITaskFundamentalProperties { return fundamentalProperties.updateTooltipText(); } + public String updateTooltipText(String progressType) { + return fundamentalProperties.updateTooltipText(progressType); + } + public String getLabelsText() { return fundamentalProperties.getLabelsText(); } diff --git a/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul b/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul index ca473dd9f..4e5a21dd7 100644 --- a/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul +++ b/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul @@ -46,6 +46,12 @@ planner = self; model="${planner.zoomLevels}" onSelect="planner.setZoomLevel(self.selectedItem.value);" > + + + + +