Skip to content

Commit 0b99acc

Browse files
committed
Remove gwt_incubator dependency
Change-Id: I3f18dfa2118df77f3c8451e5d7f7db5c89030305
1 parent fc76742 commit 0b99acc

File tree

12 files changed

+76
-244
lines changed

12 files changed

+76
-244
lines changed

appinventor/appengine/build.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,6 @@
591591
<pathelement location="${lib.dir}/guava/j2objc-annotations-1.1.jar" />
592592
<pathelement location="${lib.dir}/findbugs/jsr305.jar" />
593593
<pathelement location="${lib.dir}/gwt_dragdrop/gwt-dnd-3.2.3.jar" />
594-
<pathelement location="${lib.dir}/gwt_incubator/gwt-incubator-20101117-r1766.jar" />
595594
<pathelement location="${lib.dir}/gwt_query/gwtquery-1.5-beta1.jar" />
596595
<pathelement location="${lib.dir}/gwt_svg/lib-gwt-svg-0.5.15.jar" />
597596
<!-- gwt libs -->

appinventor/appengine/src/com/google/appinventor/YaClient.gwt.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,8 @@
1919
<inherits name="com.google.gwt.i18n.I18N"/>
2020
<!--inherits name="com.google.gwt.i18n.CldrLocales"/-->
2121
<inherits name="com.google.gwt.json.JSON" />
22-
<inherits name="com.google.gwt.libideas.ImmutableResources" />
2322
<inherits name="com.google.gwt.logging.Logging"/>
2423
<inherits name="com.google.gwt.resources.Resources" />
25-
<inherits name="com.google.gwt.widgetideas.WidgetIdeas" />
26-
<inherits name="com.google.gwt.widgetideas.GWTCanvas" />
2724
<inherits name="com.allen_sauer.gwt.dnd.gwt-dnd" />
2825
<inherits name="com.google.common.base.Base" />
2926
<inherits name="com.google.common.collect.Collect" />

appinventor/appengine/src/com/google/appinventor/client/editor/simple/components/MockBall.java

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@
77
package com.google.appinventor.client.editor.simple.components;
88

99
import com.google.appinventor.client.editor.simple.SimpleEditor;
10+
import com.google.appinventor.client.utils.Color;
11+
import com.google.gwt.canvas.dom.client.Context2d;
12+
import com.google.gwt.dom.client.CanvasElement;
13+
import com.google.gwt.dom.client.Document;
14+
import com.google.gwt.dom.client.Style;
1015
import com.google.gwt.user.client.ui.SimplePanel;
11-
import com.google.gwt.widgetideas.graphics.client.Color;
12-
import com.google.gwt.widgetideas.graphics.client.GWTCanvas;
16+
import com.google.gwt.user.client.ui.Widget;
1317

1418
/**
1519
* Mock Ball component.
@@ -31,7 +35,7 @@ public final class MockBall extends MockVisibleComponent implements MockSprite {
3135

3236
// Widget for showing the mock ball
3337
private final SimplePanel ballWidget;
34-
private final GWTCanvas canvas;
38+
private final CanvasElement canvas;
3539

3640
private int radius = DEFAULT_RADIUS;
3741
private int diameter = 2 * radius;
@@ -54,23 +58,43 @@ public MockBall(SimpleEditor editor) {
5458
ballWidget.setStylePrimaryName("ode-SimpleMockComponent");
5559

5660
// Create an appropriately sized ball
57-
canvas = new GWTCanvas(diameter, diameter);
58-
canvas.setPixelSize(diameter, diameter);
59-
canvas.setBackgroundColor(GWTCanvas.TRANSPARENT);
60-
fillCircle();
61-
ballWidget.setWidget(canvas);
61+
canvas = Document.get().createCanvasElement();
62+
canvas.setWidth(diameter);
63+
canvas.setHeight(diameter);
64+
canvas.getStyle().setWidth(diameter, Style.Unit.PX);
65+
canvas.getStyle().setHeight(diameter, Style.Unit.PX);
66+
fillCircle(canvas);
67+
ballWidget.getElement().appendChild(canvas);
6268

6369
initComponent(ballWidget);
6470
}
6571

72+
/**
73+
* Draws the ball onto the drag widget. This is necessary because cloning a CanvasElement
74+
* does not copy the drawn contents. Otherwise, the drag widget would be a canvas.
75+
*
76+
* @param dragWidget cloned widget used for dragging
77+
*/
78+
@Override
79+
protected void onDragWidgetCreated(Widget dragWidget) {
80+
super.onDragWidgetCreated(dragWidget);
81+
CanvasElement el = (CanvasElement) dragWidget.getElement().getFirstChildElement();
82+
el.setWidth(diameter);
83+
el.setHeight(diameter);
84+
el.getStyle().setWidth(diameter, Style.Unit.PX);
85+
el.getStyle().setHeight(diameter, Style.Unit.PX);
86+
fillCircle(el);
87+
}
88+
6689
// Drawing
6790

68-
private void fillCircle() {
69-
canvas.clear();
70-
canvas.setFillStyle(color);
71-
canvas.beginPath();
72-
canvas.arc(radius, radius, radius, 0, Math.PI * 2, true);
73-
canvas.fill();
91+
private void fillCircle(CanvasElement el) {
92+
final Context2d context = el.getContext2d();
93+
context.clearRect(0, 0, diameter, diameter);
94+
context.setFillStyle(color.toString());
95+
context.beginPath();
96+
context.arc(radius, radius, radius, 0, Math.PI * 2, true);
97+
context.fill();
7498
}
7599

76100
// Handling property changes
@@ -79,9 +103,11 @@ private void setRadiusProperty(String text) {
79103
try {
80104
radius = Integer.parseInt(text);
81105
diameter = 2 * radius;
82-
canvas.setCoordSize(diameter, diameter);
83-
canvas.setPixelSize(diameter, diameter);
84-
fillCircle();
106+
canvas.setWidth(diameter);
107+
canvas.setHeight(diameter);
108+
canvas.getStyle().setWidth(diameter, Style.Unit.PX);
109+
canvas.getStyle().setHeight(diameter, Style.Unit.PX);
110+
fillCircle(canvas);
85111
if (originAtCenter) {
86112
// Force the position of the ballWidget to be adjusted relative
87113
// to the parent canvas.
@@ -97,7 +123,7 @@ private void setColorProperty(String text) {
97123
text = "&HFF000000"; // black
98124
}
99125
color = MockComponentsUtil.getColor(text);
100-
fillCircle();
126+
fillCircle(canvas);
101127
}
102128

103129
private void refreshCanvas() {

appinventor/appengine/src/com/google/appinventor/client/editor/simple/components/MockComponent.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,9 +1063,15 @@ public final Widget createDragWidget(int x, int y) {
10631063
// the drag widget itself isn't hidden.
10641064
setVisible(false);
10651065

1066+
onDragWidgetCreated(w);
1067+
10661068
return w;
10671069
}
10681070

1071+
protected void onDragWidgetCreated(Widget dragWidget) {
1072+
// Do nothing by default. Subclasses may override.
1073+
}
1074+
10691075
@Override
10701076
public Widget getDragWidget() {
10711077
return dragSourceSupport.getDragWidget();

appinventor/appengine/src/com/google/appinventor/client/editor/simple/components/MockComponentsUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.google.appinventor.client.Ode;
1010
import com.google.appinventor.client.editor.simple.SimpleEditor;
1111
import com.google.appinventor.client.explorer.project.Project;
12+
import com.google.appinventor.client.utils.Color;
1213
import com.google.appinventor.shared.rpc.project.HasAssetsFolder;
1314
import com.google.appinventor.shared.rpc.project.ProjectNode;
1415
import com.google.appinventor.shared.rpc.project.youngandroid.YoungAndroidAssetsFolder;
@@ -24,7 +25,6 @@
2425
import com.google.gwt.user.client.Timer;
2526
import com.google.gwt.user.client.ui.RootPanel;
2627
import com.google.gwt.user.client.ui.Widget;
27-
import com.google.gwt.widgetideas.graphics.client.Color;
2828

2929
/**
3030
* Helper methods for working with mock components.

appinventor/appengine/src/com/google/appinventor/client/editor/simple/components/MockMapFeatureBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77

88
import com.google.appinventor.client.editor.simple.components.i18n.ComponentTranslationTable;
99
import com.google.appinventor.client.editor.simple.SimpleEditor;
10+
import com.google.appinventor.client.utils.Color;
1011
import com.google.gwt.core.client.JavaScriptObject;
1112
import com.google.gwt.json.client.JSONObject;
1213
import com.google.gwt.json.client.JSONValue;
1314
import com.google.gwt.resources.client.ImageResource;
1415
import com.google.gwt.user.client.Event;
1516
import com.google.gwt.user.client.ui.SimplePanel;
16-
import com.google.gwt.widgetideas.graphics.client.Color;
1717

1818
import java.util.Collection;
1919
import java.util.HashSet;

appinventor/appengine/src/com/google/appinventor/client/editor/simple/components/MockMapFeatureBaseWithFill.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
package com.google.appinventor.client.editor.simple.components;
77

88
import com.google.appinventor.client.editor.simple.SimpleEditor;
9+
import com.google.appinventor.client.utils.Color;
910
import com.google.gwt.json.client.JSONObject;
1011
import com.google.gwt.json.client.JSONValue;
1112
import com.google.gwt.resources.client.ImageResource;
12-
import com.google.gwt.widgetideas.graphics.client.Color;
1313

1414
public abstract class MockMapFeatureBaseWithFill extends MockMapFeatureBase {
1515
public static final String PROPERTY_NAME_FILLCOLOR = "FillColor";

appinventor/appengine/src/com/google/appinventor/client/explorer/commands/MiniProgressBar.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
// http://www.apache.org/licenses/LICENSE-2.0
66
package com.google.appinventor.client.explorer.commands;
77

8+
import com.google.gwt.dom.client.Style;
89
import com.google.gwt.user.client.DOM;
910
import com.google.gwt.user.client.Element;
1011
import com.google.gwt.user.client.ui.Widget;
11-
import com.google.gwt.widgetideas.client.ResizableWidget;
12-
import com.google.gwt.widgetideas.client.ResizableWidgetCollection;
1312

1413
/**
1514
* A widget that displays progress on an arbitrary scale.
@@ -26,7 +25,7 @@
2625
* text when progress is greater than 50 percent } </li>
2726
* </ul>
2827
*/
29-
public class MiniProgressBar extends Widget implements ResizableWidget {
28+
public class MiniProgressBar extends Widget {
3029
private static final String DEFAULT_TEXT_CLASS_NAME =
3130
"gwt-ProgressBar-text";
3231

@@ -378,16 +377,10 @@ protected Element getTextElement() {
378377
@Override
379378
protected void onLoad() {
380379
// Reset the position attribute of the parent element
381-
DOM.setStyleAttribute(getElement(), "position", "relative");
382-
ResizableWidgetCollection.get().add(this);
380+
getElement().getStyle().setPosition(Style.Position.RELATIVE);
383381
redraw();
384382
}
385383

386-
@Override
387-
protected void onUnload() {
388-
ResizableWidgetCollection.get().remove(this);
389-
}
390-
391384
/**
392385
* Reset the progress text based on the current min and max progress range.
393386
*/
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.google.appinventor.client.utils;
2+
3+
public class Color {
4+
public static final Color BLACK = new Color(0, 0, 0);
5+
6+
private final String color;
7+
8+
public Color(int r, int g, int b) {
9+
this.color = "rgb(" + r + "," + g + "," + b + ")";
10+
}
11+
12+
public Color(int r, int g, int b, float a) {
13+
this.color = "rgba(" + r + "," + g + "," + b + "," + a + ")";
14+
}
15+
16+
@Override
17+
public String toString() {
18+
return color;
19+
}
20+
}

0 commit comments

Comments
 (0)