// 名前空間の登録
registerNamespace("ITmedia.Gadget.Example.MyGadget");
// コンストラクタ
ITmedia.Gadget.Example.MyGadget = function(p_elSource, p_args, p_namespace)
{
// 基底のinitializeBaseを呼び出す
ITmedia.Gadget.Example.MyGadget.initializeBase(this, arguments);
// 各種情報の保存
// 自分自身
var m_this = this;
// DOMオブジェクト
var m_el = p_elSource;
// argsオブジェクト
var m_args = p_args;
// ボタン
var m_btn;
// initializeメソッド
this.initialize = function(p_objScope)
{
// 基底のinitializeメソッドを呼び出す
ITmedia.Gadget.Example.MyGadget.getBaseMethod(
this, "initialize", "Web.Bindings.Base").call(this, p_objScope);
// テキストボックス、ボタン、div要素を作る
m_el.innerHTML =
"" +
"
" +
"" +
"
";
// ボタンがクリックされたときのイベントをアタッチ
m_btn = m_el.children['btn'];
m_btn.attachEvent("onclick", OnClick);
// 値が保存されているなら、その値を取得してテキストボックスへと設定
var initval = m_args.module.getPreference('myvalue');
if (initval != null)
{
$('mytextbox').value = initval;
$('result').innerText = initval;
}
}
ITmedia.Gadget.Example.MyGadget.registerBaseMethod(this, "initialize");
// disposeメソッド
this.dispose = function(p_blnUnload)
{
// イベントをデタッチ
m_btn.detachEvent("onclick", OnClick);
m_btn = null;
// 基底のdisposeメソッドを呼び出す
ITmedia.Gadget.Example.MyGadget.getBaseMethod(
this, "dispose", "Web.Bindings.Base").call(this, p_blnUnload);
}
ITmedia.Gadget.Example.MyGadget.registerBaseMethod(this, "dispose");
// OnClick関数
function OnClick()
{
$('result').innerText = $('mytextbox').value;
// 値を保存する
m_args.module.setPreference('myvalue', $('mytextbox').value);
}
}
// クラスを登録
ITmedia.Gadget.Example.MyGadget.registerClass(
"ITmedia.Gadget.Example.MyGadget", "Web.Bindings.Base");