Skip to content

Commit ac58af7

Browse files
committed
ScriptInjectorUtils
1 parent b825d5c commit ac58af7

File tree

13 files changed

+6108
-14
lines changed

13 files changed

+6108
-14
lines changed

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/ForsrcGwtUi.gwt.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
<set-property-fallback name="locale" value="en_US" />
5454
<set-property name="locale" value="zh_CN" />
5555

56+
<inherits name="com.google.gwt.resources.Resources" />
5657

5758
<inherits name='org.geomajas.codemirror.CodeMirror'/>
5859

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.forsrc.gwt.client.application.codemirror;
2+
3+
import com.google.gwt.core.client.GWT;
4+
import com.google.gwt.resources.client.ClientBundle;
5+
import com.google.gwt.resources.client.CssResource;
6+
import com.google.gwt.resources.client.TextResource;
7+
8+
public interface CodemirrorResources extends ClientBundle {
9+
10+
public static final CodemirrorResources INSTANCE = GWT.create(CodemirrorResources.class);
11+
12+
// @Source("my.css")
13+
// public CssResource css();
14+
15+
// @Source("config.xml")
16+
// public TextResource initialConfiguration();
17+
18+
// @Source("manual.pdf")
19+
// public DataResource ownersManual();
20+
21+
// @Source("logo.png")
22+
// ImageResource logo();
23+
/*
24+
<!-- scripts for codemirror START -->
25+
<script type="text/javascript" language="javascript" src="ForsrcGwtUi/lib/codemirror.js"></script>
26+
<script type="text/javascript" language="javascript" src="ForsrcGwtUi/mode/xml/xml.js"></script>
27+
<script type="text/javascript" language="javascript" src="ForsrcGwtUi/mode/css/css.js"></script>
28+
<script type="text/javascript" language="javascript" src="ForsrcGwtUi/mode/htmlmixed/htmlmixed.js"></script>
29+
<script type="text/javascript" language="javascript" src="ForsrcGwtUi/addon/edit/closetag.js"></script>
30+
<script type="text/javascript" language="javascript" src="ForsrcGwtUi/addon/fold/collapserange.js"></script>
31+
<!-- scripts for codemirror END -->
32+
*/
33+
34+
@Source("js/codemirror.js")
35+
TextResource codemirror();
36+
37+
@Source("js/clike.js")
38+
TextResource clike();
39+
40+
@Source("js/closetag.js")
41+
TextResource closetag();
42+
43+
@Source("js/collapserange.js")
44+
TextResource collapserange();
45+
46+
@Source("js/show-hint.js")
47+
TextResource showHint();
48+
49+
@Source("js/show-hint.css")
50+
@CssResource.NotStrict
51+
CssResource showHintCss();
52+
}

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/codemirror/CodemirrorView.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@
22

33
import javax.inject.Inject;
44

5-
import org.geomajas.codemirror.client.CodeMirrorWrapper;
65
import org.geomajas.codemirror.client.Config;
76
import org.geomajas.codemirror.client.widget.CodeMirrorPanel;
87

8+
import com.forsrc.gwt.client.utils.ScriptInjectorUtils;
99
import com.google.gwt.core.client.Scheduler;
10-
import com.google.gwt.event.logical.shared.AttachEvent;
10+
import com.google.gwt.dom.client.StyleInjector;
1111
import com.google.gwt.uibinder.client.UiBinder;
1212
import com.google.gwt.uibinder.client.UiField;
1313
import com.google.gwt.user.client.Command;
1414
import com.google.gwt.user.client.ui.HTMLPanel;
15-
import com.google.gwt.user.client.ui.PopupPanel;
1615
import com.google.gwt.user.client.ui.Widget;
1716
import com.gwtplatform.mvp.client.ViewImpl;
1817

@@ -22,6 +21,16 @@ public class CodemirrorView extends ViewImpl implements CodemirrorPresenter.MyVi
2221
interface Binder extends UiBinder<Widget, CodemirrorView> {
2322
}
2423

24+
static {
25+
ScriptInjectorUtils.inject(CodemirrorResources.INSTANCE.codemirror());
26+
ScriptInjectorUtils.inject(CodemirrorResources.INSTANCE.closetag());
27+
ScriptInjectorUtils.inject(CodemirrorResources.INSTANCE.clike());
28+
ScriptInjectorUtils.inject(CodemirrorResources.INSTANCE.collapserange());
29+
ScriptInjectorUtils.inject(CodemirrorResources.INSTANCE.showHint());
30+
//CodemirrorResources.INSTANCE.showHintCss().ensureInjected();
31+
StyleInjector.injectStylesheet(CodemirrorResources.INSTANCE.showHintCss().getText());
32+
}
33+
2534
@UiField
2635
MaterialLabel searchLabel;
2736

@@ -51,7 +60,7 @@ protected void onAttach() {
5160
public void execute() {
5261
if (codeMirrorPanel == null) {
5362
Config config = Config.getDefault();
54-
config.setOption(Config.MODE, "xml");
63+
config.setOption(Config.MODE, "clike");
5564
config.setOption("autoCloseTags", true);
5665
config.setOption("collapseRange", true);
5766
codeMirrorPanel = new MyCodeMirrorPanel(config);

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/codemirror/MyCodeMirrorPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public MyCodeMirrorPanel(String initialData) {
4242
* the configuration.
4343
*/
4444
public MyCodeMirrorPanel(Config config) {
45-
super();
45+
super(config);
4646
this.config = config;
4747
setWidth("100%");
4848
setHeight("100%");

0 commit comments

Comments
 (0)