フォーラム: dodonga独り言 (スレッド #23467)

【危険】ナロ~イングスクリプト【取り扱い注意】 (2009-07-25 03:28 by dodonga #45129)

 dodongaです。

 取り扱い注意。スクリプトが理解できない人は斬り捨てごめんなさい;;


 やっている事は、簡単です。
 1)主編集ウィンドウで選択。
 2)ナロ~イングコマンド実行。
 3)主編集ウィンドウは編集禁止に。
 4)ナロ~イングされた編集ウィンドウで編集。
 5)適用コマンドを実行。
    ※1)の選択部分を上書きしているだけです※

 危険です。
 あ)主編集ウィンドウはいじってはいけません!!。絶対に!!。

 ただそれだけ・・・って本格的な実装は大変なの;;

 愚痴はまた改めて^^。

 これが叩き台になってくれると幸いです。

/////////////////////////////////////////////////////////////////////////////
// コマンド宣言

#command NARROW "naro"
#command APPLAY "apkly"

/////////////////////////////////////////////////////////////////////////////
// コマンド処理

// ウインドウの有無をチェックする。
if (!view)
error("ウインドウが開いていません.");

switch (command) {
case "NARROW":
// ここへ処理を記述
narrow();
break;

case "APPLAY":
// ここへ処理を記述
applay();
break;
default:
error("不明コマンド: " + command);
}


/////////////////////////////////////////////////////////////////////////////
// 関数定義

function narrow()
{
postMessage(getMainWindow(), 0x0111 , 40015 );
var Lang = view.getLanguageID();
var SelectText = view.getSelectedText();

view.setReadOnly(true);
var NewView = newFile();
postMessage(getMainWindow(), 0x0111 , 40016 );

NewView.insertText( SelectText );
NewView.clearAllTouched();
NewView.setLanguageMode(Lang);
NewView.Narrow = true;
NewView.parent = view;
NewView.point = view.getSelection();

}

function applay()
{
if( view.Narrow != true ){
return;
}
var parent = view.parent;
parent.setReadOnly(false);
parent.deleteTextBetween(view.point[0] ,view.point[1] );
view.selectAll() ;
var SelectText = view.getSelectedText();
parent.insertText(SelectText);
parent.activate() ;
}
/*
てすとだよてばよあああ   ああああああ
aaaaa

*/

以上、駄文でした。

メッセージ #45129 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする