WebページはWebアプリへ――Liveガジェット「目標体重グラフ」レビューWindows Liveが魅せる次世代マッシュアップ(3/4 ページ)

» 2007年02月13日 08時00分 公開
[森川拓男,ITmedia]

 ここでは日時などの保存値を取得している。ただし、複雑な処理はしておらず、ここで取得するのはあくまでも実行しているPCの時間情報だけである。

 過去のデータを入力したい場合、例えばPCの日時を変更してから本Liveガジェットを実行すれば、その日時を初期値とすることも可能だ。初回起動時には、この日時が開始日時として記録されることを押さえておこう。

リスト3■

〜前略〜
		var incyear = m_module.getPreference("IncYear");
		var incmonth = m_module.getPreference("IncMonth");
		var incdate = m_module.getPreference("IncDate");
		var year = m_module.getPreference("Year");
		var month = m_module.getPreference("Month");
		var date = m_module.getPreference("Date");
		var weightn = m_module.getPreference("WeightN");
		var weightp = m_module.getPreference("WeightP");
		var weightdif = m_module.getPreference("WeightDif");
		var map = m_module.getPreference("Map");
		var mapInd = m_module.getPreference("MapInd");
〜以下、略〜

 続くリスト4に挙げた「dispose Method」部では、データのリセット処理を行っている。メインとなる処理ではないが、これにより、一から入力をやり直したい場合などに対応することができる。

リスト4■

	/****************************************	
	** dispose Method
	****************************************/
	this.dispose = function(p_blnUnload)
	{
		// メンバ変数をnullにする
		m_this = null;
		m_el = null;
		m_args = null;
		m_module = null;
		m_map = null;
		m_mapInd = null;
		
		// イベントをデタッチ
		if(m_btnSet != null)
		{
			m_btnSet.detachEvent("onclick", OnSetting);
			m_btnSet = null;
		}
		if(m_btnReg != null)
		{
			m_btnReg.detachEvent("onclick", OnReg);
			m_btnReg = null;
		}
		if(m_btnReset != null)
		{
			m_btnReset.detachEvent("onclick", OnReset);
			m_btnReset = null;
		}
		// 常にベースオブジェクトの破棄(dispose)を最後に呼び出す。
		East.GadgetProject.DietGadget.WeightGadget.getBaseMethod(this, "dispose", "Web.Bindings.Base").call(this, p_blnUnload);
	}
	East.GadgetProject.DietGadget.WeightGadget.registerBaseMethod(this, "dispose");

 最後に挙げるリスト5の「Private Methods」部は、本ガジェットのメインプログラム部分となる。現在の体重などを登録してグラフを描画するのだ。なお、ここでは要所を引用しているため、オリジナルのものはダウンロード後に参照すればよいだろう。

 ここでは現在の日時から過去に渡ってデータ入力ができるようになっているが、仮に未来日を指定した場合は、当日を含む以前の年月日を指定するようにアラート表示される。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ