ItEr28S09CUCreacionProxectoPlanificacionItEr27S09: Added milestones structure and simulated add milestone command

This commit is contained in:
Lorenzo Tilve 2009-10-01 14:18:29 +02:00 committed by Javier Moran Rua
parent 0d06c823bc
commit 96bd5d9b0e
9 changed files with 142 additions and 0 deletions

View file

@ -0,0 +1,55 @@
package org.zkoss.ganttz.data;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import org.zkoss.ganttz.util.WeakReferencedListeners;
import org.zkoss.ganttz.util.WeakReferencedListeners.IListenerNotification;
/**
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
*/
public class Milestone extends Task {
public Milestone() {
super();
}
public Milestone(ITaskFundamentalProperties fundamentalProperties) {
super(fundamentalProperties);
}
private List<Task> tasks = new ArrayList<Task>();
private boolean expanded = false;
@Override
public List<Task> getTasks() {
return tasks;
}
@Override
public boolean isExpanded() {
return expanded;
}
@Override
protected void setVisible(boolean visible) {
super.setVisible(visible);
if (!this.expanded) {
return;
}
for (Task task : tasks) {
task.setVisible(true);
}
}
@Override
public boolean isLeaf() {
return false;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

View file

@ -0,0 +1,15 @@
<%@ taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" %>
<%@ taglib uri="http://www.zkoss.org/dsp/zk/core" prefix="z" %>
<c:set var="self" value="${requestScope.arg.self}"/>
<div id="row${self.uuid}" class="row" z.valor="boxid="${self.uuid}">
<div id="${self.uuid}" z.type="ganttz.milestone.Milestone" idTask="${self.id}"
z.autoz="true"${self.outerAttrs}" class="milestone">
<div class="taskcontainer_completion">
</div>
<div class="milestone_end"></div>
</div>
</div>

View file

@ -0,0 +1,44 @@
package org.navalplanner.web.planner;
import org.navalplanner.business.planner.entities.Task;
import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.business.planner.entities.TaskGroup;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.zkoss.ganttz.extensions.IContextWithPlannerTask;
import static org.navalplanner.web.I18nHelper._;
@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class AddMilestoneCommand implements IAddMilestoneCommand {
private PlanningState planningState;
@Override
public void setState(PlanningState planningState) {
this.planningState = planningState;
}
@Override
public void doAction(IContextWithPlannerTask<TaskElement> context,
TaskElement task) {
if (!(task instanceof TaskGroup)) {
return;
}
/* TaskGroup old = (TaskGroup) task;
if (!old.canBeMerged())
return;
Task result = old.merge();
context.replace(old, result);
planningState.removed(old);
planningState.added(result); */
}
@Override
public String getName() {
return _("Add Milestone");
}
}

View file

@ -0,0 +1,10 @@
package org.navalplanner.web.planner;
import org.navalplanner.business.planner.entities.TaskElement;
import org.zkoss.ganttz.extensions.ICommandOnTask;
public interface IAddMilestoneCommand extends ICommandOnTask<TaskElement> {
public void setState(PlanningState planningState);
}

View file

@ -83,6 +83,10 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
mergeCommand.setState(planningState);
configuration.addCommandOnTask(mergeCommand);
IAddMilestoneCommand addMilestoneCommand = getAddMilestoneCommand();
addMilestoneCommand.setState(planningState);
configuration.addCommandOnTask(addMilestoneCommand);
IEditTaskCommand editTaskCommand = getEditTaskCommand();
editTaskCommand.setEditTaskController(editTaskController);
configuration.setEditTaskCommand(editTaskCommand);
@ -168,6 +172,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
protected abstract IMergeTaskCommand getMergeTaskCommand();
protected abstract IAddMilestoneCommand getAddMilestoneCommand();
protected abstract IEditTaskCommand getEditTaskCommand();
protected abstract ICalendarAllocationCommand getCalendarAllocationCommand();

View file

@ -23,6 +23,7 @@
<lookup-method name="getMergeTaskCommand" bean="mergeTaskCommand"/>
<lookup-method name="getEditTaskCommand" bean="editTaskCommand"/>
<lookup-method name="getCalendarAllocationCommand" bean="calendarAllocationCommand"/>
<lookup-method name="getAddMilestoneCommand" bean="addMilestoneCommand"/>
</bean>
<context:component-scan base-package="org.navalplanner.web"/>

View file

@ -196,6 +196,17 @@ zkTasklist.GANTT_PANEL_LEFT = 300
background-color: transparent !important;
}
.milestone_end {
background-image:
url("/navalplanner-webapp/zkau/web/ganttz/img/milestone2.png");
height: 15px;
width: 15px;
float: right;
position:relative;
left: 8px;
top: -3px;
}
.row .closed {
border-top: solid black 2px;
}