下面列出了怎么用org.eclipse.swt.widgets.ToolItem的API类实例代码及写法,或者点击链接到github查看源代码。
@GuiToolbarElement(
root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
id = TOOLBAR_ICON_LOG_PAUSE_RESUME,
// label = "WorkflowLog.Button.Pause",
toolTip = "WorkflowLog.Button.Pause",
i18nPackageClass = HopGui.class,
image = "ui/images/pause-log.svg",
separator = true
)
public void pauseLog() {
ToolItem item = toolBarWidgets.findToolItem( TOOLBAR_ICON_LOG_PAUSE_RESUME );
if ( logBrowser.isPaused() ) {
logBrowser.setPaused( false );
item.setImage( GuiResource.getInstance().getImageContinueLog() );
} else {
logBrowser.setPaused( true );
item.setImage( GuiResource.getInstance().getImagePauseLog() );
}
}
@Override
public void fill(final ToolBar toolbar, final int index, final int iconSize) {
final ToolItem item = new ToolItem(toolbar, SWT.PUSH | SWT.RIGHT);
item.setToolTipText(Messages.WelcomeButtonLabel);
if (iconSize < 0) {
item.setImage(Pics.getImage(PicsConstants.coolbar_welcome_48));
item.setDisabledImage(Pics.getImage(PicsConstants.coolbar_welcome_disabled_48));
} else {
item.setImage(Pics.getImage(PicsConstants.coolbar_welcome_16));
item.setDisabledImage(Pics.getImage(PicsConstants.coolbar_welcome_disabled_16));
}
item.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
try {
handler.execute(new ExecutionEvent());
} catch (final ExecutionException e1) {
BonitaStudioLog.error(e1);
}
}
});
}
@GuiToolbarElement(
root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
id = TOOLBAR_ITEM_SHOW_EXECUTION_RESULTS,
// label = "HopGui.Menu.ShowExecutionResults",
toolTip = "HopGui.Tooltip.ShowExecutionResults",
i18nPackageClass = HopGui.class,
image = "ui/images/show-results.svg",
separator = true
)
public void showExecutionResults() {
ToolItem item = toolBarWidgets.findToolItem( TOOLBAR_ITEM_SHOW_EXECUTION_RESULTS );
if ( isExecutionResultsPaneVisible() ) {
disposeExtraView();
} else {
addAllTabs();
}
}
@GuiToolbarElement(
root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
id = TOOLBAR_ICON_LOG_PAUSE_RESUME,
// label = "WorkflowLog.Button.Pause",
toolTip = "WorkflowLog.Button.Pause",
i18nPackageClass = HopGui.class,
image = "ui/images/pause-log.svg",
separator = true
)
public void pauseLog() {
ToolItem item = toolBarWidgets.findToolItem( TOOLBAR_ICON_LOG_PAUSE_RESUME );
if ( logBrowser.isPaused() ) {
logBrowser.setPaused( false );
item.setImage( GuiResource.getInstance().getImageContinueLog() );
} else {
logBrowser.setPaused( true );
item.setImage( GuiResource.getInstance().getImagePauseLog() );
}
}
public void addAllTabs() {
CTabItem tabItemSelection = null;
if ( extraViewTabFolder != null && !extraViewTabFolder.isDisposed() ) {
tabItemSelection = extraViewTabFolder.getSelection();
}
jobHistoryDelegate.addJobHistory();
jobLogDelegate.addJobLog();
jobGridDelegate.addJobGrid();
jobMetricsDelegate.addJobMetrics();
if ( tabItemSelection != null ) {
extraViewTabFolder.setSelection( tabItemSelection );
} else {
extraViewTabFolder.setSelection( jobGridDelegate.getJobGridTab() );
}
XulToolbarbutton button = (XulToolbarbutton) toolbar.getElementById( "job-show-results" );
button.setTooltiptext( BaseMessages.getString( PKG, "Spoon.Tooltip.HideExecutionResults" ) );
ToolItem swtToolItem = (ToolItem) button.getManagedObject();
swtToolItem.setImage( GUIResource.getInstance().getImageHideResults() );
}
public void addAllTabs() {
CTabItem tabItemSelection = null;
if ( extraViewTabFolder != null && !extraViewTabFolder.isDisposed() ) {
tabItemSelection = extraViewTabFolder.getSelection();
}
workflowLogDelegate.addJobLog();
workflowGridDelegate.addJobGrid();
if ( tabItemSelection != null ) {
extraViewTabFolder.setSelection( tabItemSelection );
} else {
extraViewTabFolder.setSelection( workflowGridDelegate.getJobGridTab() );
}
ToolItem toolItem = toolBarWidgets.findToolItem( TOOLBAR_ITEM_SHOW_EXECUTION_RESULTS );
toolItem.setToolTipText( BaseMessages.getString( PKG, "HopGui.Tooltip.HideExecutionResults" ) );
toolItem.setImage( GuiResource.getInstance().getImageHideResults() );
}
protected void editControlSelected(final ToolBar tb, final Event event, final EditingDomain editingDomain) {
boolean connectorEdit = false;
final Expression selectedExpression = getSelectedExpression();
if (tb != null && withConnector && selectedExpression != null
&& ExpressionConstants.CONNECTOR_TYPE.equals(selectedExpression.getType())) {
for (final ToolItem ti : tb.getItems()) {
final Object data = ti.getData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY);
if (data != null && data.equals(SWTBotConstants.SWTBOT_ID_CONNECTORBUTTON)) {
connectorEdit = true;
ti.notifyListeners(SWT.Selection, event);
}
}
}
if (!connectorEdit) {
final EditExpressionDialog dialog = createEditDialog();
openEditDialog(dialog);
}
}
private void createToolbar(Composite parent) {
ToolBar toolBar = new ToolBar(parent, SWT.HORIZONTAL | SWT.LEFT | SWT.NO_FOCUS | SWT.FLAT);
formPage.getToolkit().adapt(toolBar);
ToolItem addFieldItem = new ToolItem(toolBar, SWT.PUSH);
addFieldItem.setImage(BusinessObjectPlugin.getImage("/icons/add.png"));
addFieldItem.setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, ADD_ATTRIBUTE_BUTTON_ID);
addFieldItem.setToolTipText(Messages.addFieldTooltip);
addFieldItem.addListener(SWT.Selection, e -> addAttribute());
deleteFieldItem = new ToolItem(toolBar, SWT.PUSH);
deleteFieldItem.setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, REMOVE_ATTRIBUTE_BUTTON_ID);
deleteFieldItem.setImage(BusinessObjectPlugin.getImage("/icons/delete_icon.png"));
deleteFieldItem.setToolTipText(Messages.deleteFieldTooltip);
deleteFieldItem.addListener(SWT.Selection, e -> removeSelectedAttribute());
upFieldItem = new ToolItem(toolBar, SWT.PUSH);
upFieldItem.setImage(BusinessObjectPlugin.getImage("/icons/up.png"));
upFieldItem.setToolTipText(Messages.up);
upFieldItem.addListener(SWT.Selection, e -> upSelectedAttribute());
downFieldItem = new ToolItem(toolBar, SWT.PUSH);
downFieldItem.setImage(BusinessObjectPlugin.getImage("/icons/down.png"));
downFieldItem.setToolTipText(Messages.down);
downFieldItem.addListener(SWT.Selection, e -> downSelectedAttribute());
}
private void createToolBar(Composite tparent) {
Composite toolBarCmp = new Composite(tparent, SWT.NONE);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(toolBarCmp);
GridLayoutFactory.fillDefaults().numColumns(1).applyTo(toolBarCmp);
ToolBar toolBar = new ToolBar(toolBarCmp, SWT.NO_FOCUS | SWT.FLAT);
ToolItem openItem = new ToolItem(toolBar, SWT.PUSH);
openItem.setToolTipText(Messages.getString("dialog.JavaPropertiesViewerDialog.toolBar"));
openItem.setImage(new Image(Display.getDefault(), openFilePath));
openItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
openFile();
}
});
}
private void createToolbar(Composite parent) {
ToolBar toolBar = new ToolBar(parent, SWT.HORIZONTAL | SWT.LEFT | SWT.NO_FOCUS | SWT.FLAT);
formPage.getToolkit().adapt(toolBar);
addParameterItem = new ToolItem(toolBar, SWT.PUSH);
addParameterItem.setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, ADD_PARAM_BUTTON_ID);
addParameterItem.setImage(BusinessObjectPlugin.getImage("/icons/add.png"));
addParameterItem.setToolTipText(Messages.addParameterTooltip);
addParameterItem.addListener(SWT.Selection, e -> addParameter());
deleteParameterItem = new ToolItem(toolBar, SWT.PUSH);
deleteParameterItem.setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, REMOVE_PARAM_BUTTON_ID);
deleteParameterItem.setImage(BusinessObjectPlugin.getImage("/icons/delete_icon.png"));
deleteParameterItem.setToolTipText(Messages.deleteParameterTooltip);
deleteParameterItem.addListener(SWT.Selection, e -> removeParameter());
}
@Override
public void fill(final ToolBar parent, int index)
{
toolItem = new ToolItem(parent, SWT.DROP_DOWN);
toolItem.setImage(actionProvider.getImage());
// toolItem.setDisabledImage(actionProvider.getDisabledImage());
// toolItem.setHotImage(actionProvider.getHotImage());
toolItem.setToolTipText(actionProvider.getToolTip());
toolItem.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent selectionEvent)
{
actionProvider.run(parent);
}
});
}
@Override
public void fill(final ToolBar toolbar, final int index, final int iconSize) {
item = new ToolItem(toolbar, SWT.PUSH);
item.setToolTipText(Messages.PasteButtonLabel);
if (iconSize < 0) {
item.setImage(Pics.getImage(PicsConstants.coolbar_paste_48));
item.setDisabledImage(Pics.getImage(PicsConstants.coolbar_paste_disabled_48));
} else {
item.setImage(Pics.getImage(PicsConstants.coolbar_paste_16));
item.setDisabledImage(Pics.getImage(PicsConstants.coolbar_paste_disabled_16));
}
item.setEnabled(false);
item.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final Command cmd = getCommand();
try {
cmd.executeWithChecks(new ExecutionEvent());
} catch (final Exception ex) {
BonitaStudioLog.error(ex);
}
}
});
}
public Object execute(ExecutionEvent event) throws ExecutionException {
// open the button's dropdown menu
Object trigger = event.getTrigger();
if (trigger instanceof Event) {
Widget widget = ((Event) trigger).widget;
if (widget instanceof ToolItem) {
ToolItem toolItem = (ToolItem) widget;
Listener[] listeners = toolItem.getListeners(SWT.Selection);
if (listeners.length > 0) {
Listener listener = listeners[0]; // should be only one listener
// send an event to the widget to open the menu
// see CommandContributionItem.openDropDownMenu(Event)
Event e = new Event();
e.type = SWT.Selection;
e.widget = widget;
e.detail = 4; // dropdown detail
e.y = toolItem.getBounds().height; // position menu
listener.handleEvent(e);
}
}
}
return null;
}
private void hookToCommands(final ToolItem lastEdit, final ToolItem nextEdit) {
WorkbenchHelper.runInUI("Hooking to commands", 0, m -> {
final Command nextCommand = getCommand(NAVIGATE_FORWARD_HISTORY);
nextEdit.setEnabled(nextCommand.isEnabled());
final ICommandListener nextListener = e -> nextEdit.setEnabled(searching || nextCommand.isEnabled());
nextCommand.addCommandListener(nextListener);
final Command lastCommand = getCommand(NAVIGATE_BACKWARD_HISTORY);
final ICommandListener lastListener = e -> lastEdit.setEnabled(searching || lastCommand.isEnabled());
lastEdit.setEnabled(lastCommand.isEnabled());
lastCommand.addCommandListener(lastListener);
// Attaching dispose listeners to the toolItems so that they remove the
// command listeners properly
lastEdit.addDisposeListener(e -> lastCommand.removeCommandListener(lastListener));
nextEdit.addDisposeListener(e -> nextCommand.removeCommandListener(nextListener));
});
}
/**
* @param tb
*/
private void createPauseItem(final GamaToolbar2 tb) {
pauseItem = tb.check(IGamaIcons.DISPLAY_TOOLBAR_PAUSE, "Pause", "Pause or resume the current view", e -> {
final IOutput output = view.getOutput();
if (!internalChange) {
if (output != null) {
if (output.isPaused()) {
output.setPaused(false);
} else {
output.setPaused(true);
}
}
}
togglePause((ToolItem) e.widget, output);
}, SWT.RIGHT);
}
@Override
public void fill(final ToolBar toolbar, final int index, final int iconSize) {
item = new ToolItem(toolbar, SWT.PUSH);
item.setToolTipText(Messages.DeployButtonLabel);
item.setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, SWTBotConstants.SWTBOT_ID_DEPLOY_TOOLITEM);
if (iconSize < 0) {
item.setImage(Pics.getImage("deploy48.png", ApplicationPlugin.getDefault()));
} else {
item.setImage(Pics.getImage("deploy24.png", ApplicationPlugin.getDefault()));
}
item.setEnabled(false);
item.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final Command cmd = getCommand();
try {
cmd.executeWithChecks(new ExecutionEvent());
} catch (final Exception ex) {
BonitaStudioLog.error(ex);
}
}
});
}
protected ToolItem createClose(final ToolBar bar) {
final ToolItem close = new ToolItem(bar, SWT.PUSH);
final ImageDescriptor image = PlatformUI.getWorkbench()
.getSharedImages()
.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE);
if (image != null)
close.setImage(image.createImage());
close.setToolTipText(Messages.XFindPanel_Close_tooltip); //$NON-NLS-1$
close.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
hidePanel();
}
});
return close;
}
@Override
public void fill(final ToolBar toolbar, final int index, final int iconSize) {
final ToolItem item = new ToolItem(toolbar, SWT.PUSH);
item.setToolTipText(Messages.OpenUserXPButtonLabel);
if (iconSize < 0) {
item.setImage(Pics.getImage(PicsConstants.coolbar_portal_48));
item.setDisabledImage(Pics.getImage(PicsConstants.coolbar_portal_disabled_48));
} else {
item.setImage(Pics.getImage(PicsConstants.coolbar_portal_16));
item.setDisabledImage(Pics.getImage(PicsConstants.coolbar_portal_16));
}
item.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final Command cmd = getCommand();
try {
cmd.executeWithChecks(new ExecutionEvent());
} catch (final Exception ex) {
BonitaStudioLog.error(ex);
}
}
});
}
public void pauseLog() {
XulToolbarbutton pauseContinueButton = (XulToolbarbutton) toolbar.getElementById( "log-pause" );
ToolItem swtToolItem = (ToolItem) pauseContinueButton.getManagedObject();
if ( logBrowser.isPaused() ) {
logBrowser.setPaused( false );
if ( pauseContinueButton != null ) {
swtToolItem.setImage( GUIResource.getInstance().getImagePauseLog() );
}
} else {
logBrowser.setPaused( true );
if ( pauseContinueButton != null ) {
swtToolItem.setImage( GUIResource.getInstance().getImageContinueLog() );
}
}
}
@Override
protected Control createHelpControl(final Composite parent) {
helpControl = super.createHelpControl(parent);
final ToolItem item = ((ToolBar) helpControl).getItem(0);
final Listener[] listeners = item.getListeners(SWT.Selection);
if (listeners.length > 0) {
for (final Listener l : listeners) {
item.removeListener(SWT.Selection, l);
}
}
item.addListener(SWT.Selection, openTrayListener);
helpControl.setVisible(currentExpressionEditor == null);
return helpControl;
}
private void disposeExtraView() {
extraViewComposite.dispose();
sashForm.layout();
sashForm.setWeights( new int[] { 100, } );
ToolItem item = toolBarWidgets.findToolItem( TOOLBAR_ITEM_SHOW_EXECUTION_RESULTS );
item.setToolTipText( BaseMessages.getString( PKG, "HopGui.Tooltip.ShowExecutionResults" ) );
item.setImage( GuiResource.getInstance().getImageShowResults() );
}
@Override
public void fill(ToolBar parent, int index) {
item = new ToolItem(parent, SWT.PUSH);
item.setImage(BusinessObjectPlugin.getImage("icons/cleanDeploy.png"));
item.setText(Messages.cleanDeployTitle);
item.setToolTipText(Messages.cleanDeployTitle);
item.addListener(SWT.Selection, event -> deploy(true));
item.setEnabled(isEnabled());
}
public void enableToolbarItem( String id, boolean enabled ) {
ToolItem toolItem = toolItemMap.get( id );
if ( toolItem == null ) {
return;
}
if ( enabled != toolItem.isEnabled() ) {
toolItem.setEnabled( enabled );
}
}
@Override
public void widgetSelected(SelectionEvent e){
int type = (Integer) (((ToolItem) (e.getSource())).getData("type")); //$NON-NLS-1$
switch (type) {
case MOVEITEMUP:
moveListItem(-1);
break;
case MOVEITEMDOWN:
moveListItem(+1);
break;
case DELETEITEM:
deleteListItem();
break;
case EDITITEM:
String sel = listDisplay.getSelection();
_FieldsHyperlinkActivated(StringTool.leer, sel);
break;
default:
if (type > LASTFIXEDITEM) {
moveItemToOtherList(listDisplay,
moveTo_DestinationLists.get(type - LASTFIXEDITEM - 1),
noDuplicatesList);
}
break;
}
}
public static void setEnabled(final ToolItem item, final boolean status) {
Display.getDefault().asyncExec(
new Runnable() {
public void run() {
item.setEnabled(status);
}
}
);
}
/**
* Pulldown menu wird anhand selection angepasst
*
* @param parent
* @param action
* @param image
*/
private void select(final Control parent, final IAction action, final Image image){
if (parent instanceof ToolBar) {
ToolBar toolBar = (ToolBar) parent;
if (toolBar.getItemCount() > 0) {
ToolItem toolItem = toolBar.getItem(0);
toolItem.setImage(image);
toolItem.setHotImage(image);
toolItem.setToolTipText(action.getToolTipText());
this.selectedAction = action;
CoreHub.localCfg.set(LAB_ORDER_SELECTED_ACTION_ID, this.selectedAction.getId());
}
}
}
public ToolItem sep(final int n, final int side /* SWT.LEFT or SWT.RIGHT */) {
final GamaIcon icon = GamaIcons.createSizer(getBackground(), n, height);
final ToolItem item = create(icon.getCode(), null, null, null, SWT.NONE, false, null, side);
item.setDisabledImage(icon.image());
if (!PlatformHelper.isLinux()) {
item.setEnabled(false);
}
return item;
}
private ToolItem addItemToToolBar(ToolBar bar, String text, String toolTip,
int type, Listener listener, Image icon) {
ToolItem item = addItemToToolBar(bar, text, toolTip, type);
if (listener != null)
item.addListener(SWT.Selection, listener);
if (icon != null)
item.setImage(icon);
return item;
}
private ToolItem addItemToToolBar(ToolBar bar, String text, String toolTip,
int type, SelectionAdapter listener, Image icon) {
ToolItem item = addItemToToolBar(bar, text, toolTip, type);
if (listener != null)
item.addSelectionListener(listener);
if (icon != null)
item.setImage(icon);
return item;
}
public ToolItem createToolItem(ToolBar optionsToolBar)
{
if (!canCreateItem())
{
return null;
}
ToolItem item = isCheckable() ? new ToolItem(optionsToolBar, SWT.CHECK)
: new ToolItem(optionsToolBar, SWT.PUSH);
item.setImage(FindBarPlugin.getImage(this.image));
if (imageDisabled != null)
{
item.setDisabledImage(FindBarPlugin.getImage(this.imageDisabled));
}
item.setToolTipText(this.initialText);
if (preferencesKey != null)
{
IPreferenceStore preferenceStore = FindBarPlugin.getDefault().getPreferenceStore();
item.setSelection(preferenceStore.getBoolean(preferencesKey));
}
item.addSelectionListener(this);
if (!this.initiallyEnabled)
{
item.setEnabled(false);
}
setToolItemInDecorator(item);
return item;
}