From 9410c3e976e682e47b6befcd2dbccec164da54e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 5 Oct 2009 18:23:09 +0200 Subject: [PATCH] ItEr29S08CUCreacionProxectoPlanificacionItEr28S09: LeftPane no longer has global commands. They are inserted in plannerLayout.zul instead. --- .../main/java/org/zkoss/ganttz/LeftPane.java | 25 ++-------------- .../main/java/org/zkoss/ganttz/Planner.java | 29 +++++++++++++++++-- .../resources/web/ganttz/zul/leftPane.zul | 2 -- .../web/ganttz/zul/plannerLayout.zul | 5 +--- 4 files changed, 30 insertions(+), 31 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java b/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java index e2fb5149f..002343bb7 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/LeftPane.java @@ -27,7 +27,6 @@ import org.zkoss.ganttz.data.Position; import org.zkoss.ganttz.data.Task; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.HtmlMacroComponent; -import org.zkoss.zul.Button; /** * LeftPane of the planner. Responsible of showing global commands and the @@ -38,8 +37,6 @@ public class LeftPane extends HtmlMacroComponent { private final List topLevelTasks; - private List> commands; - private LeftTasksTree leftTasksTree; public void setGoingDownInLastArrowCommand( @@ -48,10 +45,7 @@ public class LeftPane extends HtmlMacroComponent { .setGoingDownInLastArrowCommand(goingDownInLastArrowCommand); } - public LeftPane( - List> contextualizedCommands, - List topLevelTasks) { - this.commands = contextualizedCommands; + public LeftPane(List topLevelTasks) { this.topLevelTasks = topLevelTasks; } @@ -59,30 +53,15 @@ public class LeftPane extends HtmlMacroComponent { public void afterCompose() { super.afterCompose(); leftTasksTree = new LeftTasksTree(topLevelTasks); - addCommands(); getContainer().appendChild(leftTasksTree); leftTasksTree.afterCompose(); } - private void addCommands() { - Component commandsContainer = getCommandsContainer(); - for (CommandContextualized command : commands) { - Button button = command.toButton(); - commandsContainer.appendChild(button); - } - } - private Component getContainer() { - Component commandsContainer = getCommandsContainer(); - Component container = commandsContainer.getParent(); + Component container = getFellow("listdetails_container"); return container; } - private Component getCommandsContainer() { - Component commandsContainer = getFellow("leftpane_commands"); - return commandsContainer; - } - public void taskRemoved(Task task) { leftTasksTree.taskRemoved(task); } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java index 23cc9daeb..55e860099 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -36,8 +36,10 @@ import org.zkoss.ganttz.extensions.IContext; import org.zkoss.ganttz.util.ComponentsFinder; import org.zkoss.ganttz.util.OnZKDesktopRegistry; import org.zkoss.ganttz.util.script.IScriptsRegister; +import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.HtmlMacroComponent; +import org.zkoss.zul.Separator; public class Planner extends HtmlMacroComponent { @@ -188,12 +190,35 @@ public class Planner extends HtmlMacroComponent { } private void setupComponents() { - this.leftPane = new LeftPane(contextualizedGlobalCommands, - this.diagramGraph.getTopLevelTasks()); + insertGlobalCommands(); + this.leftPane = new LeftPane(this.diagramGraph.getTopLevelTasks()); this.ganttPanel = new GanttPanel(this.context, commandsOnTasksContextualized, editTaskCommand); } + private void insertGlobalCommands() { + Component toolbar = getToolbar(); + Component firstSeparator = getFirstSeparatorFromToolbar(); + for (CommandContextualized c : contextualizedGlobalCommands) { + toolbar.insertBefore(c.toButton(), firstSeparator); + } + } + + @SuppressWarnings("unchecked") + private Component getFirstSeparatorFromToolbar() { + Component toolbar = getToolbar(); + List children = toolbar.getChildren(); + List separators = ComponentsFinder + .findComponentsOfType( + Separator.class, children); + return separators.get(0); + } + + private Component getToolbar() { + Component toolbar = getFellow("toolbar"); + return toolbar; + } + void removeTask(Task task) { TaskList taskList = getTaskList(); taskList.remove(task); diff --git a/ganttzk/src/main/resources/web/ganttz/zul/leftPane.zul b/ganttzk/src/main/resources/web/ganttz/zul/leftPane.zul index 887b7835a..3f375bb46 100644 --- a/ganttzk/src/main/resources/web/ganttz/zul/leftPane.zul +++ b/ganttzk/src/main/resources/web/ganttz/zul/leftPane.zul @@ -20,7 +20,5 @@ - - \ No newline at end of file diff --git a/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul b/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul index d962ba930..8320232b6 100644 --- a/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul +++ b/ganttzk/src/main/resources/web/ganttz/zul/plannerLayout.zul @@ -5,10 +5,7 @@ planner = self; - -