comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/ThemeNavigationPanel.java @ 4641:f3325079dacc

Improve the up and down arrows in the theme navigation panel Don't stretch the arrow icons and fit to their actual size. Also put the up buttons on the left and the down buttons on the right.
author Björn Ricks <bjoern.ricks@intevation.de>
date Tue, 04 Dec 2012 16:16:43 +0100
parents f43d06d6a4a2
children e70ff0a600a3
comparison
equal deleted inserted replaced
4640:e3f28be45103 4641:f3325079dacc
3 import java.util.ArrayList; 3 import java.util.ArrayList;
4 import java.util.List; 4 import java.util.List;
5 5
6 import com.google.gwt.core.client.GWT; 6 import com.google.gwt.core.client.GWT;
7 7
8 import com.smartgwt.client.types.Alignment;
9 import com.smartgwt.client.types.VerticalAlignment;
8 import com.smartgwt.client.widgets.Canvas; 10 import com.smartgwt.client.widgets.Canvas;
9 import com.smartgwt.client.widgets.ImgButton; 11 import com.smartgwt.client.widgets.ImgButton;
10 import com.smartgwt.client.widgets.events.ClickEvent; 12 import com.smartgwt.client.widgets.events.ClickEvent;
11 import com.smartgwt.client.widgets.events.ClickHandler; 13 import com.smartgwt.client.widgets.events.ClickHandler;
12 import com.smartgwt.client.widgets.layout.HLayout; 14 import com.smartgwt.client.widgets.layout.HLayout;
20 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
21 */ 23 */
22 public class ThemeNavigationPanel extends Canvas { 24 public class ThemeNavigationPanel extends Canvas {
23 25
24 public static final int PANEL_MARGIN = 5; 26 public static final int PANEL_MARGIN = 5;
25 public static final int BUTTON_HEIGHT = 25; 27 public static final int BUTTON_HEIGHT = 20;
26 public static final int BUTTON_MARGIN = 5; 28 public static final int BUTTON_MARGIN = 5;
29 private static final int BOTTON_WIDTH = 20;
27 30
28 31
29 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); 32 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
30 33
31 34
41 44
42 HLayout layout = new HLayout(); 45 HLayout layout = new HLayout();
43 layout.setWidth100(); 46 layout.setWidth100();
44 layout.setHeight(BUTTON_HEIGHT); 47 layout.setHeight(BUTTON_HEIGHT);
45 layout.setMembersMargin(BUTTON_MARGIN); 48 layout.setMembersMargin(BUTTON_MARGIN);
49 layout.setDefaultLayoutAlign(VerticalAlignment.CENTER);
50 layout.setDefaultLayoutAlign(Alignment.CENTER);
46 51
47 Canvas cu = createButton(MSG.theme_top(), OnMoveEvent.TOP); 52 Canvas cu = createButton(MSG.theme_top(), OnMoveEvent.TOP);
48 Canvas u = createButton(MSG.theme_up(), OnMoveEvent.UP); 53 Canvas u = createButton(MSG.theme_up(), OnMoveEvent.UP);
49 Canvas d = createButton(MSG.theme_down(), OnMoveEvent.DOWN); 54 Canvas d = createButton(MSG.theme_down(), OnMoveEvent.DOWN);
50 Canvas cd = createButton(MSG.theme_bottom(), OnMoveEvent.BOTTOM); 55 Canvas cd = createButton(MSG.theme_bottom(), OnMoveEvent.BOTTOM);
51 56
52 layout.addMember(cu); 57 HLayout left = new HLayout();
53 layout.addMember(u); 58 left.setMembersMargin(BUTTON_MARGIN);
54 layout.addMember(d); 59 left.setLayoutAlign(Alignment.LEFT);
55 layout.addMember(cd); 60 left.setDefaultLayoutAlign(Alignment.LEFT);
61 left.setAlign(Alignment.LEFT);
62 left.addMember(cu);
63 left.addMember(u);
64
65 HLayout right = new HLayout();
66 right.setMembersMargin(BUTTON_MARGIN);
67 right.setLayoutAlign(Alignment.RIGHT);
68 right.setDefaultLayoutAlign(Alignment.RIGHT);
69 right.setAlign(Alignment.RIGHT);
70 right.addMember(d);
71 right.addMember(cd);
72
73 layout.addMember(left);
74 layout.addMember(right);
56 75
57 addChild(layout); 76 addChild(layout);
58 } 77 }
59 78
60 79
61 protected Canvas createButton(final String title, final int moveType) { 80 protected Canvas createButton(final String title, final int moveType) {
62 String url = GWT.getHostPageBaseURL() + title; 81 String url = GWT.getHostPageBaseURL() + title;
63 82
64 ImgButton b = new ImgButton(); 83 ImgButton b = new ImgButton();
65 b.setSrc(url); 84 b.setSrc(url);
85 b.setWidth(BOTTON_WIDTH);
66 b.setHeight(BUTTON_HEIGHT); 86 b.setHeight(BUTTON_HEIGHT);
67 b.setWidth(40); 87 b.setIconHeight(BUTTON_HEIGHT);
68 b.setIconHeight(BUTTON_HEIGHT-10); 88 b.setIconWidth(BOTTON_WIDTH);
69 b.setShowDown(false); 89 b.setShowDown(false);
70 b.setShowRollOver(false); 90 b.setShowRollOver(false);
71 b.setShowDisabled(false); 91 b.setShowDisabled(false);
72 b.setShowDisabledIcon(true); 92 b.setShowDisabledIcon(true);
73 b.setShowDownIcon(false); 93 b.setShowDownIcon(false);
74 b.setShowFocusedIcon(false); 94 b.setShowFocusedIcon(false);
75 b.setBackgroundColor("f2f2f2"); 95 b.setValign(VerticalAlignment.CENTER);
76 b.setBorder("1px solid #A6ABB4");
77 96
78 b.addClickHandler(new ClickHandler() { 97 b.addClickHandler(new ClickHandler() {
79 public void onClick(ClickEvent event) { 98 public void onClick(ClickEvent event) {
80 fireOnMoveEvent(moveType); 99 fireOnMoveEvent(moveType);
81 } 100 }

http://dive4elements.wald.intevation.org