ItEr59S08CUAsignacionRecursosLimitantesItEr58S10: Pass reference to LimitingResourcesPanel in QueueListComponent constructor; pass reference to QueueListComponent in QueueComponent constructor

This commit is contained in:
Diego Pino Garcia 2010-06-02 19:38:31 +02:00 committed by Javier Moran Rua
parent 7fbfd62f25
commit 6e7fa6ee0d
4 changed files with 36 additions and 18 deletions

View file

@ -23,12 +23,10 @@ package org.navalplanner.web.limitingresources;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.navalplanner.business.planner.entities.LimitingResourceQueueDependency;
import org.zkoss.ganttz.DependencyList;
import org.zkoss.ganttz.TaskComponent;
import org.zkoss.ganttz.data.Dependency;

View file

@ -120,7 +120,7 @@ public class LimitingResourcesPanel extends HtmlMacroComponent {
treeModel = createModelForTree();
timeTrackerComponent = timeTrackerForResourcesLoadPanel(timeTracker);
queueListComponent = new QueueListComponent(timeTracker, treeModel);
queueListComponent = new QueueListComponent(this, timeTracker, treeModel);
leftPane = new LimitingResourcesLeftPane(treeModel,
queueListComponent);

View file

@ -24,7 +24,6 @@ package org.navalplanner.web.limitingresources;
import static org.navalplanner.web.I18nHelper._;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
@ -46,7 +45,6 @@ import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.ganttz.util.MenuBuilder;
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zul.Div;
@ -59,18 +57,23 @@ import org.zkoss.zul.impl.XulElement;
public class QueueComponent extends XulElement implements
AfterCompose {
public static QueueComponent create(TimeTracker timeTracker,
public static QueueComponent create(
QueueListComponent queueListComponent,
TimeTracker timeTracker,
LimitingResourceQueue limitingResourceQueue) {
return new QueueComponent(timeTracker,
return new QueueComponent(queueListComponent, timeTracker,
limitingResourceQueue);
}
private LimitingResourceQueue limitingResourceQueue;
private final QueueListComponent queueListComponent;
private final TimeTracker timeTracker;
private transient IZoomLevelChangedListener zoomChangedListener;
private LimitingResourceQueue limitingResourceQueue;
private List<QueueTask> queueTasks = new ArrayList<QueueTask>();
public List<QueueTask> getQueueTasks() {
@ -81,10 +84,15 @@ public class QueueComponent extends XulElement implements
this.limitingResourceQueue = limitingResourceQueue;
}
private QueueComponent(final TimeTracker timeTracker,
private QueueComponent(
final QueueListComponent queueListComponent,
final TimeTracker timeTracker,
final LimitingResourceQueue limitingResourceQueue) {
this.queueListComponent = queueListComponent;
this.limitingResourceQueue = limitingResourceQueue;
this.timeTracker = timeTracker;
createChildren(limitingResourceQueue, timeTracker.getMapper());
zoomChangedListener = new IZoomLevelChangedListener() {
@ -105,6 +113,14 @@ public class QueueComponent extends XulElement implements
appendQueueTasks(queueTasks);
}
public QueueListComponent getQueueListComponent() {
return queueListComponent;
}
public LimitingResourcesPanel getLimitingResourcesPanel() {
return queueListComponent.getLimitingResourcePanel();
}
public void invalidate() {
removeChildren();
appendQueueElements(limitingResourceQueue.getLimitingResourceQueueElements());
@ -263,8 +279,7 @@ public class QueueComponent extends XulElement implements
}
private void addDependenciesInPanel(LimitingResourceQueueElement element) {
LimitingResourcesPanel panel = LimitingResourcesPanel
.getLimitingResourcesPanel(this);
final LimitingResourcesPanel panel = getLimitingResourcesPanel();
for (LimitingResourceQueueDependency each : element
.getDependenciesAsDestiny()) {
panel.addDependencyComponent(each);
@ -310,14 +325,11 @@ public class QueueComponent extends XulElement implements
}
private void moveQueueTask(QueueTask queueTask) {
LimitingResourcesPanel panel = LimitingResourcesPanel.getLimitingResourcesPanel(this);
panel.moveQueueTask(queueTask);
getLimitingResourcesPanel().moveQueueTask(queueTask);
}
private void unnasign(QueueTask choosen) {
final LimitingResourcesPanel panel = LimitingResourcesPanel
.getLimitingResourcesPanel(choosen.getParent());
panel.unschedule(choosen);
getLimitingResourcesPanel().unschedule(choosen);
}
private void appendContextMenus() {

View file

@ -44,6 +44,8 @@ import org.zkoss.zk.ui.ext.AfterCompose;
public class QueueListComponent extends HtmlMacroComponent implements
AfterCompose {
private final LimitingResourcesPanel limitingResourcesPanel;
private final IZoomLevelChangedListener zoomListener;
private MutableTreeModel<LimitingResourceQueue> model;
@ -52,9 +54,11 @@ public class QueueListComponent extends HtmlMacroComponent implements
private Map<LimitingResourceQueue, QueueComponent> fromQueueToComponent = new HashMap<LimitingResourceQueue, QueueComponent>();
public QueueListComponent(TimeTracker timeTracker,
public QueueListComponent(LimitingResourcesPanel limitingResourcesPanel,
TimeTracker timeTracker,
MutableTreeModel<LimitingResourceQueue> timelinesTree) {
this.limitingResourcesPanel = limitingResourcesPanel;
this.model = timelinesTree;
zoomListener = adjustTimeTrackerSizeListener();
@ -71,7 +75,7 @@ public class QueueListComponent extends HtmlMacroComponent implements
}
private void insertAsComponent(LimitingResourceQueue queue) {
QueueComponent component = QueueComponent.create(timeTracker, queue);
QueueComponent component = QueueComponent.create(this, timeTracker, queue);
this.appendChild(component);
fromQueueToComponent.put(queue, component);
}
@ -139,4 +143,8 @@ public class QueueListComponent extends HtmlMacroComponent implements
return result;
}
public LimitingResourcesPanel getLimitingResourcePanel() {
return limitingResourcesPanel;
}
}