タブ分割のスクリプトについてNo.01959
wtr さん 11/09/22 11:23
 
お世話になっております。
wtrです。

GetTabBarCount() メソッドの追加ありがとうございました。
これで、左右 ←→ 上下分割を一発で切り替えれるようになりました。

私の場合、左右(上下)2分割 ←→ 分割なしを切り替えたかった為、
以下のようなスクリプトをツール項目バーに登録して使用しています。
(3分割以上はしたくない)

//「タブを左右に分割」
if (GetTabBarCount() == 1) {
    //タブが分割されていな場合、左右に分割
    Config.SplitMode = 2;
    Command("タブを分割/分割解除");
} else {
    if (Config.SplitMode == 1) {
        //タブが上下分割されている場合、左右に分割に切り替え
        Command("タブの分割方向切り替え");
    } else {
        //タブが左右に分割されている場合、分割解除
        Command("タブを分割/分割解除");
    }
}

通常通りの切り替えは問題ないのですが、2分割中に別タブに切り替えると
次に実行した時は、分割解除ではなく3分割が実行されてしまいます。
この場合、どちらの場合も GetTabBarCount() は、2 を返す為、判断材料がないよう
です。

この場合の対処法等何かヒントがありましたら、ご教示頂けると幸いです。

[ ]
RE:01959 タブ分割のスクリプトについてNo.01960
秀丸担当 さん 11/09/22 13:04
 

>通常通りの切り替えは問題ないのですが、2分割中に別タブに切り替えると
>次に実行した時は、分割解除ではなく3分割が実行されてしまいます。
>この場合、どちらの場合も GetTabBarCount() は、2 を返す為、判断材料がないよう
>です。

確かに言われていることはできないです。
そもそもの「タブを分割/分割解除」コマンドの機能は、同じタブバー内に複数
のタブがあるときは分割して、タブ1つだけで分割されているときは解除すると
いう自動的な挙動をする機能になっています。
コマンドとして、明示的に解除するようなコマンドがあったらいいということで
検討します。

[ ]