use of org.eclipse.ui.menus.CommandContributionItemParameter in project dbeaver by serge-rider.
the class ActionUtils method makeCommandContribution.
public static CommandContributionItem makeCommandContribution(@NotNull IServiceLocator serviceLocator, @NotNull String commandId, int style, @Nullable DBPImage icon) {
CommandContributionItemParameter parameters = new CommandContributionItemParameter(serviceLocator, null, commandId, style);
parameters.icon = DBeaverIcons.getImageDescriptor(icon);
return new CommandContributionItem(parameters);
}
use of org.eclipse.ui.menus.CommandContributionItemParameter in project dbeaver by dbeaver.
the class ResultSetViewer method fillPanelsMenu.
private List<IContributionItem> fillPanelsMenu() {
List<IContributionItem> items = new ArrayList<>();
for (final ResultSetPanelDescriptor panel : availablePanels) {
CommandContributionItemParameter params = new CommandContributionItemParameter(site, panel.getId(), ResultSetHandlerTogglePanel.CMD_TOGGLE_PANEL, CommandContributionItem.STYLE_CHECK);
Map<String, String> parameters = new HashMap<>();
parameters.put(ResultSetHandlerTogglePanel.PARAM_PANEL_ID, panel.getId());
params.parameters = parameters;
items.add(new CommandContributionItem(params));
}
items.add(new Separator());
// if (viewerSash.getMaximizedControl() == null) {
// items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_TOGGLE_LAYOUT));
// }
items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_TOGGLE_MAXIMIZE));
// items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_TOGGLE_PANELS));
items.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ACTIVATE_PANELS));
return items;
}
use of org.eclipse.ui.menus.CommandContributionItemParameter in project dbeaver by dbeaver.
the class ResultSetViewer method createStatusBar.
private void createStatusBar() {
Composite statusComposite = UIUtils.createPlaceholder(viewerPanel, 3);
statusComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
statusBar = new Composite(statusComposite, SWT.NONE);
statusBar.setBackgroundMode(SWT.INHERIT_FORCE);
statusBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
CSSUtils.setCSSClass(statusBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
RowLayout toolbarsLayout = new RowLayout(SWT.HORIZONTAL);
toolbarsLayout.marginTop = 0;
toolbarsLayout.marginBottom = 0;
toolbarsLayout.center = true;
toolbarsLayout.wrap = true;
toolbarsLayout.pack = true;
// toolbarsLayout.fill = true;
statusBar.setLayout(toolbarsLayout);
{
ToolBarManager editToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
// handle own commands
editToolBarManager.add(new Separator());
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_APPLY_CHANGES, "Save", null, null, true));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_REJECT_CHANGES, "Cancel", null, null, true));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_GENERATE_SCRIPT, "Script", null, null, true));
editToolBarManager.add(new Separator());
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_EDIT));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_ADD));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_COPY));
editToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_DELETE));
ToolBar editorToolBar = editToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(editorToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(editToolBarManager);
}
{
ToolBarManager navToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
navToolBarManager.add(new ToolbarSeparatorContribution(true));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_FIRST));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_PREVIOUS));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_NEXT));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_ROW_LAST));
navToolBarManager.add(new Separator());
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_FETCH_PAGE));
navToolBarManager.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_FETCH_ALL));
navToolBarManager.add(new Separator(TOOLBAR_GROUP_NAVIGATION));
ToolBar navToolBar = navToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(navToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(navToolBarManager);
}
{
ToolBarManager configToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
configToolBarManager.add(new ToolbarSeparatorContribution(true));
/*
if (supportsPanels()) {
CommandContributionItemParameter ciParam = new CommandContributionItemParameter(
site,
"org.jkiss.dbeaver.core.resultset.panels",
ResultSetHandlerMain.CMD_TOGGLE_PANELS,
CommandContributionItem.STYLE_PULLDOWN);
ciParam.label = ResultSetMessages.controls_resultset_config_panels;
ciParam.mode = CommandContributionItem.MODE_FORCE_TEXT;
configToolBarManager.add(new CommandContributionItem(ciParam));
}
configToolBarManager.add(new ToolbarSeparatorContribution(true));
*/
ToolBar configToolBar = configToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(configToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(configToolBarManager);
}
{
ToolBarManager addToolbBarManagerar = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
addToolbBarManagerar.add(ActionUtils.makeCommandContribution(site, ResultSetHandlerMain.CMD_EXPORT));
addToolbBarManagerar.add(new GroupMarker(TOOLBAR_GROUP_PRESENTATIONS));
addToolbBarManagerar.add(new Separator(TOOLBAR_GROUP_ADDITIONS));
final IMenuService menuService = getSite().getService(IMenuService.class);
if (menuService != null) {
menuService.populateContributionManager(addToolbBarManagerar, TOOLBAR_CONTRIBUTION_ID);
}
ToolBar addToolBar = addToolbBarManagerar.createControl(statusBar);
CSSUtils.setCSSClass(addToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(addToolbBarManagerar);
}
{
// Config toolbar
ToolBarManager configToolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);
configToolBarManager.add(new ToolbarSeparatorContribution(true));
configToolBarManager.add(new ConfigAction());
configToolBarManager.update(true);
ToolBar configToolBar = configToolBarManager.createControl(statusBar);
CSSUtils.setCSSClass(configToolBar, DBStyles.COLORED_BY_CONNECTION_TYPE);
toolbarList.add(configToolBarManager);
}
{
final int fontHeight = UIUtils.getFontHeight(statusBar);
resultSetSize = new Text(statusBar, SWT.BORDER);
resultSetSize.setLayoutData(new RowData(5 * fontHeight, SWT.DEFAULT));
resultSetSize.setBackground(UIStyles.getDefaultTextBackground());
resultSetSize.setToolTipText(DataEditorsMessages.resultset_segment_size);
resultSetSize.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
String realValue = String.valueOf(getSegmentMaxRows());
if (!realValue.equals(resultSetSize.getText())) {
resultSetSize.setText(realValue);
}
}
});
resultSetSize.addModifyListener(e -> {
DBSDataContainer dataContainer = getDataContainer();
int fetchSize = CommonUtils.toInt(resultSetSize.getText());
if (fetchSize > 0 && fetchSize < ResultSetPreferences.MIN_SEGMENT_SIZE) {
fetchSize = ResultSetPreferences.MIN_SEGMENT_SIZE;
}
if (dataContainer != null && dataContainer.getDataSource() != null) {
DBPPreferenceStore store = dataContainer.getDataSource().getContainer().getPreferenceStore();
int oldFetchSize = store.getInt(ModelPreferences.RESULT_SET_MAX_ROWS);
if (oldFetchSize != fetchSize) {
store.setValue(ModelPreferences.RESULT_SET_MAX_ROWS, fetchSize);
PrefUtils.savePreferenceStore(store);
}
}
});
UIUtils.addDefaultEditActionsSupport(site, resultSetSize);
rowCountLabel = new ActiveStatusMessage(statusBar, DBeaverIcons.getImage(UIIcon.RS_REFRESH), ResultSetMessages.controls_resultset_viewer_calculate_row_count, this) {
@Override
protected boolean isActionEnabled() {
return hasData();
}
@Override
protected ILoadService<String> createLoadService() {
return new DatabaseLoadService<String>("Load row count", getExecutionContext()) {
@Override
public String evaluate(DBRProgressMonitor monitor) throws InvocationTargetException {
try {
long rowCount = readRowCount(monitor);
return ROW_COUNT_FORMAT.format(rowCount);
} catch (DBException e) {
log.error(e);
throw new InvocationTargetException(e);
}
}
};
}
};
// rowCountLabel.setLayoutData();
CSSUtils.setCSSClass(rowCountLabel, DBStyles.COLORED_BY_CONNECTION_TYPE);
rowCountLabel.setMessage("Row Count");
rowCountLabel.setToolTipText("Calculates total row count in the current dataset");
UIUtils.createToolBarSeparator(statusBar, SWT.VERTICAL);
selectionStatLabel = new Text(statusBar, SWT.READ_ONLY);
selectionStatLabel.setToolTipText("Selected rows/columns/cells");
CSSUtils.setCSSClass(selectionStatLabel, DBStyles.COLORED_BY_CONNECTION_TYPE);
Label filler = new Label(statusComposite, SWT.NONE);
filler.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
statusLabel = new StatusLabel(statusComposite, SWT.NONE, this);
GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_END);
gd.widthHint = 30 * fontHeight;
statusLabel.setLayoutData(gd);
CSSUtils.setCSSClass(statusLabel, DBStyles.COLORED_BY_CONNECTION_TYPE);
statusBar.addListener(SWT.Resize, event -> {
});
}
}
use of org.eclipse.ui.menus.CommandContributionItemParameter in project dbeaver by dbeaver.
the class ResultSetHandlerOpenWith method fillOpenWithMenu.
public static void fillOpenWithMenu(ResultSetViewer viewer, IContributionManager openWithMenu) {
ResultSetDataContainerOptions options = new ResultSetDataContainerOptions();
ResultSetDataContainer dataContainer = new ResultSetDataContainer(viewer, options);
List<DataTransferProcessorDescriptor> appProcessors = new ArrayList<>();
for (final DataTransferNodeDescriptor consumerNode : DataTransferRegistry.getInstance().getAvailableConsumers(Collections.singleton(dataContainer))) {
for (DataTransferProcessorDescriptor processor : consumerNode.getProcessors()) {
if (processor.getAppFileExtension() != null) {
appProcessors.add(processor);
}
}
}
appProcessors.sort(Comparator.comparingInt(DataTransferProcessorDescriptor::getOrder));
for (DataTransferProcessorDescriptor processor : appProcessors) {
CommandContributionItemParameter params = new CommandContributionItemParameter(viewer.getSite(), processor.getId(), ResultSetHandlerOpenWith.CMD_OPEN_WITH, CommandContributionItem.STYLE_RADIO);
params.label = processor.getAppName();
if (processor.getIcon() != null) {
params.icon = DBeaverIcons.getImageDescriptor(processor.getIcon());
}
Map<String, Object> parameters = new HashMap<>();
parameters.put(ResultSetHandlerOpenWith.PARAM_PROCESSOR_ID, processor.getFullId());
params.parameters = parameters;
openWithMenu.add(new CommandContributionItem(params));
}
}
use of org.eclipse.ui.menus.CommandContributionItemParameter in project jbosstools-openshift by jbosstools.
the class ScaleDeploymentContributionItem method getContributionItems.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
protected IContributionItem[] getContributionItems() {
if (!isRelevant()) {
return new IContributionItem[0];
}
Map mapUp = new HashMap();
mapUp.put(ScaleDeploymentHandler.REPLICA_DIFF, "1");
CommandContributionItemParameter pUp = new CommandContributionItemParameter(fServiceLocator, DYNAMIC_ITEM_ID + ".up", COMMAND_ID, mapUp, OpenShiftImages.TREND_UP, null, null, "Up", null, "Increment the number of deployed replicas by one.", 0, null, true);
Map mapDown = new HashMap();
mapDown.put(ScaleDeploymentHandler.REPLICA_DIFF, "-1");
CommandContributionItemParameter pDown = new CommandContributionItemParameter(fServiceLocator, DYNAMIC_ITEM_ID + ".down", COMMAND_ID, mapDown, OpenShiftImages.TREND_DOWN, null, null, "Down", null, "Increment the number of deployed replicas by one.", 0, null, true);
CommandContributionItemParameter pTo = new CommandContributionItemParameter(fServiceLocator, DYNAMIC_ITEM_ID + ".to", COMMAND_ID, new HashMap(), null, null, null, "To...", null, "Scale the number of deployed replicas to a specific value.", 0, null, true);
return new IContributionItem[] { new CommandContributionItem(pUp), new CommandContributionItem(pDown), new CommandContributionItem(pTo) };
}
Aggregations