2009年9月17日木曜日

dojox.gfx の createImage で画像が表示されない

dojox.gfx の createImage を使って画像を表示できないという問題の解決方法をメモしておきます.

surface = dojox.gfx.createSurface(parentNode, 400, 300);
image = surface.createImage({x: 0, y: 0, width: 400, height: 300, src: "image.jpg"});
image.rawNode.removeAttribute("fill");


[1]のページを手掛かりに読み進めてみると,上記の関数によって作られる SVG の要素に値が none の fill 属性が設定されていることが原因のようです.この問題はすでに解決済みのようですが,正式版(バージョン1.3.2)にはまだ反映されていないようです.

そういうわけで,とりあえず,上のコードの3行目を追加してみました.これで原因となっている属性を消せるので,画像が表示されるようになります.

[1] Surface createImage fails on Firefox 3.5

2009年9月13日日曜日

Eclipse Galileo に Subversive をインストールする方法

Eclipse Ganymede に Subversive をインストールしたので,その手順をメモしておきます.
  1. 「Help」 -> 「Install New Software...」を選択
  2. 「Work with」で「Galileo - http://download.eclipse.org/releases/galileo」を選択
  3. 「Collaboration」 -> 「Subversive SVN Team Provider (Incubaion)」を選択
  4. 「Next」を選択
  5. 「Next」を選択
  6. 「I accepted the terms of the license agreements」を選択
  7. 「Finish」を選択
  8. 「Help」 -> 「Install New Software...」を選択
  9. 「Add」を選択
  10. 「Name」に「Subversive SVN Connectors」と入力
  11. 「Location」に「http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/」と入力
  12. 「OK」を選択
  13. 「Subversive SVN Connectors」->「SVNKit 1.3.0 Implemenation (Optional)」を選択
  14. 「Next」を選択
  15. 「Finish」を選択
  16. 「Yes」を選択

[1] Eclipse Galileo (3.5)にSubversiveをインストールする方法

2009年9月12日土曜日

Dojoで独自モジュールのクラスを作成する方法

Dojoで独自モジュールのクラスを作成する方法をメモしておきます.なお,以下の内容は,Dojoライブラリに含まれるdojo.jsを${APPHOME}/js/dojo/dojoに配置した状況で,${APPHOME}/jsにmizomemoモジュールのHogeHogeクラスを定義し,そのインスタンスを${APPHOME}/hogehoge.html内で生成する場合の説明です.

1. ${APPHOME}/js/mizomemo/HogeHoge.js の内容を次のようにする.

dojo.provide("mizomemo.HogeHoge");

dojo.declare("mizomemo.HogeHoge", null, {
  // フィールドやメソッドを定義する
});


2. ${APPHOME}/hogehoge.html の内容を次のようにする.

<script type="text/javascript" src="js/dojo/dojo/dojo.js" djConfig="parseOnLoad: true, modulePaths: {'mizomemo': '../../mizomemo'}"></script>
<script type="text/javascript">
<!--
dojo.require("dojo.parser");
dojo.require("mizomemo.HogeHoge");

dojo.addOnLoad(function() {
  var hogehoge = new mizomemo.HogeHoge();
});
// -->
</script>


[1] Dojoのモジュールシステム