From c6b7704cdfbb3b109e0df218923f82e2c087e8ac Mon Sep 17 00:00:00 2001 From: Ignacio Diaz Teijido Date: Mon, 14 Nov 2011 19:18:23 +0100 Subject: [PATCH] [Bug #1239] Updates text of tooltips when changing name or progress FEA: ItEr75S04BugFixing --- .../src/main/java/org/zkoss/ganttz/GanttPanel.java | 8 ++++++++ ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java | 11 +++++++---- .../main/java/org/zkoss/ganttz/LeftTasksTree.java | 11 +++++++---- .../main/java/org/zkoss/ganttz/LeftTasksTreeRow.java | 12 ++++++++---- ganttzk/src/main/java/org/zkoss/ganttz/Planner.java | 12 +++++++++--- .../business/planner/entities/TaskElement.java | 3 ++- .../AdvanceAssignmentPlanningController.java | 1 + 7 files changed, 42 insertions(+), 16 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java b/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java index e2e8a2abc..c184e4f99 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java @@ -26,6 +26,7 @@ import java.util.List; import org.joda.time.LocalDate; import org.zkoss.ganttz.adapters.IDisabilityConfiguration; import org.zkoss.ganttz.data.GanttDiagramGraph; +import org.zkoss.ganttz.data.Task; import org.zkoss.ganttz.timetracker.TimeTracker; import org.zkoss.ganttz.timetracker.TimeTrackerComponent; import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener; @@ -136,6 +137,13 @@ public class GanttPanel extends XulElement implements AfterCompose { registerZoomLevelChangedListener(); } + public void updateTooltips() { + for (Task task : this.tasksLists.getAllTasks()) { + task.updateTooltipText(); + } + invalidate(); + } + public TimeTrackerComponent getTimeTrackerComponent() { return timeTrackerComponent; } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java b/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java index 9c83ebb32..e2ed9375a 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java @@ -45,6 +45,8 @@ public class LeftPane extends HtmlMacroComponent { private FilterAndParentExpandedPredicates predicate; + private Planner planner; + public void setGoingDownInLastArrowCommand( CommandContextualized goingDownInLastArrowCommand) { this.leftTasksTree @@ -52,18 +54,19 @@ public class LeftPane extends HtmlMacroComponent { } public LeftPane(IDisabilityConfiguration disabilityConfiguration, - List topLevelTasks, + Planner planner, FilterAndParentExpandedPredicates predicate) { - this.topLevelTasks = topLevelTasks; + this.topLevelTasks = planner.getDiagramGraph().getTopLevelTasks(); this.disabilityConfiguration = disabilityConfiguration; this.predicate = predicate; + this.planner = planner; } @Override public void afterCompose() { super.afterCompose(); - leftTasksTree = new LeftTasksTree(disabilityConfiguration, - topLevelTasks, predicate); + leftTasksTree = new LeftTasksTree(disabilityConfiguration, planner, + predicate); getContainer().appendChild(leftTasksTree); leftTasksTree.afterCompose(); } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java b/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java index 0ba6de56f..f99a07267 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTree.java @@ -79,8 +79,8 @@ public class LeftTasksTree extends HtmlMacroComponent { task); String cssClass = "depth_" + path.length; LeftTasksTreeRow leftTasksTreeRow = LeftTasksTreeRow.create( - disabilityConfiguration, task, - new TreeNavigator(tasksTreeModel, task)); + disabilityConfiguration, task, new TreeNavigator( + tasksTreeModel, task), planner); if (task.isContainer()) { expandWhenOpened((TaskContainer) task, item); } @@ -330,12 +330,15 @@ public class LeftTasksTree extends HtmlMacroComponent { private final List visibleTasks = new ArrayList(); + private Planner planner; + public LeftTasksTree(IDisabilityConfiguration disabilityConfiguration, - List tasks, + Planner planner, FilterAndParentExpandedPredicates predicate) { this.disabilityConfiguration = disabilityConfiguration; - this.tasks = tasks; + this.tasks = planner.getTaskList().getAllTasks(); this.predicate = predicate; + this.planner = planner; } private void fillModel(Collection tasks, boolean firstTime) { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTreeRow.java b/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTreeRow.java index 09d438384..b7819656d 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTreeRow.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/LeftTasksTreeRow.java @@ -77,25 +77,28 @@ public class LeftTasksTreeRow extends GenericForwardComposer { private DateFormat dateFormat; + private Planner planner; + private final ILeftTasksTreeNavigator leftTasksTreeNavigator; private final IDisabilityConfiguration disabilityConfiguration; public static LeftTasksTreeRow create( IDisabilityConfiguration disabilityConfiguration, Task bean, - ILeftTasksTreeNavigator taskDetailnavigator) { + ILeftTasksTreeNavigator taskDetailnavigator, Planner planner) { return new LeftTasksTreeRow(disabilityConfiguration, bean, - taskDetailnavigator); + taskDetailnavigator, planner); } private LeftTasksTreeRow(IDisabilityConfiguration disabilityConfiguration, - Task task, - ILeftTasksTreeNavigator leftTasksTreeNavigator) { + Task task, ILeftTasksTreeNavigator leftTasksTreeNavigator, + Planner planner) { this.disabilityConfiguration = disabilityConfiguration; this.task = task; this.dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, Locales .getCurrent()); this.leftTasksTreeNavigator = leftTasksTreeNavigator; + this.planner = planner; } public Task getTask() { @@ -391,6 +394,7 @@ public class LeftTasksTreeRow extends GenericForwardComposer { Date newEnd = getEndDateBox().getValue(); task.resizeTo(LocalDate.fromDateFields(newEnd)); } + planner.updateTooltips(); } private void updateComponents() { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java index d18a72c2e..c038589b1 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -71,7 +71,6 @@ import org.zkoss.zul.Button; import org.zkoss.zul.ListModel; import org.zkoss.zul.Listbox; import org.zkoss.zul.Listitem; -import org.zkoss.zul.Separator; import org.zkoss.zul.SimpleListModel; import org.zkoss.zul.South; @@ -468,8 +467,7 @@ public class Planner extends HtmlMacroComponent { return true; } }; - this.leftPane = new LeftPane(disabilityConfiguration, this.diagramGraph - .getTopLevelTasks(), predicate); + this.leftPane = new LeftPane(disabilityConfiguration, this, predicate); this.ganttPanel = new GanttPanel(this, commandsOnTasksContextualized, doubleClickCommand, disabilityConfiguration, predicate); @@ -478,6 +476,14 @@ public class Planner extends HtmlMacroComponent { button.setDisabled(!context.isPrintEnabled()); } + public GanttZKDiagramGraph getDiagramGraph() { + return this.diagramGraph; + } + + public void updateTooltips() { + this.ganttPanel.updateTooltips(); + } + @SuppressWarnings("unchecked") private void insertGlobalCommands() { Component commontoolbar = getCommonCommandsInsertionPoint(); diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java index 440da27e7..cc330725a 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskElement.java @@ -639,7 +639,8 @@ public abstract class TaskElement extends BaseEntity { * depending on parameter */ public BigDecimal getAdvancePercentage(ProgressType progressType) { - if (progressType.equals(ProgressType.SPREAD_PROGRESS)) { + if (progressType != null + && progressType.equals(ProgressType.SPREAD_PROGRESS)) { return advancePercentage; } return BigDecimal.ZERO; diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/advances/AdvanceAssignmentPlanningController.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/advances/AdvanceAssignmentPlanningController.java index 3ae28ea5b..0c3dc8e32 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/advances/AdvanceAssignmentPlanningController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/advances/AdvanceAssignmentPlanningController.java @@ -151,6 +151,7 @@ public class AdvanceAssignmentPlanningController extends GenericForwardComposer private void updateTaskComponent(TaskComponent taskComponent) { taskComponent.updateCompletionIfPossible(); taskComponent.updateTooltipText(); + taskComponent.invalidate(); } private void close() {