検索置換フォーム

なでしこのエディタ部品に検索と置換え機能を付ける部品です。
一部機能未完成ですが、完成させる予定もありません。

転載、改編、配布等、公開、全て自由にしてください。

テストエディタとはTエディタ。これについてレイアウト="全体"。
テストエディタのテキスト=「あああいいいうううえええおおおかかかききき」

検索艦とは検索置換フォーム
検索艦の親部品=テストエディタ。
『Ctrl+r』に『検索窓の可視=オン。』をホットキー登録。
■検索置換フォーム
 ・可視 ←設定
 ・親部品 ←親部品設定 デフォルト

 ・設定(S)〜
  Sで条件分岐
   1ならば、検索置換艦→可視=オン。
   0ならば、検索置換艦→可視=オフ。

 ・検索処理〜
  親部品インスタンス→タグ@『検索文字列』=検索置換艦窓一→テキスト
  親部品インスタンス→選択位置=親部品インスタンス→選択位置+親部品インスタンス→タグ@『検索文字バイト数』
  親部品インスタンス→タグ@『検索文字バイト数』=(検索置換艦窓一→テキスト)のバイト数
  //↓↓+1→1バイト目から検索
  検索結果=(親部品インスタンス→テキストで親部品インスタンス→選択位置+1から親部品インスタンス→タグ@『検索文字列』をバイト検索)
  (検索結果=0)ならば、親部品インスタンス→選択位置=0。親部品インスタンス→タグ@『検索文字バイト数』=0。
  (検索結果=1)ならば、親部品インスタンス→選択位置=0。
  (検索結果>1)ならば、親部品インスタンス→選択位置=検索結果-1。//-1→0バイト目から選択するため
  親部品インスタンスの選択文字数=親部品インスタンス→タグ@『検索文字バイト数』。

 ・置換処理〜
  親部品インスタンス→タグ@『検索文字列』=検索置換艦窓一→テキスト
  親部品インスタンス→タグ@『置換文字列』=検索置換艦窓二→テキスト
  親部品インスタンスのテキスト=(親部品インスタンスのテキスト)の(親部品インスタンス→タグ@『検索文字列』)を親部品インスタンス→タグ@『置換文字列』に置換え

 ・WC置換処理〜
  親部品インスタンス→タグ@『検索文字列』=検索置換艦窓一→テキスト
  親部品インスタンス→タグ@『置換文字列』=検索置換艦窓二→テキスト

  検索置換艦チェック二→値で条件分岐
   0ならば、親部品インスタンスのテキスト=(親部品インスタンスのテキスト)の(親部品インスタンス→タグ@『検索文字列』)を親部品インスタンス→タグ@『置換文字列』にワイルドカード置換え
   1ならば、
    S=(親部品インスタンスのテキスト)の(親部品インスタンス→タグ@『検索文字列』)を親部品インスタンス→タグ@『置換文字列』にワイルドカード置換
    Sで二択
    それで条件分岐
     0ならば、戻る。
     1ならば、親部品インスタンスのテキスト=S

 ・親部品設定({グループ}S)〜
  Sを親部品インスタンスにグループ参照コピー
  
 ・作る〜
  『Ctrl+F』に『検索置換艦→可視=オン』をホットキー登録
  母艦の非アクティブ時は〜『Ctrl+F』をホットキー解除
  母艦のアクティブ時は〜『Ctrl+F』に『検索艦→可視=オン』をホットキー登録
    
  自身を自身インスタンスにグループ参照コピー
  検索置換艦をフォームとして作成
  検索置換艦→可視=オフ。
  検索置換艦→W=350。
  検索置換艦→H=160。
  検索置換艦→終了可能=オフ。
  検索置換艦→最小化ボタン有効変更(オフに)
  検索置換艦→最大化ボタン有効変更(オフに)
  検索置換艦→タイトル=『検索/置換』
  検索置換艦→最前面表示=オン。
  検索置換艦→サイズ変更した時は〜
   検索置換艦→W=350。
   検索置換艦→H=160。
  検索置換艦→可視=オフ。
  検索置換艦→閉じた時は〜検索置換艦→可視=オフ。

  検索置換艦窓一をエディタとして作成。
  検索置換艦窓一→X=2。
  検索置換艦窓一→Y=2。
  検索置換艦窓一→親部品=検索置換艦  
  検索置換艦窓一→W=320。
 
  検索置換艦窓二をエディタとして作成。
  検索置換艦窓二→X=2。
  検索置換艦窓二→Y=24。
  検索置換艦窓二→親部品=検索置換艦  
  検索置換艦窓二→W=320。
    
  検索置換艦ボタン板をパネルとして作成
  検索置換艦ボタン板→親部品=検索置換艦 
  検索置換艦ボタン板→X=2。
  検索置換艦ボタン板→Y=46。
  検索置換艦ボタン板→W=320。
  検索置換艦ボタン板→H=28。
 
  検索置換艦検索ボタンをボタンとして作成。
  検索置換艦検索ボタン→親部品=検索置換艦ボタン板
  検索置換艦検索ボタン→テキスト=「検 索」
  検索置換艦検索ボタン→レイアウト=「左」
  検索置換艦検索ボタン→W=検索置換艦ボタン板→W/3
  検索置換艦検索ボタン→マウス離した時は〜検索処理

  検索置換艦置換ボタンをボタンとして作成。
  検索置換艦置換ボタン→親部品=検索置換艦ボタン板
  検索置換艦置換ボタン→テキスト=「置 換」
  検索置換艦置換ボタン→レイアウト=「左」
  検索置換艦置換ボタン→W=検索置換艦ボタン板→W/3
  検索置換艦置換ボタン→マウス離した時は〜置換処理

  検索置換艦WC置換ボタンをボタンとして作成。
  検索置換艦WC置換ボタン→親部品=検索置換艦ボタン板
  検索置換艦WC置換ボタン→テキスト=「WC置換」
  検索置換艦WC置換ボタン→レイアウト=「左」
  検索置換艦WC置換ボタン→W=検索置換艦ボタン板→W/3
  検索置換艦WC置換ボタン→マウス離した時は〜WC置換処理
 
  チェック部品Y=(検索置換艦ボタン板→Y+検索置換艦ボタン板→H)+8
  検索置換艦チェック一をチェックとして作成。
  検索置換艦チェック一→親部品=検索置換艦 
  検索置換艦チェック一→Y=チェック部品Y
  検索置換艦チェック一→W=320
  検索置換艦チェック一→テキスト=「選択範囲を対象とする(未実装)」
  検索置換艦チェック一→値=オフ。
  検索置換艦チェック一の有効=オフ。

  検索置換艦チェック二をチェックとして作成。
  検索置換艦チェック二→親部品=検索置換艦 
  検索置換艦チェック二→Y=チェック部品Y+24
  検索置換艦チェック二→W=320
  検索置換艦チェック二→テキスト=「WC置換え前に確認する」
  検索置換艦チェック二→値=オン。