|
by fita 2003/03/21 ■■はじめに パルマガ(http://ipal.jp/i/)誌上の企画「こんな Palmwareが欲しかった!」(http://www.ipal.jp/text01/suchpalmware00.html)の投稿の一つに「MemoLauncherの ToDo版が欲しい」というものがありました。が、これを見た当時は「MemoLauncherなんか引用してもらっちゃってうれしいな〜♪」と、脳天気によろこんでいただけでした(その MemoLauncherの開発に集中していたせいもあるんですが)。 さて、それから約2週間後。MemoLauncher 1.0.1をリリースした頃のことです。「ああいう風に書かれていたらやっぱり自分がやらないとまずいのかなあ・・・ちょうどきりのいいところだし、やってみようかなあ」と、ふと思いましたが、「ToDoを階層構造で表示しておいて標準ToDoにジャンプ」というものがどうもピンときません。 そこで、上記の投稿者であるどどんぱさん(HopStepPalm:http://homepage1.nifty.com/yyanagi/HSP_top.htm)にいきなりメールさせていただきました。そのどどんぱさんによりますれば(いただいたメールを自分なりに要約しますと)「チェックボックスのオンオフもできた方がいいけれど単に MemoLauncherを置き替えただけでもOK」「ToDoデータだけでなく持ち物のチェックリストとかにも使えそう」とのこと。 ということで、自分なりにニーズを解釈しまして、開発のスタートと相成りました。まずは単純置き換えということで・・・。 ■■本アプリでできること・できないこと 大雑把に言えば上記の通りなんですが、もう少し詳しく説明しますと... 本アプリでは ToDo項目に相当する文字列を階層構造でデータベース化していて、その文字列と同じ ToDo項目が標準ToDoのデータベースにある場合に限り、連携をとるようになっています。 階層の深さには実用上制限はありません。 本アプリのデータベースには、ToDoに関して言えば文字列しか持っていないため、期日とかチェックボックスとかは全て標準ToDoのデータベースを扱っていることになります。 標準ToDoのデータベースに対して何ができて何ができないかと言いますと、 ・チェックボックスのオンオフや期日・優先度の編集はできます ・ToDo項目やコメントは見ることはできますが、編集はできません (本アプリのデータベースにある文字列については編集できます) ・プライベート設定と(標準ToDoの)カテゴリについては見ることも編集することもできません ・標準ToDoデータベースに新しくデータを追加することはできます (この場合プライベート設定とコメント以外は指定できます) といった感じです。あとは以下の説明&使ってみて、ということで...。 ■■インストール・アンインストール こちらからダウンロードし、解凍して下さい。 > ToDoLauncher.lzh (21KB) ToDoLauncher.prc(39KB)を普通にインストールして下さい。 旧バージョンがインストールされている場合は上書きインストールして下さい。この場合、初回起動時に旧バージョンのデータを本バージョン用に変換するため、少し時間がかかります。また、後述する環境設定は初期化されます。 アンインストールは標準ランチャーから行って下さい。 ■■動作確認 主に POSE(Palm OS Emulator + WorkPad30J, PalmVxJ)で動作確認しました。 PalmOS3.x〜4.xでは動くと思いますが、5.xについては分かりません。 POSE+WorkPad30Jでは、初期状態(ハードリセット直後)で標準ToDoのデータベースが存在せず、本アプリが正常に動作しませんでした。データを入れる必要はありませんが、必ず標準ToDoを起動してから本アプリをご使用下さい。 ■■開発環境 Windows95 & 2000 + GCC ■■とりあえず使ってみる 初回起動時には空(から)のリスト(階層構造を保存するための専用データベース、またはその一覧)が作られ、画面には "-- non item --"と表示されます。 メニューから ToDoList > New とやってみると、Palmデバイスに保存されている標準ToDoデータからリストが作られます。この時、標準ToDoのカテゴリがリストの階層構造に反映されます。 あとは、画面タップとか上下ハードキーとかジョグダイヤルで、階層の移動・追加とか ToDoデータの表示とか標準ToDoへのジャンプ等ができます。具体的操作等についてはに以下を参照下さい。 ■■メイン画面の構成 上境界線(画面の上の方にある横線)の上にカレントカテゴリが表示されます。 上境界線から下境界線(画面下の方にある横線)の間がリストを表示するウインドウです。ウインドウにはメインウインドウとサブウインドウがあります。 下境界線のすぐ下には、メインウインドウで選択されたアイテムに対応する標準ToDoデータ(選択されたアイテムと同じ文字列の標準ToDoデータ)の優先度と期日が表示されます。選択されたアイテムがカテゴリ(フォルダとかディレクトリみたいなもの・標準ToDoのカテゴリとは基本的に無関係)であったり、標準ToDoに対応するデータがなかったり、データ保護がかかっている場合には、何も表示されません。 ウインドウ切替アイコン(画面最下段の一番左のアイコン)をタップすることによりサブウインドウの表示-非表示を切り替えることができます。「非表示」であればメインウインドウが左右幅いっぱいに表示され、「表示」であれば左側にメインウインドウ、右側にサブウインドウが表示されます。デフォルトは非表示になっています。 サブウインドウが表示されていれば、ウインドウ切替アイコンの右側に表示内容切替アイコンが表示されます。また、画面最下段右側の4つのアイコンはアイテム操作用です。これらについては後述します。 ■■メインウインドウについて メインウインドウにはカレントカテゴリの直下に属するメンバー(アイテム)一覧が表示されます。 アイテムがカテゴリであれば、文字列の左側に ▼ が表示されます。 アイテムに対応する標準ToDoデータがあれば □(チェックボックス)が表示されます。ただし標準ToDoデータがプライベート設定でありかつデータ保護がかかっていれば(マスクまたは非表示であれば)文字列の左には何も表示されません。 アイテムに対応する標準ToDoデータがなければ、文字列の左側には何も表示されません。 上下ハードキーやジョグダイヤルにより選択対象を移動することができます。 文字列の左側(▼や□や空白)をタップすることにより、そのアイテムを選択することができます。チェックボックスをタップした場合、同時にチェックボックスのオンオフが切り替わります。このチェックボックスのオンオフは即標準ToDoのデータに反映されます。 文字列をタップすると、そのアイテムの種類に応じた動作をします。 アイテムがカテゴリであれば、そのカテゴリがカレントカテゴリとなり、表示内容が更新されます。 チェックボックスが表示されているアイテムであれば、対応する標準ToDoデータにジャンプ(そのToDoデータを表示した状態で標準ToDoが起動)します。 そのアイテムに対応する標準ToDoデータがなければ、ToDoデータの新規作成確認画面になり、標準ToDoに新しくデータを作ることができます。 対応する標準ToDoデータがプライベート設定でありかつデータ保護がかかっていれば、データ保護設定の変更画面が開きます。ただし PalmOS3.5未満の場合は、ジャンプできない旨のメッセージが表示されます。 ジョグダイヤルのプッシュ(実際にはリリース)でも同様に動作します。 ■■サブウインドウについて サブウインドウには、メインウインドウで選択されたアイテムの種類に応じた内容が表示されます。 選択されたアイテムがカテゴリであれば、そのカテゴリ直下のメンバー一覧が表示されます。ただし、カテゴリかどうか等アイテムの種類は表示されません。 なおこの場合に限り、サブウインドウ内のアイテムをタップすることにより、上記メインウインドウ内のアイテム(文字列)をタップした場合と同様の動作をします。 選択されたアイテムに対応する標準ToDoデータがあれば、その文字列がサブウインドウに入る限り表示されます(メインウインドウでは1行分だけ表示)。 ただし、表示内容切替アイコンにより、ToDoデータのコメントを表示させることもできます。コメントが空白であればサブウインドウ内も空白になります。 選択されたアイテムに対応する標準ToDoデータがなければ nothing! と表示されます。 対応する標準ToDoデータがプライベート設定でありかつデータ保護がかかっていれば protected! と表示されます。 ■■カレントカテゴリ・優先度・期日の表示部分について カレントカテゴリの表示部分をタップすることにより、上の階層に移動します。ルート(階層の一番上)がカレントカテゴリであれば何も起こりません。 設定により CLIEのバックボタンに同じ動作をさせることができます。 優先度の表示部分をタップすることにより、メインウインドウで選択されたアイテムに対応する標準ToDoデータの優先度を切り替えることができます。 期日についても同様です。 ※チェックボックスと同様、データの切り替えは即標準ToDoデータに反映されます。 ■■アイテム操作用アイコンについて 画面最下段右側の4つのアイコンのうち、一番右にあるのがアイテム追加アイコンです。これをタップすると、カテゴリにするかどうか、アイテムの文字列、を設定する画面が開きます。 同じ画面にある「Select」ボタンにより、既存の標準ToDoデータから選択することもできます。 設定または選択したアイテムは、メインウインドウで選択されたアイテムの下に挿入されます。 右から2番目はアイテム削除アイコンです。これをタップするとメインウインドウで選択したアイテムを削除するかどうか、確認する画面が開きます。 通常は、メンバーを有するカテゴリは削除できませんが、この画面にある「メンバーも含めて全て削除」チェックボックスをオンにすることにより、メンバーも含めた全てを一度に削除することができます。 右から3番目はアイテム文字列編集アイコンです。これをタップすると、アイテムの文字列を編集することができます。 一番左はアイテム移動アイコンです。これをタップすると、アイテムを移動するための画面が開きます。 同じ階層内でアイテムの順番を替えるには、画面最下段の「Λ」ボタンと「V」ボタンを使います。 別の階層間で移動したい場合は「>」ボタンと「<」ボタンを使います。 左右どちらのウインドウとも、下の階層に移動するにはカテゴリ(アイテム)をダブルタップ、上の階層に移動するにはカレントカテゴリ表示部分をタップします。 移動するアイテムがメンバーを有するカテゴリであれば、メンバーも含めた全体が移動します。 ■■リスト全体の操作 上記の通り、メニューの ToDoList > New により、標準ToDoデータからリストを新たにつくることができます。この場合、既存のリストは削除されます。 リストのデータベース名は 「ToDoLauncherDB」です。バックアップビットはデフォルトオンですので、HotSync時のバックアップが不要な場合は、ファイル管理アプリ等によりバックアップビットをオフにして下さい。 メニューの ToDoList > Cleaning により、標準ToDoに対応するデータがないアイテムを削除することができます。 メニューの ToDoList > Addition については後述します。 メニューの ToDoList > Compaction により、リスト内のゴミを消去します。 上記したアイテムの削除をした場合および Cleaningした場合、削除されたアイテム1つにつき 21byteのゴミが残ります。これが気になる場合は Compactionを行って下さい。 この処理の際、一時的にデータベース「ToDoLauncherTmp」が作られます。処理の途中でリセット等がかかるとこのデータベースが残りますが、再度 Compactionを行うか標準ランチャーから本アプリを削除すれば削除されます。 ■■リスト全体の操作 〜 標準ToDoデータから追加 メニューの ToDoList > Addition により、いろいろなパターンで標準ToDoのデータをリストに反映させることができます。 ■All Category & Desc. メニューの ToDoList > New で作られるものと同じものがカレントカテゴリの末尾に付け加えられます。 ■All Category メニューの ToDoList > New で作られるリストのうちカテゴリだけがカレントカテゴリの末尾に付け加えられます。 ■Supplement メニューの ToDoList > New で作られるリストにあって現在のリストにないアイテムを追加します。既存のリストを標準ToDoデータで補うようなかたちになります。 ■Select Category 標準ToDoデータのいずれかのカテゴリのみを、カレントカテゴリの末尾に追加することができます。 「only description」にチェックを入れると、その選択したカテゴリに属する ToDoデータだけが追加されます。 ■■環境設定 メニューの Option > Preferenceで環境設定画面が開きます。 「EnterKey」により、画面タップやジョグプッシュと同等の機能を4つのハードキーのいずれかに割り当てることができます。 「BackKey」により、CLIEのバックボタンと同等の機能(下記)を4つのハードキーのいずれかに割り当てることができます。「EnterKey」と同じキーを割り当てた場合は「EnterKey」の機能が優先されます。 「Use back button」にチェックを入れると、メイン画面でバックボタンを押すことにより、上の階層に移動することができます。その他、キャンセルボタン等としても機能します。 「Hold last category」にチェックを入れると、本アプリ終了時にカレントカテゴリと選択アイテムが保存され、次回起動時に前回終了時(ジャンプ時)と同じ状態で起動するようになります。 オフであれば、起動時に常にルートが開きます。 ■■データ保護について メニューの Option > データ保護の変更 で、Palmデバイスのデータ保護の設定を変更することができます。 ただし、PalmOS3.5未満では何も起こりません。データ保護の変更は標準ランチャー等から「データ保護」を起動して行って下さい。 上記Additon等で標準ToDoデータを参照してリストにアイテムを追加する場合、データ保護がかかっていればプライベート設定された ToDoデータはないものとみなすため、リストには追加されません。 ただし、Cleaningではプライベート設定されたデータであってもリストからは削除されません。 ■■注意事項・制限(?)等 ジョグアシスト機能のあるデバイスでは『ジョグアシストを使わない』に設定して下さい。 初回起動時のようにまっさらなリストを作りたい場合は、ファイル管理アプリ等により「ToDoLauncherDB」を削除してから本アプリを起動して下さい。 POSE+WorkPad30Jでは、初期状態(ハードリセット直後)で標準ToDoのデータベースが存在せず、本アプリが正常に動作しませんでした。データを入れる必要はありませんが、必ず標準ToDoを起動してから本アプリをご使用下さい。 リスト内に同じ文字列のアイテム(ToDoデータ)が複数あっても、全て同じ(一つの)標準ToDoデータに対応します。例えば「▼Private」と「▼Work」それぞれの下に「today」があった場合、どちらからでも同じ「today」という標準ToDoデータにジャンプします。本アプリでは標準ToDoのカテゴリは参照していないため、標準ToDoで別のカテゴリに設定されていても単純に最初に見つかった ToDoデータにジャンプするだけです。 逆に言えば、別のカテゴリから同じ ToDoデータにジャンプできることになります。 ただし、カテゴリについては同一名であっても全て別物として扱われますので、全く同じカテゴリ名であってもそれぞれ別のメンバーを持たせることができます。 同じ文字列のアイテム(ToDoデータ)を例えば2つ並べた上で、一方のチェックボックスをタップしても、他方のアイテムのチェックボックスの表示は変わりませんが、標準ToDoデータのチェックボックスはタップした側の結果(最新の操作結果)が反映されます。 ■■その他 本アプリは freewareです。使用・配布等は自由ですが、自己責任でお願いします。 ご意見・ご要望等ありましたら fita@ams.odn.ne.jp までお願いします(アドレス末尾の _delete は消して下さいね)。 階層構造で ToDoを管理したいという方は、一度 Progect Managerというアプリをお試しいただければとお思います。その上で、本アプリをお使いいただけるのであれば幸いです。 ■■更新履歴 Ver0.4 - 2003/03/21 ・WorkPad30Jでも動作するように修正 ・データベース構造を変更 Ver0.3 - 2003/02/08 ・サブウインドウの状態に関わらずチェックボックスを一覧できるように修正 ・サブウインドウの状態に関わらず選択アイテムの期日・優先度が表示されるように修正 ・ToDoリスト追加機能(Addition)の強化 ・アイテム移動画面の構成を変更 ・その他不具合等修正 Ver0.2.1 - 2002/10/22 ・MSBackupでデータベースがバックアップされないことがある不具合を修正 ・その他不具合修正 Ver0.2 - 2002/10/08 ・ToDoデータの編集機能を追加 ・ミニビューワーに ToDoデータのコメントを表示する機能を追加 ・カレントカテゴリ表示部の乱れを修正 ・ToDoデータが1文字の時にミニビューワーに表示されない不具合を修正 ・ToDoリスト加工後にToDoリストが正常に表示されないことがある不具合を修正 Ver0.1.1 - 2002/09/27 ・アイテムの移動を左右両方向にできるように修正 ・メンバー数にかかわらずカレントカテゴリが常に表示されるように修正 ・WorkPad30Jで起動時に画面が乱れることがある不具合を修正 Ver0.1 - 2002/09/24 ・一般公開 試作版 - 2002/09/17 ・どどんぱさんに評価していただく用 ■■謝辞 突然のメールに快くご回答下さいましたどどんぱさん、大変ありがとうございました。どどんぱさんのニーズに合ったものになっていればいいのですが・・・。 (2002/09/24) 私信 : To どどんぱさん どどんぱさんの投稿が本アプリ作成のきっかけではあるんですが、要らないと思ったらあっさりと切り捨てて下さいね。当たり前のことだとは思いますが念のため、ということで。 |
|
|