2015年4月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 微妙に便利になり切れなかった「可変タグ」シール | トップページ | これでどうだ。コピペシール、その(2) »

2013年11月30日 (土)

コピペシール、その(1)

まずは、暫定公開シールのダウンロードリンクを

Download:「矩形 Copy/Paste」 シール

enchantMOON をメモとりに活用しようと思いながら、使うほど、あんな機能もこんな機能も欲しくなり、シールを作り始めてメモに使う時間が無くなる、という展開を続けています。

かつて、かの Kunuth 先生が Tex を開発した気持ちだけちょっぴり分かります。とは言え、Tex を開発したことで、その間他のことができなくなったわけではないのですから、引き合いに出すのはおこがましいですね。

コピペ

画面に書いたものをコピペしたいというのは、初期からあちこちで声が上がってましたが、簡単ではないので、諦めるか、link シール化して移動させることで妥協していました。

しかし最近、シールストロークの「定着」シールを作ったことや、「可変タグ」シールで GUI の書き方が少し分かってきたことで、技術的な目処がついてきたので、コピペシールに挑戦してみました。

二段階に分けて作ってみたので、本日は、まず第一弾を。

矩形コピペシール

使い方:

  • シール台帳から画面に貼りつけます。
  • 矩形の枠と、矢印ボタン、"Cut", "Copy", "Cancel" という動作を指示するボタンが表示されます。
  • 矢印ボタンをドラッグして、Cut/Copy 対象領域を調整します。
  • 対象領域が決まれば、"Cut", "Copy" ボタンにタップ。"Cancel" ボタンをタップすると、何もせずに戻り、シールも自分で剥がしてきれいに終了します。
  • "Cut", "Copy" で、対象領域のストロークをシールに張り付けます。ストロークは、始点と終点の両方が領域内に含まれるものだけを操作対象としますので、矩形領域の枠線と交差しているストロークは残ってしまう場合があります。
    • 操作対象のストロークを、元の位置のままシールに張り付けられればよいのですが、MOONPhase v.2.7.0 現在、script からシールの位置変更ができません。( Issue Tracker #117) そのため、取り込んだストロークが元のシールの位置に移動しますが、ご容赦ください。
      シールを、張り付けたい場所に移動させます。
  • タップすると、"Paste", reset Cut", "Cancel" が選択できるようになります。"Paste", "Cancel" は、そのままです。"reset Cut" は、"Copy" でなく、"Cut" でストロークを取り出していた場合、そのストロークをページのストロークに戻します。
  • "reset Cut" するとシールは剥がれますが、"Paste" ではシールは剥がれません。したがって、複数回 "Paste" できます。用が済めば、明示的に剥がしてください。

できなかったこと

シール貼り付けの際、3 本指キャンセルすると、画面上に「透明の」シールが残ってしまいます。3 本指キャンセルは、問答無用でシールが終了しますので後始末もできず、現状では回避困難です。残ったシールをタップしても何もできないので実害はありませんが、キャンセルしたければ "Cancel" ボタンをお勧めします。

この件については、Issue Tracker #154 に投稿しておきました。

今回作ったシール、「矩形領域の cut/copy/paste」なら、機能としては必要十分ですし、デザインセンスを除けば、ほぼベストだと思います。(デザイン関係は、改善提案があれば是非コメントください)

しかし、正直かっこよくありません。言い方を変えれば「MOON らしくありません」。

もともと設計段階で、GUI 部分と実処理部分は完全に切り離していますので、いずれ GUI 部分は作り直すつもりだったのですが、領域をペンで指定する目処が立ちつつあります。現在、ペンで領域指定版の開発をしていますが、もう少しかかりそうなので、矩形版を暫定公開します。

感想

前回、「可変タグ」シールで、初めて GUI のあるシールを作りました。

下手に GUI を作ると、せっかくの MOON の "No UI" コンセプトを台無しにするかもしれません。

しかし、それ以前に作ったシールでは、「張り付け」か、「タップ」というアクションを起こすと、処理が一気に進んでしまって、処理結果としてのストロークの変化が目に見える、といったシールにしかなりませんでした。

今回のように、アクションに対して GUI が起動し、インタラクティブに操作して、その結果をストロークに反映する、という形でシールを作成すれば、もっと幅が広がるという感触を得ました。要は Canvas をうまく使うということなのですが、裸で使うよりも enchant.js 経由で使うとかなり楽に使えそうです。

今後の予定

ペンでの領域指定版を開発しているうちに、矩形版のコードも、もう少し改善されるのではないかと思います。ペン指定版が完成した時点で、矩形版のコードも blog に載せて、Bookmarks にも登録する予定です。

乞うご期待?

« 微妙に便利になり切れなかった「可変タグ」シール | トップページ | これでどうだ。コピペシール、その(2) »

enchantMOON」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1527616/54106707

この記事へのトラックバック一覧です: コピペシール、その(1):

« 微妙に便利になり切れなかった「可変タグ」シール | トップページ | これでどうだ。コピペシール、その(2) »