2

SWT 3.7 で導入された Shell.getToolBar() を使用して、SWT のシェルのトリム領域に任意のタイプのカスタム コントロールを配置できます。SWT.SEPARATOR スタイルで ToolItem を作成し、それにカスタム コントロールを割り当てる必要があります。私の「カスタム コントロール」は、コンポジット ベースのカスタム ウィジェットを含むツールバー領域全体です。

私が大まかに行ったことについては、このバグコメントを参照してください。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=222859#c124

問題は、ユーザーが統合ツールバーの「空の」領域をクリックしてシェルをドラッグする可能性があることです。そして、私のカスタム コントロールは「空のスペース」と見なされているようです。私のコントロールの 1 つは、ドラッグ & ドロップをサポートしています。ただし、統合されたツールバー領域に配置されている場合、ドラッグすると、ドラッグ可能なはずのウィジェット コンテンツではなく、シェルがドラッグされます。実際には、両方が同時に発生します。したがって、必要なのは、イベントがそれ以上処理されないようにすることだけです。SWT.MouseDown のリスナーをカスタム コントロールにアタッチし、event.doit を false に設定しても機能しません。

4

0 に答える 0