From 9ccfc52d03d78edfb20476a3f1bf9100fdeddcb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 4 Aug 2010 14:22:20 +0200 Subject: [PATCH] ItEr60S04ValidacionEProbasFuncionaisItEr59S04: [Bug #569] Fix bug. Increasing the width when the text names inputs are increased beyond default value. --- .../org/navalplanner/web/print/CutyPrint.java | 43 +++++++++++++------ .../src/main/webapp/planner/css/ganttzk.css | 2 + 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java index 89abf59c5..4a61bec82 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java @@ -61,10 +61,19 @@ public class CutyPrint { private static final int CUTYCAPT_TIMEOUT = 60000; // Taskdetails left padding - private static int TASKDETAILS_WIDTH = 310; + private static int TASKDETAILS_BASE_WIDTH = 310; + + /** + * Default width in pixels of the task name text field for depth level 1. + *

+ * Got from .listdetails .depth_1 input.task_title { width: 121px; } at + * src/main/webapp/planner/css/ganttzk.css + */ + private static final int BASE_TASK_NAME_PIXELS = 121; private static int TASK_HEIGHT = 25; private static int PRINT_VERTICAL_PADDING = 50; + public static void print(Order order) { print("/planner/index.zul", entryPointForShowingOrder(order), Collections. emptyMap()); @@ -129,13 +138,6 @@ public class CutyPrint { + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + extension; - int plannerWidth = 0; - - if ((planner != null) && (planner.getTimeTracker() != null)) { - plannerWidth = planner.getTimeTracker().getHorizontalSize() - + TASKDETAILS_WIDTH; - } - // Generate capture string String captureString = CUTYCAPT_COMMAND; String url = CallbackServlet.registerAndCreateURLFor(request, @@ -167,14 +169,17 @@ public class CutyPrint { captureString = captureString.substring(0, (captureString.length() - 1)); } - + boolean expanded = Planner + .guessContainersExpandedByDefaultGivenPrintParameters(parameters); + int minWidthForTaskNameColumn = planner + .calculateMinimumWidthForTaskNameColumn(expanded); + int plannerWidth = calculatePlannerWidthForPrintingScreen(planner, + minWidthForTaskNameColumn); captureString += " --min-width=" + plannerWidth; // Static width and time delay parameters (FIX) captureString += " --delay=3000 "; - boolean expanded = Planner. - guessContainersExpandedByDefaultGivenPrintParameters(parameters); String generatedCSSFile = createCSSFile( absolutePath + "/planner/css/print.css", @@ -183,7 +188,7 @@ public class CutyPrint { parameters.get("labels"), parameters.get("resources"), expanded, - planner.calculateMinimumWidthForTaskNameColumn(expanded)); + minWidthForTaskNameColumn); // Relative user styles captureString += "--user-styles=" + generatedCSSFile; @@ -232,6 +237,20 @@ public class CutyPrint { } } + private static int calculatePlannerWidthForPrintingScreen(Planner planner, + int minWidthForTaskNameColumn) { + if (planner != null && planner.getTimeTracker() != null) { + return planner.getTimeTracker().getHorizontalSize() + + calculateTaskDetailsWidth(minWidthForTaskNameColumn); + } + return 0; + } + + private static int calculateTaskDetailsWidth(int minWidthForTaskNameColumn) { + return TASKDETAILS_BASE_WIDTH + + Math.max(0, minWidthForTaskNameColumn - BASE_TASK_NAME_PIXELS); + } + private static IServletRequestHandler executeOnOriginalContext( final IServletRequestHandler original) { final SecurityContext originalContext = SecurityContextHolder diff --git a/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css b/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css index 4b29d55c2..d5e69f172 100644 --- a/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css +++ b/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css @@ -86,6 +86,8 @@ } .listdetails .depth_1 input.task_title { + /*on change org.navalplanner.web.print.CutyPrint.BASE_TASK_NAME_PIXEL must + be changed too */ width: 121px; }