wonderflのエディタをUSBメモリに入れて持ち歩く

「Fraise」のシンタックスの定義ファイルを作ってみて、なんとか候補が出るようになったので「Coda」や「CotEditor」のも作ってみて思ったのは、やっぱり構文を分析して補完してくれたらいいのになぁと。

そんな時に「_level0.KAYAC」さんの「wonderfl editorバージョン・アップのお知らせ」という記事を見つけました。
読んでいると「ネイティブのActionScriptのクラス名に対する補完機能」が追加されていると知って
http://github.com/mash/WonderflEditorにあるソースをダウンロードしローカルでしばらく使ってみました。
「このエディタすごくいいな!」と思いながらも、できればライブラリも補完してほしいなとソースを見てみたらできそうなのでやってみました。

————————————————————————————
* 2011年1月26日現在内容が古くなっていましたので少し修正しました。
(1)旧バージョンの場合(2010-01-26にbuild for commitされたバージョン)
(2)新バージョン(2011年1月26日現在の最新のバージョンの場合)
wonderflのエディタ新しいバージョンの部分については、とりあえずエラーが出た部分をコメントアウトすれば動いてくれたので、良しとしてしまっています。

————————————————————————————
(1)旧バージョンの場合(2010-01-26にbuild for commitされたバージョンの場合)

*ライブラリの補完のやり方
————————————————————————————
1 ダウンロードしたソースファイルの中の 「assets」フォルダの中に補完させたいswcファイルを入れます。(ためしに、「progressin4.swc」を入れました。)
2 src/net/editor/ASParserController.asの71行目に以下の文をを追加

// 追加ライブラリ
// Progression4
[Embed(source="../../../../assets/Progression4.swc", mimeType="application/octet-stream")] // 追加
private static var Progression4SWC:Class; // 追加

コンストラクタ以下の89行目からの
if (!tc){…}の文のなかの

TypeDB.setDB('playerglobal', TypeDB.fromByteArray(new PlayerglobalAsset));

の下に以下の文を追加

// 追加ライブラリ
// Progression4
TypeDB.setDB('progression4', SWCParser.parse(new Progression4SWC));

そうすると、src/ro/minibuilder/swcparser/SWCParser.asファイルの23行目でエラーがでるので、その行をコメントアウトする

// import com.victordramba.console.debug;

こんな風にProgression4の補完もできました。

————————————————————————————
*エディタのフォントの変更の方法
————————————————————————————
エディタのフォントのサイズはWEditor.asの40行目の

_editor.setFontSize(12);

のsetFontSize()の数字を変更すると変えれるみたいです。

エディタのフォントを変更するには、src/jp/psycode/core/TextEditUI.asの60行目の

var fmt:TextFormat = new TextFormat("_typewriter", 14, 0xffffff);

を以下のように変更します。

var fmt:TextFormat = new TextFormat("OsakaMono", 13, 0xffffff);

補完候補の語句のフォントを変更するには、src/jp/psycode/controls/ListItemRenderer.asの15行目の

label.defaultTextFormat = new TextFormat("_typewriter", 13, 0xffffff);

を以下のように変更します。

label.defaultTextFormat = new TextFormat("OsakaMono", 13, 0xffffff);

————————————————————————————
(2)新バージョン(2011年1月26日現在http://github.com/mash/WonderflEditorからダウンロードできる最新のバージョンの場合)
*ライブラリの補完のやり方
————————————————————————————
1 ダウンロードしたソースファイルの中の 「assets」フォルダの中に補完させたいswcファイルを入れます。(ためしに、「progressin4.swc」を入れました。)

2 flex4.0 sdkだとエラーがでるので、flex3.5等のmx.packageにソースパスを追加する。

LiveCoding.as
51行目 コメントアウト
55行目 コメントアウト
71行目 コメントアウト

src/net/editor/minibuilder/ASParserController.asの43行目あたり

import ro.minibuilder.swcparser.SWFParser;

import ro.minibuilder.swcparser.SWCParser;

に変更
65行目

// 追加ライブラリ
// Progression4
[Embed(source="../../../../../assets/Progression4.swc", mimeType="application/octet-stream")] // 追加
private static var Progression4SWC:Class; // 追加

94行目

TypeDB.setDB('global', TypeDB.fromByteArray(new GlobalTypesAsset));

の下の行に

// 追加ライブラリ
// Progression4
TypeDB.setDB('progression4', SWCParser.parse(new Progression4SWC));

156行目

public function loadSWFLib(swfData:ByteArray, fileName:String):void
{
	TypeDB.setDB(fileName, SWFParser.parse(swfData));
}

public function loadSWFLib(swfData:ByteArray, fileName:String):void
{
	TypeDB.setDB(fileName, SWCParser.parse(swfData));
}

に変更すると現在ダウンロードできるものでも同じようにできると思います。
————————————————————————————
*エディタのフォントの変更の方法
————————————————————————————
net.wonderfl.editor.core.FTETextField.asの
106行目

_defaultTextFormat=new TextFormat('_typewriter', 12, 0xffffff);

を以下のように変更します。

_defaultTextFormat=new TextFormat('OsakaMono', 12, 0xffffff);

————————————————————————————

* 他にもwonderflで使われているswcファイルをいろいろと読み込んでやってみると多く読み込むと少し起動するのが重たくなりました。
* あまりローカルで使う意味はないのかも知れないけれど、勉強会とかでメモを取る時や、他の人のパソコンを借りる時とか、たまたま行ったマンガ喫茶のパソコンでActionScriptを無性に書きたくなった時とか用に、「.App」や「.exe」にしてUSBメモリの中に入れておいてもいいかなと思いました。(Airだとインストールしないといけないので)
*wonderflで使われているswcファイルを全部入れても20Mぐらいです。

  1. Editorリニューアルしました。新しい方もお試しください。キーバインドでswcをロードする関数を当てるべきでしたね。すみません。

    • admin
    • 2010 06/24 11:23am

    コメント頂けるなんて恐縮です。
    ありがとうございます。
    それから、Editorのリニューアルおめでとうございます。
    右クリックでファイルをsaveとか進化してるんですね。
    ソースも読んでて勉強になります。

  1. トラックバック 0

return top