問題タブ [treeviewer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
7870 参照

eclipse-plugin - TreeViewerでViewerFilterを使用するのに最適な方法は?

私はViewerFilterいくつかの枝の木にを適用していますが、ほとんどは葉です。フィルタは、葉内のプロパティを使用して、実際に葉に適用されます。葉が表示されるように、すべてのブランチはそのまま残されます。

ただし、選択した葉を含まないブランチを除外したいのですが、ViewerFilterこれを可能にするメカニズムはありません。

これは可能ですか?

たとえば、以下の概念的なツリーが与えられた場合(ここbで、はブランチ、aLはリーフ)

ViewerFilter偶数の葉と偶数の葉を含む枝のみを選択するを適用したいと思います。結果のツリーは..になります。

..b2選択された子が含まれていないため、ブランチは表示されませんが、ブランチb0して表示されb1ます。

0 投票する
2 に答える
4317 参照

java - setInput()の前にTreeViewerの状態を保存する

TreeViewerメソッドを呼び出した後、JFace拡張状態を保存して更新しようとしていますsetInput()getExpandedElements、、、setExpandedElementsの方法を試しましたがgetExpandedTreePaths、機能しません。setExpandedTreePathsTreeViewer

0 投票する
1 に答える
4712 参照

eclipse - 遅延および遅延 TreeViewer に関する質問

実際には2つの質問がありますが、それらは一種の関連性があるため、ここでは1つにします...

TreeViewer( SWT.VIRTUAL) とを使用して現在表示されていないツリー ノードのガベージ コレクションを確実に行う方法はILazeTreeContentProvider? ノードに 5000 の子がある場合、それらがビューアーによって表示されると決して手放されないため、ツリーに多数のノードとリーフがあり、十分なヒープ サイズがない場合、メモリ不足エラーが発生します。大量のデータ (数十万または数百万のオブジェクト) を持つツリービューアーを保持している閉じられていないビューによって引き起こされるメモリ リークを回避するためのベスト プラクティスはありますか? おそらく、ビューアー/コンテンツ プロバイダー要素をより柔軟に使用できるコールバック インターフェイスがいくつかあるのではないでしょうか?

単一の( ) に対して、deffered ( DeferredTreeContentManager) と lazy ( ILazyTreeContentProvider) の読み込みを組み合わせることは可能ですか? 例と API を見て理解した限りでは、特定の時点でどちらか一方しか使用できず、両方を組み合わせて使用​​することはできません。たとえば、特定のノードの可視の子のみをフェッチし、Job を使用して別のスレッドでそれらをフェッチします。 API。私を悩ませているのは、遅延アプローチがすべての子をロードすることです。別のスレッドではありますが、一度に最小限のサブセットのみが表示される場合でも、すべての要素をロードします。TreeViewerSWT.VIRTUAL

必要に応じて、質問にコード例を提供できます...

私は現在それらに苦労しているので、その間に何かを思い付くことができれば、ここで喜んで共有します.

ありがとう!

よろしく、 スヴィレン

0 投票する
1 に答える
633 参照

eclipse - DeferredTreeContentManager による Eclipse Treeviewer のロードの延期

この便利なチュートリアルから学んだ、TreeViewerを使用してロードを延期するアプローチがあることを理解しています。DeferredTreeContentManager

ただし、このメカニズムでは、モデルにIDeferredWorkbenchAdapterインターフェイスを実装する必要があり、これにより、従来の不変モデル クラスに問題が発生します。インターフェースDeferredTreeContentManagerを実装するモデルがなくても使用できますか?IDeferredWorkbenchAdapter

0 投票する
3 に答える
1847 参照

eclipse - Eclipse の列と FilteredTree

FilteredTree運の悪いいくつかの列を作成しようとしています。列を使用すると正常にTreeViewer動作しますが、使用に切り替えるとFilteredTree、列を削除した場合にのみ動作するようになるため、列で使用する方法があるかどうか疑問に思ってFilteredTreeいます。

0 投票する
1 に答える
8053 参照

eclipse - TreeViewer.setSelection() は、指定されたパスの後に正しいアイテムを選択しません

ツリー ビューアに同じオブジェクトに基づくツリー アイテムが他にもある場合、 を作成してTreePathに渡すとTreeViewer.setSelection()、現在の選択がナビゲートしたいアイテムと同じ場合、アイテムが正しく選択されません。

例:
同じオブジェクト (BigDecimal.ONEこの場合) を示す 2 つの項目を持つツリーがあります。それらには異なるパスがあります (異なる親): 木

あるアイテムにいるときにBigDecimal.ONE、リンクをクリックして別のアイテムに移動したいBigDecimal.ONE. リンクの選択リスナーでTreeSelection、正しいを作成しますTreePath。それから私は電話しますsetSelection。しかし、ナビゲーションは機能しません。ただし、ルート アイテムが最初に折りたたまれている場合は、展開されますが、正しいアイテムに移動しません。

コードは次のとおりです。

私の質問は、これが jface のバグなのか、それとも正しい方法で行っていないのかということです。


編集:

eclipse.org に既にバグが投稿されているようです: https://bugs.eclipse.org/bugs/show_bug.cgi?id=332736

0 投票する
2 に答える
2534 参照

java - SWT/JFace TreeColumn の並べ替え - setMoveable() の問題

ユーザーが列ヘッダーをドラッグして列を並べ替えることができるマルチ列 SWT Tree( JFace 経由)を設定しようとしています。TreeViewerただし、最初の列は固定して移動できないようにする必要があります。setMoveable(true)最初のメソッドを除いて、それぞれでメソッドを使用しTreeColumnて実際に近づけることができますが、ユーザーが別の列をその左側にドラッグすることを妨げません。これを解決する方法はありますか?

問題を説明するための簡略化された作業スニペット (JFace なし) を次に示します。

0 投票する
1 に答える
425 参照

swt - SWT/JFace: コンテンツとしてコンポジットを持つ複数列の TreeViewer

ここにあるものと同様の、グラフィックエディター用のマルチカラムツリーのようなインターフェイスを作成したい: http://imageshack.us/photo/my-images/854/51909806.png/。親ツリー アイテム (レイヤーを追加または削除する可能性あり) としてのレイヤーと、レイヤー設定を表す子アイテムのコレクションのようなテーブルが含まれます。この目的に適したウィジェットはどれですか? TreeViewer を考えましたが、LabelProvider を getText() または getImage() メソッドでしか設定できないため、ウィジェットを子ノードとして挿入できません。私の場合、使用するのに最も適切なものは何ですか?

0 投票する
2 に答える
830 参照

java - SWT TreeViewer、列の文字列テキストをトリム

SWTTreeViewerを使用していくつかのパスを表示しています。パスが長すぎてツリー列に完全に表示されない場合、パス文字列をトリミングして「...」(ポイント) を挿入することはできますか?

このようなもの:

ここに画像の説明を入力

前もって感謝します

0 投票する
5 に答える
6197 参照

java - SWT で TreeViewer を適切に更新するにはどうすればよいですか?

JFace を使用するアプリがありますTreeViewer。に接続していContentProviderます。ほとんどの場合、それはうまく機能します。ただし、ノードのリストの途中にノードを追加したり、ノードのラベルを変更する値を変更したりするなど、一部のアクションではrefresh()呼び出しが機能しません。親ノードを含めてみました。ラベルの更新には「true」と言ってください。常に機能するものはありません。

折りたたみ可能なノードを閉じたまま追加してから展開すると、追加されたノードが表示されることがわかりました。ただし、既に展開されている場合は、変更は表示されません。ツリー情報をディスクに保存して見ると、変更が加えられています。TreeViewer機能していないのはリフレッシュだけです。

inputChangedでメソッドを見ましたContentProviderが、アプリの実行の最初と最後にのみ呼び出されます。

誰でも助けることができますか?答えをほのめかしているすべての Web ページを読みましたが、何も機能しませんでした。