From 7bef6d83d038fbeffe03caa3a1c177f184baaeb2 Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Thu, 4 Nov 2010 13:11:25 +0100 Subject: [PATCH] Fix bug avoid creating hbox assigment function combobox on changing zoom The combobox for selecting type of assigment function (advance allocation) is created every time the user changes the zoom leve FEA: ItEr62OTS04FuncionCurvaS --- .../AdvancedAllocationController.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java index 5880c49e0..d6c6bcf46 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java @@ -1195,25 +1195,33 @@ class Row { } } + private Hbox hboxAssigmentFunctionsCombobox = null; + Component getFunction() { if (isGroupingRow()) { return new Label(); } else if (isLimiting) { return new Label(_("Limiting assignment")); } else { - Hbox hbox = new Hbox(); - - Combobox assignmentFunctionsCombo = getAssignmentFunctionsCombo(); - appendListener(assignmentFunctionsCombo); - - hbox.appendChild(assignmentFunctionsCombo); - hbox - .appendChild(getAssignmentFunctionsConfigureButton(assignmentFunctionsCombo)); - - return hbox; + if (hboxAssigmentFunctionsCombobox == null) { + initializeAssigmentFunctionsCombobox(); + } + return hboxAssigmentFunctionsCombobox; } } + private void initializeAssigmentFunctionsCombobox() { + hboxAssigmentFunctionsCombobox = new Hbox(); + + Combobox assignmentFunctionsCombo = getAssignmentFunctionsCombo(); + appendListener(assignmentFunctionsCombo); + assignmentFunctionsCombo.setValue("None"); + + hboxAssigmentFunctionsCombobox.appendChild(assignmentFunctionsCombo); + hboxAssigmentFunctionsCombobox + .appendChild(getAssignmentFunctionsConfigureButton(assignmentFunctionsCombo)); + } + private void appendListener(final Combobox assignmentFunctionsCombo) { assignmentFunctionsCombo.addEventListener(Events.ON_CHANGE, new EventListener() {