ItEr43S10SoporteImpresionMultiplesPaxinasItEr42S15: Added support for printing selected zoom level
This commit is contained in:
parent
3f75fb7666
commit
b1e56a171a
10 changed files with 109 additions and 15 deletions
|
|
@ -171,13 +171,16 @@ public class FunctionalityExposedForExtensions<T> implements IContext<T> {
|
|||
this.adapter = configuration.getAdapter();
|
||||
this.navigator = configuration.getNavigator();
|
||||
this.diagramGraph = diagramGraph;
|
||||
|
||||
final IDetailItemModificator firstLevelModificators = configuration
|
||||
.getFirstLevelModificators();
|
||||
final IDetailItemModificator secondLevelModificators = configuration
|
||||
.getSecondLevelModificators();
|
||||
|
||||
this.timeTracker = new TimeTracker(new Interval(TimeTrackerState
|
||||
.year(2009), TimeTrackerState.year(2011)),
|
||||
firstLevelModificators, secondLevelModificators, planner);
|
||||
.year(2009), TimeTrackerState.year(2011)), planner
|
||||
.getZoomLevel(), firstLevelModificators,
|
||||
secondLevelModificators, planner);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -396,6 +399,7 @@ public class FunctionalityExposedForExtensions<T> implements IContext<T> {
|
|||
if (layout.getSelectedIndex() == 2) {
|
||||
parameters.put("extension", ".png");
|
||||
}
|
||||
parameters.put("zoom", planner.getZoomLevel().toString());
|
||||
configuration.print(parameters);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@ public class Planner extends HtmlMacroComponent {
|
|||
|
||||
private boolean isShowingCriticalPath = false;
|
||||
|
||||
private ZoomLevel initialZoomLevel = ZoomLevel.DETAIL_ONE;
|
||||
|
||||
public Planner() {
|
||||
registerNeededScripts();
|
||||
}
|
||||
|
|
@ -396,4 +398,15 @@ public class Planner extends HtmlMacroComponent {
|
|||
context.print();
|
||||
}
|
||||
|
||||
public ZoomLevel getZoomLevel() {
|
||||
if (ganttPanel == null) {
|
||||
return initialZoomLevel;
|
||||
}
|
||||
return ganttPanel.getTimeTracker().getDetailLevel();
|
||||
}
|
||||
|
||||
public void setInitialZoomLevel(final ZoomLevel zoomLevel) {
|
||||
this.initialZoomLevel = zoomLevel;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,6 +85,15 @@ public class TimeTracker {
|
|||
this.componentOnWhichGiveFeedback = componentOnWhichGiveFeedback;
|
||||
}
|
||||
|
||||
public TimeTracker(Interval interval, ZoomLevel zoomLevel,
|
||||
IDetailItemModificator firstLevelModificator,
|
||||
IDetailItemModificator secondLevelModificator,
|
||||
Component componentOnWhichGiveFeedback) {
|
||||
this(interval, firstLevelModificator, secondLevelModificator,
|
||||
componentOnWhichGiveFeedback);
|
||||
detailLevel = zoomLevel;
|
||||
}
|
||||
|
||||
public ZoomLevel getDetailLevel() {
|
||||
return detailLevel;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,4 +106,17 @@ public enum ZoomLevel {
|
|||
return name;
|
||||
}
|
||||
|
||||
public static ZoomLevel getFromString(String zoomLevelParameter) {
|
||||
ZoomLevel requiredZoomLevel = ZoomLevel.DETAIL_ONE;
|
||||
if (zoomLevelParameter != null) {
|
||||
for (ZoomLevel z : ZoomLevel.values()) {
|
||||
if (zoomLevelParameter.equals(z.name)) {
|
||||
requiredZoomLevel = z;
|
||||
}
|
||||
}
|
||||
}
|
||||
return requiredZoomLevel;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ package org.navalplanner.web.planner.company;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
|
|
@ -32,6 +33,7 @@ import org.springframework.stereotype.Component;
|
|||
import org.zkoss.ganttz.Planner;
|
||||
import org.zkoss.ganttz.extensions.ICommandOnTask;
|
||||
import org.zkoss.ganttz.resourceload.ScriptsRequiredByResourceLoadPanel;
|
||||
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
|
||||
import org.zkoss.ganttz.util.OnZKDesktopRegistry;
|
||||
import org.zkoss.ganttz.util.script.IScriptsRegister;
|
||||
import org.zkoss.zk.ui.util.Composer;
|
||||
|
|
@ -55,6 +57,8 @@ public class CompanyPlanningController implements Composer{
|
|||
|
||||
private ICommandOnTask<TaskElement> doubleClickCommand;
|
||||
|
||||
private Map<String, String[]> parameters;
|
||||
|
||||
public CompanyPlanningController() {
|
||||
getScriptsRegister().register(ScriptsRequiredByResourceLoadPanel.class);
|
||||
}
|
||||
|
|
@ -67,6 +71,14 @@ public class CompanyPlanningController implements Composer{
|
|||
@Override
|
||||
public void doAfterCompose(org.zkoss.zk.ui.Component comp) {
|
||||
planner = (Planner) comp;
|
||||
String zoomLevelParameter = null;
|
||||
if ((parameters.get("zoom") != null) && !(parameters.isEmpty())) {
|
||||
zoomLevelParameter = parameters.get("zoom")[0];
|
||||
}
|
||||
planner
|
||||
.setInitialZoomLevel(ZoomLevel
|
||||
.getFromString(zoomLevelParameter));
|
||||
|
||||
}
|
||||
|
||||
public void setConfigurationForPlanner() {
|
||||
|
|
@ -86,4 +98,8 @@ public class CompanyPlanningController implements Composer{
|
|||
this.doubleClickCommand = doubleClickCommand;
|
||||
}
|
||||
|
||||
public void setURLParameters(Map<String, String[]> parameters) {
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ package org.navalplanner.web.planner.tabs;
|
|||
import static org.navalplanner.web.I18nHelper._;
|
||||
import static org.zkoss.ganttz.adapters.TabsConfiguration.configure;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.navalplanner.business.common.IAdHocTransactionService;
|
||||
import org.navalplanner.business.orders.daos.IOrderDAO;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
|
|
@ -51,6 +53,7 @@ import org.zkoss.ganttz.extensions.TabProxy;
|
|||
import org.zkoss.ganttz.resourceload.ResourcesLoadPanel.IToolbarCommand;
|
||||
import org.zkoss.ganttz.util.LongOperationFeedback;
|
||||
import org.zkoss.ganttz.util.LongOperationFeedback.ILongOperation;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.EventListener;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
|
|
@ -112,9 +115,13 @@ public class MultipleTabsPlannerController implements Composer,
|
|||
private URLHandlerRegistry registry;
|
||||
|
||||
private TabsConfiguration buildTabsConfiguration() {
|
||||
|
||||
Map<String, String[]> parameters = Executions.getCurrent()
|
||||
.getParameterMap();
|
||||
|
||||
planningTab = doFeedbackOn(PlanningTabCreator.create(mode,
|
||||
companyPlanningController, orderPlanningController, orderDAO,
|
||||
breadcrumbs));
|
||||
breadcrumbs, parameters));
|
||||
resourceLoadTab = ResourcesLoadTabCreator.create(mode,
|
||||
resourceLoadController, upCommand(),
|
||||
resourceLoadControllerGlobal,
|
||||
|
|
|
|||
|
|
@ -63,24 +63,30 @@ public class PlanningTabCreator {
|
|||
|
||||
private final IOrderDAO orderDAO;
|
||||
|
||||
private final Map<String, String[]> parameters;
|
||||
|
||||
public static ITab create(Mode mode,
|
||||
CompanyPlanningController companyPlanningController,
|
||||
OrderPlanningController orderPlanningController,
|
||||
IOrderDAO orderDAO,
|
||||
Component breadcrumbs) {
|
||||
Component breadcrumbs,
|
||||
Map<String, String[]> parameters) {
|
||||
return new PlanningTabCreator(mode, companyPlanningController,
|
||||
orderPlanningController, breadcrumbs, orderDAO).create();
|
||||
orderPlanningController, breadcrumbs, orderDAO, parameters)
|
||||
.create();
|
||||
}
|
||||
|
||||
private PlanningTabCreator(Mode mode,
|
||||
CompanyPlanningController companyPlanningController,
|
||||
OrderPlanningController orderPlanningController,
|
||||
Component breadcrumbs, IOrderDAO orderDAO) {
|
||||
Component breadcrumbs, IOrderDAO orderDAO,
|
||||
Map<String, String[]> parameters) {
|
||||
this.mode = mode;
|
||||
this.companyPlanningController = companyPlanningController;
|
||||
this.orderPlanningController = orderPlanningController;
|
||||
this.breadcrumbs = breadcrumbs;
|
||||
this.orderDAO = orderDAO;
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
private ITab create() {
|
||||
|
|
@ -133,6 +139,7 @@ public class PlanningTabCreator {
|
|||
args
|
||||
.put("companyPlanningController",
|
||||
companyPlanningController);
|
||||
companyPlanningController.setURLParameters(parameters);
|
||||
return Executions.createComponents("/planner/_company.zul",
|
||||
parent, args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,6 +97,10 @@ public class CutyPrint {
|
|||
captureString += " --url=http://" + request.getLocalName() + ":"
|
||||
+ request.getLocalPort() + url;
|
||||
|
||||
if ((parameters != null) && (parameters.get("zoom") != null)) {
|
||||
captureString += "?zoom=" + parameters.get("zoom");
|
||||
}
|
||||
|
||||
// Static width and time delay parameters (FIX)
|
||||
captureString += " --min-width=2600 --delay=1000 ";
|
||||
|
||||
|
|
|
|||
|
|
@ -18,10 +18,7 @@
|
|||
|
||||
body .main-area {
|
||||
margin-left: -90px;
|
||||
}
|
||||
|
||||
body .main-area {
|
||||
margin-left: -90px;
|
||||
margin-top: -28px;
|
||||
}
|
||||
|
||||
.toolbar-box {
|
||||
|
|
@ -29,10 +26,6 @@
|
|||
height: 0px !important;
|
||||
}
|
||||
|
||||
.plannerlayout_center {
|
||||
margin-top: -25px;
|
||||
}
|
||||
|
||||
/* Calculate dynamically */
|
||||
body {
|
||||
width: 2500px;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,35 @@
|
|||
|
||||
/* Print CSS used for CutyCapt capture requests */
|
||||
|
||||
.mainmenu, .user-area, .help-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body .perspectives-column {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body .main-area {
|
||||
margin-left: -90px;
|
||||
margin-top: -28px;
|
||||
}
|
||||
|
||||
.toolbar-box {
|
||||
display: none;
|
||||
height: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
body .z-border-layout {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.plannerlayout .leftpanelcontainer,
|
||||
.plannerlayout .rightpanellayout .z-center-body {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
|
||||
body {
|
||||
width: 2600px;
|
||||
}
|
||||
|
|
@ -50,4 +79,3 @@ a.ruta, .toolbar-box {
|
|||
display: inline !important;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue