問題タブ [e4]

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 投票する
2 に答える
646 参照

java - プラグイン間のEclipse e4 RCPアクセスサービス

私は現在、Eclipse 4.2M6 を使用して最初の Eclipse e4 RCP アプリに取り組んでいます。アプリのコアコードを持ち、他のプラグイン/フラグメントをアプリにフックして新しい機能を追加できるようにする拡張機能として多くのサービスを定義するメインプラグインを開発しています。

私のメイン サービスには、他のプラグインが新しい機能を登録し、メイン アプリのモデルにプログラムで追加するために使用するメソッドがあります。ただし、これらのプラグインがサービスを検索し、プラグインの開始時に自分自身を登録する方法がわかりません。

例:

メインプラグインでの私のサービスのインターフェース:

2 番目のプラグインで必要なもの:

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

eclipse - Eclipsee4コンテキストメニュー

Eclipse4.2でRCPアプリケーションを構築しようとしています。

最初の問題; 私は持っていTreeViewerます。ツリービューアでアイテムを選択すると、2つのうちの1つをスタックMPartsして表示する必要があります。e4のパーツスタックでパーツをアクティブ化するにはどうすればよいですか?

2番; パーツの1つに関連付けられたコンテキストメニューがあります。特定のコンポジットを右クリックした場合にのみメニューを表示する必要があります。必要なすべてのデータを含むオブジェクトを現在のコンテキスト(IEclipseContext)に追加するマウスダウンハンドラーがありますが、からアクセスする方法がわかりませんCoreExpression(これはの可視性を制御する唯一の実際の方法のようですメニュー)。マウスを上にすると、オブジェクトがコンテキストから削除されます。私のクラスはRightClickDataです。RightClickDataのインスタンスが現在のコンテキストに存在するかどうかをテストするコア式を作成するにはどうすればよいですか?

編集、私の一部Application.e4xmi

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

eclipse - e4 ダイナミック メニューへの貢献

この機能は Kepler M4 で実現されました。使用方法の詳細については、私のブログを参照してください。

ビュー ツールバーにあるハンドラーのメニューへの完全に動的なメニューの貢献を実現したいと考えています。Eclipse 3 では、メニューへの org.eclipse.ui.menus の貢献として「動的」を追加することが可能でした!

私はすでにwww.vogella.com/blog/2010/10/26/processors-e4-modelで、プロセッサ モデルの拡張によってメニューに動的に貢献する方法を説明していることを知りましたが、変更される完全に動的なメニューの実装について話しているのです。担当者のすべての呼び出しで。サブメニュー。前述のように、動的メニューの提供と isDynamic() を true に設定することにより、これは Eclipse 3.x で実現するのに問題はありませんでした。

私はすでにいくつかのアプローチを試しました:

未経験のオープンなソリューション

  • ToolControl を挿入して SWT アプローチを試す -> 非常に複雑ですが、うまくいく可能性があります

私はしばらく頭を悩ませてきましたが、E4 内でこの問題の正しい実装を理解できないようです。

-- この質問はEclipse フォーラムでも尋ねられました - 動的メニューの貢献

- - - アップデート

私は今まで別のアプローチを試みました:

メニューに HandledToolItem を追加しました (次の画像を参照してください)。

フラグメント コマンド アプローチ

次のコードを使用して、コードが担当者によって呼び出されるメニューのビルド方法を妨害しようとしています。イメージで参照されているコマンド ハンドラ。

ご覧のとおり、コマンドが実行可能かどうかを判断するために、メニューが作成されるとこのコードが照会されます。1 から 2 までのすべてのコードは、作業する正しい MMenu 要素を見つけるためのものです。2 ~ 3 のコードは、MenuItem を作成し、フィールドのカウンターをインクリメントします。

しかし 3 で、メニューが初めて開かれたときにjava.util.ConcurrentModificationExceptionに直面しました! まさにこの時点で、メニューが elemMenu.getChildren() を繰り返し処理していて、有効にすることは許可されていないと思います!

だから、e4モデル全体がいつでも変更可能であることについてのすべての混乱は何ですか;)(冗談です、これはひどいハックだと知っています!!!)

つまり、完全に動的なメニュー パーツを追加できる可能性は、最高のユーザビリティ ツールの 1 つだと本当に思います。E3 のように E4 でそれを実現できない場合、これは非常に深刻な可能性の低下です!!!

- アップデート

このhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=389063に対して Eclipse のバグが報告されています。

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

eclipse - E4 プログラミング モデルを使用してビューを作成し、Eclipse 4.2 以降のプラグインにする方法を教えてください。

既存の Eclipse プラグインのほとんどは、拡張レジストリと のサブクラスをViewPart、互換性レイヤーと組み合わせて使用​​します。その結果、新しいビューを作成すると (特に PDE の新しいプラグイン ウィザードを使用して)、プラグインは次のようになります。

E4 プログラミング モデルを利用して、次のようなビューを作成することは可能ですか。

それを既存の Eclipse 4.2 インスタンスにフックして、[ビューの表示] メニューに表示されるようにしますか? もしそうなら、それはどのように宣言的に配線されていますか(LegacyIDE.e4xmiは不変であり、追加できないため)。

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

eclipse - Eclipse4e4-ダイアログについて

Eclipse 4アプリケーションを構築していて、Eclipse 3で知られているaboutダイアログを作成したいと思います。MenuSpyを使用して、次のことを学びました。

アクティブな貢献場所のURI:

アクティブなアクション定義識別子:

アクティブな貢献アイテムクラス:

貢献するプラグイン:

質問: このアクションを使用して、アプリケーションのバージョン情報ダイアログを開いたり拡張したりできますか?

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

eclipse-rcp - e4RCPアプリケーションを再起動する方法

IApplication.startがIApplication.EXIT_RESTARTを返す場合、3。*ベースのRCPアプリケーションが再起動されます。クラスE4Applicationは常にEXIT_OKを返すようです。

org.eclipse.ui.IWorkbenchには再起動メソッドもありますが、org.eclipse.e4.ui.workbench.IWorkbenchにはありません。

では、どうすればe4 RCPアプリケーションを再起動できますか?

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

eclipse-rcp - インジェクションを使用する Eclipse4 (e4) クラスのメソッドを手動でトリガーしますか?

MApplication を注入するクラスがあります。ハンドラーです。ハンドラーのメソッドを手動でトリガーしたい。

問題: ハンドラーを別のクラスから手動でインスタンス化すると、MApplication が null になります。ハンドラーをトリガーするクラスには、既に MApplication が注入されているため、ライフサイクルの問題ではありません。

質問: @Inject アノテーションが付けられたメソッドを持つクラスでメソッドをトリガーするにはどうすればよいですか?

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

java - Eclipse 4 RCP パーツ クラスのベスト プラクティス

私は新しい Eclipse 4 RCP プラットフォームについて学んでいますが、興味深い問題に遭遇しました。

MPartApplication.e4xmi で定義された の Part クラスを設計しているとします。

WindowBuilder を使用して ui を作成していますが、動作コードがないようにしたいので、次のように相互作用を処理するクラスを作成します。

これは良い習慣ですか、それともここで車輪を再発明していて、e4 にはすでにこれに対する解決策がありますか? そうでない場合、これらのクラスを一緒に配線するにはどうすればよいですか? Eclipse コンテキスト外でインスタンスを作成することは避けたいと考えています。公式の e4 ドキュメントはかなりまばらなので、答えを見つけることができる完全な本またはリファレンス マニュアルを誰かが私にリンクしてくれたら、それもいいでしょう。

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

e4 - e4 アプリケーション モデルをプログラムでロードする

モデル要素を反復できるようにするために、プログラムで e4 アプリケーション モデルをロードしようとしています。現在、正しくロードする方法がわからないという問題に直面しています。

単純なロードを使用して既存のモデルApplication.e4xmiを単純にロードしようとしたが、データが取り込まれたリソース (null) にはなりませんでした。

その後、 について知りましたがorg.eclipse.e4.tools.emf.ui.common.XMIModelResource、次のコードを使用してモデルをインスタンス化することはできません

私が得るように、Package with uri 'http://www.eclipse.org/ui/2010/UIModel/application' not found.このecoreはすでにインポートされていますorg.eclipse.e4.ui.model.workbench

誰もこれについてヒントを得ましたか?ありがとう!

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

java - Eclipse RCP 4 アプリケーションのカスタム コマンドを作成するにはどうすればよいですか?

私は e4 アプリケーションを作成しており、カスタム コマンドを作成しようとしていますが、ドキュメントには詳細が欠けています。チェックボタンが付いたツールバーがあり、達成したいのは、チェックボタンがチェックされているかどうかをハンドラーに伝えるブール値パラメーターを持つコマンドを持つことです。

ビジュアル モデル エディターを試しましたが、パラメーターをハード コードすることしかできません。インターフェイスを実装するMCommand必要がありますか、それとももっと簡単な解決策がありますか? 正しい方向に私を向けることができますか?