問題タブ [draw2d]
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.
eclipse-gef - draw2d ラベルにテキストをドロップするために DropListener を追加する方法
私は dropListener を追加しようとしているので、GEf Editor で draw2d Label にドロップしてテキストを入れることができます。例は素晴らしいでしょう。
java - GEF EditParts での直接編集確認
はじめに: GEF
で実装するエディターを含む Eclipse プラグインを作成します。エディターにノードとエッジがあります。ノードには名前があり、直接編集でノードの名前を編集したいと考えています。
ノード編集部分に直接編集ポリシーをインストールします。
また、直接編集ポリシーは、直接編集コマンドを実装します。
問題は 、直接編集を確認するには、STRG + ENTER を押さなければならないことです。Enter キーだけを押すと、直接編集が新しい行に展開されます。直接編集を ENTER で簡単に確認できるようにする方法はありますか? 複数行のノード名は必要ありません。
eclipse-gef - GEF - 子 EditParts が親の他の Figure の下に描画されていますか?
Eclipse で GEF を使用したグラフィカル エディターを使用して xml モデルを説明 (および編集) しようとしています。私の xml モデルは、その親子階層に最大 5 つのレベルを持つことができます。階層内の各要素は、独自の EditPart (ボックスのように見えます) です。子要素は、親のボックス内に含まれる「ボックス」EditParts として表されます。
私の EditParts のそれぞれには draw2d Figure があり、それ自体に少なくとも 2 つまたは 3 つの (装飾的な) draw2d Figure があります。装飾的な図は、ヘッダーの四角形、コンテンツの四角形、ラベルなどです。これらの装飾的な図は、EditPart の子 EditPart の上に描画されています。つまり、子の EditPart が表示されません。
私はこれを回避するために、手動で子 EditPart の図を親の EditPart の図のスタックの一番上に強制的に移動させました。
ただし、これは部分的にしか機能しませんでした。子 EditPart は現在、親 EditPart の上にレンダリングされていましたが、Gef に関する限り、それは下にありました。ドロップ リスナーやツールチップなどの一部の Gef イベントは、子 EditPart が存在しないかのように動作します。
編集:
EditPart の図は、次のように作成されます。
PageFigure は Figure のサブクラスであり、独自の装飾的な子フィギュアを構築します。
java - Draw2D ラベルに設定された SWT フォントを破棄するには?
GEF エディターには、次のものがありますEditPart
。
ほとんどのモデルですべて正常に動作しますが、既にエラーに気付いているでしょうが、フォントを破棄することはありません。したがって、10,000 個以上のトークンの大規模なモデルでは、これはorg.eclipse.swt.SWTError: No more handles
. 少なくとも、これがエラーの原因だと思います(希望)。
EditPartの図はSWTウィジェットではなくDraw2Dラベルであるため、フォントを破棄する方法がわかりません。恐ろしいエラーを回避できるようにするにはどうすればよいですか?
eclipse - ジョブでズーム操作をキャンセルできない
私はEclipse RCPアプリケーションに取り組んでいます。私ScalableLayeredPane
は約800体のフィギュアを持っています。
setScale()
メソッドを使用してズーム値を変更する必要があります。
また、ジョブを使用してズームの進行状況を表示したいと考えています。
メソッドを使用して関数asyncexec
を呼び出していsetScale()
ます。ただし、GUI が不足しており、キャンセル ボタンもクリックできません。
これに関するヘルプをいただければ幸いです。
これが私がやっていることです。
ただし、この特定のコードを実行すると、GUI が応答しなくなり、キャンセル ボタンを押すことができなくなります。いつも"Job done!"
メッセージをいただいています。
PlatformUI#getWorkbench()#getDisplay()#syncExec
また、UI スレッドを実行するメソッドを使用してみました。それはうまくいきませんでした。
私の分析が示唆しているのは、setScale
操作自体に時間がかかり、GUI が応答しなくなることです。スレッドがハングアップしないsetScale
ように、(可能であれば) 別のスレッドから呼び出す必要があります。Main
eclipse-gef - getChildren() による GEF でのネストされた図の順序付け
ツールバー レイアウトの図があります。その中にラベルを追加しました(2Dを描画)。
動的に別の図を追加する必要があります。しかし、追加すると、ラベルが下に移動し、新しく追加された図が一番上に来ます。
メソッドでラベルを追加しようとしましたadd(IFigure, index)
が、インデックスは0ですが、使用できません!
getChilden()
リストの一番下に私のラベルがあることに気付きました。リストの順序を変更し続けることはできますが、それは良い考えではないと思います。
新しく追加された数字が常に一番下にあるようにするにはどうすればよいですか?
ツールバー レイアウト以外のレイアウトは使用できません。
eclipse-gef - プログラムで GEF の図の高さを変更する
別の図、つまり入れ子になった図に図を追加する必要がある場合があります。
他の図を含む私の図extends org.eclipse.draw2d.Figure
。
ネストされたすべての図が一度に表示されるように、4 つ以上の図が含まれている場合にこの図の高さを変更したいと考えています。
したがって、paintFigure(Graphics graphics)
メソッドでは、次のようにします。
しかし、これは高さを変えません。当分の間、それは変更されますが、次回再び呼び出されると、更新された高さではなく、以前の高さが再び保持されます。
したがって、視覚的には Figure の高さはまったく変化しません。
私が間違っていることについてのアイデアはありますか?
または、これを別のおよび/またはより良い方法で行うには?