使用 Eclipse 和 SWT,我目前正在尝试将CommandContributionItem
(CCI)作为具有两个文本字段的Button
a 。ViewPart
当我按下按钮时,ParameterizedCommand
应该使用文本字段的当前文本值作为参数来调用我。
我能够像这样将文本字段的初始值传递给 CCI:
public void createPartControl(Composite parent) {
parent.setLayout(new GridLayout(1, false));
text = new Text(parent, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
text_1 = new Text(parent, SWT.BORDER);
text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
Map<String, String> params = new HashMap<String, String>();
params.put("myString", text.getText());
params.put("mySecondString", text_1.getText());
CommandContributionItemParameter p = new CommandContributionItemParameter(getSite(),
"commandSyso","com.voo.example.commandparameter.simple.sysoCommand", CommandContributionItem.STYLE_PUSH);
p.label = "My Label";
p.parameters = params;
CommandContributionItem item = new CommandContributionItem(p);
item.fill(parent);
}
但它是静态的一次性通行证。有没有办法在每次调用 CCI 时动态更新它?