以编程方式从 Eclipse 的“项目属性”对话框中选择一个节点
Programmatically selecting a node from the Project properties dialog in Eclipse
我正在开发一个 Eclipse 插件,它向项目添加了 2 属性 个页面。
第二个属性页面是属性第1页的子页面。基本上,如果有人展开属性第1页节点,那么属性第2页就会显示.
在 属性 第 1 页中,有一个名为 "Advanced settings" 的按钮,单击该按钮时应打开并将焦点设置到 属性 第 2 页。
如何以编程方式执行相同的操作?
使用 PreferencesUtil.createPropertyDialogOn
方法,例如:
PreferencesUtil.createPropertyDialogOn(
Display.getCurrent().getActiveShell(), proj,<page_id>, null, null).open();
您可以查看 javadoc 以了解 createPropertyDialogOn
here.
的其他重载方法
没有从 属性 页面中 select 另一个 属性 页面的指定方式。
您唯一的机会是将容器投射到 FilteredPreferenceDialog
。此 class 有一个 public 方法来更改当前显示的页面。例如:
IPreferencePageContainer container = getContainer();
FilteredPreferenceDialog dialog = ( FilteredPreferenceDialog )container;
dialog.setCurrentPageId( "page-id" );
此解决方法的缺点是 FilteredPreferenceDialog
是内部 class。
我正在开发一个 Eclipse 插件,它向项目添加了 2 属性 个页面。
第二个属性页面是属性第1页的子页面。基本上,如果有人展开属性第1页节点,那么属性第2页就会显示.
在 属性 第 1 页中,有一个名为 "Advanced settings" 的按钮,单击该按钮时应打开并将焦点设置到 属性 第 2 页。
如何以编程方式执行相同的操作?
使用 PreferencesUtil.createPropertyDialogOn
方法,例如:
PreferencesUtil.createPropertyDialogOn(
Display.getCurrent().getActiveShell(), proj,<page_id>, null, null).open();
您可以查看 javadoc 以了解 createPropertyDialogOn
here.
没有从 属性 页面中 select 另一个 属性 页面的指定方式。
您唯一的机会是将容器投射到 FilteredPreferenceDialog
。此 class 有一个 public 方法来更改当前显示的页面。例如:
IPreferencePageContainer container = getContainer();
FilteredPreferenceDialog dialog = ( FilteredPreferenceDialog )container;
dialog.setCurrentPageId( "page-id" );
此解决方法的缺点是 FilteredPreferenceDialog
是内部 class。