Dropbox

タイトルは何だか偉そうですがListBoxを少し試してみただけです。

5800XMを入手して最初に導入してみたのはptsNotesです。互換性に問題がある旨のメッセージが出ますが導入することは出来ます。色々と問題は有りますが、ごく基本的な動作は可能です。メインのリストをタッチしてノートを開くことも出来ました。これは、予めタッチで発生するイベントを組み込んでいたからです。

void CPtsNotesMainList::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aListBoxEvent)
    {
    if ((aListBoxEvent == MEikListBoxObserver::EEventEnterKeyPressed)||
        (aListBoxEvent == MEikListBoxObserver::EEventItemClicked))
        {
        // ノートを開く処理
        }
    }

みたいな感じで書いていました。このプログラムはS60 3rdMRというSDKで作成していますがEEventItemClickedというイベントが5800XMの画面タッチで捕らえられていることが確認できました。

S60 5thの流儀ではダブルクリックで文書を開く方が良いようですしptsNotesではリストのアイテムを洗濯すると画面の一部に内容のプレビューを表示する機能も働かせたいです。そこで、下のように変更してみました。

void CPtsNotesMainList::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aListBoxEvent)
    {
    if ((aListBoxEvent == MEikListBoxObserver::EEventEnterKeyPressed)||
        (aListBoxEvent == MEikListBoxObserver::EEventItemDoubleClicked))
        {
         // ノートを開く処理
        }
    else if (aListBoxEvent == MEikListBoxObserver::EEventItemClicked)
        {
        // プレビューの処理
        }
    }

ということで、何となくタッチイベントも処理できるようにはなりました。しかしながら、他に不可解な問題が散見されているので、実行ファイル自体はS60 5thのSDKを使ってビルドしないとダメかも知れません。少なくともS603rdのAPIに定義されているイベントが、そのまま使用できるのでソースコードは手を加えることなく共用出来そうです。

Trackback

no comment untill now

Add your comment now