#title=カスタムバー切り替え #tooltip=表示されるカスタムバーを切り替えます。 //切り替え対象のカスタムバー、必要に応じて書き換え可能 var SWitchableCustomBars = [ "Diff.dll", "OutlineText.dll", "Explorer.dll", "Search.dll", "Projects.dll", "OpenWindows.dll", "WebPreview.dll", "Snippets.dll" ]; EEID_PLUGIN1 = 5632; EEID_PLUGIN256 = 5632 + 255; Plugin2Command = {}; //表示されているカスタムバー DisplayedBars = []; //利用可能なカスタムバー AvailableBars = []; //プラグインのDLL名からコマンドIDへのハッシュを作る for (var i = EEID_PLUGIN1 ; i <= EEID_PLUGIN256 ; ++i) { var p = editor.QueryStringByID(i); if (p == "") continue; Plugin2Command[p] = i; } for (var i = 0 ; i < SWitchableCustomBars.length ; ++i) { var s = SWitchableCustomBars[i]; var id = Plugin2Command[s]; if (id >= EEID_PLUGIN1) { AvailableBars.push(s); if (eeStatusLatched & editor.QueryStatusByID(id)) { DisplayedBars.push(s); } } } if (DisplayedBars.length >= 2) { //二つ以上表示されているなら2番目以降のバーを閉じる for (var i = 1 ; i < DisplayedBars.length ; ++i) { editor.ExecuteCommandByID(Plugin2Command[DisplayedBars[i]]); } } else if (DisplayedBars.length == 1) { var a = DisplayedBars[0]; //現在表示されているバーを解除 editor.ExecuteCommandByID(Plugin2Command[a]); for (var i = 0 ; i < AvailableBars.length - 1 ; ++i) { if (AvailableBars[i] == a) { //利用可能なバーの内、次のバーを表示する editor.ExecuteCommandByID(Plugin2Command[AvailableBars[i + 1]]); break; } } } else { //有効なバーがなければ、利用可能なバーの一番を表示する editor.ExecuteCommandByID(Plugin2Command[AvailableBars[0]]); } editor.ExecuteCommandByID(4409);