Top  上へ  目次


 方向性


 えー、軽微な改修で実現可能と判断した要望は、Ver.1.x系で全部消化したつもりです。
 というわけで大まかな方向性を考えつつ、書きながらまとめてみようと思います。


 まず、今回はマイナーアップデートという扱いで、全設定のやりなおしはありません。
 再整理を行うオプション類も少ないですし何とかなるでしょう。

 で、今のところ積んでいる作業リストはこんなもんです。

●リストの初期状態を選択にするオプション
●ユーザー拡張用のツールバー画像のサイズ指定の自由化
●利用頻度が低く、外部DLL化できそうな機能のピックアップと、なんか1個くらいは実装
●オプションの設定項目の整理と細分化
●日本語の分離のカラクリを、そろそろ真剣に考える

 利便性の向上とか、操作性の向上とかいろいろありますけど、ここまでは利用者の方への影響も異論もないと思います。
 どーせ日本語分離なんぞ、やり切れるとも思えませんし。(ォィ

●既存タブバーの全面的に廃止して、フルスクラッチのタブバーにリプレイス

 この点がかなり大きいのではないかと思います。
 要するにMFCライブラリの影響を受けないように、全部自前で実装しちゃえという発想ですね。
 MFCの制限であった、数々の不具合や要望などを一気に消化できるというのは、かなり大きなインパクトを持ちます。
 ただ作業内容としては「まめFile5(無印)」でやってた事の二番煎じに過ぎません。

 ただこれ、良いことばかりじゃなくて、As/Rの売りであった「タブグループ」という考え方と排他です。
 つまりタブグループ系の機能が全部消えます。
 じゃぁどうやって2画面モードを実現するんだ?というわけで、必然的に

●2画面モード→1つのタブに収める
●別途「重ねて表示」などのMDI系のウィンドウ整列コマンドを追加

 こーなるわけです。
 ※画面は開発中のものです。

 2画面モードのタブがナビゲートロックされたらどーすんだ?という話もありますが・・・ん、まぢどうすんだ?
 まぁいいや(苦笑)

 現行の横並びにタブが増えていくと、単語の方向とタブの伸張方向が一緒であるため、視線の移動距離はかなり伸びることになります。
 また多数のタブをウィンドウ幅に収めるためには、表示内容の一部を省略して情報量を減らす必要がありますし、多段タブといった上下に視線を動かす必要のあるものになります。
 視点移動の少ない、タブバーの縦置きが可能になれば、使い勝手はかなり向上するものと思います。
 そういった経緯で、全て自前で管理でき、安定させられる仕組みに移した方が良いであろうと考えた次第です。

 最近は、新しいUIを貪欲にガツガツ取り入れてきましたが、Visual Studio 11(β版)でも、タブバー周りのMFC由来の不具合は解消されてません。
 今のタブバーの問題はVisual Studio 2008 SP1で実装されて以来、ずっと放置されているものですし今後も修正される見込みが薄いのではないかと思われます。
 「まめFile5(無印)」で実装していたフルスクラッチのものをやめた理由は、今後の新しいUIに期待していたからなんですが、残念ながら期待外れだったようです。
 もう3年も待ちましたし、いいかげん見切りをつけるべき時期でしょう。



 ここまでの話だと、単なる「まめFile5(無印)」の焼き直しにすぎません。
 もちろん、続きがあります。

 タブコントロールというものは、縦に並べられることなど全く考慮されていません。
 つまり、どうやっても縦スクロールできないんです。
 簡単にできるなら、誰かやってるよねーというオチでもあるんですが、タブコントロールというものはそーゆーモノなんです。
 ですから、縦置きにしたところで「タブコントロールにこだわる限り」大量のタブの管理ができるものではないということなんですね。

 タブを階層化したって2階層程度なら、10枚タブがあったら破綻するでしょ。
 そもそも、階層化を手動で作るって事自体がナンセンスだと思うわけです。


 そういうわけで、足りない部分を補う意味合いで「ウィンドウ管理バー(仮名)」と呼んでるものです。
 端的な表現をするとタブに何らかの属性を付与して「自動的」に「分類」して見やすいようにするというものです。
 一般的には開発系のエディタなどに良くある「ドキュメントバー」のようなものをイメージしていただけると分かりやすいかもしれません。
 (Visual Studioを使ってう人なら、ソリューションエクスプローラー風といえば通じるかも)

●ウィンドウ管理バー(仮名)の追加
 (以下のリストは実現性の有無を考慮してない妄想です)
 1.ロックされたタブをまとめる
 2.2画面モード(1タブが2画面になってるやつ)のタブをまとめる
 3.仮想フォルダーのタブをまとめる
 4.ネットワークのタブをまとめる
 5.ドライブごとにまとめる
 6.もちろん自動ソート
 7.縦置きタブの最大の弱点である、縦スクロールができること

 速度的な問題もあるので実現は微妙ライン上にあるわけですが

 8.格納されているファイル拡張子の多数決でまとめる

 エクスプローラーで、画像の多いフォルダを開くと勝手にサムネイル表示になったりしますが、それに近い考え方です。
 例えば、画像格納フォルダとか、テキスト格納フォルダとか、自動的にタブを分類してくれると面白そうです。
 もちろん拡張子をカウントする定義なんかは↓こんな感じで設定可能にすれば、柔軟な使い方ができるでしょう。
 画像格納フォルダ<tab>*.bmp;*.jpg;*.gif
 C++ソースコード<tab>*.cpp;*.h
 実行ファイル<tab>*.exe;*.com;*.bat;*.scr
 ライブラリ<tab>*.dll;*.lib
 文書<tab>*.doc;*.xls;*.docx;*.xlsx
 仕様書<tab>*仕様*.*;*定義*.*
 申請書<tab>*申請*;*届*
 ・
 ・
 こんな感じで、スコアの高い順に分類というイメージです。
 もちろん、こんな速度に負荷をかけるもんは、デフォルトは全部OFFにしちゃいますが、コメント文を消すだけである程度設定できるようにサンプルの提供をしようと考えてます。

 ただ、この方式には煮詰めきれてない問題もありまして、フォルダ移動のたびに自動整列とグルーピングが頻繁に行われるので「次のタブ」「前のタブ」という概念がありません。
 タブを閉じたら次にアクティブになるのは?いまどこ?次どれよ?という話です。
 また、階層表現が必要なことから、当然ツリー形式なので横置きは不可能です。
 ですから、単独で機能完結するには更なるブレイクスルーが必要です・・・が・・・すみません、ネタ切れです。
 強いてあげれば、タブバーとの住み分けはこれくらいしか思いつきません。

 9.チェックボックスで選択したウィンドウを整列



 で、ようやく本題です。
 この旧来のタブをフルスクラッチで実装の「タブバー」と、自動的に整理を行う「ウィンドウ管理バー(仮名)」の2つのプランは見せ方が違うだけで、ほとんどの機能が重複します。
 機能重複を嫌って片方だけの実装にするか、簡易的に両方に手を出して器用貧乏になるか、両方に手を出して本体軽量化のメリットを捨てるか、という所で悩み中ではあります。
 どうしましょ(^^;




 ・・・雑記ネタも尽きちゃった(ぉぃ