ここでは日時などの保存値を取得している。ただし、複雑な処理はしておらず、ここで取得するのはあくまでも実行しているPCの時間情報だけである。
過去のデータを入力したい場合、例えばPCの日時を変更してから本Liveガジェットを実行すれば、その日時を初期値とすることも可能だ。初回起動時には、この日時が開始日時として記録されることを押さえておこう。
〜前略〜
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」部では、データのリセット処理を行っている。メインとなる処理ではないが、これにより、一から入力をやり直したい場合などに対応することができる。
/****************************************
** 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.