use of org.erlide.tracing.core.ui.dialogs.ConfigurationSaveAsDialog in project erlide_eclipse by erlang.
the class ControlPanelView method createPatternButtonsPanel.
private void createPatternButtonsPanel(final Composite parent) {
final Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new RowLayout());
// "Add" button
Button button = new Button(container, SWT.PUSH | SWT.CENTER);
button.setText("New pattern");
button.setToolTipText("Add new trace pattern");
button.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
TraceBackend.getInstance().addTracePattern(new TracePattern(true));
}
});
// "Remove" button
button = new Button(container, SWT.PUSH | SWT.CENTER);
button.setText("Remove pattern");
button.setToolTipText("Remove selected trace pattern");
button.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final TracePattern tracePattern = (TracePattern) ((IStructuredSelection) functionsTableViewer.getSelection()).getFirstElement();
if (tracePattern != null) {
TraceBackend.getInstance().removeTracePattern(tracePattern);
}
}
});
// Pattern config buttons
final Button loadConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Button deleteConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Button saveConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Button saveAsConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Label configNameLabel = new Label(container, SWT.NULL);
configNameLabel.setLayoutData(new RowData(120, SWT.DEFAULT));
// "Load patterns" button
loadConfigButton.setToolTipText("Load pattern set...");
loadConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER));
loadConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final ElementListSelectionDialog dialog = new SelectConfigurationDialog(parent.getShell(), new LabelProvider());
dialog.setElements(ConfigurationManager.getTPConfigs());
dialog.open();
final String result = (String) dialog.getFirstResult();
if (result != null) {
patternsConfigName = result;
configNameLabel.setText(patternsConfigName);
TraceBackend.getInstance().loadTracePatterns(ConfigurationManager.loadTPConfig(patternsConfigName));
}
}
});
// "Delete patterns" button
deleteConfigButton.setToolTipText("Delete current pattern set...");
deleteConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ELCL_REMOVE));
deleteConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
if (patternsConfigName != null) {
final MessageBox messageBox = new MessageBox(parent.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO);
messageBox.setMessage("Delete \"" + patternsConfigName + "\"?");
messageBox.setText("Delete configuration");
if (messageBox.open() == SWT.YES) {
ConfigurationManager.removeTPConfig(patternsConfigName);
patternsConfigName = null;
configNameLabel.setText("");
}
}
}
});
// "Save patterns" button
saveConfigButton.setToolTipText("Save current pattern set");
saveConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_SAVE_EDIT));
saveConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
if (patternsConfigName != null) {
if (!ConfigurationManager.saveTPConfig(patternsConfigName)) {
final MessageBox messageBox = new MessageBox(parent.getShell(), SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Unable to save configuration: " + patternsConfigName);
messageBox.setText("Error");
messageBox.open();
}
}
}
});
// "Save patterns as..." button
saveAsConfigButton.setToolTipText("Save current pattern set as...");
saveAsConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_SAVEAS_EDIT));
saveAsConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final String[] configurations = ConfigurationManager.getTPConfigs();
final Set<String> existingNames = new HashSet<>(Arrays.asList(configurations));
final InputDialog dialog = new ConfigurationSaveAsDialog(parent.getShell(), "Save trace pattern configuration", "Enter name for configuration:", patternsConfigName, existingNames);
if (dialog.open() == Window.OK) {
if (ConfigurationManager.saveTPConfig(dialog.getValue())) {
patternsConfigName = dialog.getValue();
configNameLabel.setText(patternsConfigName);
} else {
final MessageBox messageBox = new MessageBox(parent.getShell(), SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Unable to save configuration: " + dialog.getValue());
messageBox.setText("Error");
messageBox.open();
}
}
}
});
}
use of org.erlide.tracing.core.ui.dialogs.ConfigurationSaveAsDialog in project erlide_eclipse by erlang.
the class ControlPanelView method createNodeButtonsPanel.
private void createNodeButtonsPanel(final Composite parent) {
final Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new RowLayout());
// "Add" button
Button button = new Button(container, SWT.PUSH | SWT.CENTER);
button.setText("New node");
button.setToolTipText("Add new node you want to trace");
button.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
TraceBackend.getInstance().addTracedNode(new TracedNode());
nodesTableViewer.refresh();
}
});
// "Remove" button
button = new Button(container, SWT.PUSH | SWT.CENTER);
button.setText("Remove node");
button.setToolTipText("Remove selected node");
button.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final TracedNode tracedNode = (TracedNode) ((IStructuredSelection) nodesTableViewer.getSelection()).getFirstElement();
if (tracedNode != null) {
TraceBackend.getInstance().removeTracedNode(tracedNode);
nodesTableViewer.refresh();
}
}
});
// "Add erlide nodes" button
button = new Button(container, SWT.PUSH | SWT.CENTER);
button.setText("Add existing nodes");
button.setToolTipText("Add all Erlang nodes started directly from eclipse");
button.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
for (final IBackend backend : NodeHelper.getBackends(true)) {
final TracedNode node = new TracedNode();
node.setNodeName(backend.getName());
TraceBackend.getInstance().addTracedNode(node);
}
nodesTableViewer.refresh();
}
});
// Pattern config buttons
final Button loadConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Button deleteConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Button saveConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Button saveAsConfigButton = new Button(container, SWT.PUSH | SWT.CENTER);
final Label configNameLabel = new Label(container, SWT.NULL);
configNameLabel.setLayoutData(new RowData(120, SWT.DEFAULT));
// "Load nodes config" button
loadConfigButton.setToolTipText("Load nodes configuration...");
loadConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER));
loadConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final ElementListSelectionDialog dialog = new SelectConfigurationDialog(parent.getShell(), new LabelProvider());
dialog.setElements(ConfigurationManager.getNodesConfig());
dialog.open();
final String result = (String) dialog.getFirstResult();
if (result != null) {
nodesConfigName = result;
configNameLabel.setText(nodesConfigName);
TraceBackend.getInstance().loadTracedNodes(ConfigurationManager.loadNodesConfig(nodesConfigName));
nodesTableViewer.refresh();
}
}
});
// "Delete nodes configuration" button
deleteConfigButton.setToolTipText("Delete current node configuration...");
deleteConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ELCL_REMOVE));
deleteConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
if (nodesConfigName != null) {
final MessageBox messageBox = new MessageBox(parent.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO);
messageBox.setMessage("Delete \"" + nodesConfigName + "\"?");
messageBox.setText("Delete configuration");
if (messageBox.open() == SWT.YES) {
ConfigurationManager.removeNodesConfig(nodesConfigName);
nodesConfigName = null;
configNameLabel.setText("");
}
}
}
});
// "Save nodes configuration" button
saveConfigButton.setToolTipText("Save current nodes configuration");
saveConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_SAVE_EDIT));
saveConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
if (nodesConfigName != null) {
if (!ConfigurationManager.saveNodesConfig(nodesConfigName)) {
final MessageBox messageBox = new MessageBox(parent.getShell(), SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Unable to save configuration: " + nodesConfigName);
messageBox.setText("Error");
messageBox.open();
}
}
}
});
// "Save nodes configuration as..." button
saveAsConfigButton.setToolTipText("Save current nodes configuration as...");
saveAsConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_SAVEAS_EDIT));
saveAsConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final String[] configurations = ConfigurationManager.getNodesConfig();
final Set<String> existingNames = new HashSet<>(Arrays.asList(configurations));
final InputDialog dialog = new ConfigurationSaveAsDialog(parent.getShell(), "Save nodes configuration", "Enter name for configuration:", nodesConfigName, existingNames);
if (dialog.open() == Window.OK) {
if (ConfigurationManager.saveNodesConfig(dialog.getValue())) {
nodesConfigName = dialog.getValue();
configNameLabel.setText(nodesConfigName);
} else {
final MessageBox messageBox = new MessageBox(parent.getShell(), SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Unable to save configuration: " + dialog.getValue());
messageBox.setText("Error");
messageBox.open();
}
}
}
});
}
Aggregations