Google デスクトップ
 Google デスクトップ サイドバーガジェット入門



開発者向けフォーラム

SDK のダウンロード

ガジェットの送信

デスクトップ ブログ (英語)

目次


はじめに

Google デスクトップ Google ガジェット API には、JavaScript や VBScript などのスクリプト言語でサイドバーの ガジェット (旧プラグイン) を作成するためのオブジェクトやメソッドが含まれています。 このガイドでは、Google デスクトップガジェット作成ツールでこの API を使用してガジェットを作成する方法を説明します。 作成ツールは統合された開発環境で、ドラッグ アンド ドロップ コンポーネントを使用してガジェットのユーザー インターフェースを設計したり、サイドバー以外の場所でガジェットをテストすることができます。

このガイドには、インデックスクエリアクション、またはイベント API などの、Google デスクトップ API のガジェット以外の情報やスクリプトベース以外の情報は記載されていません 。 これらの API の詳細については、リンク先のドキュメントを参照してください。

デスクトップのスクリプトベースのガジェットは、下記のファイルおよびパッケージで構成されます。

  • ガジェットに関するメタ情報を含む gadget.gmanifest XML ファイル。
  • ガジェットのメイン ビューを定義する main.xml ファイル。 ガジェットの表示ウィンドウを構成する UI やオブジェクトからなるビュー
  • ガジェットのオプションのビューを定義する options.xml ファイル (任意)。
  • ガジェットの機能を実行するために必要な JavaScript または VBScript のコードを含むファイル。
  • ボタン、チェックボックスなどのユーザー インターフェース要素、ガジェットで表示する画像、またはガジェットに関連付けるアイコンなどで使用する画像ファイル。
  • ガジェットの UI で使用する各言語用のフォルダおよびファイル (任意)。

作成ツールでは、ファイルの作成後にすべてのファイルがガジェット名.gg ファイルに圧縮されます。.ggGoogle Gadget を意味しています。 作成ツールを使用しない場合は、ファイルを圧縮してからファイル名のサフィックスを .gg に変更します。

ガジェットを配布するには、http://desktop.google.co.jp/pluginsubmit?hl=ja またはその他の方法により、この .gg ファイルを送信します。

ユーザーが .gg ファイルベースのガジェットをインストールすると、Google Desktop のインストーラが gadget.gmanifest ファイルの情報を使用して、ファイルを解凍し、インストールおよび登録を行います。

デスクトップ 4.0 より前のバージョンでは .gg ファイルを処理できないため、 バージョン 4.0 より前のデスクトップを使用するユーザーは .gg 形式のガジェットは使用できません。 ただし、以前に作成したプラグインを Google デスクトップ 4.0 用のガジェットに変換することができます。変換するには、必要な .xml ファイルと .gmanifest ファイルを作成し、コードを一部修正します。

Google デスクトップガジェット作成ツールを使用して、スクリプトベースのサイドバーガジェットを開発および配信する手順は下記のとおりです。

  1. Google デスクトップ SDK から designer.exe を実行して、Google デスクトップガジェット作成ツールを起動します。
  2. [ファイル]、[プロジェクトの新規作成] の順にクリックします。
  3. ファイル ウィンドウで [プロジェクト設定] をダブルクリックして [プロジェクト設定] ダイアログを表示し、 必要な情報をすべて入力します。 作成ツールでは、この情報を使用して gadget.gmanifest ファイルを作成します。
  4. UI 要素をドラッグ アンド ドロップして、作成ツールの表示ウィンドウでガジェットの UI を作成します。
  5. 複数のボタン用画像など、必要に応じてプロジェクトの UI 画像ファイルを追加します。 画像を追加するには、Windows Explorer などの外部のファイル ブラウザを使用します。 該当するファイルをプロジェクト フォルダに追加するか、既存のファイルのコンテンツを上書きします。
  6. UI 要素を順番に選択し、ガジェットに合わせて プロパティおよびイベント値を設定します。 Cntl-S を押して、編集内容を保存します。
  7. 必要に応じて、[プロジェクト]、 [オプション ビューの追加] の順にクリックし、options.xml で定義したオプション ビューをガジェットに追加できます。 オプション ビューを追加するには、手順 4 から 6 を繰り返します。
  8. main.js ファイルを開き (または、別のスクリプト ファイルを作成して開くこともできます)、UI 要素イベントが呼び出す関数を作成します。 Cntl-S を押して、編集内容を保存します。
  9. ガジェットをテストします。
    1. 上部にある [プレビュー] タブをクリックし、完成したガジェットを表示ウィンドウに表示します。
    2. [表示]、[デバッグ コンソール] の順にクリックし、デバッグ コンソールを開きます。 必要なメッセージを表示するよう設定を調整し、表示ウィンドウとデバッグ コンソールの両方が完全に表示されるよう作成ツールのウィンドウのサイズを調整します。
    3. 実際にガジェットを使用して機能をテストします。
    4. エラーが発生した場合は、コードまたは UI のプロパティなどを修正します。 修正を保存してから [表示]、[更新] の順にクリックして、ガジェットを最初の状態にリセットします。 エラーが発生しなくなるまで、テストを繰り返し行います。
    5. エラーが発生しない場合は、[表示]、[更新] の順にクリックして、ガジェットを最初の状態にリセットします。 作成したガジェットが問題なく機能するようになるまで、テストを繰り返し行います。
  10. [プロジェクト]、[パッケージの作成] の順にクリックして、プロジェクトのすべてのファイルを プロジェクト名.gg ファイルに圧縮します。
  11. .gg ファイルを http://desktop.google.co.jp/pluginsubmit?hl=ja から送信して、ガジェットを配布します。

ガジェットをテストする前などは特に、作業のたびにファイルを保存するようにしてください。ファイルを保存するには、Cntl-S を押すか、[ファイル]、[保存] の順にクリックします。

作成ツールには、ファイルをプロジェクト、フォルダ、またはサブフォルダに追加する機能はありませんのでご注意ください。 [ファイル]、[プロジェクトの新規作成] の順にクリックすると、最初にファイル ウィンドウに表示されるように、いくつかのファイルが作成されますが、作成ツールを使用してガジェットのフォルダにファイルを追加または削除することはできません。

プロジェクト フォルダからファイルを追加または削除するには、Windows Explorer などの外部のファイル ブラウザ ツールを使用する必要があります。 これは、ガジェットに関連付ける大きいアイコンを含む plugin_large.gif など、ガジェット作成ツールで作成したファイルのコンテンツを上書きする場合も同様です。


スタート ガイド

Google デスクトップガジェット作成ツールを起動するには、Google デスクトップ SDK に含まれている designer.exe を実行します。 最初、作成ツールは右のように表示されます。

作成ツールの起動時

作成ツールではガジェットをプロジェクトとして参照します。 このため、新しいガジェットを作成するには、下記の手順を行います。

  1. [ファイル] メニューの [プロジェクトの新規作成] をクリックします。
  2. 右のようなダイアログが表示されます。
  3. 下部にある [ファイル名:] フィールドにガジェットの名前を入力します。
  4. [保存] ボタンをクリックします。

[新しいプロジェクト名] ダイアログ

ガジェットに名前を付けると、作成ツールでプロジェクト用のフォルダといくつかのファイルおよびフォルダが作成されます (詳細については、「ファイル ウィンドウとファイル」を参照してください)。 このとき、作成ツールのウィンドウは右のように表示されます。

作成ツール ウィンドウ

[プロジェクト設定] ダイアログと gadget.gmanifest ファイル

[プロジェクト設定] ダイアログを開くには、ファイル ウィンドウの [プロジェクト設定] をダブルクリックします。 このダイアログでは、ガジェットに関する基本的な情報を入力します。作成ツールでは、この情報を使用して、gadget.gmanifest ファイルを作成します。

[プロジェクト設定] ダイアログ

gadget.gmanifest ファイル

必須の gadget.gmanifest ファイル (XML 形式) では、ガジェットを説明するメタデータと、ガジェットの作成前にインストールする必要があるコンポーネントを指定します。 このファイルのコンテンツの多くは、[プロジェクト設定] ダイアログで指定できますが、手動で編集することもできます。

manifest ファイルのコンテンツは <gadget> 要素で構成され、この要素のパラメータ minimumGoogleDesktopVersion では、このガジェットを実行できる最も古い Google デスクトップのバージョンを指定します。 要素には、必須の <about> 要素とオプションの <install> 要素があります。

<about> 要素には、下記のサブ要素を含めることができます。

  • <id> : ガジェットの CLSID。 必須。
  • <name> : ガジェットの名前。必須。
  • <description> : ガジェットの機能の簡単な説明。 必須。
  • <version> : ガジェットのバージョン番号。
  • <author> : ガジェットの作成者。 必須。
  • <authorEmail> : 作成者の連絡先のメールアドレス。
  • <authorWebsite> : 作成者のウェブサイトの URL。
  • <copyright> : 著作権情報。
  • <aboutText> : ガジェットの [概要] ダイアログに表示するテキスト。
  • <smallIcon> : ガジェットのタイトル バーに表示する 12×12 ピクセルのアイコン。
  • <icon> : ガジェットの [概要] ダイアログとアラート UI (ガジェットでサポートされている場合) に表示する 32×32 ピクセルのアイコン。
  • <eventAPI> : 含めた場合 (値を取らないため <eventAPI /> の方が適切) は、ガジェットで Google デスクトップ イベント API を使用できます。 登録は自動的に処理されます。
  • <displayAPI usersNotifier="true"/> : usersNotifiertrue に設定されている場合は、サイドバーの UI 通知が有効になります。 登録は自動的に処理されます。
  • <queryAPI allowModifyIndex="true"/> : allowModifyIndextrue に設定されている場合は、ガジェットで Query API とインデックス通知を使用できます。 登録は自動的に処理されます。

<id><name>、および <description> 要素には必ず値を指定してください。 また、<version><author><authorEmail><authorWebsite><copyright><aboutText><smallIcon>、および <icon> 要素も値を指定することを強くお勧めします。 <authorEmail></authorEmail> などの要素は値を指定しないことも 可能ですが、指定することをお勧めします。

下記に、デジタル時計ガジェットの gadget.gmanifest ファイルの例を示します。



<gadget minimumGoogleDesktopVersion="4.2006.505.0">
  <about>
    <id>5EBA73D8-8A97-47de-A373-2BCBDCA3D539</id>

    <version>1.0.0.0</version>
    <author>Google</author>
    <authorEmail></authorEmail>
    <authorWebsite>http://desktop.google.com/plugins.html</authorWebsite>

    <copyright>Copyright (c) 2006 Google Inc.</copyright>
    <description>デジタル時計で時刻を一目で確認</description>
    <aboutText>&strAboutText</aboutText>
    <smallIcon>gadget_small.gif</smallIcon>

    <icon>gadget_large.gif</icon>
  </about>
</gadget>

<gadget> 要素内には必須の <about> 要素のほか、オプションの <install> 要素を指定できます。この要素では、フォントなどガジェットの作成前にインストールする必要のあるパッケージ コンポーネントをリストします。 下記に例を示します。


<install>
  <font src="mcfont.ttf"/>
</install>

ファイル ウィンドウとファイル

ファイル ウィンドウには、ガジェットの配布に使用する ガジェット名.gg ファイルに圧縮するディレクトリやファイルが表示されます。 トップレベルのディレクトリ名は、[プロジェクト設定] ダイアログで指定した名前となります。 ディレクトリには最初の状態で 2 個のディレクトリと 5 個のファイルが含まれています。

  • 1033 ディレクトリ: 1033 は英語 (アメリカ) の言語 ID です。 このディレクトリには strings.xml ファイルがあり、ここにガジェットの UI で使用する英語 (アメリカ) 版のすべての文字列を保存します。 詳細およびその他の言語を使用する方法については、このガイドの「グローバル化」を参照してください。
  • [プロジェクト設定]: ダブルクリックすると [プロジェクト設定] ダイアログが表示されます。
  • main.js: デフォルトの JavaScript ファイルで、ガジェットの動作およびイベント処理を実行する関数を作成します。 ダブルクリックすると、表示ウィンドウでファイルを開いて編集できるようになり、このビューのタブが表示ウィンドウ エリアの上部に追加されます。 ファイルの編集が終わったら、[ファイル]、[保存] の順にクリックするか、Cntl+S を押して、編集内容を保存します。
  • main.xml: ガジェットの UI レイアウトまたはビューを定義する XML ファイルです。 このエントリをダブルクリックすると、表示ウィンドウの上部にある [main.xml] タブを押した場合と同じように、表示ウィンドウに main.xml のコンテンツが表示されます。 UI 要素を表示ウィンドウのメイン ビューにドラッグ アンド ドロップしてプロパティ値を設定すると、このファイルのコンテンツも同じように変更されます。 ただし、このファイルを表示ウィンドウから直接編集することはできません。 このファイルを編集するには、Emacs、vim、Notepad などの外部のファイル エディタを使用する必要があります。
  • plugin_large.gif: ガジェットに関連付ける大きいアイコンの画像を含むファイルです。 ガジェットで使用する大きいアイコン (32×32 ピクセル) を含む同じ名前のファイルでこのファイルを上書きします。
  • plugin_small.gif: ガジェットに関連付ける小さいアイコンの画像を含むファイルです。 ガジェットで使用する小さいアイコン (12×12 ピクセル) を含む同じ名前のファイルでこのファイルを上書きします。
  • stock_images ディレクトリ: ボタンやチェックボックスなど、既定の UI コンポーネントの画像ファイルが含まれます。 通常、これらのファイルは、独自の画像ファイルで置き換えるか、コンテンツに独自の画像を含めて上書きします。

ファイル ウィンドウに表示されるファイルのコンテンツを追加、削除、コピーするには、Windows Explorer などの、作成ツール以外のファイル ブラウザを使用する必要があります。 ファイル ウィンドウはガジェットのフォルダのコンテンツを操作するのではなく、表示するためのものです。

ファイル ウィンドウ

表示ウィンドウ

中央の表示エリアには、最初の状態で灰色の四角い画面の中に白色の四角形が表示されています。 白色のエリアはガジェットの現在の外観で、view オブジェクト全体を表しています。view オブジェクトは XML ファイルにあり、ガジェット全体の外観を表します。 ガジェットの UI 要素を定義せずに作成ツールを起動した場合、表示ウィンドウは右のスクリーンショットのように空白で表示されます。 この白色のエリアにコンテンツを追加すると、サイズなどの view オブジェクト全体のプロパティを変更できるようになります。

表示ウィンドウ

タブ

ウィンドウの中心にある表示ウィンドウ エリアには、最初の状態で上部と下部に 2 つずつ、合計 4 つのタブが表示されています。 ファイル ウィンドウからファイルを開き、main.js タブを上部に追加する方法については、既に説明したとおりです。 ここでは、上部にタブを追加または削除する別の方法について説明します。

  • 上部のタブ:
    • main.xml: このファイルを選択すると、表示ウィンドウ エリアにガジェットの main.xml ファイルのコンテンツが表示されます。 選択した下部のタブに応じて、XML コンテンツにより定義されたガジェットの UI、または実際の XML コードのいずれかが表示されます。
    • プレビュー: ガジェットの UI が表示され、さらに UI 要素に関連付けられたスクリプトまたは関数が実行されます。 この機能を使用して、サイドバーおよび Google デスクトップ以外の場所でガジェットを実行してテストすることができます。 たとえば、ガジェットにガジェットの背景色をスペクトラムの次の色に変更するボタンがある場合、プレビュー モードでこのボタンを押すと、機能の記述に問題がなければ、ガジェットの背景色が変更されます。 プレビューが有効になっている場合は、下部のタブは表示されません。
  • 下部のタブ:
    • 作成ツール: ガジェットの実際の UI が表示されます。
    • ソース: ガジェットの UI を定義する XML コードが表示されます。
タブ

書き込みビューの XML ファイル

作成ツールでは、UI 要素をドラッグ アンド ドロップしたり、メイン ビューまたはオプション ビューでプロパティを設定することができます。 これらの操作を行うと、該当のビューについて記述した XML ファイル (main.xml または options.xml) が自動的に更新されます。 XML 要素を追加または削除、プロパティ値を設定した場合も更新されます。

XML ファイルは手動で編集することもできます。 そのため、まず XML ファイルのフォーマットについて説明し、その後で作成ツールを使用してオブジェクトをドラッグ アンド ドロップしたり、プロパティを設定する方法を説明します。

下記の API リファレンスでは、ガジェットで定義できる要素のプロパティ、メソッド、およびイベントとそのビューを一覧で説明します。この場合のビューとはウィンドウの全体的な外観を意味しています。 XML ビュー ファイルでこれらの要素を使用して、ガジェットの UI コンポーネント、レイアウト、および動作を指定できます。 ガジェットのメイン ビューは、main.xml XML ファイルの <view> 要素で定義されています。この要素は、新しくプロジェクトを作成する際に作成ツールで自動的に定義されます。 ガジェットにオプションのビューがある場合は、別の <view> 要素を定義する options.xml ファイルも含める必要があります。 <view> 定義内は XML 要素で、ビューを構成する UI オブジェクトを定義します。 たとえば、main.xml ファイルには下記のような記述が含まれます。

<view width="200" height="200">

<button image="button.png" overImage="button_over.png"
downImage="button_down.png" onclick="button_clicked()"/>

</view>

この記述では、ボタンを含む 200×200 ピクセルのビューを定義しています。 また、関連する button オブジェクトのプロパティを設定して、ボタンの通常の状態、マウスを置いた状態、ボタンを押した状態のそれぞれに異なる画像を指定することもできます。 buttononclick イベントを使用して、ユーザーがボタンをクリックしたときに、別の場所で定義された button_clicked() 関数を呼び出すことができます。

XML でプロパティを指定するには、要素に property="value" を追加します。 要素に event="script" を追加すると、XML でイベント スクリプトレットを指定できます。 DHTML では、name プロパティがある場合のみ、作成したスクリプトから要素を操作できます。 下記に例を示します。

<button name="sample_button" ... />

要素に名前を付けると、スクリプトで要素にアクセスして操作したり、要素に関連付けられているメソッドを呼び出すことができます。

sample_button.property = "新しい値";
sample_button.event = "新しいスクリプト";
sample_button.method();

専用の .jsファイル または .vbs ファイルを含む、.gg ファイル パッケージ以外の場所で定義されたスクリプト関数を使用したり (上記のボタン例で使用した button_clicked() 関数など)、<view> 定義内にスクリプト化された関数を含めることができます。 下記に例を示します。


<view width="200" height="200" onopen="view_onopen()">
 <script language="jscript"><!--
  function view_onopen()
  {
    foo( "bar()", 1000 );
  }

  function bar()
  {
    x = 2 + 2;
  }

 --></script>

 <div background="#FFFFFF" width="200" height="200"/>
</view>

view オブジェクトには、contentArea オブジェクトを 1 つだけ定義できます。 contentArea の詳細については、API リファレンスを参照してください。


ガジェットのイベント処理

ガジェットのイベント モデルは DHTML に似ています。 特に viewbasicElement、およびこれらの下位のオブジェクトなど、一部のオブジェクトについては、下記の API リファレンスで関連するイベントを説明しています。 これらのオブジェクトのイベントの処理方法を指定するには、オブジェクトの XML 定義でイベントと操作時の動作を定義します。 たとえば、view オブジェクトの onmouseover イベントに対する動作を指定するには、下記のように記述します。

<view onmouseover="do_something_when_mouse_is_over;"/>

ここで、do_something_when_mouse_is_over には、alert('mouse over!') などのスクリプトか、view_onmouseover() などのスクリプト ブロックで実行された関数の呼び出しが入ります。

DHTML では、イベントおよびイベントのハンドラに引数は必要ありません。 代わりに、スクリプトでは view.event オブジェクトを使用してイベントに関する情報を取得します。 イベント ファイルは一度に 1 つしか実行されないため、ビューの event オブジェクトには現在実行されているイベントの情報が含まれます。

event.returnValue プロパティを使用して戻り値を設定できます。 DHTML では、この値はイベントのデフォルトの動作を実行するかどうかを判別するブール型となります。 下記に例を示します。

event.returnValue = false; // デフォルトの動作を無効にする
event.returnValue = true; // デフォルトの動作を有効にする
// 戻り値を指定せず、デフォルトの動作を有効にする

特に、event.returnValue プロパティは下記のいずれかとなります。

  • view.event.returnValue = false; //view イベントのデフォルトの動作を無効にする
  • view.event.returnValue = true; //view イベントのデフォルトの動作を有効にする

下記に例を示します。


    <edit onkeypress="edit_onkeypress()"/>
    function edit_onkeypress()
    {
     if( event.keyCode == 'j' ) event.returnValue = false;
    }
    

コントロールがこの edit オブジェクト内にある場合は、キーを押すたびに edit_onkeypress() 関数が呼び出されます。j キーを押すと、event.returnValuefalse に設定されているため、イベントおよびイベントの通常の戻り値がキャンセルされ、j キーを押していないかのように処理されます。その結果、この <edit> 要素では文字 j を入力できなくなります。


4.0 以前のオブジェクト イベントの処理

現在のガジェットオブジェクト セットには、4.0 以前のバージョンのオブジェクトも含まれています。 特に googleTalkcontentItem など、上記のイベント処理モデルとは異なる処理モデルを持つものがあります。 下記の API リファレンスでは、これらのオブジェクトはイベントではなく、イベント ハンドラに関連付けられています。

4.0 以前のオブジェクトのイベントを処理するには、特定のイベントにハンドラ関数を設定する必要があります。 これらのハンドラ関数は、JavaScript または VBScript のブロック内でのみ設定できます。4.0 のオブジェクトのように XML 定義内で設定することはできません。

イベント ハンドラは書き込み専用のため、関数の割り当てのみが可能です。 特定のハンドラを設定していない場合は、関連するイベントに対してデフォルトの動作が実行されます。 API リファレンスでは、各イベント ハンドラのプロトタイプ シグネチャを記載しています。イベント ハンドラに割り当てる関数は、そのプロトタイプのシグネチャと一致している必要があります。

オプションとメニューのサンプル コードの関連部分で、イベント ハンドラの使用方法を検証します。


    //ガジェットプロパティが "Hello World" の例と同じように設定されています。
    // ...
    //ガジェットオブジェクトの onAddCustomMenuItems イベントを
    // スクリプトで定義した関数に関連付けます。
    plugin.onAddCustomMenuItems = AddCustomMenuItems;  // メニュー アイテムを追加するハンドラ    

    // ...

    function AddCustomMenuItems(menu) {
      // さまざまなアイテムをメニュー アイテムとして追加し
			// 選択しているアイテムをテストします
      var itemLayout = options.GetValue("item_layout");
      for (var i = 0; i < menuItems.length; ++i) {
        if (i == itemLayout) {
          menu.AddItem(menuItems[i], gddMenuItemFlagChecked, MenuItemClicked);
        } else {
          menu.AddItem(menuItems[i], 0, MenuItemClicked);
        }
      }    
    }

    // ...
   

ここでは、plugin オブジェクトの onAddCustomMenuItems イベントに AddCustomMenuItems 関数を割り当てています。 割り当てる値は関数名のみで、完全なパラメータ シグネチャを割り当てることはできません。 このイベントは、サイドバーがガジェットのメニューを表示する前に初期化する場合に発生します。

AddCustomMenuItems のプロトタイプは AddCustomMenuItems(menu) であるため、割り当てられた関数も menu オブジェクトの関数を 1 つだけ取ります。


オブジェクトの概要

このセクションでは、さまざまなオブジェクトの使用方法とそれぞれの関係について説明します。

    gadget オブジェクト

gadget は、全体的なガジェットレベルにおいて 2 つの異なる目的で使用されます。

  • gadget.debug メソッドはデバッグ目的で使用し、デバッグ モードでの実行中にデバッグ コンソールに選択した文字列を表示します。

    デバッグ モードで実行するには、ガジェットを解凍し、解凍したファイルの中の gadget.gmanifest ファイルをダブルクリックします。 これにより、ガジェットを開発する際、テストのたびにガジェットを圧縮する必要がなくなります。

    デバッグ メッセージは、gadget.gmanifest をクリックしてフォルダからガジェットを起動した場合のみデバッグ コンソールに表示されます。 ガジェットを .gg ファイルから起動した場合は表示されません。 メッセージは、作成ツールのデバッグ コンソールまたは Google デスクトップ SDK に含まれている gdpconsole.exe に表示されます。

  • gadget.storage メソッドは、ガジェットのパッケージ全体を構成するファイルに対して使用します。 このメソッドにより、パッケージからファイルを抽出または開くことができます。 storage オブジェクトには次のいずれかの filename 引数が渡されます。
    • "foo.xml" は、.gg ファイルのルート フォルダにある foo.xml を探します。 このファイルが見つからない場合は、各言語用のフォルダ (例: 1033\foo.xml) を探します。
    • "subfolder\foo.xml" は、.gg ファイルの subfolder フォルダにある foo.xml を探します。 このファイルが見つからない場合は、各言語用のフォルダの subfolder フォルダ (例: 1033\subfolder\foo.xml) を探します。
    • "c:\bar.xml" は、c:\ ドライブにある bar.xml を探します。 正確なパスを指定する必要があります。

    view オブジェクト

ガジェットの各ウィンドウ全体の外観について view オブジェクトを定義する必要があります。 このオブジェクトは、それぞれ個別の .XML ファイルで定義する必要があります。 作成ツールでは、プロジェクトを作成すると view オブジェクトを設定した main.xml ファイルが自動的に作成されます。 また、options.xml ファイルを作成して、独自の view オブジェクトを設定することもできます。

view オブジェクトのプロパティとメソッドでは、ビュー ウィンドウ全体の動作を定義してアクセスします。 ウィンドウの外観を構成する UI 要素、ウィンドウのサイズ、ユーザーがサイズを変更できるかどうか、スクリプトの実行を管理するタイマー、UI 要素の追加または削除、メッセージまたは確認ボックスの表示などを定義できます。

view オブジェクトのイベントは、このビューが最初に開かれたときや、さまざまなマウス ボタン、キー、サイズ変更、プロパティ値の変更、カーソル アクションなどに基づいて実行されます。

    basicElement および UI オブジェクト

basicElement は、特定のビューの外観を構成するさまざまな UI 要素の親オブジェクトです。 basicElement 自体はインスタンス化されず、下位の UI オブジェクトの共通プロパティやイベントのセットを提供します。

プロパティでは、要素のサイズや位置、要素の名前、鮮明度や透明度、およびその他の一般的な UI 要素のプロパティを指定します。

イベントは、通常 UI オブジェクトに関連付けられるもので、マウスのクリックやホイールのスクロールに関する動作、要素のドラッグまたはドロップ、キーボード フォーカスの移動、キーおよびカーソルの操作などがあります。

定義できる basicElement の下位の要素には下記のものがあります。

  • button: プロパティでボタンにさまざまな画像やステータスを設定できます。
  • checkbox: プロパティでチェックボックスにさまざまな画像やステータスを設定できるほか、チェックボックスのオンまたはオフを判断します。 ボックスがオンまたはオフになるとイベントが実行されます。
  • object: 埋め込み型のウィンドウのない ActiveX コントロールです。 主に Windows Media Player を埋め込む場合に使用します。
  • div: 要素の背景色または画像を設定するために使用します。
  • edit: プロパティでテキスト コンテンツの外観を制御したり、テキスト コンテンツを設定または取得できます。 コンテンツが変更されるとイベントが実行されます。
  • img: プロパティで表示する画像を設定したり、元のサイズを取得できます。 画像のサイズを変更するメソッドもあります。
  • label: プロパティでラベルのテキストの外観や位置、整列を指定できます。
  • a: プロパティでリンクの外観とリンク先 URL を指定できるリンク オブジェクトです。
  • progressBar: プロパティでステータス バーとそのコンポーネントの外観を指定できます。値が変更されるとイベントが実行されます。

他にも elements オブジェクトがあります。これは basicElement オブジェクトとその下位オブジェクトのコンテナの働きをします。

    options オブジェクト

標準のディクショナリまたはマップとして、オプションとその値を保存します。 下記のいずれかの方法で値を設定できます。
options("key") = "value";
options.item("key") = "value";

通常のディクショナリと同様に、下記の 2 つの方法によりアイテムを追加できます。
options("key") = "value"; // 現在の値に追加するか、現在の値を置き換えます。
options.add("key", "value"); // 値を追加します。既に値がある場合は何も行いません。

defaultValue プロパティにより、キーに関連付けられた実際の値がディクショナリにない場合、キーはデフォルトの値を返します。このため、キーに既存の値があるかどうかを確認する必要がなくなります。 次に例を示します。

options.defaultValue("color") = "red";

ディクショナリは、"color" が要求され、"color" が存在しない 場合は、必ず "red" を返します。 たとえば、下記のような結果が返されます。

options.defaultValue("color") = "red";
options("color") = "blue";
debug.trace(options( "color")); // "blue" と表示されます
options.remove("color");
debug.trace(options("color")); // "red" (デフォルトの値) と表示されます
options("texture") = "bumpy";
debug.trace(options("texture")); // "bumpy" と表示されます
options.remove("texture");
debug.trace(options("texture")); // デフォルト値がないため、"" と表示されます

    4.0 以前のオブジェクト (googleTalkfriendContentItemmenu、DetailsView)

4.0 以前の開発モデルで使用した 4 つのオブジェクト googleTalkfriendContentItem、および menuは、4.0 開発モデルにも含まれています。 コードで googleTalk または menu イベント ハンドラを使用する場合は、4.0 以前のイベント処理モデルを使用する必要があります。 また、その他の UI 要素とは異なり、これらのオブジェクトは basicElement の下位オブジェクトではありません。

googleTalk および friend オブジェクトを使用して、他のマシンで実行されているガジェットと通信できるガジェットを作成する方法の詳細については、Google デスクトップ サイドバー通信 API ドキュメントをご覧ください。

menu オブジェクトとそのメソッドにより、ユーザーがメニュー アイテムをクリックした時にハンドラ関数を関連付けるなど、ガジェットに複数のアイテムを持つメニューを作成できます。

ContentItem オブジェクトは別のマシンで実行中のガジェット間で渡され、contentArea オブジェクトに含まれる UI 要素を構成します。

DetailsView は UI 機能で、ガジェットでサイドバー外の別のウィンドウまたはガジェットに追加情報を表示することができます。 ガジェットでは、この機能を使用して、詳細ビューから通知やイベントを受け取ることもできます。

framework ネームスペース

framework ネームスペースでは、Windows Scripting Host でサポートされない API を検出できるため、ガジェットの実装に役立ちます。 特に、framework.* オブジェクトは basicElement の下位オブジェクトではないため、ガジェットの XML UI オブジェクト定義には表示されません。 framework は、基本的に .NET と同様のオブジェクトのネームスペースで、システム情報の検索に使用します。システム情報は、XML 定義の UI オブジェクトでイベントに呼び出されるスクリプトで使用します。

framework オブジェクトとそのプロパティおよびメソッドにより、下記の操作が可能になります。

  • ファイル参照ダイアログを表示する。
  • 画像ファイルを読み込む。
  • 現在のカーソルの場所を取得する。
  • システム メモリの容量と使用量に関する情報を取得する。
  • システムの無線電波と接続状況に関する情報を取得する。
  • スクリプト コードの実行時間を制御するカウンターを設定、監視する。
  • システムの電源およびバッテリー容量 (総量および残量) に関する情報を取得する。
  • システムのプロセッサに関する情報を取得する。
  • システムの画面のサイズを取得する。

最後に、下記の 2 つの既定のオブジェクトは、Framework ネームスペース内の型にのみ使用できます。

  • point: ポイントを x 軸と y 軸のプロパティで表します。
  • size: 高さと幅のプロパティでオブジェクトのサイズを表します。

framework オブジェクトの使用例として、ノートパソコンのバッテリー残量を示す簡単なガジェットを作成してみます。


<view width="200" height="200" onopen="view_onopen()">
 <script language="jscript"><!--
  function view_onopen()
  {
    setInterval( "update_battery()", 1000 );
  }

  function update_battery()
  {
    percent_used.innerText = system.power.percentRemaining + "%";
  }

 --></script>

 <div background="#FFFFFF" width="200" height="200"/>

 <label name="percent_used" align="center" valign="middle">0%</label>
</view>

この例では、下記の 2 つの要素を持つ 200×200 ピクセルのビューを定義しました。

  • 背景色が白色の <div>
  • percent_used という名前の <label>。最初は 0 % と表示されます。

ガジェットが読み込まれると、view::onopen イベントが実行され、view_onopen() が呼び出されます。 この関数では間隔を指定しているため、update_battery() は 1 秒ごとに呼び出されます。 update_battery() は、framework ネームスペースの system.power.percentRemaining オブジェクトおよびプロパティを使用して、percent_used 要素の innerText を更新します。

この例では、framework.system.power.percentRemaining の前に置く必要はありません。必要に応じて判断してください。


ドラッグ アンド ドロップ UI オブジェクト

ドラッグ アンド ドロップ UI アイコン

ここでは、作成ツールで最初にガジェットの UI を定義する方法を説明します。 下記の 8 つの UI 要素のいずれかの上でマウスをクリックし、白色の表示エリア内のガジェットでこの要素を表示する場所にドラッグします。 マウス ボタンを離すと、UI 要素はガジェットと選択した UI 要素の両方に表示されます。 選択した UI 要素のプロパティとその値は、右にあるプロパティ ウィンドウに表示されます。 表示エリアの UI オブジェクトをクリックすると、選択した状態になります。

UI オブジェクトのすべてのプロパティ、メソッドおよびイベントの説明については、API リファレンスのセクションを参照してください。 下記のオブジェクトは、すべて basicElement オブジェクトから継承されるため、各オブジェクトに指定されていないプロパティやイベントの説明については、basicElement オブジェクトのセクションを確認してください。 8 つの UI 要素は下記のとおりです。

  • Div: ガジェットや UI 要素の背景色の設定に使用されるほか、UI 要素を格納する要素に UI 要素を自動的に挿入または削除するためのフックを提供します。
  • Image: ビューで表示する画像を指定します。
  • Button: ボタンを押すオブジェクトです。
  • Edit: ガジェットのユーザーがテキスト コンテンツを編集できるエリアを指定します。
  • Check: チェックボックス オブジェクトです。
  • Link: HTML リンクを定義します。
  • Text Label: 固定のテキスト ラベル オブジェクトです。
  • Content: ContentArea を格納するオブジェクトです。 使用方法については、API リファレンスを参照してください。

progressbar および object の UI 要素は、作成ツールのドラッグ アンド ドロップ要素として使用することはできませんが、XML コードで定義することができます。 作成ツールでは、ガジェットの XML ファイルを直接編集することはできません。ファイルを編集するには、外部の編集プログラムを使用する必要があります。


要素ウィンドウ

表示ウィンドウに 1 個以上の UI 要素がある場合は、下記のいずれかの方法で要素を選択できます。

  • 表示ウィンドウで要素を 1 回クリックする。
  • 要素ウィンドウで要素名をクリックする。

表示ウィンドウにオブジェクトを先に置いた場合は、要素ウィンドウに view 要素の子として表示され、要素の型は識別子とだけ表示されます。 このため、Button 要素を表示ウィンドウに 2 回ドラッグすると、要素ウィンドウに 2 つのアイテムが表示され、両方とも button に指定されます。 たとえば、要素にButton1 という名前を付けた場合は、要素ウィンドウに button (Button1) と表示されます。

作成ツールで view オブジェクトのプロパティおよびイベントにアクセスするには、要素ウィンドウview エントリをクリックする方法しかないので注意してください。

要素ウィンドウ

プロパティ ウィンドウ

プロパティ ウィンドウには、選択されている UI オブジェクトのプロパティと値が表示されます。 この画面でも、オブジェクトのプロパティ値とそのイベントに関連付ける関数を編集できます。

プロパティ値を編集するには、名前または値をクリックします。 入力できる値は、プロパティの種類によって異なります。

  • ブール型のプロパティの場合は、true および false の値を含む小さいプルダウン メニューが表示されます。 プロパティに設定する値をクリックします。
  • 数値またはテキスト値のプロパティの場合は、値フィールドに新しい値を入力し、Enter を押します。
  • maskdiv背景など、一部のプロパティ値には文字列やファイルを指定できます。 このタイプのプロパティの場合は、3 つのドット付きの小さいボックスが表示されます。 ボックスをクリックすると、[ファイルを開く] ブラウザ ウィンドウが表示され、プロパティ値に設定するファイルを選択できます。 文字列を指定する場合は、値フィールドに入力し、Enter を押します。

必要に応じて、UI オブジェクトの新しいプロパティ値が表示に反映されます。

cursor など、一部のプロパティは指定できる値のセットが定義および制限されています。 作成ツールでは、入力した値がプロパティに指定できる値のセットに含まれているかどうかは確認できません。 ただし、指定できない値を指定してビューを表示しようとすると、エラーが発生します。

また、要素ウィンドウで選択してアクセスできる全体の view オブジェクトには、独自のプロパティとイベントのセットがあります。 たとえば、ビューのサイズを変更する場合、要素ウィンドウで view をクリックし、プロパティ ウィンドウで高さの値を変更します。

イベントの場合は、ガジェットに含めたスクリプト ファイルで定義した関数名を値フィールドに入力します。 たとえば、view オブジェクトの onOpen イベントでは、main.js で定義した view_onOpen() 関数を 値フィールドに入力できます。

プロパティ ウィンドウ

スクリプト ウィンドウ

このウィンドウには、表示されている XML ファイルのガジェットで使用するスクリプト ファイルが表示されます。 スクリプト ファイルは、ガジェットが完成したときに UI XML や画像ファイルと共に圧縮されます。 デフォルトでは、main.js ファイルのみ含まれますが、他のスクリプト ファイルを追加して、main.js ファイルを削除することもできます。

スクリプト ウィンドウにスクリプト ファイルを追加するには、左にある 3 つのアイコンのうち用紙アイコンをクリックします。 これにより、スクリプト ファイルのみ表示するよう設定されたファイル ブラウザが開き、ガジェットのフォルダが表示されます。 追加するスクリプト ファイルを選択して、[開く] をクリックします。 追加するスクリプト ファイルは、作成済みである必要があります。 File-> コマンドとは異なり、スクリプト ファイルがプロジェクト フォルダにコピーされ、作成ツールのファイル ウィンドウに表示されるようになります。 また、表示ウィンドウでアクティブになっているガジェットの XML ファイルに、<script src="filename" /> 行も追加されます。 たとえば、main.xml がアクティブになっている場合は、<script src="filename"/> 行が main.xmlのみ追加され、options.xml には追加されません

スクリプト ウィンドウでスクリプト ファイルをクリックして選択すると、下記の操作を行うことができます。

  • 中央にある [ファイルを開く] アイコンをクリックしてファイルを開いて編集する。 これにより、ファイル名のラベルがついた上部のタブが新しく追加されます。 また、新しいタブがクリックされ、表示ウィンドウがファイル コンテンツの編集ウィンドウに切り替えられます。
  • 右の X のアイコンをクリックして、スクリプト ウィンドウからファイルを削除します。 スクリプト ファイルは、確認ダイアログの表示なしに削除されますが、ファイル ウィンドウには引き続き表示されます。外部のファイル ブラウザ ツールを使用して、ガジェットのフォルダからファイルを削除しない限り、ファイルはガジェットの一部として圧縮されます。

重要な点として、スクリプト ウィンドウにはプロジェクト フォルダに保存されているスクリプト ファイルではなく、表示中のビュー定義 XML ファイルで使用されているスクリプト ファイルが表示されます。

[ファイル]、[新規作成] の順にクリックしてファイルを作成した後に main.xml を見ると、<view> 要素の中に <script src="main.js" /> 行があります。 main.js は、スクリプト ウィンドウとファイル ウィンドウの両方にリストされます。

スクリプト ウィンドウから main.js を削除すると、<script src="main.js" /><view> 要素から削除されます。その結果、ガジェットのビューでファイルに定義されている関数を認識できなくなります。 ファイル自体はプロジェクトのフォルダにありますが、削除する場合は外部のファイル ブラウザ プログラムを使用する必要があります。削除しない場合は、他のプロジェクト ファイルと共に .gg ファイルに圧縮されます。

デフォルトでは新しいプロジェクトを作成すると、main.xml<script src="main.js" /> 行が自動的に作成され、main.js には main.xml で使用する view_onOpen() 関数の定義が作成されます。 代わりの関数の定義を指定したり、main.xml を書き換えることなく、スクリプト ウィンドウから main.js を削除すると、view_onOpen() を使用できなくなるため、エラーが発生します。

スクリプト ウィンドウ

メニュー コマンド

作成ツール ウィンドウの上部には、[ファイル]、[編集]、[表示]、[プロジェクト]、および [ヘルプ] の 5 つのプルダウン メニュー付きコマンドがあります。 ここでは、コマンド別に詳細を説明します。

メニュー コマンド

      [ファイル] メニュー コマンド

[ファイル] には下記の 7 つのメニュー コマンドがあります。

  • [新規作成]: [名前を付けて保存] ダイアログを開き、新しいプロジェクトのフォルダの保存場所と名前を指定できます。 [OK] をクリックすると、新しいプロジェクトが作成ツール ウィンドウに表示されます。 注: 作成ツール ウィンドウにプロジェクトが既に表示されている場合は、新しいプロジェクトを開く前に保存するよう促すメッセージは表示されません。 キーボード ショートカットは Cntl-Shift-N です。
  • [プロジェクトを開く]: [フォルダを参照] ダイアログを開き、既存のプロジェクト フォルダを検索できます。 フォルダを選択したら、[OK] をクリックします。 選択したフォルダに main.xml ファイルがない場合は、エラー メッセージ ポップアップが表示され、処理が停止されます。 ファイルが存在する場合は、選択したプロジェクトが作成ツール ウィンドウに表示されます。 キーボード ショートカットは Cntl-Shift-O です。
  • [プロジェクトを閉じる]: 現在のプロジェクトを閉じ、作成ツール ウィンドウに上部のメニュー コマンド以外は何も表示されなくなります。 開いているプロジェクトを保存するよう促すメッセージは表示されませんので、ご注意ください。 このコマンドには、キーボード ショートカットはありません。
  • [開く]: XML ファイルを表示するよう設定されたファイル ブラウザが開きます。 ファイルを選択して開くと、ファイル名のラベルが付いた上部のタブが新しく作成され、新しいタブが選択されて表示ウィンドウ エリアにファイルのコンテンツが表示されます。 ファイル ウィンドウに表示された新しいファイルはガジェットのフォルダに追加されません。これは、ファイルがプロジェクト フォルダに保存されていないためです。 ファイルをプロジェクト フォルダに追加するには、Windows Explorer などの外部のファイル ブラウザを使用します。 キーボード ショートカットは Cntl+O です。
  • [保存]: 開いているガジェットファイルを保存します。 ファイルを編集した場合や UI オブジェクトのプロパティを変更した場合は、必ず保存してください。 キーボード ショートカットは Cntl+S です。
  • [閉じる]: 表示ウィンドウに表示されているファイルを閉じ、ファイルの上部のタブを削除します。 ファイル自体は、ファイル ウィンドウに存在します。 キーボード ショートカットは Cntl+F4 です。
  • [終了]: main.xml ファイルの変更を保存するかどうかを確認するポップアップが表示されます。 [はい] または [いいえ] のいずれかをクリックすると、Gagdet 作成ツールを終了します。 キーボード ショートカットは Alt+F4 です。

また、最近使用したプロジェクトは、メニュー セクションの [終了] コマンドの上に表示されます。 最近使用したプロジェクトをクリックすると、作成ツールでこのプロジェクトが開きます。

[ファイル] コマンド

      [編集] メニュー コマンド

[編集] には下記の 6 つのメニュー コマンドがあります。

  • [元に戻す]: プロパティ値の変更、UI オブジェクトの移動、新しいオブジェクトの作成など、作成ツールで行った操作を元に戻します。 複数回クリックすると、一連の操作を同じ回数だけ元に戻すことができます。 キーボード ショートカットは Cntl+Z です。
  • [やり直し]: 元に戻す操作を行った場合以外は、グレーで表示されます。前回の元に戻す操作をやり直します。 元に戻す操作を複数回行った場合は、複数回クリックして作成ツールを元に戻す前の状態に復元することができます。 キーボード ショートカットは Cntl+Y です。
  • [切り取り]: 表示ウィンドウで選択した UI 要素に対して、標準的な切り取り処理を行います。 キーボード ショートカットは Cntl+x です。
  • [コピー]: 表示ウィンドウで選択した UI 要素に対して、標準的なコピー処理を行います。 UI オブジェクトをコピーすると、すべてのプロパティ値を含むオブジェクト全体がコピーされます。 たとえば、Button2 という名前のボタンをコピーすると、コピーしたボタンの名前プロパティも Button2 という値になります。 要素ウィンドウには 2 つの完全に同じボタンが表示されます。 キーボード ショートカットは Cntl+c です。
  • [貼り付け]: 表示ウィンドウで選択した UI 要素に対して、標準的な貼り付け処理を行います。 キーボード ショートカットは Cntl+v です。
  • [削除]: 表示ウィンドウで選択した UI 要素に対して、標準的な削除処理を行います。 キーボード ショートカットは DEL です。

[編集] コマンド

      [表示] メニュー コマンド

[表示] には下記の 5 つのメニュー コマンドがあります。

  • [更新]: 作成ツール ウィンドウのさまざまなオブジェクトやウィンドウを更新します。 ガジェットのすべてのグローバル変数およびプロパティ値が再度初期化され、グローバルのスコープ コードが最初から実行されるようになります。 ガジェットは最初の状態にリセットされるので、ガジェットのテストを行う際に便利です。 キーボード ショートカットは F5 です。
  • [次のタブ]: 選択しているタブの右にある上部のタブがクリックされた状態になります。 選択しているタブが最後のタブの場合は、1 周して最初のタブがクリックされた状態になります。 キーボード ショートカットは Cntl+Tab です。
  • [前のタブ]: 選択しているタブの左にある上部のタブがクリックされた状態になります。 選択しているタブが最初のタブの場合は、1 周して最後のタブがクリックされた状態になります。 キーボード ショートカットは Cntl+Shift+Tab です。
  • [デバッグ コンソール]: 作成ツール ウィンドウの下部にあるデバッグ コンソールを開きます。通常のウィンドウ コンテンツで前回使用した時と同じサイズで表示されます。他のコンテンツを元のサイズに戻すには、ウィンドウのサイズを変更する必要があります。 ガジェットをプレビューまたは実行すると、選択したチェックボックスに応じて、デバッグ、情報、警告、またはエラー メッセージが表示されます。 また、メッセージに発生時刻を表示するかどうかを選択することもできます。 デバッグ コンソールを非表示にするには、[デバッグ コンソール] メニュー アイテムを再度クリックします。
  • [プレビュー ウィンドウ]: 表示ウィンドウを変更し、ガジェットを実行中の状態で表示します。これにより UI をテストして機能をチェックできます。 上部の [プレビュー] タブをクリックしても同じ操作を行うことができます。

[表示] コマンド

      [プロジェクト] メニュー コマンド

[プロジェクト] には下記の 3 つのメニュー コマンドがあります。

  • [設定]: [プロジェクト設定] ダイアログが表示されます。 キーボード ショートカットは F3 です。
  • [オプション ビューの追加] では、options.xml ファイルをプロジェクトに追加し、options.xml タブを上部に追加します。各プロジェクトには options.xml ファイルを 1 つしか定義できないため、ファイルを一度追加すると [オプション ビューの追加] はグレーで表示されます。 クリックした後、オプション ビューとその UI を作成してテストする必要があります。作成方法およびテスト方法は、メイン ビューで行った方法と同じです。
  • [パッケージの作成]: ガジェットのファイルを配布用のプロジェクト名.gg ファイルに圧縮します。 キーボード ショートカットは F7 です。

[プロジェクト] コマンド

      [ヘルプ] メニュー コマンド

[ヘルプ] には下記の 2 つのメニュー コマンドがあります。

  • [ユーザー ガイド]: このドキュメントをブラウザ ウィンドウで開きます。
  • [概要]: 作成ツールに関する簡単な情報がポップアップで表示されます。

[ヘルプ] コマンド


サイドバー Gadgets 間の通信

サイドバーガジェットは、次の条件を満たしている場合、他のコンピュータで実行されているサイドバーガジェットと通信できます。

  • 同じガジェットである。Tic-Tac-Toe ガジェットは別の Tic-Tac-Toe ガジェットと通信できますが、スクラッチ パッドガジェットとは通信できません。
  • ガジェット間の通信を行うすべてのユーザーが Google トークにログインしている。

Google トークは、サイドバーガジェットの通信メディアとして機能します。 Google トークにログインすると、ガジェットで Google トークのオンラインの友だちリストを取得できるようになります。 オンラインの友だちリストが取得されると、オンラインの友だちのコンピュータ上で実行されている同じガジェットとの間でデータを送受信できます。 友だちがサイドバーをインストールしていない場合は、代わりにテキスト メッセージを送信できます。

スクリプト ベースのガジェットに通信機能を追加する場合は、グローバル変数 googleTalk を使用して、データの送信を行ったり、ガジェットがデータを受信する際にハンドラ関数が呼び出されるよう設定します。

データ送信の最初の手順では、googleTalkfriends プロパティを参照します。このプロパティにより、Google トークのオンラインの友だちから構成される friend オブジェクトの配列が取得されます。

friend オブジェクトには、5 つのプロパティがあります。

  • name: Google トークに表示される名前。
  • user_id: Google トークのユーザー ID。データ/メッセージ受信パラメータとして、データ/メッセージ送信メソッドに渡されます。
  • email_address: 友だちのメール アドレス。
  • has_sidebar: 友だちがサイドバーをインストールしているかどうかを示すブール値。 存在しない可能性のあるサイドバーにデータを送信する場合は、まずこの値を確認する必要があります。
  • status: 友だちの Google トークのステータス。オンラインは 0、アイドル状態は 1、取り込み中は 2 で表示されます。

スクリプトで Google トークの友だちの配列を取得すると、次のいずれかのメソッドを使用してデータを送信します。

  • SendTalkData(friend_id, data): friend_id のサイドバーによって特定される友だちに、文字列データ (最大 2000 文字) を送信します。 データはメソッドの呼び出しが行われる友だちのサードバーの同じガジェットに送信されます。
  • SendTalkText(friend_id, message): friend_id で特定される Google トーク ユーザーに、最大 2000 文字のテキスト メッセージを送信します。 通常、このメソッドは友だちがサイドバーをインストールしていない場合に使用されます。

データを受信するには、データを処理する関数を googleTalkonReceiveTalkData 関数ハンドラに関連付ける必要があります。 関数のシグネチャは、name(friend_object, data_string) となります。 この関数は、ガジェットがデータを受信するときに必ず呼び出されるため、別のガジェットが送信する可能性のあるすべてのメッセージを処理できるように記述する必要があります。

通信 API を使用するスクリプトガジェットでは、eval() を呼び出して、受信データを実行することがないようにする必要があります。 これは、悪意のあるユーザーがガジェットを変更し、友だちのコンピュータ上で実行されるスクリプトを送信するのを防ぐためです。 受信したスクリプトがローカル権限のもとで実行され、ローカルのファイルおよび情報にアクセスする可能性があります。 これを防ぐには、eval() 呼び出しで受信データを評価しないようにします。

ガジェット通信の例としては、SDK に含まれる Tic-Tac-Toe のサンプル コードを参照してください。



ユーザー インターフェースと操作に関するガイドライン

ガジェットを作成する際は、次の一般的なルールを考慮してください。

  • シンプルでわかりやすく、できるだけ小さいガジェットにする。

    サイドバーに表示できる情報量は非常に限られているため、表示する情報に必要な領域だけを使用します。 シンプルなカラー パレットを使用すると、表示をわかりやすくして、他のガジェットとの干渉を最小限に抑えることができます。

  • 開発中に使いやすさをテストする。

    ガジェットの機能を開発する過程で、他のユーザーにガジェットを使用してもらいます。 UI はわかりやすく、使いにくいものでないか検討します。 特に、ヘルプのコンテンツは明確で役に立つ総合的なものにします。

ユーザーは、異なるサイドバーガジェットでも同じように操作できることを期待しています。 次のセクションでは、すべてのサイドバーガジェットで統一する必要のある、共通の表示スタイルと動作について説明します。



      全般的なデザイン

ガジェットでは、代わりの動作および情報をできるだけ多く提供する必要があります。 具体的には、次のようにします。

  • ガジェットのコマンドをマウスとキーボードの両方で実行できるようにして、メニュー コマンドのキーボード ショートカットを用意する。
  • ツールのヒントを提供する。
  • 必要な場合は詳細ビュー パネルを提供し、右クリック メニューに実行可能な動作を表示する。



      マウス入力

ほとんどのガジェットはマウスで操作するため、特にマウス入力に関する UI はサイドバー全体で統一し、混乱を防ぐ必要があります。 次の主要な3 つのタイル要素の表示スタイルに従って、クリックの種類とそれに対応する動作を統一します。

  • アイテム: ニュースガジェットの記事など、ガジェットのメインのコンテンツを表示します。
    • シングル クリックすると、アイテムを選択し、詳細ビューを開きます。
    • ダブル クリックすると、アイテムを新しいアプリケーション ウィンドウに表示し、サイドバーで選択した状態にします。
    • マウスを置くと、アイテムを一時的に選択します。

  • ウィジット: ボタンやチェックボックスを選択したり、スターを付けるなど、クリックして何らかの動作を行います。
    • シングル クリックのみ使用します。 ダブル クリックは、アイテムを開くために使用します。
    • マウスを置く、およびクリックすると、通常と異なる表示に変わります。
    • 3D シャドウ付きのグラフィックなどを使用して、クリック可能であることがわかるようにする必要があります。
    • テキストをウィジットとしても使用する場合は、通常のテキストとは次の方法で区別します。
      • クリック可能なテキストの横にアイコンを表示する (下記の削除ボタンの例を参照)。
      • マウスを置いたときに、クリック可能とわかるように、またはボタンのように表示する。
    • ウィジットはアイテムではなく、アイテムの一部でもありません。 ウィジットをクリックしたときに、アイテムの詳細ビューが開かないようにする必要があります。
    • サポートされている DrawItemBackground (異なるフラグを設定) をテキストやグラフィックに使用して、サイドバー全体でボタンのデザインを統一します。
    • ウィジットの例:
        通常の状態 マウスを置いた状態 クリックした状態
      チェックボックス
      (タスクリスト gadget)
      通常のチェックボックス チェックボックスにマウスを置いた状態 チェックボックスをクリックした状態
      削除ボタン
      (詳細ビュー)
      削除ボタン 削除ボタンにマウスを置いた状態 削除ボタンをクリックした状態
  • ステータス インジケータ: サブ情報を表示するアイコンまたはグラフィックです。
    • アイテムの一部である場合は、アイテムのマウス動作をすべて継承します。
    • 一般的にグラフィックはクリックできないため、マウスを置いたときやクリックしたときも変更しません。
    • ステータスの例 (時間外取引の月マーク、ネットワークの稼働状況、天気予報の雲マーク) を次に示します。



表示

      グラフィックとアイコン

  • ガジェットのアイコンは 2 つのサイズを用意します。 アイコンのデザインはわかりやすく、ガジェットの機能に適したものにする必要があります。

    • 12×12 ピクセル: ガジェットのタイトル バーに表示されます。

    • 32×32 ピクセル: [このガジェットについて] ダイアログおよびアラート UI (ガジェットでサポートされている場合) に表示されます。

  • ガジェット内のアイコンは、12×12 ピクセルとする必要があります。 小さいサイズに合わせてシンプルな形とカラー パレットを使用し、ガジェットを一目で区別できるようにします。

  • サイドバーのデフォルトのガジェットで使用する 12×12 アイコンは下記のとおりです。 アイコンのスタイルは、これらのアイコンに合わて、シンプルな丸みを帯びたデザインで、メインの色を基調に同じ色調で作成します。 画像自体は、ガジェットの機能を平面で表したものです。 アイコンにはメインの色の同系色で 1 ピクセルの枠線が付けられています。


      色


  • 色は控え目なものを使用します。 灰色系が適切な場合はこれを使用します。

  • 明るすぎる色やコントラストが高いまたは低すぎる色の組み合わせは使用しないでください。 目が疲れないような色を使用します。 たとえば、左側の画像の配色は適切ですが、右側はわかりづらいものとなっています。

  • 違いを色だけで表現しないようにします。色覚に障害のあるユーザーには正確に伝わらない可能性があります。 次の例では、株価の変動を色 (赤/緑) とテキスト (+/-) で表しています。


      テキスト

  • サイドバーのテキスト表示には、ユーザー指定のシステム フォントとフォント サイズを使用できます。

  • 通常のテキストは黒色にし、重要性の低いテキストの色は濃紺 (#224499 または rgb(34, 68, 153)) または灰色 (#666666 または rgb(102, 102, 102)) にします。

  • サイドバーでは太字は強調の度合いが高くなりすぎるので、できるだけ使用しないようにします。


フォーマットとレイアウト
サイドバーガジェットでは、通常最小化拡張詳細の 4 つのビューを表示できます。
  • 通常ビュー: 通常の表示です。

    ウェブ クリップなどのアイテムのリストがある場合、API で提供されるリスト レイアウトを使用できます。 写真などの 1 つのアイテムのみを表示する場合は、単一アイテム リスト レイアウトを使用します。 ガジェットの機能は、通常ビューのコンテンツを見るだけでわかるようにする必要があります。

    サイドバーの幅によって表示できる情報の量が決まります。 スクロール バーはできるだけ使用せず、代わりにアイテムの拡張ビューを使用します。

    どのような種類のアイテムかが一目ではっきりとわかるようにします。 たとえば、ファイル アイテムの場合は、名前の横にファイル形式のアイコンを表示します。メールやウェブページなど長いテキスト本文の概要の場合は、最初の行にタイトルを表示し、アイテムのソースと日付に関する簡単な詳細を追加します。

    ガジェットの通常ビュー

  • 最小化ビュー: タイトル バーだけの表示です。

    通常、タイトル バーにはガジェットのアイコンとタイトルだけが表示されます。 タイトルの代わりに、銘柄とその株価などのアイテムの概要を 1 つずつ順番に表示することもできます。

    ガジェットの最小化ビュー

  • 拡張ビュー: サイドバーの横に表示される最大化されたビューです。

    通常は、ガジェットアイテムの全リストを表示するために使用します。表示するアイテムの数が多い場合は、垂直スクロール バーを使用できます。

    ガジェットの拡張ビュー

  • 詳細ビュー: ガジェットの特定のアイテムの詳細です。

    詳細ビューは、ガジェットの通常ビューまたは拡張ビューでアイテムをクリックしたときに表示し、できるだけ多くの情報を表示する必要があります。

    アイテムのタイトルをクリックしたときに、ブラウザでウェブページを開くなど、関連アプリケーションでアイテムを表示します。

    アイテム詳細ビューアイテム詳細ビュー

グローバル化

ガジェットで他の言語のテキストを提供できない場合でも、テキストおよびラベルを複数の言語で表示できるようにする必要があります。 こうすることで、他のユーザーが他の言語テキストを提供できるようになります。 他の言語のユーザー用に、異なる画像、ビュー レイアウト、スクリプトを指定することもできます。

まず、言語について説明します。 複数の言語をサポートするには、ガジェットの UI に表示される各言語版の文字列を、strings.xml という名前のファイルにリストし、このファイルを各言語用の ID が付いたサブディレクトリに置く必要があります。 このファイルには、各言語の文字列の変数割り当てが含まれています。 ガジェットの定義およびコードでは、各言語版の文字列ではなく、変数を使用します。 たとえば、Hello World's English の strings.xml ファイルには次の行を含めます。


<strings>

  <strTitle>HelloWorld!</strTitle> 
  <strHello>HelloWorld!</strHello> 
  <strSnippet>アイテム情報。</strSnippet> 
  <strAboutText>
	HelloWorld! プラグイン。 著作権情報。 詳細な説明。
	</strAboutText> 
  <strDescription>Says Hello World</strDescription> 
  </strings>

    

Hello World ガジェットのスクリプト コードで、ビューの caption プロパティを次のように "HelloWorld!" タイトルに設定します。
view.caption = strTitle;
XML または .gmanifest ファイルで、[概略] テキストを次のように設定します。
<aboutText>&strAboutText</aboutText>

コードでは、strings.xml ファイルから取得される要素名を使用します。 XML では、要素名の先頭に & を付ける必要があります。

英語とフランス語の 2 つのバージョンでガジェットを作成する場合、ファイルは次のディレクトリ階層で配置します。


  <GD dir>/Plugins/YourGadget
                     |
                     |---- gadget.js
                     |
                     |---- gadget.gif
                     |
                     |---- 1033 (英語 (アメリカ) の言語 ID)
                     |      |
                     |      `-- strings.xml
                     |
                     `---- 1036 (フランス語の言語 ID)
                            |
                            `-- strings.xml
     

サイドバーでは、現在のシステムと同じ言語 ID のディレクトリが存在するかどうかを最初に確認します。 存在する場合は、そのディレクトリの strings.xml ファイルが読み込まれます。 同じ言語 ID のディレクトリが存在しない場合で、1033 (アメリカ英語) ディレクトリが存在する場合は、デフォルトでそのディレクトリの strings.xml ファイルが読み込まれます。

同様に、ローカライズ フォルダに画像、マークアップ、スクリプトなどを配置すると、上記のルールに従い、サイドバーによりこれらのファイルが読み込まれます。 たとえば、ガジェットで各言語に応じて異なる画像を必要とする場合は、次のように指定します。
<img src="some_image.png"/>

サイドバーでは、最初に some_image.png の読み込みを試みます。システム言語がフランス語の場合は、フランス語のローカライズ ディレクトリ (1036\some_image.png) 内が検索され、次に英語のディレクトリ (1033\some_image.png) 内が検索されます。

メイン ディレクトリではなく、ローカライズ ディレクトリに置くことができるコンテンツは次のとおりです。

  • main.xml: 各言語ごとに異なるレイアウトが必要な場合。
  • options.xml: 各言語ごとに異なるレイアウトが必要な場合。
  • anything.js: 各言語ごとに異なるスクリプトが必要な場合。

ほとんどの場合にデフォルトの動作をし、特定の言語では異なる動作をするガジェットを作成するには、次のようにします。

  • gadget.xml ファイルを gadget.gg ファイルのルート フォルダに置きます。
  • 残りのコンテンツを gadget.gg1033\ フォルダに置きます。
  • 特定の言語に置き換える必要のあるコンテンツを、該当の言語用のフォルダに置きます。

言語 ID の全リストについては、こちらをご覧ください。


API リファレンス


オブジェクト リファレンス

このセクションでは、Google ガジェット API のさまざまなスクリプト関連オブジェクトについて、そのプロパティ、メソッド、および関連付けられたイベントとともに説明します。 多くのオブジェクトでは basicElement からプロパティ、メソッド、およびイベントが継承されます。

また、メソッドで element を返すとの記述がある場合、これはガジェットの XML 定義で定義された要素を指し、basicElement の下に位置します。

gadget.debug
ガジェットの開発およびデバッグに役立つ API を提供します。 デバッグ モードで実行するには、ガジェットを解凍し、解凍したファイルの中の gadget.gmanifest ファイルをダブルクリックします。
メソッド
名前および引数 説明 戻り値
error(string Message) ガジェットがデバッグ モードで実行されているときに、デバッグ コンソールにエラーとして文字列メッセージを表示します。 void
trace(string Message) ガジェットがデバッグ モードで実行されているときに、デバッグ コンソールに文字列メッセージを表示します。 void
warning(string Message) ガジェットがデバッグ モードで実行されているときに、デバッグ コンソールに警告として文字列メッセージを表示します。 void


gadget.storage
ガジェットパッケージのコンテンツへのアクセスを提供します。
メソッド
名前および引数 説明 戻り値
extract(string filename) ガジェットパッケージから一時フォルダにファイルを抽出し、抽出したファイルへの完全なパスを返します。 string
openStream(string filename) ガジェットパッケージからファイルを開き、コンテンツをストリームとして返します。 stream
openText(string filename) ガジェットパッケージからファイルを開き、コンテンツを文字列として返します。 string


view
注: その子オブジェクトやコンテンツ オブジェクトとは異なり、viewbasicElement から継承されません
view オブジェクトは、ガジェットの各ウィンドウ UI ごとに個別のファイルで定義する必要があります。
プロパティ
名前 説明 データ型 読み取り/書き込み
caption ビューの説明です。デフォルトではガジェットがフローティング モードまたは拡張モードのときに表示され、サイドバーにあるときは表示されません。 showCaptionAlways プロパティも参照してください。 string 読み取りおよび書き込み
children ビュー要素のすぐ下の子を含むコレクションを返します。 これらの子はすべて basicElement の下位オブジェクトとなります。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 elements 読み取り専用
event イベント オブジェクトが、イベント ハンドラのスクリプトにどのように提供されるかを示します。 event 読み取り
height ビューの高さをピクセル値で設定、または返します。 integer 読み取りおよび書き込み
width ビューの幅をピクセル値で設定、または返します。 integer 読み取りおよび書き込み
resizable true の場合、ユーザーはビューのサイズを変更できます。 boolean 読み取りおよび書き込み
showCaptionAlways true の場合、サイドバーには caption プロパティで指定したビューの説明が常に表示されます。 デフォルトの設定、またはこの値が false の場合は、ガジェットがサイドバーにあるときは表示されず、フローティング モードまたは拡張モードのときは表示されます。 boolean 読み取りおよび書き込み
メソッド
名前および引数 説明 戻り値
void alert(string message) メッセージ文字列を含むメッセージ ボックスを表示します。 void
element appendElement(string xml) XML 形式で提供された要素定義を解析し、要素をこのビューの最後の子として付加します。 新しい要素
integer beginAnimation(string script, integer startValue, integer endValue, integer duration) アニメーション タイマーを開始します。 タイマーは duration ミリ秒間実行されます。 スクリプトは、この期間中 StartValue と EndValue の値の間で定期的に実行されます。 アニメーションをキャンセルするために使用できる識別子。
注: Callback が呼び出される回数は、システムのパフォーマンスおよび負荷によって異なります。 最高で 100 fps です。
void cancelAnimation(integer Token) 実行中のアニメーションをキャンセルします。 Token は、beginAnimation により返される識別子です。 void
void clearInterval(integer Token) インターバルまたはタイムアウトをキャンセルします。 void
boolean confirm(string message) メッセージ文字列を含む確認ボックスを表示します。 OK が渡された場合は true が返され、そうでない場合は false が返されます。 boolean
element insertElement(string xml, element InsertBefore) 提供された XML を解析し、要素を InsertBefore 要素の直前に挿入します。 新しい要素
void removeElement(element Item) 指定された要素を削除します。 void
void resizeBy(integer width, integer height) ビューの現在の幅と高さに基づき、指定された幅と高さにビューのサイズを変更します。 単位はピクセルです。 void
Void resizeTo(integer width, integer height) ビューのサイズを指定された幅と高さに変更します。単位はピクセルです。 void
integer setTimeout(string Script, integer Duration) 1 度だけ実行されるタイマーを作成します。 スクリプトは、Duration ミリ秒が経過した後に 1 度だけ実行されます。 タイムアウトをキャンセルするために使用できるトークン。
integer setInterval(string Script, integer Duration) 継続的に実行されるタイマーを作成します。 スクリプトは、キャンセルされるまで Duration ミリ秒ごとに実行されます。 インターバルをキャンセルするために使用できるトークン。
イベント
名前 説明
onclick マウスの左ボタンがクリックされたときに発生します。
onclose ビューが閉じられようとするときに発生します。
ondblclick マウスの左ボタンがダブルクリックされたときに発生します。
onkeydown キーが押されたときに発生します。
onkeypress キーが押され、離されたときに発生します。
onkeyup キーが離されたときに発生します。
onminimize ガジェットが最小化されたときに発生します。
onmousedown マウスの左ボタンが押されたときに発生します。
onmouseout マウスのカーソルがビューから離れたときに発生します。
onmouseover マウスのカーソルがビューに置かれたときに発生します。
onmouseup マウスの左ボタンが離されたときに発生します。
onopen ビューが最初に開かれたときに発生します。
onoptionchanged options オブジェクト内のプロパティが追加、変更、または削除されたときに発生します。 event.propertyName により、変更されたアイテムが特定されます。
onrestore ガジェットが最小化の状態から復元されたときに発生します。
onsizing ユーザーがガジェットのサイズを変更しているときに発生します。 resizabletrue に設定されている場合のみ発生します。 event.widthevent.height には、ユーザーがリクエストした新しい幅と高さが格納されます。 イベント コードでイベントをキャンセルして (event.returnValue = false)、ガジェットの現在のサイズを維持できます。 イベント コードで event.width および event.height を修正して、ユーザーの選択を上書きするよう変更できます。
onsize サイズを変更するスクリプト コードの実行結果として (view.width または view.height を設定する、view.resizeBy または view.resizeTo を呼び出すなど)、または onsizing が呼び出され新しいサイズが指定されて、ビューが新しいサイズに変更された場合に発生します。 このイベントはキャンセルできません。


basicElement オブジェクト
すべての要素に提供されるプロパティ、メソッド、およびイベントを定義します。特定の要素は、これらの定義を継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
cursor 要素の上にマウスが置かれたときに表示するカーソルを設定または取得します。

可能な値: arrowibeamwaitcrossuparrowsizesizenwsesizeneswsizewesizenssizeallnohandbusyhelp

string 読み取りおよび書き込み
dropTarget 要素がドラッグアンドドロップ操作の対象となっているかどうかを設定または取得します。 true の場合は、ユーザーがドラッグアンドドロップ操作を開始したときに、ondrag* イベントが発生します。 bool 読み取りおよび書き込み
enabled 要素が有効になっているかどうかを設定または取得します。 無効にされた要素では、マウスやキーボードのイベントは発生しません。 bool 読み取りおよび書き込み
height 高さを設定または取得します。 値はピクセルまたは親の高さに対するパーセント値で表されます。 variant 読み取りおよび書き込み
hitTest 要素のヒット テスト値を設定または取得します。

可能な値: httransparenthtnowherehtclienthtcaptionhtsysmenuhtsizehtmenuhthscrollhtvscrollhtminbuttonhtmaxbuttonhtlefthtrighthttophttoplefthttoprighthtbottomhtbottomlefthtbottomrighthtborderhtobjecthtclose, hthelp

string 読み取りおよび書き込み
mask 要素のクリッピング パスを定義するマスク ビットマップを設定または取得します。 string 読み取りおよび書き込み
name 要素名を取得します。 string 読み取り専用
offsetHeight 親要素と比較した要素の高さをピクセル単位で取得します。 これは、同じ名前の DHTML プロパティと類似しています。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 integer 読み取り専用
offsetWidth 親要素と比較した要素の幅をピクセル単位で取得します。 これは、同じ名前の DHTML プロパティと類似しています。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 integer 読み取り専用
offsetX 親要素と比較した要素の x 位置をピクセル単位で取得します。 これは、同じ名前の DHTML プロパティと類似しています。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 integer 読み取り専用
offsetY 親要素と比較した要素の y 位置をピクセル単位で取得します。 これは、同じ名前の DHTML プロパティと類似しています。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 integer 読み取り専用
opacity 要素名の透明度を設定または取得します。

有効な値の範囲は 0 から 255 です。

integer 読み取りおよび書き込み
parentElement 親要素を取得します。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 element 読み取り専用
pinX 水平方向のピンを設定または取得します。 integer 読み取りおよび書き込み
pinY 垂直方向のピンを設定または取得します。 integer 読み取りおよび書き込み
rotation 要素の向きを度単位で設定または取得します。 float 読み取りおよび書き込み
tagName タグ名を取得します。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 string 読み取り専用
tooltip 要素の上にマウスが置かれたときに表示するツールのヒントを設定または取得します。 string 読み取りおよび書き込み
width 幅を設定または取得します。 値はピクセルまたは親の幅に対するパーセント値で表されます。 variant 読み取りおよび書き込み
visible 要素が表示可能かどうかを設定または取得します。 bool 読み取りおよび書き込み
x 水平方向の位置を設定または取得します。 値はピクセルまたは親の幅に対するパーセント値で表されます。 variant 読み取りおよび書き込み
y 垂直方向の位置を設定または取得します。 値はピクセルまたは親の高さに対するパーセント値で表されます。 variant 読み取りおよび書き込み
イベント
名前 説明
onclick ユーザーが要素をクリックしたときに発生します。
ondblclick ユーザーが要素をダブルクリックしたときに発生します。
ondragdrop ユーザーが要素上にアイテムをドロップしたときに発生します。
ondragout ユーザーがドラッグアンドドロップ操作をキャンセルしたときに発生します。
ondragover ユーザーが要素上にオブジェクトをドロップしたときに発生します。
onfocusin 要素にキーボード フォーカスが置かれたときに発生します。
onfocusout 要素からキーボード フォーカスが離れたときに発生します。
onkeydown ユーザーがキーを押したときに発生します。
onkeypress ユーザーがキーを押し、離したときに発生します。
onkeyup ユーザーがキーを離したときに発生します。
onmousedown ユーザーがマウスのボタンを押したときに発生します。
onmousemove ユーザーが要素上でカーソルを動かしたときに発生します。
onmouseout ユーザーが要素外にカーソルを移動したときに発生します。
onmouseover ユーザーが要素上にカーソルを移動したときに発生します。
onmouseup ユーザーがマウスのボタンを離したときに発生します。
onmousewheel ユーザーがマウス ホィールでスクロールしたときに発生します。


elements
要素オブジェクトのコンテナを表します。 Javascript Enumerator およびコレクション要素アクセスをサポートしています。たとえば、elements.item("foo") ではなく elements("foo") のように指定します。
プロパティ
名前 説明 データ型 読み取り/書き込み
count コレクション内の要素の数を返します。 integer 読み取り専用
item (string Name) Name パラメータによって指定される要素を返します。 同じ名前で複数の要素が定義されている場合は、最初の要素を返します。 一致する要素がない場合は、NULL を返します。 element デフォルトは読み取り専用です (一部のスクリプト言語では .item は省略可能です)。


<button> 要素、button オブジェクト
ボタン オブジェクトで、basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
disabledImage ボタンが無効にされたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
downImage ボタンが押されたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
image ボタンのデフォルトの画像を設定または取得します。 string 読み取りおよび書き込み
overImage ボタンの上にマウスが置かれたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み


<checkbox> 要素、checkbox オブジェクト
チェックボックス オブジェクトで、basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
image チェックボックスのデフォルトの画像を設定または取得します。 string 読み取りおよび書き込み
checkedDisabledImage チェックボックスがオンになって無効にされたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
checkedDownImage チェックボックスがオンになって押されたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
checkedOverImage チェックボックスがオンになってマウスが置かれたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
checkedImage チェックボックスがオンになったときに表示するデフォルトの画像を設定または取得します。 string 読み取りおよび書き込み
disabledImage チェックボックスが無効にされたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
downImage チェックボックスが押されたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
overImage ボタンの上にマウスが置かれたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
value チェックボックスがオンになっている場合は true を返します。 bool 読み取りおよび書き込み
イベント
名前 説明
onchange value プロパティが変更されたときに発生します。


<object> エレメント、object オブジェクト
埋め込みオブジェクトで、ウィンドウなしの ActiveX コントロールです。basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
classId ActiveX コントロールの作成に使用する classId を取得します。 XML で objectElement を定義する場合、classId の値は "clsid:GUID_value" または "progid:progid_value" のいずれかの形式 (引用符を含む) にする必要があります。 string 読み取り専用
object ホストされる ActiveX コントロールを取得します。 object 読み取り専用
wmpServiceType オブジェクトが Windows Media Player の場合に、埋め込みオブジェクトのサービスの種類を設定または取得します。 string 読み取りおよび書き込み
wmpSkin ガジェットで使用する Windows Media Player スキン ファイルの名前を設定または取得します。 スキン ファイルは、.gg ファイルに含める必要があります。 string 読み取りおよび書き込み


<contentArea> エレメント、contentArea オブジェクト
一般的なコンテンツ格納オブジェクトです。 basicElement から継承されますが、多くの basicElement プロパティはサポートされていません。 サポートされるのは、xywidthheight、および name basicElement プロパティのみです。 このオブジェクトには、ContentItem オブジェクトが含まれます。詳細については、リファレンス資料を参照してください。 view オブジェクトは、その中で定義された 1 つの contentArea しか持つことができません。
プロパティ
名前 説明 データ型 読み取り/書き込み
contentFlags 1 つまたは複数の gddContentFlagXXXX フラグの組み合わせです。 integer 書き込みのみ
maxContentItems 許可されるコンテンツ アイテムの最大数です (デフォルトは 25)。 integer 読み取りおよび書き込み
contentItems コンテンツ アイテムの配列です。 variant 読み取りおよび書き込み
pinImages 画像の配列です。画像は framework.graphics.loadImage() を使用して読み込むことができます。 variant 読み取りおよび書き込み
メソッド
名前および引数 説明 戻り値
void addContentItem(item, options) 新しいコンテンツ アイテムを追加します。 void
void removeContentItem(item) 指定したコンテンツ アイテムを削除します。 void
void removeAllContentItems() すべてのコンテンツ アイテムを削除します。 void


<div> 要素、div オブジェクト
div オブジェクトで、basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
background 要素の背景色または背景画像を設定または取得します。 string 読み取りおよび書き込み
children 要素のすぐ下の子を含むコレクションを取得します。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 elements 読み取り専用
メソッド
名前および引数 説明 戻り値
appendElement(string xml) 提供された XML を解析し、要素をこの要素の最後の子として付加します。 新しい element
insertElement(string xml, element InsertBefore) 提供された XML を解析し、要素を InsertBefore 要素の直前に挿入します。 新しい element
removeElement(element Item) 指定された要素を削除します。 void


<edit> 要素、edit オブジェクト
編集画面オブジェクトで、basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。 色の値は、下記のフォーマットのみがサポートされます。
color="#RRGGBB" (HTML と同様)
アルファ値および画像のテクスチャ値はサポートされません。
プロパティ
名前 説明 データ型 読み取り/書き込み
background 要素の背景色を設定または取得します。 string 読み取りおよび書き込み
bold テキストを太字にするかどうかを設定または取得します。 bool 読み取りおよび書き込み
color テキストの色を設定または取得します。 string 読み取りおよび書き込み
font テキストのフォントを設定または取得します。 string 読み取りおよび書き込み
italic テキストを斜体にするかどうかを設定または取得します。 bool 読み取りおよび書き込み
size テキストのサイズをポイント単位で設定または取得します。 integer 読み取りおよび書き込み
strikeout テキストに取り消し線を付けるかどうかを設定または取得します。 bool 読み取りおよび書き込み
underline テキストに下線を付けるかどうかを設定または取得します。 bool 読み取りおよび書き込み
value 要素の値を設定または取得します。 string 読み取りおよび書き込み
イベント
名前 説明
onchange プロパティの値が変更されたときに発生します。


<img> 要素、img オブジェクト
画像オブジェクトで、basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
src 表示する画像を設定または取得します。 string 読み取りおよび書き込み
srcHeight 表示する画像の元の高さを取得します。 integer 読み取り専用
srcWidth 表示する画像の元の幅を取得します。 integer 読み取り専用
メソッド
名前および引数 説明 戻り値
setSrcSize(integer Width, integer Height) 画像の幅と高さを低い解像度に合わせて変更します。 元の画像が表示領域より大きい場合は、このメソッドを使用して画像のサイズを表示領域に合わせて変更できます。これによりメモリを節約し、変換処理にかかる時間を短縮できます。 void


<label> 要素、label オブジェクト
ラベル オブジェクトで、color="#RRGGBB" (HTML と同様)
color="#AARRGGBB" (HTML と同様、AA はアルファ値)
color="some_image.png" (画像を繰り返しテクスチャとして使用)
プロパティ
名前 説明 データ型 読み取り/書き込み
align テキストの整列を設定または取得します。
可能な値: center、left、right
string 読み取りおよび書き込み
bold テキストを太字にするかどうかを設定または取得します。 bool 読み取りおよび書き込み
color テキストの色を設定または取得します。 string 読み取りおよび書き込み
font テキストのフォントを設定または取得します。 string 読み取りおよび書き込み
innerText 表示するテキストを設定または取得します。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 string 読み取りおよび書き込み
italic テキストを斜体にするかどうかを設定または取得します。 bool 読み取りおよび書き込み
size テキストのサイズをポイント単位で設定または取得します。 integer 読み取りおよび書き込み
strikeout テキストに取り消し線を付けるかどうかを設定または取得します。 bool 読み取りおよび書き込み
trimming テキストが表示領域に対して多すぎる場合のトリミング モードを設定または取得します。
可能な値: none、character、word、character-ellipsis、word-ellipsis、path-ellipsis
string 読み取りおよび書き込み
underline テキストに下線を付けるかどうかを設定または取得します。 bool 読み取りおよび書き込み
vAlign 垂直方向の整列を設定または取得します。
可能な値: top、middle、bottom
string 読み取りおよび書き込み
wordWrap テキストを複数行で表示するかどうかを設定または取得します。 bool 読み取りおよび書き込み


<a> 要素、a オブジェクト
リンクを定義します。basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
align テキストの整列を設定または取得します。
可能な値: center、left、right
string 読み取りおよび書き込み
bold テキストを太字にするかどうかを設定または取得します。 bool 読み取りおよび書き込み
color テキストの色を設定または取得します。 string 読み取りおよび書き込み
font テキストのフォントを設定または取得します。 string 読み取りおよび書き込み
href 設定した場合、リンクをクリックしたときに、この URL がデフォルトのブラウザで開きます。 開くことができるのは、http:、https:、および ftp: の URL のみです。 string 読み取りおよび書き込み
innerText 表示するテキストを設定または取得します。 スクリプトからのみアクセスでき、XML 定義からはアクセスできません。 string 読み取りおよび書き込み
italic テキストを斜体にするかどうかを設定または取得します。 bool 読み取りおよび書き込み
overColor 要素の上にマウスが置かれたときのテキストの色を設定または取得します。 string 読み取りおよび書き込み
size テキストのサイズをポイント単位で設定または取得します。 integer 読み取りおよび書き込み
strikeout テキストに取り消し線を付けるかどうかを設定または取得します。 bool 読み取りおよび書き込み
trimming テキストが表示領域に対して多すぎる場合のトリミング モードを設定または取得します。
可能な値: none、character、word、character-ellipsis、word-ellipsis、path-ellipsis
string 読み取りおよび書き込み
underline テキストに下線を付けるかどうかを設定または取得します。 bool 読み取りおよび書き込み
vAlign 垂直方向の整列を設定または取得します。
可能な値: top、middle、bottom
string 読み取りおよび書き込み
wordWrap テキストを複数行で表示するかどうかを設定または取得します。 bool 読み取りおよび書き込み


<progressBar> 要素、 progressBar オブジェクト
ステータス バー オブジェクトで、basicElement オブジェクトのすべてのプロパティおよびメソッドを継承します。
プロパティ
名前 説明 データ型 読み取り/書き込み
emptyImage スライダが空のときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
fullImage スライダがフルのときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
max スライダがフルになる最大値を設定または取得します。 integer 読み取りおよび書き込み
min スライダが空になる最小値を設定または取得します。 integer 読み取りおよび書き込み
orientation スライダの向きを設定または取得します。
可能な値: horizontal、vertical
string 読み取りおよび書き込み
thumbDisabledImage スライダが無効にされている場合に表示するミニ画像を設定または取得します。 string 読み取りおよび書き込み
thumbDownImage ミニ画像がクリックされたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
thumbOverImage ミニ画像の上にマウスが置かれたときに表示する画像を設定または取得します。 string 読み取りおよび書き込み
thumbImage ミニ画像のデフォルトの画像を設定または取得します。 string 読み取りおよび書き込み
value 値を設定または取得します。 integer 読み取りおよび書き込み
イベント
名前 説明
onchange value プロパティが変更されたときに発生します。


options
単独型のオブジェクトで、他のオブジェクトの子孫とはなりません。
プロパティ
名前 説明 データ型 読み取り/書き込み
count ディクショナリ内のアイテム数を返します。 integer 読み取り専用
defaultValue (string name) namedefaultValue を設定または返します。 string 読み取りおよび書き込み
item (string name) name の現在の値を設定または返します。 デフォルトのプロパティです。 string 読み取りおよび書き込み
メソッド
名前および引数 説明 戻り値
add(string name, variant value) 存在しない場合にディクショナリにアイテムを追加します。 void
exists(string name) name の値が既に設定されている場合は、true を返します。 boolean
remove(string name) ディクショナリから値を削除します。 void
removeAll() ディクショナリからすべての値を削除します。 void


googleTalk
4.0 以前のオブジェクトで、イベント ハンドラでは 4.0 以前のイベント処理モデルを使用します。
プロパティ
名前 説明 データ型 読み取り/書き込み
friends オンラインの友だちを返します。 friend オブジェクトの array 読み取り専用
メソッド
名前および引数 説明 戻り値
SendTalkData(friend_id, data) 友だちに文字列を送信します。 friend_id は、friend オブジェクトの user_id プロパティから取得されます。 なし
SendTalkText(friend_id, message) 友だちにインスタント メッセージとしてテキスト メッセージを送信します。 friend_id は、friend オブジェクトの user_id プロパティから取得されます。 なし
イベント ハンドラ
名前 プロトタイプ 説明 戻り値
onReceiveTalkData OnReceiveTalkData(friend, data) 友だちのコンピュータ上の同じプラグインがデータを送信すると呼び出されます。 friendfriend オブジェクトで、data は文字列です。 なし


Friend object
このオブジェクトは、googleTalk から返されます。 Google ガジェットでは、このタイプの変数を作成できません。
プロパティ
名前 説明 データ型 読み取り/書き込み
name 友だちのユーザー表示名です。 string 読み取り専用
user_id 友だちのユーザー ID です。SendTalkTextSendTalkData などのメソッドにパラメータとして渡されます。 string 読み取り専用
email_address 友だちのメール アドレスです。 string 読み取り専用
has_sidebar 友だちがサイドバーをインストールしているかどうかを示します。 boolean 読み取り専用
status 友だちのステータスです (オンライン、アイドル状態、取り込み中など)。 integer 読み取り専用


ContentItem オブジェクト
4.0 以前のオブジェクトで、イベント ハンドラでは 4.0 以前のイベント処理モデルを使用します。
プロパティ
名前 説明 データ型 読み取り/書き込み
image アイテムに表示する画像です。 Image 読み取り/書き込み
notifier_image 通知に表示する画像です。 Image 読み取り/書き込み
time_created 時間です (JavaScript では variant 時間値). time 読み取り/書き込み
heading アイテムで表示するタイトルです。 string 読み取り/書き込み
source アイテムで表示するウェブサイト/ニュースのソースです。 string 読み取り/書き込み
snippet アイテムで表示する抜粋です。 string 読み取り/書き込み
open_command ユーザーがアイテムを開くまたはダブルクリックしたときに開く URL またはファイル パスです。 string 読み取り/書き込み
layout アイテムの表示形式を含む、アイテムのレイアウトです。 integer 読み取り/書き込み
flags コンテンツ アイテムのフラグの組み合わせです。 integer 書き込み専用
tooltip 完全なパスや完全な見出しなど、ツールのヒントのテキストです。 string 書き込み専用
friend_name 他のユーザーから送信されたアイテムの場合は、送信したユーザーの名前が含まれます。 string 読み取り/書き込み
time_received 他のユーザーから送信されたアイテムの場合は、受信したときの日付および時刻 (UTC: 協定世界時間) が含まれます。 string 読み取り/書き込み
メソッド
名前および引数 説明 戻り値
SetRect(x, y, width, height) アイテムの表示位置を設定します。 アイテムの位置を設定する前にプラグインの MANUAL_LAYOUT フラグを有効にする必要があります。 有効にしていない場合、アイテムはプラグインで指定されたデフォルトの位置に表示されます。 なし
イベント ハンドラ
名前 プロトタイプ 説明 戻り値
onDrawItem DrawItem(item, display_target, graphics, x, y, width, height) アイテムを描画するために呼び出されます。 なし
onGetHeight GetHeight(item, display_target, graphics, width) 指定した幅に対するアイテムのピクセル単位の高さを取得するために呼び出されます。 アイテムの高さがピクセル単位の integer 型で返されます。
onOpenItem OpenItem(item) ユーザーがアイテムを開くまたはダブルクリックしたときに呼び出されます。 なし
onToggleItemPinnedState ToggleItemPinnedState(item) ユーザーがアイテムの "pin" ボタンをクリックしたときに呼び出されます。 なし
onGetIsTooltipRequired GetIsTooltipRequired(item, display_target, graphics, x, y, width, height) 指定された位置へのアイテムの表示にツールのヒントが必要かどうかを確認するために呼び出されます。 boolean を返します。ツールのヒントを表示する場合は true、表示しない場合は false となります。
onDetailsView OnDetailsView(item) 該当のアイテムの詳細ビューを表示する前に呼び出されます。 詳細ビューをキャンセルする場合は戻り値はなく、キャンセルしない場合は次のプロパティを持つオブジェクトを返します。
  • obj.title - 詳細ビューに表示されるタイトル
  • obj.details_control - 詳細ビューに表示される ActiveX コントロール
  • obj.flags - 詳細ビューのレイアウトまたは使用法を制御するフラグ
上記の各パラメータの詳細については、インターフェース IGoogleDesktopDisplayContentItemHandlerOnDetailsView に関するドキュメントを参照してください。
onProcessDetailsViewFeedback ProcessDetailsViewFeedback(item, details_view_flags) 詳細ビュー内のユーザーの操作を処理するために呼び出されます。 なし
onRemoveItem RemoveItem(item) ユーザーが画面からアイテムを削除したときに呼び出されます。 削除をキャンセルしてアイテムを保持する場合は true を返し、処理を続行してアイテムを削除する場合は false を返します。


DetailsView オブジェクト
4.0 以前のオブジェクトで、イベント ハンドラでは 4.0 以前のイベント処理モデルを使用します。
メソッド
名前および引数 説明 戻り値
SetContent(source, time_created, text, time_absolute, content_layout) 詳細ビューのコンテンツ ウィンドウにコンテンツを表示するよう設定します。 なし
SetContentFromItem(item) アイテムからコンテンツが直接表示されるよう設定します。 なし


menu
メソッド
名前および引数 説明 戻り値
AddItem(item_text, style, handler) メニュー アイテムを 1 つ追加します。 stylegddMenuItemFlagXXXX の組み合わせです。 handler の機能プロトタイプは OnMenuItem(item_text) です。 戻り値なし
SetItemStyle(item_text, style) 該当のメニュー アイテムのスタイルを設定します。 スタイルは gddMenuItemFlagXXXX の組み合わせです。 なし
AddPopup(popup_text) 該当のテキストを表示するサブメニューまたはポップアップを追加します。 新しいポップアップ メニューのメニュー オブジェクトを返します。


フレームワーク ネームスペース

framework
framework キーワードは、その下位オブジェクトを参照する場合は省略可能です。 たとえば、framework.system.batterysystem.battery は同じです。
オブジェクト 説明
system コンピュータ システムに関する情報を収集するオブジェクトを返します。
メソッド
名前および引数 説明 戻り値
BrowseForFile( string Filter) ファイル ダイアログ用の標準的なブラウザを表示し、選択したファイルの名前を返すか、ダイアログ ボックスがキャンセルされた場合は空の文字列を返します。 フィルタ文字列は "Display Name|List of Types" の形式で、複数のエントリを追加できます。 たとえば、"Music Files|*.mp3;*.wma|All Files|*.*" とすると、ダイアログのファイル形式プルダウン メニューで、*.mp3 または *.wma に一致する音楽ファイルと *.* に一致するすべてのファイルの 2 つの選択肢が定義されます。 string
BrowseForFiles( string Filter) ファイル ダイアログ用の標準的なブラウザを表示し、選択したファイルの名前が含まれたコレクションを返すか、ダイアログ ボックスがキャンセルされた場合は空の文字列を返します。 Filter パラメータに関する説明については、BrowseForFile を参照してください。 collection


framework.graphics
オブジェクト 説明
createPoint Point オブジェクトを返します。
createSize Size オブジェクトを返します。
loadImage(image_src) 指定された画像ファイルを読み込み、image オブジェクトとして返します。
image_src は、ローカル ファイルへのパス (リモート URL はサポートされていません) や、XMLHttp オブジェクトの responseStream メンバーとなります (これにより、ガジェットで XMLHttp オブジェクトを使用して画像をダウンロードしたり、読み込むことができます)。 画像ファイル オブジェクトは、contentItem.image プロパティの値として使用できます。または、古い API の plugin オブジェクトの <smallIcon> および <icon> 属性を修正します。


framework.system
このオブジェクトのプロパティは下記のとおりです。
オブジェクト 説明
cursor マウスのカーソルに関する情報を提供するオブジェクトを返します。
filesystem Windows の標準的な Scripting.FileSystemObject オブジェクトへのアクセスを提供するオブジェクトを返します。
memory システムメモリに関する情報を提供するオブジェクトを返します。
network システムの無線接続に関する情報を提供するオブジェクトの親です。 現在のところ、framework.system.network に独自のプロパティはなく、オブジェクトそのものとしては使用されていません。
perfmon Windows PerfMon と同様の情報を提供するオブジェクトを返します。
power システムのパワーマネジメントステータスに関する情報を提供するオブジェクトを返します。
processor 系統、モデル、名称、スピード、メーカーその他のシステムプロセッサに関する情報を提供するオブジェクトを返します。
screen 画面に関する情報を提供するオブジェクトを返します。


framework.system.cursor
プロパティ データ型 説明
position point カーソルの画面との相対的な現在の位置を保持する Point オブジェクトを返します。


framework.system.memory
プロパティ データ型 説明
free integer 現在空いている仮想メモリ (物理メモリとスワップ メモリ) のバイト数です。
total integer 仮想メモリ (物理メモリとスワップ メモリ) の合計バイト数です。
used integer 現在使用中の仮想メモリ (物理メモリとスワップ メモリ) のバイト数です。
freePhysical integer 現在空いている物理メモリのバイト数です。
totalPhysical integer 物理メモリの合計バイト数です。
usedPhysical integer 現在使用中の物理メモリのバイト数です。


framework.system.network.wireless
プロパティ データ型 説明
available boolean 無線を利用できる場合は、true となります。
connected boolean 無線ネットワークに接続している場合は、true となります。
name string 無線アダプタの名前を返します。
networkName string 無線ネットワークの名前を返します。
signalStrength integer 無線接続の信号強度を返します。 値は 0 から 100 です。


framework.system.perfmon
プロパティ データ型 説明
currentValue ("counter_path") Variant 指定されたカウンタの現在の値を返します。 カウンタは、addCounter を使用して追加されている必要があります。 カウンタのパスは、Windows PerfMon アプリケーションにより定義され記述されている必要があり、 "\Processor(_Total)\% Processor Time" または "\LogicalDisk(_Total)\% Disk Time" のようになります。
メソッド
名前および引数 説明 戻り値
addCounter(string counter_path, string script_code) 指定されたカウンタの監視を開始します。 カウンタの値に変更があるたびにスクリプト コードが実行されます。 void
removeCounter(string counter_path) 指定されたカウンタの監視を停止します。 void


framework.system.power
注: integer 型のプロパティは、コンピュータにバッテリがない場合、または Windows でその値を特定できない場合は、-1 を返します。
プロパティ データ型 説明
charging bool バッテリが充電中の場合は、true となります。
percentRemaining integer バッテリの残量をパーセント値で示します。
pluggedIn bool コンピュータの電源が接続されている場合は、true になります。
timeRemaining integer バッテリの充電が必要となるまでの推定秒数です。
timeTotal integer バッテリの充電が完了するまでの推定秒数です。


framework.system.processor
プロパティ データ型 説明
architecture string プロセッサのアーキテクチャです (例: x86)。
count integer 実装されているプロセッサの数です。
family integer プロセッサのファミリ名称です。
model integer プロセッサのモデル名称です。
name string プロセッサの名前です (表示に適したもの)。
speed string プロセッサの処理速度 (MHz) です。
stepping integer プロセッサのステッピング名称です。
vendor string プロセッサのベンダー名です。


framework.system.screen
プロパティ データ型 説明
size size 画面のサイズを保持する size オブジェクトを返します。


ポイント オブジェクト

位置によって定義されるポイントを表します。 座標値の比較対象は、その値を割り当てたメソッドまたはプロパティによって異なります。

point
プロパティ
名前 説明 データ型 読み取り/書き込み
x X 座標値です。 integer 読み取りおよび書き込み
y Y 座標値です。 integer 読み取りおよび書き込み


サイズ オブジェクト

アイテムのサイズを表します。

size
プロパティ
名前 説明 データ型 読み取り/書き込み
height 高さの値です。 integer 読み取りおよび書き込み
width 幅の値です。 integer 読み取りおよび書き込み


定数およびフラグ
詳細ビューのフラグ
名前 説明
gddDetailsViewFlagNone フラグは渡されません。
gddDetailsViewFlagToolbarOpen 詳細ビューのタイトルをボタンのようにクリック可能にします。
gddDetailsViewFlagNegativeFeedback 詳細ビューに否定的なフィードバックのボタンを追加します ("このようなアイテムを表示しない" など)。
gddDetailsViewFlagRemoveButton 詳細ビューに "削除" ボタンを追加します。
gddDetailsViewFlagShareWithButton クリックされた場合に友だちリストを表示するボタンを詳細ビューに追加します。これにより、ユーザーは友だちとコンテンツ アイテムを共有できます。
プラグイン フラグ
名前 説明
gddPluginFlagNone フラグは渡されません。
gddPluginFlagToolbarBack プラグインのツールバーに "戻る" ボタンを追加します。
gddPluginFlagToolbarForward プラグインのツールバーに "進む" ボタンを追加します。
情報マスク
名前 説明
gddInfoMaskNone フラグは渡されません。
gddInfoMaskMinSize プラグインのコンテンツの表示に必要な最小サイズを返します。
gddInfoMaskMaxSize プラグインのコンテンツの表示に必要な最大サイズを返します。
gddInfoMaskIdealSize プラグインのコンテンツの表示に理想的なサイズを返します。
プラグイン コマンド
名前 説明
gddCmdAboutDialog [概要] ダイアログを表示します。
gddCmdToolbarBack ユーザーが "戻る" ボタンをクリックしました。
gddCmdToolbarForward ユーザーが "進む" ボタンをクリックしました。
コンテンツ アイテムのレイアウト
名前 説明
gddContentItemLayoutNowrapItems 見出しとアイコンだけの 1行表示です。
gddContentItemLayoutNews 見出し、ソース、および時間を表示するレイアウトです。
gddContentItemLayoutEmail 見出し、ソース、時間、および抜粋を表示するレイアウトです。
コンテンツ フラグ
名前 説明
gddContentFlagNone フラグは渡されません。
gddContentFlagHaveDetails ユーザーがコンテンツ アイテムをクリックしたときに詳細ビューを表示します。
gddContentFlagPinnable ユーザーがコンテンツ アイテムを固定して常に表示できるようにします。
gddContentFlagManualLayout プラグインで各アイテムの表示位置を指定し、アイテムのレイアウトを制御します。
コンテンツ アイテムのフラグ
名前 説明
gddContentItemFlagNone フラグは渡されません。
gddContentItemFlagStatic アイテムはユーザーの入力を受け付けません。
gddContentItemFlagHighlighted アイテムはハイライト表示または太字表示されます。
gddContentItemFlagPinned アイテムはリストの上部に固定されます。
gddContentItemFlagTimeAbsolute アイテムの時間は、現在の時間との相対的な時間ではなく、絶対的な時間として表示されます。
gddContentItemFlagNegativeFeedback アイテムはユーザーから否定的なフィードバックを受け取ることができます。
gddContentItemFlagLeftIcon アイテムのアイコンは必ず左側に表示されます。
gddContentItemFlagNoRemove ショートカット メニューにこのアイテムの "削除" オプションを表示しません。
gddContentItemFlagShareable アイテムを友だちと共有できます。 これにより、ショートカット メニューの特定のメニュー アイテムおよび詳細ビューのボタンが有効になります。
gddContentItemFlagShared 他のユーザーから送信されたアイテムであることを示します。
gddContentItemFlagInteracted ユーザーがこのアイテムを操作した (詳細を表示した、開いたなど) ことを示します。
ガジェットの表示ステータス
名前 説明
gddTileDisplayStateHidden タイルは表示されません。
gddTileDisplayStateRestored タイルが最小化またはポップアウトの状態から復元されました。
gddTileDisplayStateMinimized タイルが最小化され、タイトル バーだけが表示されています。
gddTileDisplayStatePoppedOut タイルはサイドバーから別のウィンドウにポップアウトしています。
gddTileDisplayStateResized タイルのサイズが変更されています。
ターゲット デバイス
名前 説明
gddTargetSidebar アイテムはサイドバーに表示または描画されています。
gddTargetNotifier アイテムは通知ウィンドウに表示または描画されています。
gddTargetFloatingView プラグインまたはアイテムは、デスクトップ上の任意の場所に配置できる独自のウィンドウに表示されています。
コンテンツ アイテム表示オプション
名前 説明
gddItemDisplayInSidebar アイテムをサイドバーに表示します。
gddItemDisplayInSidebarIfVisible 表示可能な場合はアイテムをサイドバーに表示します。
gddItemDisplayAsNotification アイテムを通知ウィンドウに表示します。
gddItemDisplayAsNotificationIfSidebarHidden サイドバーが非表示の場合にアイテムを通知ウィンドウに表示します。
ウィンドウ クラス
名前 説明
gddWndCtrlClassLabel 標準的なウィンドウの静的コントロールまたはラベル コントロールです。
gddWndCtrlClassEdit 標準的なウィンドウ 1 行編集コントロールです。
gddWndCtrlClassList 標準的なウィンドウのリストボックスまたはドロップリスト コンボボックス コントロールです。
gddWndCtrlClassButton 標準的なウィンドウのボタン コントロールです (チェックボックスを含む)。
コントロール タイプ
名前 説明
gddWndCtrlTypeNone 何も渡されません。
編集コントロール タイプ
名前 説明
gddWndCtrlTypeEditPassword ユーザーがパスワードを入力できる編集ボックスで、入力された文字はマスクされます。
リスト コントロール タイプ
名前 説明
gddWndCtrlTypeListOpen 標準的なリスト コントロールで、スクロール可能なウィンドウにすべてのオプションを表示します。
gddWndCtrlTypeListDrop プルダウン リスト コントロールです (編集機能を持たないコンボボックス コントロールとも呼ばれます)。
ボタン コントロール タイプ
名前 説明
gddWndCtrlTypeButtonPush 標準的なプッシュボタンです。
gddWndCtrlTypeButtonCheck チェックボックス コントロールです。
フォント ID
名前 説明
gddFontNormal 通常のテキストに使用されるフォントです。
gddFontSnippet 抜粋のテキストに使用されるフォントです (通常のフォントよりわずかに小さいものを使用できます)。
gddFontExtraInfo アイテムに関する追加情報に使用されるフォントです (ソースや時間など)。
テキスト色 ID
名前 説明
gddColorNormalText 通常のテキストに使用される色です。
gddColorNormalBackground サイド バーの背景に使用される色です。
gddColorSnippet 抜粋のテキストに使用される色です。
gddColorExtraInfo アイテムに関する追加情報に使用される色です (ソースや時間など)。
テキスト フラグ
名前 説明
gddTextFlagCenter 水平方向に中央揃えのテキストです。
gddTextFlagRight 右揃えのテキストです。
gddTextFlagVCenter 垂直方向に中央揃えのテキストです。
gddTextFlagBottom 下揃えのテキストです。
gddTextFlagWordBreak 複数行で表示する場合に単語の区切りで改行します。
gddTextFlagSingleLine 改行せずに 1 行でテキストを表示します。
メニュー アイテムのフラグ
名前 説明
gddMenuItemFlagGrayed 無効にされたメニュー アイテムです。
gddMenuItemFlagChecked チェックされたメニュー アイテムです。
オプション ダイアログに表示されるボタン ID
名前 説明
gddIdOK OK ボタン
gddIdCancel キャンセル ボタン
プラグイン ログに書き込まれるメッセージのレベル
名前 説明
gddLogLevelDebug 通常の診断メッセージに使用されます。
gddLogLevelInfo 通常の動作ではない可能性のある場合の情報メッセージに使用されます。
gddLogLevelWarning 入力内容またはデータが異常で注意が必要な場合に使用されます。
gddLogLevelError 重大なエラーの場合に使用されます。
友だちリストの連絡先のステータス
名前 説明
gddFriendStatusOnline 友だちはオンラインです。
gddFriendStatusIdle 友だちはアイドル状態で、しばらくコンピュータを使用していません。
gddFriendStatusBusy 友だちは取り込み中です。
[次に送信] のターゲット
名前 説明
gddSendToSidebar 該当のユーザーのサイドバーにデータを送信します。
gddSendToIM インスタント メッセージを使用して該当のユーザーにデータを送信します。
gddSendToEmail メールを使用して該当のユーザーにデータを送信します。