Sya*_*yam 2 eclipse eclipse-plugin
我想使用Eclipse Plug-in开发API(不是RCP应用程序)向eclipse的工具栏(coolbar)添加一个组合框.应动态添加/删除此组合框项.
我知道在RCP应用程序中可以通过以下链接:http://www.thedeveloperspoint.com/?p = 140
但我正在看Eclipse插件API.
任何帮助将不胜感激.
谢谢
Syam
这可以通过使用2个步骤来完成.
第1步:使用扩展点机制创建/添加工具栏到全局工具栏(使用locationURI作为"toolbar:org.eclipse.ui.main.toolbar")
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar
id="com.company.module.toolbar"
label="Sample">
<control
class="com.company.module.ui.ComboToolbarContribution"
id="ratata">
</control>
</toolbar>
</menuContribution>
</extension>
Run Code Online (Sandbox Code Playgroud)
第2步:按如下方式实施ComboToolbarContribution.
package com.company.module.ui;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.menus.WorkbenchWindowControlContribution;
public class ComboToolbarContribution extends
WorkbenchWindowControlContribution {
private Combo mReader;
public ComboToolbarContribution() {
}
@Override
protected Control createControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
GridLayout glContainer = new GridLayout(1, false);
glContainer.marginTop = -1;
glContainer.marginHeight = 0;
glContainer.marginWidth = 0;
container.setLayout(glContainer);
GridData glReader = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1);
glReader.widthHint = 280;
mReader = new Combo(container, SWT.BORDER | SWT.READ_ONLY
| SWT.DROP_DOWN);
mReader.setLayoutData(glReader);
return container;
}
@Override
protected int computeWidth(Control control) {
return 300;
} }
Run Code Online (Sandbox Code Playgroud)
通过上述两个步骤,组合框将添加到全局工具栏,用户需要提供对组合框的全局访问.
| 归档时间: |
|
| 查看次数: |
4418 次 |
| 最近记录: |