私はEclipseプラグイン(RCPではなく)を開発しており、JfaceとSWTを使用してユーザーインターフェイスを作成しています。実際、ユーザーインターフェイスの開発を容易にするためにWindowBuilderプラグインをダウンロードし、カスタムTitleAreaDialogを作成しました。EclipseプラグインでSWT/JFace TitleAreaDialogの変更が表示されないのはなぜですか?
これまですべてがうまくいって、WindowBuilder(上の画像)に次のTitleAreaDialogが表示され、Eclipseプラグインを実行しようとすると問題が発生します。木と左側の要素が消えit's:
WindowBuilder (top) and Plugin executed (bottom)
誰もが何が起こっているか知っていますか? plugin.xmlまたはMANIFEST.MFに何かを追加する必要がありますか?
ありがとうございます。
EDIT: zipには、plugin.xml、MANIFEST.XML、build.properties、Handler、およびguiという名前のPlugiGUIがあります。ご不明な点がございましたら、私にご相談ください。
ありがとうございます。
You can download the code here.
EDIT 2: MANIFEST.MFコードの一部はTitleAreaDialogコードの次
Bundle-SymbolicName: org.eclipse.plugin.arturito;singleton:=true
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .,
swing2swt.jar
一部は以下である:
/**
* Create contents of the dialog.
* @param parent
*/
@Override
protected Control createDialogArea(Composite parent) {
//TITLE AND IMAGE OF TitleDialog
...
//Composite
Composite area = (Composite) super.createDialogArea(parent);
Composite container = new Composite(area, SWT.NONE);
container.setLayout(new FillLayout(SWT.HORIZONTAL));
container.setLayoutData(new GridData(GridData.FILL_BOTH));
//Creates the division
SashForm sashForm = new SashForm(container, SWT.NONE);
//Right division
Group rightGroup = new Group(sashForm, SWT.NONE);
rightGroup.setLayout(new StackLayout());
//Create the tree
Tree tree = new Tree(rightGroup, SWT.BORDER);
tree.setLinesVisible(true);
tree.setToolTipText("");
tree.setHeaderVisible(true);
//Create tree elements
TreeItem pluginProperties = new TreeItem(tree, SWT.NONE);
pluginProperties.setText("Plugin properties");
pluginProperties.setImage(ResourceManager.getPluginImage("org.eclipse.plugin.arturito", "icons/arturitoProperties.png"));
TreeItem createPluginProperties = new TreeItem(pluginProperties, SWT.NONE);
createPluginProperties.setText("Create");
createPluginProperties.setImage(ResourceManager.getPluginImage("org.eclipse.plugin.arturito", "icons/arturitoPlus.png"));
TreeItem editPluginProperties = new TreeItem(pluginProperties, SWT.NONE);
editPluginProperties.setText("Edit/Delete");
editPluginProperties.setImage(ResourceManager.getPluginImage("org.eclipse.plugin.arturito", "icons/arturitoRemoveEdit.png"));
pluginProperties.setExpanded(true);
//MORE TREE ELEMENTS WITH SAME PATTERN
..............
//Left division
Group leftGroup = new Group(sashForm, SWT.NONE);
leftGroup.setLayout(new StackLayout());
Composite projectConfigDescriptor = new Composite(leftGroup, SWT.NONE);
//Proportion of sashForm
sashForm.setWeights(new int[] {220, 469});
return area;
}
なぜWindowBuilderが行います私が望むようにTitleDialogを表示し、私のプラグインは表示されませんか?
コードを表示する必要があります。 –
コードが追加されました。 Run Configurationsと同じようにTitleAreaDialogを作成する必要がありますが、わかるように何が動作していないのか分かりません。 – Jaime
コードが問題になっている必要があります。スタックオーバーフローに関する質問は、リンクされたコードがある時点で削除されても問題が無用になると、他の人やあなたを助けることを目的としています。私たちに[mcve](少なくともTitleAreaDialogの)を表示してください。 –