Menu

#162 テキスト折り返し方法の追加

closed
nobody
Source (92)
5
2012-11-09
2008-06-01
nasukoji
No

テキストの折り返し制御を機能アップします。
従来の固定幅での折り返しに加えて、「折り返しなし
(水平スクロールバーがテキストの幅に追従)」と
「右端で折り返し(折り返し位置がウィンドウサイズ
に追従)」を追加します。

ただし、サクラエディタの最大桁が10240ですので、
「折り返しなし」に設定しても半角10240桁以上の
テキストは折り返しが発生します。

関連議論:dev:5299

Discussion

  • nasukoji

    nasukoji - 2008-06-01

    テキスト折り返し方法の追加

     
  • nasukoji

    nasukoji - 2008-06-04

    負荷軽減と右端に行けなくなる不具合の修正

     
  • nasukoji

    nasukoji - 2008-06-04

    Logged In: YES
    user_id=1930530
    Originator: YES

    以下の修正を行いました。

    1.1行が10240桁を超えるとスクロールバーで右端に
      移動できなくなる不具合を修正
    2.以下の走査を除いて全ラインの走査を実行しない
      ようにした(負荷軽減)
       ・最大幅の行で改行を入力する
       ・最大幅の行を含んで削除を実行する

    File Added: 080604_01_TextWrapControl_a1364.zip

     
  • nasukoji

    nasukoji - 2008-06-05

    負荷軽減と置換時のスクロールバー更新不具合の修正

     
  • nasukoji

    nasukoji - 2008-06-05

    Logged In: YES
    user_id=1930530
    Originator: YES

    以下の修正を行いました。

    1.置換ダイアログで置換を実行したとき、
      スクロールバーの幅が更新されない不具合を修正
      (dev:5322,5324)
    2.最大幅の行での文字削除によるカーソル行
      アンダーラインのちらつきを軽減した
    3.最大幅の行で改行を入力した場合でも、行頭かつ
      文字列非選択の場合は全ラインの走査を実行
      しないようにした(負荷軽減)

    File Added: 080605_01_TextWrapControl_a1364.zip

     
  • nasukoji

    nasukoji - 2008-06-07

    処理見直しと最大幅算出に失敗する場合がある不具合の修正

     
  • nasukoji

    nasukoji - 2008-06-07

    Logged In: YES
    user_id=1930530
    Originator: YES

    1.「右端で折り返す」かつウィンドウ分割時にウィンドウ
      サイズを変更するとChangeLayoutParam()が分割数だけ
      呼び出されてしまうので、m_nWrapPositionをCEditView
      からCEditDocの変数に変更した。
    2.「右端で折り返す」にて編集領域がMINLINESIZE(現状10桁)
      未満となるようなサイズに変更した場合、折り返し幅を
      MINLINESIZEとする。
    3.「折り返しなし」にてタイプ別設定で設定された折り
      返し幅より長いファイルを開くと、最大幅の行の算出に
      失敗する不具合を修正。
    4.「折り返しなし」時のTAB幅変更マクロで引数が0の時は
      全ライン走査しない様に変更。
    5.「折り返しなし」時OnSize()での最大幅算出を止めて
      TAB幅変更時、設定変更時、ファイルオープン時に実行
      する様に変更。
    6.「指定幅で折り返す」以外の時SetLayoutInfo()の前で
      折り返し幅を設定する様に変更。

    File Added: 080607_01_TextWrapControl_a1372.zip

     
  • nasukoji

    nasukoji - 2008-06-07

    折り返しなしの機能縮小

     
  • nasukoji

    nasukoji - 2008-06-07

    Logged In: YES
    user_id=1930530
    Originator: YES

    1.080607_01_TextWrapControl_a1372に対して、
      「折り返しなし」設定時は折り返し幅を10240桁に
      設定するのみとした(「折り返しなし」実装途中のため)
    2.折り返し方法の初期値を「指定幅で折り返し」に変更した。

    まずは「右端で折り返す」機能の完成を目指しまする (^^;

    File Added: 080607_02_TextWrapControl_a1372.zip

     
  • ryoji

    ryoji - 2008-06-10

    既存機能も含む細部の修正

     
  • ryoji

    ryoji - 2008-06-10

    Logged In: YES
    user_id=1480046
    Originator: NO

    基本路線としてなすこじさんのパッチで筋の良い感じだったので、
    それをもとに既存機能も含め細部に修正を加えてみました。

    1.
    「右端で折り返す」以外の折り返し方法で、ぶら下げが見える位置まで
    スクロールバーでスクロールできるようにしました。
    (「右端で折り返す」の場合の左上隅以外のビューも同様)

    2.
    「右端で折り返す」で行番号の桁数が変わるような編集にも追従して
    折り返し桁が変わるようにしました。

    3.
    UI部分の表記を一部変更・統一しました。
    大差無いけど”なんとなく”変更したものもあります。
    従来の「現在のウィンドウ幅で折り返し/折り返さない」コマンドは、
    紛らわしい感じなので「折り返し桁数」に名称変更しています。
    (メニューでも具体的な桁数を表示して違いがわかるようにしたつもり)

    4.
    [タイプ別設定]-[スクリーン]の画面レイアウトを調整し、
    ショートカットキーの設定が無かったものには追加しました。
    レイアウト調整では、画面のスケールを120DPIにした場合でも
    文字が欠けないようにしておきました。
    (とりあえずこの画面だけですけど)

    5.
    その他もろもろの修正。
    マクロ記録でコメントに「折り返し方法」が記録されるように、とか。
    不要と思われる変数を削除したり。

    File Added: 080610_01_TextWrapControl_a1380.patch

     
  • ryoji

    ryoji - 2008-06-11

    レイアウト更新契機の修正

     
  • ryoji

    ryoji - 2008-06-11

    Logged In: YES
    user_id=1480046
    Originator: NO

    最新rev(1381)にあわせてパッチ修正しました。

    >2.
    >「右端で折り返す」で行番号の桁数が変わるような編集にも追従して
    >折り返し桁が変わるようにしました。

    PostMessage()を使ってレイアウト更新を後でするようにしていた
    のですが、それではちょっとまずそうなので、その部分を変更して
    います。

    ●PostMessage()での問題点
    マクロで複数の編集操作を一括実行した場合、メッセージは
    マクロが完了してから届くのでレイアウト更新もマクロが
    完了してからになる。
    手操作だと編集操作ごとにレイアウト更新されるので、
    同じ操作手順でも結果が異なる場合がある。

    コマンド実行ごとに処理の最終段階でレイアウト更新する
    ように変更しました。
    (アンドゥ登録&全ビュー更新のタイミング)

    File Added: 080611_01_TextWrapControl_a1381.patch

     
  • ryoji

    ryoji - 2008-06-11

    インデント、コメント修正

     
  • ryoji

    ryoji - 2008-06-11

    Logged In: YES
    user_id=1480046
    Originator: NO

    インデントが変なところがあったので修正しました。m(__)m
    (見た目だけの修正です)
    File Added: 080611_02_TextWrapControl_a1381.patch

     
  • nasukoji

    nasukoji - 2008-06-11

    Logged In: YES
    user_id=1930530
    Originator: YES

    ソースコードおよび動作を確認しました。

    細やかな修正ありがとうございます m(_ _)m
    リソースの手修正を忘れてるとか人のコードをコピペしたのに
    コメントを変更し忘れてるとか情けないのも色々ありましたね (^^;

    私はこの状態でコミットOKだと思うのですが、ちょっと大きめの
    修正で既存機能に少し影響があるという事を考えると、テスト版
    でも発行して暫く(2週間くらい?)様子見とかすべきでしょうかね?

    でも、使いたい人がいなかったりすると様子見してもしょうがない
    という事も……

     
  • ryoji

    ryoji - 2008-06-21

    画面ちらつき修正、桁数変更(Ctrl+Alt+U)の制限撤去、桁変更マクロ追加

     
  • ryoji

    ryoji - 2008-06-21

    Logged In: YES
    user_id=1480046
    Originator: NO

    いくつか修正を加えました。

    1.画面ちらつきの抑制
    大きめのファイル(数千行程度)を「右端で折り返す」の設定で
    開いていて、画面サイズ変更に伴って画面スクロールが発生する
    ようなとき、画面が激しくちらつくのでちらつきを抑えるように
    修正しました。

    2.折り返し桁数変更(Ctrl+Alt+U)の制限撤去
    「折り返さない」「右端で折り返す」の設定になっているときでも
    桁数変更ができるようにしました。
    桁数変更したら折り返し方法は自動的に「指定桁で折り返す」に
    なるようにしています。

    3.折り返し桁変更マクロ(ChangeWrapColm)を追加
    任意の桁数に折り返し位置を変更するマクロ関数です。
    実行すると折り返し方法は自動的に「指定桁で折り返す」に
    なります。
    File Added: 080621_01_TextWrapControl_a1389.patch

     
  • ryoji

    ryoji - 2008-06-22

    Logged In: YES
    user_id=1480046
    Originator: NO

    UNICODE版 rev1395-1398 にあわせて修正しました。

    折り返しの右余白計算方法の変更
     オプションなし:余白なし
     改行ぶら下げ :余白2桁追加
     句読点ぶら下げ:余白2桁追加

    右端で折り返すときに折り返し基準の縦線が常時見える
    ように表示桁数計算を変更(1ドット分)
    File Added: 080622_01_TextWrapControl_a1399.patch

     
  • ryoji

    ryoji - 2008-06-22

    折り返しの右余白計算方法の変更

     
  • nasukoji

    nasukoji - 2008-06-22

    Logged In: YES
    user_id=1930530
    Originator: YES

    変更部分のソースコードおよび動作を確認しました。
    ・画面ちらつき抑制
    ・Ctrl+Alt+Uの制限撤去
    ・折り返し桁変更マクロ
    ・折り返しの右余白計算方法の変更
    ・折り返し位置の縦線

     
  • ryoji

    ryoji - 2008-07-22

    Logged In: YES
    user_id=1480046
    Originator: NO

    rev1415でcommitしました。

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.