2011-11-15 20 views
0

gwt-ckeditorモジュールを使用してSmartGWTアプリケーションにCKEditorを統合しようとしました。私はDEVモードでは、アプリケーションを表示しようとすると、しかし、私はエラーを取得する:CKEditorとSmartGWTの統合

ここ
[ERROR] [Eureka] - 18:21:15.139:TMR5[E]:WARN:drawing:campaignMessageDesignPage_id:draw() called on widget with current drawn state: handleDrawn, ignoring. 
    Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef) 
    Canvas.readyToDraw() 
    Canvas.draw(_1=>undef) 
    Layout.layoutChildren(_1=>"resized", _2=>0, _3=>19) 
    Canvas.$t1() 
    Canvas.resizeBy(_1=>0, _2=>19, _3=>undef, _4=>undef) 
    Canvas.resizeTo(_1=>1365, _2=>586, _3=>undef, _4=>undef) 
    Layout.resizeMembers(_1=>Array[12], _2=>Array[12], _3=>true) 
    ** recursed on Layout.layoutChildren 


com.smartgwt.client.core.JsObject$SGWT_WARN: 10:35:18.045:TMR7[E]:WARN:drawing:campaignMessageDesignPage_id:draw() called on widget with current drawn state: handleDrawn, ignoring. 
    Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)  Canvas.readyToDraw()  Canvas.draw(_1=>undef)  Layout.layoutChildren(_1=>"resized", _2=>0, _3=>19)  Canvas.$t1()  Canvas.resizeBy(_1=>0, _2=>19, _3=>undef, _4=>undef)  Canvas.resizeTo(_1=>1365, _2=>586, _3=>undef, _4=>undef)  Layout.resizeMembers(_1=>Array[12], _2=>Array[12], _3=>true)  ** recursed on Layout.layoutChildren 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) 
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 
    at java.lang.Thread.run(Thread.java:722) 

私のコードの一部:

public class CampaignMessageDesignPage extends Page { 

    protected VLayout mainLayout; 

    protected CKEditor ckEditor; 

    @Override 
    protected void prepareMainLayoutCanvasCandidate() { 
     mainLayout = createOrGetVLayoutById(campaignMessageDesignPage_id); 
     mainLayout.setWidth100(); 
     mainLayout.setHeight100(); 
     mainLayout.setDefaultLayoutAlign(Alignment.CENTER); 

     Canvas cnvEditor = new Canvas("cnvEditor"); 
     CKConfig conf = new CKConfig(PRESET_TOOLBAR.FULL); 
     ckEditor = new CKEditor(conf); 
     conf.setBaseFloatZIndex(1000000); 
     conf.setUseFormPanel(false); 
     ckEditor.setHTML(""); 
     ckEditor.setSize("100%", "100%"); 
     cnvEditor.addChild(ckEditor); 
     cnvEditor.setSize("50%", "50%"); 

     mainLayout.setMembers(cnvEditor); 
    } 

    @Override 
    protected final Canvas getMainLayoutCanvasCandidate() { 
     return this.mainLayout; 
    } 

    @Override 
    protected void process(final SimpleBO param) { 
     // TODO Auto-generated method stub 
    } 

} 

draw()メソッドが別の場所と呼ばれています。

ご存知ですか?

編集: 私はいくつかのものを試しました。私はSmartGWTレイアウトに標準のGWTウィジェットを追加しようとしましたが、うまくいきました。それは本当にCKEditor関連の問題です。

私はまた、ページ表示上のコンテンツを作成しようとしました、と別のエラーメッセージを取得し、うまくいけば、より便利:

18:45:06.698 [ERROR] [Eureka] 18:45:06.697:RDQ0[E]:WARN:Log:TypeError: Cannot call method 'replace' of undefined 
    unnamed() @ 
    unnamed() @ unknown source 
    unnamed() @ Eureka/hosted.html?Eureka:76:35 
    unnamed() @ Eureka/hosted.html?Eureka:54:12 
    onDraw() @ unknown source 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2123:6 
    Canvas.drawChildren() @ Eureka/sc/modules/ISC_Core.js:2177:197 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
    Layout._drawNonMemberChildren() @ Eureka/sc/modules/ISC_Foundation.js:374:21 
    Layout.drawChildren() @ Eureka/sc/modules/ISC_Foundation.js:365:130 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
com.smartgwt.client.core.JsObject$SGWT_WARN: 18:45:06.697:RDQ0[E]:WARN:Log:TypeError: Cannot call method 'replace' of undefined 
    unnamed() @ 
    unnamed() @ unknown source 
    unnamed() @ Eureka/hosted.html?Eureka:76:35 
    unnamed() @ Eureka/hosted.html?Eureka:54:12 
    onDraw() @ unknown source 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2123:6 
    Canvas.drawChildren() @ Eureka/sc/modules/ISC_Core.js:2177:197 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
    Layout._drawNonMemberChildren() @ Eureka/sc/modules/ISC_Foundation.js:374:21 
    Layout.drawChildren() @ Eureka/sc/modules/ISC_Foundation.js:365:130 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) 
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 
    at java.lang.Thread.run(Thread.java:722) 
+0

何らかの理由で、エラートレースの一部が欠落していました。私はちょうどそれを追加した。 –

+0

実際、SmartGWTのほうがはるかに優れているTinyMCEに切り替えました。 –

+0

私は何の答えも得ていないので、少なくとも最後のSmartGWTバージョンでは、GWTCKEditorライブラリが壊れていることを理解していますか?それは残念だ... –

答えて

1

SmartGWT-拡張機能Google Codeのプロジェクトにあなたのためにこれを行うコンポーネントがあります:

http://code.google.com/p/smartgwt-extensions/source/browse/#svn%2Ftrunk%2Fmainprojects%2Fsrc%2Fmain%2Fjava%2Fcom%2Fsmartgwt%2Fextensions%2Fhtmleditor%2Fclient

+0

実際には、これはもはや維持されないFCKEditorの古いバージョンを使用しています... –

+0

サードパーティのJSウィジェットを組み込む実用的な例であるので、そのコードを見てください。あなたが報告している警告は単なる警告であることに注意してください。これはdraw()の不要な呼び出しを示しますが、あなたの問題を説明するものではありません。その代わりに、あなたのコードをSmartGWT-Extensionsの例と比較したり、Firebugのようなツールを使ってDOMを見て、CKEditorがなぜ描画していないのかを調べるべきです。 –

+0

私はそれを調べます。レコードについては、私の現在の(動作していないコード)はhttp://code.google.com/p/gwt-ckeditor/issues/detail?id=27から来ます。これはバージョンの問題でしょうか?このコードはSmarGWTの現在のバージョンではまだ動作するはずですか? –