アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

Googleデスクトップ ガジェット作成に挑戦してみました

お久しぶりです。
最近、買って1年の携帯が破損した笹亀です。

最近Macにも慣れてきて、新商品を見るとそろそろWindowsノートが恋しくなってきました。
そんな気持ちになってしまったので、WindowsGoogleデスクトップのガジェット作成に挑戦してみたいと思います。
Googleデスクトップ ガジェット作成にはGoogleデスクトップAPIを使用して作成します。
開発ツールとしてGoolgleがSDKを用意しており、こちらを使用して作成します。
これから、簡単なガジェット作成をしてみたいと思います。

まずはWindowsXPGoogleデスクトップSDKをインストールします。
私はBootCampで入れたWindowsXP上にインストールしました。
 ※GoogleデスクトップMac用のもあるんですね
Googleデスクトップhttp://desktop.google.com/ja/index.html?ignua=1
SDKhttp://desktop.google.com/downloadsdksubmit?hl=ja
 ※なぜか日本語版がうまくダウンロードできなかったので頑張って英語版で動かします。

ダウンロードしたSDKを解答し、作成ツールを起動させます。
実行するファイルは「\tools\designer_en.exe」です。

起動後に、プロジェクトを新規で作成します。


「Gadget→Settings」からガジェットに関する基本的な情報を入力します。
 ※英語版だと日本語を入力するとちゃんと保存されないので注意しましょう


次にボタンとテキストエリアを作成して簡単なイベントを起こしてみたいとおもいます。
まずは読み込まれているmain.jsにアクションを起こす関数を準備します。

簡単ですね^^
main.js


function view_onOpen() {
  edit1.value='TestHelloWorld';

}

function message() {
  alert('aaaaaa');
  edit1.value='Submit';
}


次にボタンとテキストエリアを準備してプロパティのonClickに記述します。


このプロパティーウィンドウを見るとVBを思い出します^^

さて、保存をしてプレビューを実行してみると...あら?
ボタンをクリックしてもちゃんと動きません><;
view_onOpenは正しく動作していましたが、
ボタンクリックのイベントがダメでした。
何度か試してみてもやはり動きません。。

原因を調査してみましたが、main.xmlを見てみるとやはりイベントの記述が入っていません(イベントのプロパティが機能していない?)
ためしにsampleフォルダに入っているものを実行しても最初は正しく動作しますが、
main.xmlを「Source」に切り替えて、再度プレビューで実行してみると動かなくなります。
う~ん、困りました。
個人的に作ってみたいものがあったのですが、
イベントがちゃんと動かないということでとても残念です。
プロパティで設定したイベントがちゃんと動かなかない原因はいまだにわからないままです。(結構悩みました)

ためしに手動(Source)でmain.xmlのbutton箇所にonclickを追加追加したら、ちゃんと動作しました。


<view height="150" width="250" onopen="view_onOpen()">
  <img enabled="true" src="stock_images\background.png"/>
  <edit height="18" name="edit1" width="130" x="32" y="29" value="input text"
   />
  <button height="15" name="button1" width="65" x="38" y="56" downImage="stock_images\button_down.png"
    image="stock_images\button_up.png" overImage="stock_images\button_over.png"
    caption="button" onclick="message()"/>
  <img name="img1" visible="false" x="103" y="92" src="stock_images\image.png"
   />
  <script src="main.js" />
</view>


私の勘違いで、プロパティで設定したイベント処理を動かす方法をご存知の方がいらっしゃいましたら、
私にも教えていただけたら、非常にうれしいです^^