TIZENアプリ開発研究ブログ 興味しんしんドリーム

このブログはTIZENアプリ開発情報を実践して情報を共有する為のブログです。

Pageオブジェクト

以下の記事は、Tizen SDK Dev Guide にあるPage Object の日本語訳です。

その他のドキュメントの日本語訳はTIZEN 2.0 SDK Dev Guide 日本語訳 目次をご覧ください。

[x]が右横についているリンク先は、まだ日本語に翻訳していませんのでご了承下さい。


Pageオブジェクト

Pageオブジェクトはそれぞれのページを抽象化したオブジェクトです。Pageオブジェクトは、ページやウィジェットイベントハンドラとウィジェッドのレイアウト情報を持っています。

ページやウィジェットイベントハンドラでは、thisキーワードはページオブジェクトを指します。

// page1.js
page1_page.prototype.onpageinit = function(event)
{
   console.log('HTML: ' + this.htmlPath);
};

page1_page.prototype.button1_ontap = function(event)
{
   this.heading1.text('Hello World!');
};

図: Pageオブジェクト

ページがロードされるとページオブジェクトが生成され、ページが表示されている間のみページオブジェクトは有効な値を持ちます。他のページから別のページのページオブジェクトのイベントハンドラにアクセスすることはできません。利用可能なメンバオブジェクトを次の表で説明します。

表: メンバーオブジェクト

メンバー タイプ 説明 使用例
PageID 文字列 ページID "page1"
jqID 文字列 JQery用のページID "#page1"
htmlPath 文字列 自動生成されたHTMLのパス "page/page1.html"
cssPath 文字列 自動生成されたCSSのパス "page/page1.css"
Obj 文字列 ページのJQueryオブジェクト $(jqID)

ページの各オブジェクトのメンバ変数としてページのウィジェットにアクセスすることができます。ウィジェットのメンバ変数はjQueryオブジェクトなので、jQueryAPIを使用することができます。

// page1.js
page1_page.prototype.button1_ontap = function(event)
{
   this.heading1.text('Hello World!');
};

図: ウィジェットオブジェクト

次の表でページの利用可能なイベントを説明します。

表: Pageイベント

イベント ハンドラ 契機
pagebeforecreate {page_class}.prototype.onpagebeforecreate ページが初期化される前
pagecreate {page_class}.prototype.onpagecreate ページがDOMに追加された後
pageinit {page_class}.prototype.onpageinit ページが初期化された後
pagebeforehide {page_class}.prototype.onpagebeforehide ページが隠れる前
pagehide {page_class}.prototype.onpagehide ページが隠れた後
pagebeforeshow {page_class}.prototype.onpagebeforeshow ページが表示される前
pageshow {page_class}.prototype.onpageshow ページが表示された後
pageremove {page_class}.prototype.onpageremove ページがDOMから削除される前

次の図は、ページ遷移時のイベントとページのライフサイクルのシーケンスを表しています。現時点では、このシーケンスはjQuery Mobileにおけるページ遷移にも適用されます。

図:Pageイベントのシーケンス

UI Builder[x]を使ってページイベントを追加することができます。

図:Pageイベントハンドラ

図:Pageイベントハンドラのコード

すべてのウィジェットは、独自のいくつかのイベントがあります。Buttonウィジェットのイベントを次の表で説明します。

表: ボタンウィジェットイベンド

イベント ハンドラ
Tap {page_class}.prototype.{buttonID}_ontap
Tap hold {page_class}.prototype.{buttonID}_ontaphold
Swipe {page_class}.prototype.{buttonID}_onswipe
Swipe left {page_class}.prototype.{buttonID}_onswipeleft
Swipe right {page_class}.prototype.{buttonID}_onswiperight

UI Builderを使ってウィジェットイベントを追加することができます。

図:ウィジェッドイベントハンドラ

図:ウィジェッドイベントハンドラのコード

次に読むドキュメント

UI Builderフレームワーク


日本語訳: yasuyk

http://www.softolet.com

Creative Commons License This content is licensed under Creative Commons Attribution 3.0. For details, see the Content License.