アプリの 1 つにリボン GUI を実装することを考えています。もちろん、MS ガイドラインに準拠したいので、通常のリボンのように感じます。しかし、動的に変化する特定の問題を解決する方法を見つけようとしています。リボン。
私はコンセプト ゲーム エディターを作成しています。これは純粋にコンセプト アイデアであるため、リボンを使用する理由について質問しないでください。ただし、アプリケーションには多くのエディター (2D、3D、コードなど) があり、それぞれに GUI を適応させて表示する必要があります。関連するコントロール、つまり 2D エディターではおそらくペイントブラシ、3D では多くのパンおよび回転ツールです。
リボンのガイドラインを考えると、[ホーム] メニューに最も一般的なツールを含めることは理にかなっていますが、編集対象のオブジェクトの種類に限られます (回転は 2D またはコードには意味がありません!)。
最初はエディターごとに 1 つのウィンドウを持つことができると思っていましたが、これは本当に混乱を招きます。Eclipse などのようにすばやくフリックできるように、タブ付きのエディターをたくさん用意したいと思います。また、すべてのエディターが 1 つのファイルに保存されるので、理にかなっていますユーザーのためにこのメタファーを維持するために、1 つのアプリケーション ウィンドウを用意します。
ユーザーが開いているエディターの種類に応じてリボンタブを動的に変更できると考えていました (タブが表示/非表示になる可能性があり、[ホーム] タブのコンテンツなどが変更される可能性があります) が、これは次の MS ガイドラインに違反します:
「グループに表示されるコントロールは、選択の結果として変更してはなりません。コントロールがアクティブでない場合は、グループから削除するのではなく、コントロールをグレー表示にする必要があります」
「リボンで選択されたタブは、177 ドキュメントで行われたユーザーの選択の結果として自動的に切り替わってはなりません (コンテキスト タブ セクションに記載されている場合を除く)。」
ガイドラインの背後にある理由は理解していますが、この状況でリボンを正しく感じる方法がよくわかりません。
- エディターの種類に応じてタブの内容を変更します (ガイドラインに反します)。
- エディターの種類ごとにタブを用意します (ただし、エディターの種類が 15 になるとどうなるでしょうか!)
- 非常に一般的なリボンを用意し、特定のエディター操作をサイド バーなどに移動します (最適な GUI 設計ではありません)。
- エディターの種類ごとにコンテキスト タブを使用します (より良い解決策ですが、常に 1 つのコンテキスト タブが開いていることを意味します)。
リボンを使用する必要があり、このタイプのアプリケーションに使用する必要があるため、他のアイデア/ソリューションは大歓迎です!