1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.vectomatic.client.rep.controller;
19
20 import org.vectomatic.common.model.FloatAttributeValue;
21
22 import com.google.gwt.user.client.DOM;
23 import com.google.gwt.user.client.Event;
24 import com.google.gwt.user.client.ui.SimplePanel;
25
26
27
28
29 public class LineWidthWell extends SimplePanel {
30 private LineWidthMenu _menu;
31
32 public LineWidthWell(LineWidthController controller) {
33 setStyleName("lineWidthWell");
34 _menu = new LineWidthMenu(controller);
35 sinkEvents(Event.ONCLICK);
36 }
37
38 public void setLineWidth(FloatAttributeValue lineWidth) {
39 setWidget(lineWidth != null ? new LineWidthWidget((int)lineWidth.getValue(), false) : null);
40 }
41
42 @Override
43 public void onBrowserEvent(Event event) {
44 switch (DOM.eventGetType(event)) {
45 case Event.ONCLICK:
46 int left = getAbsoluteLeft();
47 int top = getAbsoluteTop() + getOffsetHeight();
48 _menu.setPopupPosition(left, top);
49 _menu.show();
50 break;
51 }
52 }
53 }