From 29d6e7a8868ec9bf06dfd2212ae9e9e2f2ef397e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 5 Jan 2010 18:54:32 +0100 Subject: [PATCH] ItEr42S17CUGravacionModelosUnidadesTraballoItEr41S20: Building treecols from Columns. This allows to parametrize the columns shown for each case. --- .../web/orders/OrdersTreeComponent.java | 17 ++++++ .../web/templates/TemplatesTreeComponent.java | 17 +++--- .../navalplanner/web/tree/TreeComponent.java | 52 +++++++++++++++---- .../orders/components/_orderElementTree.zul | 11 +--- 4 files changed, 71 insertions(+), 26 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrdersTreeComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrdersTreeComponent.java index df8a3ac49..5a7cda774 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrdersTreeComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrdersTreeComponent.java @@ -19,6 +19,11 @@ */ package org.navalplanner.web.orders; +import static org.navalplanner.web.I18nHelper._; + +import java.util.ArrayList; +import java.util.List; + import org.navalplanner.web.tree.TreeComponent; /** @@ -27,5 +32,17 @@ import org.navalplanner.web.tree.TreeComponent; */ public class OrdersTreeComponent extends TreeComponent { + public List getColumns() { + List columns = new ArrayList(); + columns.add(new Column(_("Scheduling state"), "scheduling_state")); + columns.add(codeColumn); + columns.add(new Column(_("Hours"), "hours", + _("Total order element hours"))); + columns.add(nameAndDescriptionColumn); + columns.add(new Column(_("Must start after"), "estimated_init")); + columns.add(new Column(_("Deadline"), "estimated_end")); + columns.add(operationsColumn); + return columns; + } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeComponent.java index 5e0b1f191..3e05f75cf 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeComponent.java @@ -21,7 +21,7 @@ package org.navalplanner.web.templates; import static org.navalplanner.web.I18nHelper._; -import java.util.Collections; +import java.util.ArrayList; import java.util.List; import org.navalplanner.web.tree.TreeComponent; @@ -44,12 +44,15 @@ public class TemplatesTreeComponent extends TreeComponent { return _("Delete Template element"); } - public String getHoursTooltip() { - return _("Total Template hours"); - } - - public String getOperationsTooltip() { - return _("Click on the icons to execute operation in the template"); + @Override + public List getColumns() { + List result = new ArrayList(); + result.add(codeColumn); + result.add(nameAndDescriptionColumn); + result.add(new Column(_("Must start after"), "estimated_init")); + result.add(new Column(_("Deadline"), "estimated_end")); + result.add(operationsColumn); + return result; } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeComponent.java index 3d434df8a..8b79e297d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeComponent.java @@ -21,6 +21,8 @@ package org.navalplanner.web.tree; import static org.navalplanner.web.I18nHelper._; +import java.util.List; + import org.navalplanner.web.orders.OrderElementTreeController; import org.zkoss.zk.ui.HtmlMacroComponent; import org.zkoss.zk.ui.util.Composer; @@ -29,17 +31,55 @@ import org.zkoss.zk.ui.util.Composer; * macro component for order elements tree and similar pages
* @author Óscar González Fernández */ -public class TreeComponent extends HtmlMacroComponent { +public abstract class TreeComponent extends HtmlMacroComponent { private static final String CONTROLLER_NAME = "treeController"; + public static class Column { + private String label; + + private String cssClass; + + private String tooltip; + + public Column(String label, String cssClass){ + this(label, cssClass, null); + } + + public Column(String label, String cssClass, String tooltip) { + this.label = label; + this.cssClass = cssClass; + this.tooltip = tooltip; + } + + public String getLabel() { + return label; + } + + public String getCssClass() { + return cssClass; + } + + public String getTooltip() { + return tooltip; + } + } + + protected final Column codeColumn = new Column(_("Code"), "code"); + protected final Column nameAndDescriptionColumn = new Column( + _("Name and description"), "name"); + protected final Column operationsColumn = new Column(_("Operations"), + "operations"); + + public abstract List getColumns(); + public void clear() { OrderElementTreeController controller = (OrderElementTreeController) getVariable( CONTROLLER_NAME, true); controller.clear(); } - public void useController(Composer controller) { + public void useController(TreeController controller) { doAfterComposeOnController(controller); this.setVariable(CONTROLLER_NAME, controller, true); } @@ -64,12 +104,4 @@ public class TreeComponent extends HtmlMacroComponent { return _("Delete order element"); } - public String getHoursTooltip() { - return _("Total order element hours"); - } - - public String getOperationsTooltip() { - return _("Click on the icons to execute operation in the order element"); - } - } diff --git a/navalplanner-webapp/src/main/webapp/orders/components/_orderElementTree.zul b/navalplanner-webapp/src/main/webapp/orders/components/_orderElementTree.zul index 0ace3fbbb..009132a22 100644 --- a/navalplanner-webapp/src/main/webapp/orders/components/_orderElementTree.zul +++ b/navalplanner-webapp/src/main/webapp/orders/components/_orderElementTree.zul @@ -54,15 +54,8 @@ sclass="orderTree" zclass="z-dottree"> - - - - - - - +