Skip to content

Commit

Permalink
Closed preview and print tool
Browse files Browse the repository at this point in the history
  • Loading branch information
jmmluna committed Feb 24, 2017
1 parent 6a5a9dd commit 5e409e5
Show file tree
Hide file tree
Showing 10 changed files with 246 additions and 204 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ You can see the previous changelog [here] (http://www.geowe.org/index.php?id=cha
- Improve performance
- More tools

## [1.5]Beta - 2017-02-24
### Added
- Preview and print tool

### Fixed
- issue [#333](https://github.com/geowe/geowe-core/issues/333)

## [1.4.18]Beta - 2017-02-23
### Added
- Enhanced layer data editing dialog, including paging and tools
Expand Down
77 changes: 33 additions & 44 deletions src/main/java/org/geowe/client/local/main/PreviewWidget.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,12 @@ public class PreviewWidget extends Dialog implements
private TextButton addLayerButton;
private TextButton printButton;
private TextButton applyButton;
//private TextButton zoomButton;
private IntegerValueComboBox zoomPageComboBox;
private static Integer zoom[] = { 25, 50, 75, 100 };
private static Integer zoomLevel[] = { 25, 50, 75, 100 };
private HtmlEditor htmlEditor;
private static final String DEFAULT_PROJECTION ="WGS84";
private static final String DEFAULT_FRAME_NAME = "geowe-viewer";
private static final String DEFAULT_TEMPLATE_PATH = "preview/leaflet-map-template.html";

public PreviewWidget() {
super();
Expand All @@ -107,15 +109,15 @@ public PreviewWidget() {
setHideOnButtonClick(true);
setResizable(false);
setPixelSize(850, 600);
setHeadingText("Preview");
setHeadingText(UIMessages.INSTANCE.previewTitle());
add(createPanel());
addHandler();
}

public Widget createPanel() {
addLayerButton = new TextButton("AddLayer");
printButton = new TextButton("Print");
applyButton = new TextButton("Apply");
addLayerButton = new TextButton(UIMessages.INSTANCE.previewAddLayer());
printButton = new TextButton(UIMessages.INSTANCE.previewPrint());
applyButton = new TextButton(UIMessages.INSTANCE.previewApply());

getButtonBar().add(printButton);

Expand All @@ -129,12 +131,11 @@ public Widget createPanel() {
vPanel.setSpacing(5);

zoomPageComboBox = new IntegerValueComboBox("180px");
zoomPageComboBox.setValues(Arrays.asList(zoom));
zoomPageComboBox.setValues(Arrays.asList(zoomLevel));

vPanel.add(new Label("Zoom level"));
vPanel.add(new Label(UIMessages.INSTANCE.previewZoomLevel()));
vPanel.add(zoomPageComboBox);
//vPanel.add(zoomButton);


vPanel.add(new Label(UIMessages.INSTANCE.sbSelectLayerLabel()));
vPanel.add(layerCombo);
vPanel.add(addLayerButton);
Expand All @@ -158,8 +159,7 @@ public Widget createPanel() {
htmlEditor.setWidth("280px");
htmlEditor.setHeight("200px");

vPanel.add(htmlEditor);

vPanel.add(htmlEditor);
vPanel.add(applyButton);
hPanel.add(vPanel);

Expand All @@ -176,24 +176,24 @@ public void onSelect(SelectEvent event) {
.getLayer();
((GeoJSONCSS) format).setLayer(selectedLayer);
String geojson = format.write(exportDataTool
.getTransformedFeatures(selectedLayer, "WGS84"));
addGeojsonLayer(geojson, true);
.getTransformedFeatures(selectedLayer, DEFAULT_PROJECTION));
addGeojsonLayer(geojson, true, DEFAULT_FRAME_NAME);

}
});

printButton.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
zoomToPage(100);
print();
zoomToPage(100, DEFAULT_FRAME_NAME);
print(DEFAULT_FRAME_NAME);
}
});

applyButton.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
apply(titleField.getText(), htmlEditor.getValue());
apply(titleField.getText(), htmlEditor.getValue(), DEFAULT_FRAME_NAME);
}
});

Expand All @@ -208,46 +208,46 @@ public void onSelection(SelectionEvent<Integer> event) {
.addValueChangeHandler(new ValueChangeHandler<Integer>() {
@Override
public void onValueChange(ValueChangeEvent<Integer> event) {
zoomToPage(event.getValue());
zoomToPage(event.getValue(), DEFAULT_FRAME_NAME);
}
});

}

private native void addGeojsonLayer(String geojson, boolean zoomToLayer) /*-{
var f = $wnd.frames["geowe-viewer"];
private native void addGeojsonLayer(String geojson, boolean zoomToLayer, String frameName) /*-{
var f = $wnd.frames[frameName];
f.contentWindow.addLayer(geojson, zoomToLayer);
}-*/;

private native void print() /*-{
var f = $wnd.frames["geowe-viewer"];
private native void print(String frameName) /*-{
var f = $wnd.frames[frameName];
f.contentWindow.print();
}-*/;

private native void apply(String title, String description) /*-{
var f = $wnd.frames["geowe-viewer"];
private native void apply(String title, String description, String frameName) /*-{
var f = $wnd.frames[frameName];
f.contentWindow.apply(title, description);
}-*/;

private native String getPageWidth() /*-{
var f = $wnd.frames["geowe-viewer"];
private native String getPageWidth(String frameName) /*-{
var f = $wnd.frames[frameName];
return f.contentWindow.getPageWidth() + "px";
}-*/;

private native void zoomToPage(int zoom) /*-{
var f = $wnd.frames["geowe-viewer"];
private native void zoomToPage(int zoom, String frameName) /*-{
var f = $wnd.frames[frameName];
f.contentWindow.applyZoom(zoom);
}-*/;

private Frame createFrame() {
final Frame frame = new Frame("viewer/leaflet.html");
frame.getElement().setId("geowe-viewer");
frame.setTitle("Viewer");
final Frame frame = new Frame(DEFAULT_TEMPLATE_PATH);
frame.getElement().setId(DEFAULT_FRAME_NAME);
frame.setTitle(UIMessages.INSTANCE.previewTitle());
frame.setWidth("500px");
frame.setHeight("500px");
frame.getElement().getStyle().setBackgroundColor("gray");
Expand All @@ -261,8 +261,6 @@ private Frame createFrame() {
public void onLoad(LoadEvent event) {
frame.getElement().getStyle().setBackgroundColor("white");
zoomPageComboBox.setValue(75);
zoomToPage(75);
// frame.setWidth(getPageWidth());
}

});
Expand Down Expand Up @@ -324,12 +322,7 @@ public void onAddLayer(List<Layer> allVectorLayers) {

@Override
public void onRemoveLayer(List<Layer> allVectorLayers) {
setVectorLayers(allVectorLayers);
/*
* Puesto que al eliminar una capa, ninguna de las restantes queda
* seleccionada en el LayerManager, se limpia la capa seleccionada de la
* combo de capas
*/
setVectorLayers(allVectorLayers);
layerCombo.setValue(null);
}

Expand All @@ -341,16 +334,13 @@ public void setVectorLayers(List<Layer> vectorLayers) {
public void setSelectedLayer(Vector selectedLayer) {
this.selectedLayer = selectedLayer;
updateStatusInfo();

}

public void showHidePreview() {
if (isVisible()) {
// widget.getElement().<FxElement> cast().slideOut(Direction.UP);
if (isVisible()) {
hide();
} else {
show();
// widget.getElement().<FxElement> cast().slideIn(Direction.DOWN);
}
}

Expand All @@ -371,5 +361,4 @@ private void updateStatusInfo() {
layerCombo.setValue(new VectorLayerInfo(selectedLayer));
}
}

}
10 changes: 10 additions & 0 deletions src/main/java/org/geowe/client/local/messages/UIMessages.java
Original file line number Diff line number Diff line change
Expand Up @@ -883,4 +883,14 @@ public interface UIMessages extends Messages {
String errorPoint();

String validatedLayerName();

String previewTitle();

String previewAddLayer();

String previewPrint();

String previewApply();

String previewZoomLevel();
}
Original file line number Diff line number Diff line change
Expand Up @@ -461,3 +461,8 @@ joinAttributeMustSelect=You must select an attribute to bind.
separator=Separator (default {0})
errorPoint=Geometry error point
validatedLayerName=Validation-Result
previewTitle=Preview
previewAddLayer=Add Layer
previewPrint=Print
previewApply=Apply
previewZoomLevel=Zoom level
Original file line number Diff line number Diff line change
Expand Up @@ -462,3 +462,8 @@ joinAttributeMustSelect=Debe seleccionar un atributo para vincular.
separator=Separador (valor por defecto {0})
errorPoint=Punto del error geométrico.
validatedLayerName=Resultado de la validación
previewTitle=Vista previa
previewAddLayer=Añadir capa
previewPrint=Imprimir
previewApply=Aplicar
previewZoomLevel=Nivel de zoom
108 changes: 108 additions & 0 deletions src/main/webapp/preview/css/leaflet-map-template.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
#map {
border: 2px black solid;
height: 600px;
}

body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background-color: #9badbf;
font: 12pt "Tahoma";
}

* {
box-sizing: border-box;
-moz-box-sizing: border-box;
}

.page {
width: 210mm;
min-height: 297mm;
padding: 20mm;
margin: 10mm auto;
border: 1px #D3D3D3 solid;
border-radius: 5px;
background: white;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.subpage {
padding: 1cm;
border: 5px black solid;
height: 257mm; #
outline: 2cm #bacce1 solid;
}

@page {
size: A4;
margin: 0;
}

@media print {
html, body {
width: 210mm;
height: 297mm;
}
.page {
margin: 0;
border: initial;
border-radius: initial;
width: initial;
min-height: initial;
box-shadow: initial;
background: initial;
page-break-after: always;
}
}

h1 {
margin: 1em 0 0.5em 0;
color: #343434;
font-weight: normal;
font-family: 'Ultra', sans-serif;
font-size: 36px;
line-height: 42px;
text-align: center;
text-transform: uppercase;
text-shadow: 0 2px white, 0 3px #777;
}

h4 {
margin: 1em 0 0.5em 0;
color: #343434;
font-size: 14px;
line-height: 20px;
font-weight: normal;
font-family: 'Orienta', sans-serif;
}

.footer {
float: right;
height: 35px;
font-family: arial, helvetica;
font-weight: bold;
font-size: 11px;
font-style: italic;
}

.zoom25 {
zoom: 0.25;
-moz-transform: scale(0.25);
}

.zoom50 {
zoom: 0.5;
-moz-transform: scale(0.5);
}

.zoom75 {
zoom: 0.75;
-moz-transform: scale(0.75);
}

.zoom100 {
zoom: 1;
-moz-transform: scale(1);
}
Loading

0 comments on commit 5e409e5

Please sign in to comment.