diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java index b9f784d07..2e42470e8 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -111,7 +111,7 @@ public class Planner extends XulElement { this.context = context; clear(); context.add(configuration.getData()); - recreate(); + createTasksPlanningTab(); } private void clear() { @@ -157,17 +157,17 @@ public class Planner extends XulElement { return diagramGraph; } - private void recreate() { + private TasksPlanningTab createTasksPlanningTab() { this.leftPane = new LeftPane(contextualizedGlobalCommands, this.diagramGraph.getTopLevelTasks()); - this.leftPane.setParent(this); - this.leftPane.afterCompose(); - this.leftPane - .setGoingDownInLastArrowCommand(goingDownInLastArrowCommand); this.ganttPanel = new GanttPanel(this.context, commandsOnTasksContextualized, editTaskCommand); - ganttPanel.setParent(this); - ganttPanel.afterCompose(); + TasksPlanningTab result = new TasksPlanningTab(this, leftPane, + ganttPanel); + result.afterCompose(); + this.leftPane + .setGoingDownInLastArrowCommand(goingDownInLastArrowCommand); + return result; } void removeTask(Task task) { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TasksPlanningTab.java b/ganttzk/src/main/java/org/zkoss/ganttz/TasksPlanningTab.java new file mode 100644 index 000000000..4c0abb302 --- /dev/null +++ b/ganttzk/src/main/java/org/zkoss/ganttz/TasksPlanningTab.java @@ -0,0 +1,22 @@ +package org.zkoss.ganttz; + +public class TasksPlanningTab { + + private final Planner planner; + private final LeftPane leftPane; + private final GanttPanel ganttPanel; + + public TasksPlanningTab(Planner planner, LeftPane leftPane, + GanttPanel ganttPanel) { + this.planner = planner; + this.leftPane = leftPane; + this.ganttPanel = ganttPanel; + } + + public void afterCompose() { + leftPane.setParent(planner); + ganttPanel.setParent(planner); + leftPane.afterCompose(); + ganttPanel.afterCompose(); + } +}