Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/MyWMSLoadHandler.java @ 9702:20456a3c92e2
Img -> Image; correct URL for WMS Legend
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Thu, 21 Jan 2021 13:22:37 +0100 |
parents | b2768f367dff |
children |
rev | line source |
---|---|
9700
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
1 package org.dive4elements.river.client.client.ui.map; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
2 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
3 import com.google.gwt.event.dom.client.LoadEvent; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
4 import com.google.gwt.event.shared.HandlerRegistration; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
5 import com.google.gwt.user.client.ui.Image; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
6 import com.smartgwt.client.widgets.layout.HLayout; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
7 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
8 public class MyWMSLoadHandler implements com.google.gwt.event.dom.client.LoadHandler { |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
9 private Image m_image; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
10 private HLayout m_row; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
11 private HandlerRegistration m_handelReg; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
12 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
13 public MyWMSLoadHandler(HLayout row, Image image) { |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
14 m_image = image; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
15 m_row = row; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
16 m_handelReg = image.addLoadHandler(this); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
17 } |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
18 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
19 @Override |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
20 public void onLoad(LoadEvent event) { |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
21 setDimensions( ); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
22 if (m_handelReg != null) |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
23 m_handelReg.removeHandler(); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
24 } |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
25 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
26 private void setDimensions() { |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
27 final int imageWidth = m_image.getWidth(); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
28 final int imageHeight = m_image.getHeight(); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
29 final double widthPercent = imageWidth / 400.; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
30 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
31 // removing the limit of 150px height (legend can have an infinite height now, |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
32 // as long as the width is less/eq 400px; if the width is >400, |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
33 // the legend will be scaled to 400px width; the ratio will be kept) |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
34 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
35 // final double heightPercent = imageHeight / 150.; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
36 if (widthPercent > 1)// || heightPercent > 1) { |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
37 m_image.setSize((int) (imageWidth / widthPercent) + "px", (int) (imageHeight / widthPercent) + "px"); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
38 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
39 |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
40 final int minHeight = 30; |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
41 m_row.setHeight( m_image.getHeight() < minHeight ? minHeight : m_image.getHeight()); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
42 m_row.setWidth( m_image.getWidth()); |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
43 } |
b2768f367dff
handler for wms theme legend
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents:
diff
changeset
|
44 } |