nsIEditorでスクロール調整

0
@shinnyajp

KeySnailでyankしようとすると画面が移動する挙動がウザいからコードを追ってるんだけど、どこでyankが定義されてるのかわからん。どこや。

2010-06-29 12:43:09
@shinnyajp

見っけた。めも command.insertText(clipboardText);

2010-06-29 12:47:08
@shinnyajp

自動でカーソルのある行を中心にする機能マジいらない

2010-06-29 12:50:19
@shinnyajp

@stillpedant こんにちは。KeySnailの挙動についてお聞きしたいことがあるんですが、Editモードでyankした時に、現在カーソル行が編集領域の中心になるよう自動調整されるのは仕様ですか?

2010-06-29 13:20:07
mooz @stillpedant

@shinnyajp 残念ながら仕様です. Firefox では textarea のテキストを変更した際, スクロール位置が先頭部分へ戻ってしまうので, しょうがなくカーソルが見えるようにセンタリングしています.

2010-06-29 15:16:17
mooz @stillpedant

@shinnyajp スクロール位置を保存しておき後で復元すれば良いのですが, 時々スクロール位置が取得できない場合があるので, 泣く泣くこんなことに…… 単なる貼り付けで良いのであれば goDoCommand('cmd_paste') としてみてください.

2010-06-29 15:18:17
@shinnyajp

@stillpedant なるほど、そういう経緯があったんですね…。ご丁寧にありがとうございました。

2010-06-29 15:26:56
mooz @stillpedant

XUL の textbox, scrollTop と scrollLeft が 0 なんだけど, 恐らく nsIDom~ を QueryInterface すれば, 正しいスクロール位置を得られると予想. とりあえず探してみる. ご存知の方いれば, 教えて下さい. #xul

2010-06-29 15:30:10
mooz @stillpedant

textbox, textbox[multiline="true"] を用意して scrollTop, scrollLeft の値をチェックしてみた. 一行の場合は常に 0, 複数行の場合は正しい値が得られる. スクロールバーがポイントか. http://j.mp/9F8Sm9

2010-06-29 15:47:51
mooz @stillpedant

一行の textbox はスクロールバーが出ないので, 正しい scrollLeft の値が得られないのではないかと予想. 内部的にスクロールの位置は保存されてるはずなんだけどな.

2010-06-29 15:48:40
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

@stillpedant nsIEditorとかですかね? XUL/Migemoでテキストエリアの中を検索するコードが参考になるかも。

2010-06-29 15:50:30
mooz @stillpedant

@piro_or ありがとうございます. ちょっと XUL/Migemo の中身を拝見させていただきます.

2010-06-29 15:55:52
mooz @stillpedant

@shinnyajp 今しがた挙動を修正してアップロードしておきました. 時間のあるときにでも更新を確認してみて下さい. また何かあればお気軽にどうぞ.

2010-06-29 16:20:29
@shinnyajp

@stillpedant ありがとうございます。さっそく更新しました。

2010-06-29 16:30:00
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

@stillpedant components以下のなんちゃらSearch.jsとかそのへんだったかなと思います(うろおぼえ

2010-06-29 16:53:24
mooz @stillpedant

@piro_or pXMigemoFind.js というヤツですかね. 以前もこのコードすごく参考にさせてもらいました.

2010-06-29 16:55:19