ItEr47S11CUVisualizacionResponsabilidadesTRaballoNaPlanificacionItEr46S12: Taking into account the disability configuration too.

This commit is contained in:
Óscar González Fernández 2010-02-15 01:20:19 +01:00
parent 073350fa4f
commit 010c6f1a0c
4 changed files with 40 additions and 10 deletions

View file

@ -23,6 +23,7 @@ package org.zkoss.ganttz;
import java.util.Collection;
import java.util.List;
import org.zkoss.ganttz.adapters.IDisabilityConfiguration;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
import org.zkoss.zk.ui.Component;
@ -39,20 +40,25 @@ public class LeftPane extends HtmlMacroComponent {
private LeftTasksTree leftTasksTree;
private final IDisabilityConfiguration disabilityConfiguration;
public void setGoingDownInLastArrowCommand(
CommandContextualized<?> goingDownInLastArrowCommand) {
this.leftTasksTree
.setGoingDownInLastArrowCommand(goingDownInLastArrowCommand);
}
public LeftPane(List<Task> topLevelTasks) {
public LeftPane(IDisabilityConfiguration disabilityConfiguration,
List<Task> topLevelTasks) {
this.topLevelTasks = topLevelTasks;
this.disabilityConfiguration = disabilityConfiguration;
}
@Override
public void afterCompose() {
super.afterCompose();
leftTasksTree = new LeftTasksTree(topLevelTasks);
leftTasksTree = new LeftTasksTree(disabilityConfiguration,
topLevelTasks);
getContainer().appendChild(leftTasksTree);
leftTasksTree.afterCompose();
}

View file

@ -34,6 +34,7 @@ import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.zkoss.ganttz.LeftTasksTreeRow.ILeftTasksTreeNavigator;
import org.zkoss.ganttz.adapters.IDisabilityConfiguration;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.data.TaskContainer;
@ -76,7 +77,8 @@ public class LeftTasksTree extends HtmlMacroComponent {
final int[] path = tasksTreeModel.getPath(tasksTreeModel.getRoot(),
task);
String cssClass = "depth_" + path.length;
LeftTasksTreeRow leftTasksTreeRow = LeftTasksTreeRow.create(task,
LeftTasksTreeRow leftTasksTreeRow = LeftTasksTreeRow.create(
disabilityConfiguration, task,
new TreeNavigator(tasksTreeModel, task));
if (task.isContainer()) {
expandWhenOpened((TaskContainer) task, item);
@ -314,7 +316,11 @@ public class LeftTasksTree extends HtmlMacroComponent {
private CommandContextualized<?> goingDownInLastArrowCommand;
public LeftTasksTree(List<Task> tasks) {
private final IDisabilityConfiguration disabilityConfiguration;
public LeftTasksTree(IDisabilityConfiguration disabilityConfiguration,
List<Task> tasks) {
this.disabilityConfiguration = disabilityConfiguration;
this.tasks = tasks;
}

View file

@ -29,6 +29,7 @@ import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.zkoss.ganttz.adapters.IDisabilityConfiguration;
import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.util.ComponentsFinder;
import org.zkoss.util.Locales;
@ -68,13 +69,19 @@ public class LeftTasksTreeRow extends GenericForwardComposer {
private final ILeftTasksTreeNavigator leftTasksTreeNavigator;
public static LeftTasksTreeRow create(Task bean,
private final IDisabilityConfiguration disabilityConfiguration;
public static LeftTasksTreeRow create(
IDisabilityConfiguration disabilityConfiguration, Task bean,
ILeftTasksTreeNavigator taskDetailnavigator) {
return new LeftTasksTreeRow(bean, taskDetailnavigator);
return new LeftTasksTreeRow(disabilityConfiguration, bean,
taskDetailnavigator);
}
private LeftTasksTreeRow(Task task,
private LeftTasksTreeRow(IDisabilityConfiguration disabilityConfiguration,
Task task,
ILeftTasksTreeNavigator leftTasksTreeNavigator) {
this.disabilityConfiguration = disabilityConfiguration;
this.task = task;
this.dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, Locales
.getCurrent());
@ -356,13 +363,23 @@ public class LeftTasksTreeRow extends GenericForwardComposer {
getNameBox().setValue(task.getName());
getNameBox().setTooltiptext(task.getName());
getStartDateBox().setValue(task.getBeginDate());
getStartDateBox().setDisabled(!task.canBeExplicitlyMoved());
getStartDateBox().setDisabled(!canChangeStartDate());
getEndDateBox().setValue(task.getEndDate());
getEndDateBox().setDisabled(!task.canBeExplicitlyResized());
getEndDateBox().setDisabled(!canChangeEndDate());
getStartDateTextBox().setValue(asString(task.getBeginDate()));
getEndDateTextBox().setValue(asString(task.getEndDate()));
}
private boolean canChangeStartDate() {
return disabilityConfiguration.isMovingTasksEnabled()
&& task.canBeExplicitlyMoved();
}
private boolean canChangeEndDate() {
return disabilityConfiguration.isResizingTasksEnabled()
&& task.canBeExplicitlyResized();
}
private String asString(Date date) {
return dateFormat.format(date);
}

View file

@ -333,7 +333,8 @@ public class Planner extends HtmlMacroComponent {
private void setupComponents() {
insertGlobalCommands();
this.leftPane = new LeftPane(this.diagramGraph.getTopLevelTasks());
this.leftPane = new LeftPane(disabilityConfiguration, this.diagramGraph
.getTopLevelTasks());
this.ganttPanel = new GanttPanel(this.context,
commandsOnTasksContextualized, doubleClickCommand,
disabilityConfiguration);