Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-06-25

カレンダーGUI部品の月変更ボタンで「クリックした時」イベントが発生する件

| カレンダーGUI部品の月変更ボタンで「クリックした時」イベントが発生する件 - そっとなでしこ を含むブックマーク はてなブックマーク - カレンダーGUI部品の月変更ボタンで「クリックした時」イベントが発生する件 - そっとなでしこ

 なでしこのGUI部品、カレンダーは手軽に使えて重宝しています。

 自分は、自宅でパソコン作業をしている時は常にテキストファイルを開き、都度の作業をメモしています。調べ物の内容だったり、投稿するブログ記事だったり(もちろん、この記事もそのテキストファイル上で書いています)をメモしています。そしてそのメモは、その日の日付をファイル名として保存します。この日次メモは、短期的には作業中のバッファであり、長期的には日次単位の作業ログとなります。

 そういう日次メモを新規作成したり、過去に作成した日次メモを開くツールに、カレンダーGUI部品は役に立ちました。

■予期せぬ動作~月を移動するだけでメモが起動or作成されてしまう~

 ところがこのカレンダーGUI部品は、自分にとっては予期していなかった&望まない動作をしてしまうのです。それは、前の月/次の月に移動するために、GUI部品の上部左右についた矢印ボタンを押下しただけで、メモが起動or作成されてしまうのです。

 例えば、次のようなサンプルソースの場合、

Myカレとはカレンダー。
そのクリックした時は~
 MyデートはMyカレのテキスト。
 Myデートを言う。

日付をクリックした時だけでなく、GUI部品の上部左右についた矢印ボタンを押下した時も、ダイアログがポップアップしてしまうのです。

月変更ボタンでクリックするとイベントが発生するのは

あのボタンを押すと、日付が1ヶ月動いてしまうからです。

発想を転換して、決定ボタンを表示するようにしてみてはどうでしょう。

●日本語プログラミング言語なでしこ プログラム掲示板 [One Message View / 月変更ボタンでクリックした時が発生する訳]

http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=one&number=1477&type=1469&space=15&no=0&KLOG=1

■「月移動」矢印ボタンを押下した時と、日付をクリックした時とで動作を変えるには

 これに関しては、この質問掲示板のhy-hiro さんの返答に共感を覚えました。

決定ボタンの件は、私も考えたのですが操作が1つ増えてしまうので質問させてもらいました。

結果的には、クリックとダブルクリックを切り分けて使うことにしました。

●日本語プログラミング言語なでしこ プログラム掲示板 [One Message View / Re[3]: ありがとうございます]

http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=one&number=1482&type=1469&space=30&no=0&KLOG=1

 私も、日付と決定ボタンと、ポインティング操作が2回に増えるのは嫌です*1。日付と決定ボタンとの二箇所をクリックしなければならないぐらいなら、日付選択はダブルクリックで、「月移動」矢印ボタンはクリックで、と使い分ける方を選びます。

 つまり上記のサンプルコードならば、こう変えます。

Myカレとはカレンダー。
そのダブルクリックした時は~
 MyデートはMyカレのテキスト。
 Myデートを言う。

■「日次メモ作成/起動ツール」のソースコード

 ちなみに、現在使っている「日次メモ作成/起動ツール」のソースは、こうです。

テンプレファイルは「D:\data\dailytool\template.txt」。
パスは「D:\data\dailytool\」。

Myカレとはカレンダー。
そのダブルクリックした時は~
 MyデートはMyカレのテキスト。
 ファイル名はMyデートを「yyyymmdd」に日時形式変換&「.txt」。
 日次メモはパス&ファイル名。
 もし、(日次メモの存在=はい)ならば、
  日次メモを起動する。
  母艦を閉じる
 違えば、
  日次メモ新規作成処理。

●日次メモ新規作成処理
 「日次メモファイルはありません。作成しますか?」で二択。
 もしそれがはいならば
  テンプレファイルを開いてテンプレに代入する。
  テンプレを日次メモに保存。
  日次メモを起動する。
  母艦を閉じる


*1:パソコン操作において、ポインティング操作はストレスであり、その回数を極力少なく抑えることが、より快適にパソコン作業を行うコツである、というのが持論です