/*
* This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
*
* Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium.
*
* The program is available in open source according to the GNU Affero
* General Public License. All contributions in this program are covered
* by the Geomajas Contributors License Agreement. For full licensing
* details, see LICENSE.txt in the project root.
*/
package org.geomajas.gwt2.plugin.print.client.template.impl;
import com.google.gwt.core.client.GWT;
import org.geomajas.gwt2.plugin.print.client.i18n.PrintMessages;
import org.geomajas.gwt2.plugin.print.client.template.DefaultPrintRequestDataProvider;
import org.geomajas.gwt2.plugin.print.client.template.PageSize;
import org.geomajas.gwt2.plugin.print.client.template.TemplateBuilderDataProvider;
import org.geomajas.gwt2.plugin.print.client.util.PrintConfiguration;
/**
* Default implementation of {@link DefaultPrintRequestDataProvider}.
* It is a DTO-like container for the default values.
*
* @author Jan Venstermans
*/
public final class DefaultPrintRequestDataProviderImpl implements DefaultPrintRequestDataProvider {
private static final PrintMessages MESSAGES = GWT.create(PrintMessages.class);
private DefaultTemplateBuilderDataProvider defaultTemplateBuilderDataProvider
= new DefaultTemplateBuilderDataProviderImpl();
private PrintConfiguration.PostPrintAction defaultPostPrintAction = PrintConfiguration.PostPrintAction.OPEN;
private String defaultFileName = MESSAGES.defaultPrintFileName();
private boolean defaultSync;
private int defaultDpi;
/* getters */
@Override
public TemplateBuilderDataProvider getTemplateBuilderDataProvider() {
return defaultTemplateBuilderDataProvider;
}
@Override
public DefaultTemplateBuilderDataProvider getDefaultTemplateBuilderDataProvider() {
return defaultTemplateBuilderDataProvider;
}
@Override
public PrintConfiguration.PostPrintAction getPostPrintAction() {
return defaultPostPrintAction;
}
@Override
public String getFileName() {
return defaultFileName;
}
@Override
public boolean isSync() {
return defaultSync;
}
@Override
public int getDpi() {
return defaultDpi;
}
/* setters */
@Override
public void setFileName(String fileName) {
this.defaultFileName = fileName;
}
@Override
public void setPostPrintAction(PrintConfiguration.PostPrintAction postPrintAction) {
this.defaultPostPrintAction = postPrintAction;
}
@Override
public void setSync(boolean sync) {
this.defaultSync = sync;
}
@Override
public void setDpi(int dpi) {
this.defaultDpi = dpi;
}
/**
* Private default implementation of {@link TemplateBuilderDataProvider}.
*/
public class DefaultTemplateBuilderDataProviderImpl implements DefaultTemplateBuilderDataProvider {
private String defaultTitle = MESSAGES.defaultPrintTitle();
private PageSize defaultPageSize = PageSize.A4;
private int defaultDpi = 144;
private int defaultRasterDpi = 72;
private boolean defaultLandscape = true;
private boolean defaultWithArrow = true;
private boolean defaultWithScaleBar = true;
@Override
public String getTitle() {
return defaultTitle;
}
@Override
public void setTitle(String title) {
this.defaultTitle = title;
}
@Override
public PageSize getPageSize() {
return defaultPageSize;
}
@Override
public void setPageSize(PageSize pageSize) {
this.defaultPageSize = pageSize;
}
@Override
public void setDpi(int dpi) {
this.defaultDpi = dpi;
}
@Override
public int getDpi() {
return defaultDpi;
}
@Override
public int getRasterDpi() {
return defaultRasterDpi;
}
@Override
public void setRasterDpi(int rasterDpi) {
this.defaultRasterDpi = rasterDpi;
}
@Override
public boolean isLandscape() {
return defaultLandscape;
}
@Override
public void setLandscape(boolean landscape) {
this.defaultLandscape = landscape;
}
@Override
public boolean isWithArrow() {
return defaultWithArrow;
}
@Override
public void setWithArrow(boolean withArrow) {
this.defaultWithArrow = withArrow;
}
@Override
public boolean isWithScaleBar() {
return defaultWithScaleBar;
}
@Override
public void setWithScaleBar(boolean withScaleBar) {
this.defaultWithScaleBar = withScaleBar;
}
}
}